Добрый день. Сказали что я накосячил при записи в регистр сведений. Может кто подскажет в чем ошибка? Не могу разобраться Мой код комментами выделен.
Процедура ОбработкаПроведения(Отказ, РежимПроведения)
Для каждого строкаДО Из ДокументыОснования Цикл
Запись =РегистрыСведений.ДокументЗарегистрированКОтгрузке.СоздатьМенеджерЗаписи();
Запись.РасходнаяНакладная = строкаДО.ДокументОснование;
Запись.Записать();
//+++++++++++++++++++++++
НаборЗаписей = РегистрыСведений.ДокументКОтгрузке.СоздатьНаборЗаписей();
НаборЗаписей.Отбор.Регистратор.Установить(ЭтотОбъект.Ссылка);
НоваяЗапись = НаборЗаписей.Добавить();
НоваяЗапись.Период = ЭтотОбъект.Ссылка.Дата;
НоваяЗапись.РасходнаяНакладная = строкаДО.ДокументОснование;
НаборЗаписей.Записать();
//-----------------------------
КонецЦикла;
КонецПроцедуры
ПоказатьПо теме из базы знаний
Найденные решения
Процедура ОбработкаПроведения(Отказ, РежимПроведения)
НаборЗаписей = Движения.ДокументКОтгрузке;
НаборЗаписей.Записывать = Истина;
Для каждого строкаДО Из ДокументыОснования Цикл
Запись = РегистрыСведений.ДокументЗарегистрированКОтгрузке.СоздатьМенеджерЗаписи();
Запись.РасходнаяНакладная = строкаДО.ДокументОснование;
Запись.Записать();
//+++++++++++++++++++++++
НоваяЗапись = НаборЗаписей.Добавить();
НоваяЗапись.Период = Дата;
НоваяЗапись.РасходнаяНакладная = строкаДО.ДокументОснование;
//-----------------------------
КонецЦикла;
КонецПроцедуры
ПоказатьОстальные ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
Процедура ОбработкаПроведения(Отказ, РежимПроведения)
НаборЗаписей = Движения.ДокументКОтгрузке;
НаборЗаписей.Записывать = Истина;
Для каждого строкаДО Из ДокументыОснования Цикл
Запись = РегистрыСведений.ДокументЗарегистрированКОтгрузке.СоздатьМенеджерЗаписи();
Запись.РасходнаяНакладная = строкаДО.ДокументОснование;
Запись.Записать();
//+++++++++++++++++++++++
НоваяЗапись = НаборЗаписей.Добавить();
НоваяЗапись.Период = Дата;
НоваяЗапись.РасходнаяНакладная = строкаДО.ДокументОснование;
//-----------------------------
КонецЦикла;
КонецПроцедуры
Показать
(4) Ваша основная ошибка в том, что набор вы записываете для каждой строки ТЧ, в итоге в регистр сведений будет записана только одна запись для последней строки, так как предыдущие будут затираться.
ЭтотОбъект.Ссылка.Дата – не повлияет на логику кода, но может существенно снизить быстродействие. В контексте процедуры ОбработкаПроведения достаточно просто Дата.
Ну и запись непосредственно набора записей вместо работы с движениями документа – избыточный кодинг. Воспользуйтесь конструктором движений и посмотрите как примерно должен выглядеть стандартный код.
ЭтотОбъект.Ссылка.Дата – не повлияет на логику кода, но может существенно снизить быстродействие. В контексте процедуры ОбработкаПроведения достаточно просто Дата.
Ну и запись непосредственно набора записей вместо работы с движениями документа – избыточный кодинг. Воспользуйтесь конструктором движений и посмотрите как примерно должен выглядеть стандартный код.
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот