Написал процедуру в УПП 1.3 в подписке обработки проведения типового заказа.
Но она, собака, не хочет переписывать движения, хотя по отладке всё правильно.
По сути должно быть: в том случае, если ТипОтгрузки = КОжиданию, то запись из регистра накопления удалялась.
Может, кто сталкивался с таким:
Для Каждого Строка из Источник.Товары Цикл
Если Строка.ТипОтгрузки = Перечисления.ТипОтгрузки.ОжиданиеТовара Тогда
ЕстьТоварыКОжиданию = Истина;
КонецЕсли;
КонецЦикла;
Если ЕстьТоварыКОжиданию Тогда
//Перепишем регистр накопления ТоварыВРезервеНаСкладах
НаборЗаписей = РегистрыНакопления.ТоварыВРезервеНаСкладах.СоздатьНаборЗаписей();
НаборЗаписей.Отбор.Регистратор.Установить(Регистратор);
НаборЗаписей.Прочитать();
УдаляемыеЗаписи = Новый Массив;
Для Каждого Запись Из НаборЗаписей Цикл
ПараметрыПоиска = Новый Структура();
ПараметрыПоиска.Вставить("Номенклатура", Запись.Номенклатура);
ПараметрыПоиска.Вставить("ТипОтгрузки", Перечисления.ТипОтгрузки.ОжиданиеТовара);
НайденныеСтроки = Источник.Товары.НайтиСтроки(ПараметрыПоиска);
Если НайденныеСтроки.Количество() = 0 Тогда
Продолжить;
Иначе
УдаляемыеЗаписи.Добавить(Запись);
КонецЕсли;
КонецЦикла;
Для Каждого УдаляемаяЗапись Из УдаляемыеЗаписи Цикл
НаборЗаписей.Удалить(УдаляемаяЗапись);
КонецЦикла;
НаборЗаписей.Записать();
(2) ну смотри: ты проводишь документ. Началась тразнакция. Сформировался контекст данных Источник.Движения и набор движений. Но обработка проведения еще не завершена и набор не записан. Далее выполняется твоя процедура с записью новых данных. Далее завершается транзакция и записываются данные из Источник.Движения, которые и перезаписывают данные из твоей процедуры
Компьютеры — прекрасное средство для решения проблем, которых до их появления не было.