Тайное не-списание товара УНФ 3
Клиент обнаружил, что загруженные с сайта чеки при свертке в ОРП не списывают товар.
Причина оказалась в том, что в табличной части не установлена единица измерения товара. И происходит это втихую, без ошибок.
Константа «использовать различные единицы измерения» выключена, поэтому единицы не показываются в табличных частях документов. Туда нужно проставлять значение штуки из классификатора.
Написал коды с запросом, которые обрабатывают документы и проставляют единицу:
З = Новый Запрос( "ВЫБРАТЬ РАЗЛИЧНЫЕ Ссылка ИЗ Документ.ОтчетОРозничныхПродажах.Запасы КАК Т ГДЕ Т.ЕдиницаИзмерения = Неопределено И Ссылка.Проведен УПОРЯДОЧИТЬ ПО Т.Ссылка.Дата"); Выборка = З.Выполнить().Выбрать(); Пока Выборка.Следующий() Цикл Сообщить(Выборка.Ссылка); ОО = Выборка.Ссылка.ПолучитьОбъект(); Для Каждого Строка ИЗ ОО.Запасы Цикл Если Не ЗначениеЗаполнено(Строка.ЕдиницаИзмерения) Тогда Строка.ЕдиницаИзмерения = Справочники.КлассификаторЕдиницИзмерения.шт; КонецЕсли; КонецЦикла; ОО.Записать(РежимЗаписиДокумента.Проведение); КонецЦикла;
Для чеков практически такой же, но с ловушкой ошибок:
З = Новый Запрос( "ВЫБРАТЬ РАЗЛИЧНЫЕ Ссылка ИЗ Документ.ЧекККМ.Запасы КАК Т ГДЕ Т.ЕдиницаИзмерения = Неопределено И Ссылка.Проведен УПОРЯДОЧИТЬ ПО Т.Ссылка.Дата"); Выборка = З.Выполнить().Выбрать(); Пока Выборка.Следующий() Цикл Сообщить(Выборка.Ссылка); ОО = Выборка.Ссылка.ПолучитьОбъект(); Для Каждого Строка ИЗ ОО.Запасы Цикл Если Не ЗначениеЗаполнено(Строка.ЕдиницаИзмерения) Тогда Строка.ЕдиницаИзмерения = Справочники.КлассификаторЕдиницИзмерения.шт; КонецЕсли; КонецЦикла; Попытка ОО.Записать(РежимЗаписиДокумента.Проведение); Исключение Сообщить(" - не проведен: " + ОписаниеОшибки()); КонецПопытки; КонецЦикла;
Среда: УНФ 3.0.13.374




Свежие комментарии