При работе с маркированными товарами, особенно из категории натурального меха (КИЗ), пользователи часто сталкиваются с ситуацией, когда при оформлении документа «Вывод из оборота» программа выдает ошибку: «Для номенклатурной позиции ... в строке 1 должно быть указано количество 1, а подобрано — 0». При этом физически код маркировки отсканирован, и в форме подбора он отображается как успешно проверенный. Рассмотрим причины возникновения этой коллизии и разберем по шагам способы её устранения.
Проблема кроется в механизме сопоставления данных. В момент проведения документа 1С выполняет сверку между табличной частью Товары и списком подобранных марок (упаковок). Если хотя бы один реквизит в записи о штрихкоде не совпадает с данными в строке товара, система считает, что марка относится к другой позиции, и «обнуляет» результат подбора для текущей строки. Основными виновниками обычно выступают Серии, Характеристики или скрытые реквизиты упаковки.
Наиболее распространенная причина для изделий из меха — использование серийного учета (для безболезненного перехода на учет без серий подойдёт обработка очистки серий в проведенных документах 1С). Даже если в самой номенклатуре серии не используются активно, при генерации или импорте КИЗ система могла зафиксировать серию в справочнике штрихкодов. Разберем, как это проверить (в том числе используя инструменты для переноса штрихкодов и упаковок из одной номенклатуры в другую):
Штрихкоды упаковок товаров.Если в справочнике серия указана (например, Серия: 000000001), а в документе «Вывод из оборота» в колонке «Серия» стоит пустое значение или выбрана другая серия, сопоставление не произойдет. Проанализируем ситуацию: для исправления нужно либо заполнить соответствующую серию в документе, либо очистить её в справочнике штрихкодов.
В некоторых релизах конфигураций «1С:Розница» и «1С:Бухгалтерия» встречается баг, при котором визуально колонка «Количество» заполнена, но скрытый программный реквизит КоличествоУпаковок остается равным нулю. Рассмотрим, как это влияет на проведение:
Программа при проверке ориентируется именно на количество в единицах упаковки. Если вы столкнулись с этой проблемой, попробуйте воспользоваться универсальным менеджером редактирования данных (таким как универсальный редактор реквизитов и записей регистров для 1С) или программным кодом для обновления реквизита. Пример логики исправления может выглядеть так:
Для Каждого СтрокаТовара Из Объект.Товары Цикл
Если СтрокаТовара.КоличествоУпаковок = 0 Тогда
СтрокаТовара.КоличествоУпаковок = СтрокаТовара.Количество;
КонецЕсли;
КонецЦикла;
После принудительного заполнения этого поля попробуйте провести документ повторно.
Выясним причину возможного расхождения через характеристики. Меховые изделия часто имеют сложные характеристики (цвет, размер, тип меха). Если КИЗ был привязан к одной характеристике, а в документе выбрана другая (даже с идентичным названием, но другим внутренним идентификатором GUID), проверка выдаст ошибку.
Посмотрим на пример: в справочнике Штрихкоды упаковок товаров код привязан к характеристике «Черный, 44», а в документе выбрана характеристика «Черный, 44», созданная заново как дубль. Для системы это разные объекты. Рекомендуется удалять строку из документа и добавлять её не через подбор товара, а сразу сканированием КИЗ в табличную часть — тогда 1С сама подтянет нужную номенклатуру и характеристику, связанные с этим кодом.
Иногда 1С «запоминает» неверный статус кода из-за кэширования ответов от системы «Честный Знак». Если в личном кабинете Честного Знака товар «В обороте», а в 1С при проверке возникают ошибки, выполним следующие действия: (для автоматической сверки также доступна обработка инвентаризации и сверки кодов маркировки с Честным Знаком).
Кэш данных из ГИС МТ.Если вышеперечисленные методы не помогают, проанализируем ситуацию на уровне программного кода. Основная проверка в типовых решениях (УТ 11, Розница 2.3) происходит в общем модуле ИнтеграцияИСМПСлужебный.
Найдем функцию ТаблицаТоварыСоответствуетСпискуУпаковокМаркируемойПродукции (обычно район 17000-й строки). Поставим точку останова в месте сравнения структуры ПараметрыСличения. Как правило, там можно увидеть, какой именно параметр (Серия, Статус или Владелец) вызывает расхождение между строкой Товары и данными в СписокУпаковок.
Важный нюанс по релизам: В версиях 1С:Розница 2.3.13.30 — 2.3.16.27 наблюдались ошибки в алгоритмах обработки меховых изделий после их перехода в общую систему ИС МП с 01.09.2022. Убедитесь, что у вас установлены все актуальные патчи (исправления) через раздел Администрирование — Обслуживание — Обновление программы — Установленные исправления (патчи). Ищите патчи с префиксами EF_..., в описании которых фигурирует «Маркировка» или «ГИСМТ».
Подводя итог, в большинстве случаев проблема решается приведением к единообразию серий в справочнике штрихкодов и в документе вывода из оборота. Всегда начинайте диагностику именно с проверки регистра штрихкодов упаковок.