1С-Предприятие 8.0. Практическое пособие разработчика


Изменение процедуры проведения документа ПриходнаяНакладная - часть 2


КонецЦикла;

// записываем движения регистров

Движения.ОстаткиМатериалов.Записать();

Движения.СтоимостьМатериалов.Записать();

//}}__КОНСТРУКТОР_ДВИЖЕНИЙ_РЕГИСТРОВ

КонецПроцедуры

 

Как вы видите, конструктор создал два цикла обхода табличной части документа – отдельно, для каждого регистра. Так происходит потому, что в общем случае документ может иметь несколько табличных частей, и информация, содержащаяся в каждой из них, может предназначаться для своего отдельного регистра.

В нашем случае табличная часть всего одна, поэтому можно объединить эти два цикла в один следующим образом (изменения выделены жирным):

Процедура ОбработкаПроведения(Отказ, Режим)

//{{__КОНСТРУКТОР_ДВИЖЕНИЙ_РЕГИСТРОВ

// Данный фрагмент построен конструктором.

// При повторном использовании конструктора, [142] внесенные вручную изменения будут утеряны!!!

Для Каждого ТекСтрокаМатериалы Из Материалы Цикл

   // регистр ОстаткиМатериалов Приход

   Движение = Движения.ОстаткиМатериалов.Добавить();

   Движение.ВидДвижения = ВидДвиженияНакопления.Приход;

   Движение.Период = Дата;

   Движение.Материал = ТекСтрокаМатериалы.Материал;

   Движение.Склад = Склад;

   Движение.Количество = ТекСтрокаМатериалы.Количество;

//КонецЦикла;

//Для Каждого ТекСтрокаМатериалы Из Материалы Цикл

   // регистр СтоимостьМатериалов Приход

   Движение = Движения.СтоимостьМатериалов.Добавить();

   Движение.ВидДвижения = ВидДвиженияНакопления.Приход;

   Движение.Период = Дата;

   Движение.Материал = ТекСтрокаМатериалы.Материал;

   Движение.Стоимость = ТекСтрокаМатериалы.Сумма;

КонецЦикла;

// записываем движения регистров

Движения.ОстаткиМатериалов.Записать();

Движения.СтоимостьМатериалов.Записать();

//}}__КОНСТРУКТОР_ДВИЖЕНИЙ_РЕГИСТРОВ

КонецПроцедуры

 

Запустим 1С:Предприятие в режиме отладки и перепроведем документ Приходная накладная №1.

Затем откроем его и убедимся, что документ создает желаемые записи в регистрах накопления:

[143]


[144]




Начало  Назад  Вперед



Книжный магазин