0
StarSoft777
30.07.25
✎
14:31
|
Здравствуйте, проблема ,при типовой свертки базы в УТ11, обработка метит на удаление расходные складские ордера, в периоде больше даты среза , при этом сам заказ клиента находится до даты среза и остается непомеченным , нашел этот код в обработке - какой в этом смысл непонятно
Процедура ОбработатьОстаткиТоварыКОтгрузке()
Запрос = Новый Запрос;
Запрос.Текст = "
|ВЫБРАТЬ
|ТабРег.ДокументОтгрузки КАК ДокументОтгрузки,
|ТабРегОбороты.Регистратор КАК ДокументОрдер,
|ТабРег.КОтгрузкеОстаток КАК КОтгрузке,
|ТабРегОбороты.КОтгрузкеРасход КАК Отгружено
|ИЗ РегистрНакопления.ТоварыКОтгрузке.Остатки(&ГраницаОст) КАК ТабРег
|ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.ТоварыКОтгрузке.Обороты(&ГраницаОст,,Регистратор) КАК ТабРегОбороты
|ПО ТабРегОбороты.ДокументОтгрузки = ТабРег.ДокументОтгрузки
|ГДЕ ТабРег.КОтгрузкеОстаток > 0 И ТабРегОбороты.Регистратор ЕСТЬ НЕ NULL
|";
//ОПРЕДЕЛЯЕМ - ОСТАТОК ПО ЗАКАЗУ КЛ В РГ ТОВАРЫ К ОТГР нА ДАТУ СРЕЗА с непустым регистратором,
ЗаполнитьПараметрыЗапросаДатаСвертки(Запрос);
Результат = Запрос.Выполнить();
Если Результат.Пустой() Тогда
Возврат;
КонецЕсли;
Выборка = Результат.Выбрать();
МассивОрдеров = Новый Массив;
Пока Выборка.Следующий() Цикл
ДокОст = Выборка.ДокументОрдер.ПолучитьОбъект();
Если ДокОст = Неопределено тогда
Продолжить;
КонецЕсли;
ДокОст.Комментарий = Комментарий_УдалитьПриСверткеБазы; // УДАЛЯЮТ ОРДЕР
ДокОст.ДополнительныеСвойства.Вставить("СверткаИБ", Истина);
Попытка
ДокОст.Записать(РежимЗаписиДокумента.Запись);
Исключение
СообщениеСвертки(НСтр("ru = 'Ошибка при записи документа'")+ ": " + ДокОст, Истина, ОписаниеОшибки());
КонецПопытки;
МассивОрдеров.Добавить(Выборка.ДокументОрдер);
КонецЦикла;
//Поиск документов Отбор, размещение товаров оформленных по ордеру
Запрос = Новый Запрос;
Запрос.Текст = "
|ВЫБРАТЬ
|Док.Ссылка КАК ДокументОтбора
|ИЗ Документ.ОтборРазмещениеТоваров КАК Док
|ГДЕ Док.Распоряжение В (&МассивОрдеров) И НЕ Док.ПометкаУдаления
|";
Запрос.УстановитьПараметр("МассивОрдеров", МассивОрдеров);
Выборка = Запрос.Выполнить().Выбрать();
Пока Выборка.Следующий() Цикл
ДокОст = Выборка.ДокументОтбора.ПолучитьОбъект();
Если ДокОст = Неопределено тогда
Продолжить;
КонецЕсли;
ДокОст.Комментарий = Комментарий_УдалитьПриСверткеБазы;
ДокОст.ДополнительныеСвойства.Вставить("СверткаИБ", Истина);
Попытка
ДокОст.Записать(РежимЗаписиДокумента.Запись);
Исключение
СообщениеСвертки(НСтр("ru = 'Ошибка при записи документа'")+ ": " + ДокОст, Истина, ОписаниеОшибки());
КонецПопытки;
КонецЦикла;
СообщениеСвертки(НСтр("ru = 'Обработаны Товары к отгрузке'"));
КонецПроцедуры
|
|