0
VeleX
14.02.17
✎
15:50
|
Добрый день, коллеги!
Есть две версии обработки:
1.
...
Запрос = Новый Запрос("...");
Рез = Запрос.Выполнить().Выгрузить();
Док = Документы.КорректировкаЗаписейРегистров.СоздатьДокумент();
<Заполнение_шапки>
Рег = Док.ТаблицаРегистровНакопления.Добавить();
Рег.Имя = Метаданные.РегистрыНакопления.<ИмяРегистра>.Имя;
Рег.Представление = Метаданные.РегистрыНакопления.<ИмяРегистра>.Представление;
Док.Записать();
Движения = Док.Движения.<ИмяРегистра>;
Движения.Записывать = Истина;
Для каждого Стр ИЗ Рез Цикл
Движение = Движения.ДобавитьПриход();
ЗаполнитьЗначениеСвойств(Движение, Стр);
КонецЦикла;
Форма = Док.ПолучитьФорму("ФормаДокумента");
Форма.Открыть();
...
2.
ТабОст = ПолучитьТабОст();
СоздатьДокКорректировки(ТабОст);
Функция ПолучитьТабОст()
Запрос = Новый Запрос("...");
Рез = Запрос.Выполнить().Выгрузить();
КонецФункции
Процедура СоздатьДокКорректировки(ТабОст)
Док = Документы.КорректировкаЗаписейРегистров.СоздатьДокумент();
<Заполнение_шапки>
Рег = Док.ТаблицаРегистровНакопления.Добавить();
Рег.Имя = Метаданные.РегистрыНакопления.<ИмяРегистра>.Имя;
Рег.Представление = Метаданные.РегистрыНакопления.<ИмяРегистра>.Представление;
Док.Записать();
Движения = Док.Движения.<ИмяРегистра>;
Движения.Записывать = Истина;
Для каждого Стр ИЗ ТабОст Цикл
Движение = Движения.ДобавитьПриход();
ЗаполнитьЗначениеСвойств(Движение, Стр);
КонецЦикла;
Форма = Док.ПолучитьФорму("ФормаДокумента");
Форма.Открыть();
КонецПроцедуры
Отличия, как видите только в том что функциональность разделена.
Но в первом случае заполнение документа проходит нормально, в открывающейся форме все движения показаны.
Во втором случае в отладчике движения заполняются, но в регистр не записываются по факту, и соответственно форма документа открывается пустой.
Почему второй подход не дает результата, подскажите?
|
|