8.х Памогите разобраться

Тема в разделе "Общие вопросы "1С:Предприятие 8"", создана пользователем ILDARIAN, 6 янв 2013.

  1. TopicStarter Overlay
    ILDARIAN
    Offline

    ILDARIAN Опытный в 1С

    Регистрация:
    6 янв 2013
    Сообщения:
    131
    Симпатии:
    1
    Баллы:
    29
    Процедура ПереченьНоменклатурыНоменклатураПриИзменении(Элемент)
    //Получить текущую строку табличной части
    СтрокаТабличнойЧасти = Элементы.ПереченьНоменклатуры.ТекущиеДанные;
    //Установить цену
    СтрокаТабличнойЧасти.Цена = РаботаСоСправочниками.РозничнаяЦена(Объект.Дата,СтрокаТабличнойЧасти.Номенклатура);

    //Пересчитать сумму строки
    РаботаСДокументами.РассчитатьСумму(СтрокаТабличнойЧасти);
    КонецПроцедуры


    Когда выбираю в документе номенклатуру, выдает:


    {ОбщийМодуль.РаботаСоСправочниками.Модуль(6)}: Помилка при виклику методу контексту (ПолучитьПоследнее)
    ЗначенияРесурсов=РегистрыСведений.Цены.ПолучитьПоследнее(АктуальнаяДата, Отбор);
    через:
    Неприпустиме значення параметру (параметр номер '2')
  2. 1cUserAndrew
    Offline

    1cUserAndrew Профессионал в 1С Команда форума

    Регистрация:
    27 май 2010
    Сообщения:
    4.949
    Симпатии:
    149
    Баллы:
    104
    Второй параметр метода "ПолучитьПоследнее()" должен иметь тип СТРУКТУРА.

    Не до конца понятно, какой код содержит функция "РозничнаяЦена" общего модуля "РаботаСоСправочниками".
    Попробуйте эту строку
    Код:
    СтрокаТабличнойЧасти.Цена = РаботаСоСправочниками.РозничнаяЦена(Объект.Дата,СтрокаТабличнойЧасти.Номенклатура);
    немного переписать:
    Код:
    СтрокаТабличнойЧасти.Цена = РаботаСоСправочниками.РозничнаяЦена(Объект.Дата, Новый Структура("Номенклатура", СтрокаТабличнойЧасти.Номенклатура));
    //"Номенклатура" (в кавычках) - это имя измерения регистра.
    //Если у Вас называется по-другому, пишите так, как называется.
  3. TopicStarter Overlay
    ILDARIAN
    Offline

    ILDARIAN Опытный в 1С

    Регистрация:
    6 янв 2013
    Сообщения:
    131
    Симпатии:
    1
    Баллы:
    29
    Была ошибка в слове. Уже исправил, ошибку не выдает, но не хочет автоматом заполнять цену и пересчитывать сумму в документе.

    вот код опщего модуля в котором прописана функция выбора цены


    Функция РозничнаяЦена(АктуальнаяДата, ЭлементНоменклатуры) Экспорт
    //Создать вспомагательный обьект Отбор
    Отбор=Новый Структура("Номенклатура",ЭлементНоменклатуры);

    //Получить актуальный значения ресурсов регистра
    ЗначенияРесурсов=РегистрыСведений.Цены.ПолучитьПоследнее(АктуальнаяДата, Отбор);
    Возврат ЗначенияРесурсов.Цена;
    КонецФункции
  4. 1cUserAndrew
    Offline

    1cUserAndrew Профессионал в 1С Команда форума

    Регистрация:
    27 май 2010
    Сообщения:
    4.949
    Симпатии:
    149
    Баллы:
    104
    На дату документа цена установлена (запись в регистре есть)?

Поделиться этой страницей