Откроем в конфигураторе окно редактирования объекта конфигурации Документ "ПриходнаяНакладная" и перейдем на закладку "Движения". В списке регистров отметим, что документ будет создавать теперь движения и по регистру "СтоимостьМатериалов". Запустим конструктор движений, и согласимся с тем, что существующая процедура "ОбработкаПроведения" будет замещена.
Перед нами откроется окно конструктора движений, которое будет содержать созданные нами ранее движения документа по регистру "ОстаткиМатериалов". Добавим в список регистров, по которым формируются движения, еще один регистр – "СтоимостьМатериалов". Выберем для него ту же табличную часть "Материалы" и заполним выражения.
Для ресурса "Стоимость" выберем значения реквизита табличной части "Сумма":
Добавим в список регистров новый регистр...
[141]
Нажмем "ОК" и посмотрим на текст, который сформировал конструктор:
Процедура ОбработкаПроведения(Отказ, Режим)
//{{__КОНСТРУКТОР_ДВИЖЕНИЙ_РЕГИСТРОВ
// Данный фрагмент построен конструктором.
// При повторном использовании конструктора, внесенные вручную изменения будут утеряны!!!
Для Каждого ТекСтрокаМатериалы Из Материалы Цикл
// регистр ОстаткиМатериалов Приход
Движение = Движения.ОстаткиМатериалов.Добавить();
Движение.ВидДвижения = ВидДвиженияНакопления.Приход;
Движение.Период = Дата;
Движение.Материал = ТекСтрокаМатериалы.Материал;
Движение.Склад = Склад;
Движение.Количество = ТекСтрокаМатериалы.Количество;
КонецЦикла;
Для Каждого ТекСтрокаМатериалы Из Материалы Цикл
// регистр СтоимостьМатериалов Приход
Движение = Движения.СтоимостьМатериалов.Добавить();
Движение.ВидДвижения = ВидДвиженияНакопления.Приход;
Движение.Период = Дата;
Движение.Материал = ТекСтрокаМатериалы.Материал;
Движение.Стоимость = ТекСтрокаМатериалы.Сумма;