Вход | Регистрация
 
1С:Предприятие :: 1С:Предприятие 8 общая

Не переписываются движения.

Не переписываются движения.
Я
   Maikroft
 
01.06.20 - 16:37
Написал процедуру в УПП 1.3 в подписке обработки проведения типового заказа.
Но она, собака, не хочет переписывать движения, хотя по отладке всё правильно.
По сути должно быть: в том случае, если ТипОтгрузки = КОжиданию, то запись из регистра накопления удалялась.
Может, кто сталкивался с таким:

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

это не тот набор, который пишется в обработке проведения
   maptbln
 
2 - 01.06.20 - 17:31
(1) отбор по регистратору ведь есть
   dka80
 
3 - 01.06.20 - 21:52
(2) ну смотри: ты проводишь документ. Началась тразнакция. Сформировался контекст данных Источник.Движения и набор движений. Но обработка проведения еще не завершена и набор не записан. Далее выполняется твоя процедура с записью новых данных. Далее завершается транзакция и записываются данные из Источник.Движения, которые и перезаписывают данные из твоей процедуры

Список тем форума
Рекламное место пустует  Рекламное место пустует
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.