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