Как сформировать новый набор записей и заменить им старый?
Добрый день.
Множаться записи в документе ОперацияБух.
Имеется код:
где, РеализацииСНоменклатурой - таблица значений с новыми записями.
При новом проведении документа, количество записей увеличивается на количество записей в таблице значений РеализацииСНоменклатурой.
Как новым сформированным набором записей заменить старый, чтобы не множились? Т.е. требуется перезаполнить ОперацияБух.
Множаться записи в документе ОперацияБух.
Имеется код:
ОперацияБухСсылка = ОперацияБух.Ссылка;
ПредыдущаяОперацияБух = ОперацияБухСсылка.ПолучитьОбъект();
ПредыдущийНаборПроводок = ПредыдущаяОперацияБух.Движения.Хозрасчетный;
ПредыдущийНаборПроводок.Прочитать();
Для Каждого ТекущаяСтрока Из РеализацииСНоменклатурой Цикл
НоваяПроводка = ПредыдущийНаборПроводок.Добавить();
НоваяПроводка.Активность = Истина;
НоваяПроводка.Период = ОперацияБП.Дата;
НоваяПроводка.СчетДт = ПланыСчетов.Хозрасчетный.ДоходыПолученныеВСчетБудущихПериодов; // 98.01
НоваяПроводка.СубконтоДт[ПланыВидовХарактеристик.ВидыСубконтоХозрасчетные.Контрагенты] = ТекущаяСтрока.Контрагент;
НоваяПроводка.СубконтоДт[ПланыВидовХарактеристик.ВидыСубконтоХозрасчетные.Договоры] = ТекущаяСтрока.Договор;
НоваяПроводка.СубконтоДт[ПланыВидовХарактеристик.ВидыСубконтоХозрасчетные.ДоходыБудущихПериодов] = ТекущаяСтрока.ДБП;
НоваяПроводка.СчетКт = ПланыСчетов.Хозрасчетный.ВыручкаНеЕНВД; // 90.01.1
НоваяПроводка.СубконтоКт[ПланыВидовХарактеристик.ВидыСубконтоХозрасчетные.Номенклатура] = ТекущаяСтрока.Номенклатура;
НоваяПроводка.СубконтоКт[ПланыВидовХарактеристик.ВидыСубконтоХозрасчетные.НоменклатурныеГруппы] = ТекущаяСтрока.НоменклатурнаяГруппа;
НоваяПроводка.КоличествоКт = ТекущаяСтрока.Количество;
НоваяПроводка.Сумма = ТекущаяСтрока.Сумма;
СуммаОперации = СуммаОперации + ТекущаяСтрока.Сумма;
КонецЦикла;
Показатьгде, РеализацииСНоменклатурой - таблица значений с новыми записями.
При новом проведении документа, количество записей увеличивается на количество записей в таблице значений РеализацииСНоменклатурой.
Как новым сформированным набором записей заменить старый, чтобы не множились? Т.е. требуется перезаполнить ОперацияБух.
По теме из базы знаний
Найденные решения
Остальные ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
(8)
(8)
Вот к этим, ранее сформированным движениям, мне необходимо добавить те, записи которые находятся, в таблице значений РеализацииСНоменклатурой.
И они добавляются.
Но, при очередном проведении ОперацииБух, к уже существующим добавляются новые записи.
И таким образом записи начинают множиться.
Важно (не захватил в этот код строчку после цикла)
Эта строка должна, перед записью, существующие записи удалить.
Но этого не происходит.
(8)
читает из базы ранее сформированные движения этого документа
Вот к этим, ранее сформированным движениям, мне необходимо добавить те, записи которые находятся, в таблице значений РеализацииСНоменклатурой.
И они добавляются.
Но, при очередном проведении ОперацииБух, к уже существующим добавляются новые записи.
И таким образом записи начинают множиться.
Важно (не захватил в этот код строчку после цикла)
ПредыдущийНаборПроводок.Записать(Истина);
Эта строка должна, перед записью, существующие записи удалить.
Но этого не происходит.
(9) А вы где этот код разместили?
По логике работы данного кода, это должна быть какая-то обработка, при выполнении команды в которой происходит дополнение проводок.
Если вы это сделали в модуле объекта документа ОперацияБух, то напрасно.
"Проведение" документа ОперацияБух как связано с данным кодом?
По логике работы данного кода, это должна быть какая-то обработка, при выполнении команды в которой происходит дополнение проводок.
Если вы это сделали в модуле объекта документа ОперацияБух, то напрасно.
"Проведение" документа ОперацияБух как связано с данным кодом?
(9) Чуви, что для тебя значит "перезаполнить"?
Ты понимаешь, что ты всегда читаешь все существующие записи из базы, добавляешь к ним свои новые и записываешь все обратно - и прочитанные существующие и новые добавленные? Естественно, при следующем чтении ты получишь эти "старые" записи, ты же их туда сам и пишешь.
Ты понимаешь, что ты всегда читаешь все существующие записи из базы, добавляешь к ним свои новые и записываешь все обратно - и прочитанные существующие и новые добавленные? Естественно, при следующем чтении ты получишь эти "старые" записи, ты же их туда сам и пишешь.
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот