При работе с маркированной продукцией, особенно в сфере табачных изделий, пользователи часто сталкиваются с ситуацией, когда при сканировании DataMatrix кода пачки система 1С автоматически подставляет номенклатуру или характеристику (например, выбирая первую по алфавиту), не предлагая пользователю окно выбора. Это приводит к ошибкам в учете и пересортице на этапе реализации. Рассмотрим подробно, почему так происходит, как работает типовой механизм «Уточнения данных» и что можно сделать для исправления ситуации.
Для начала разберем внутреннюю логику конфигурации 1С:Управление торговлей 11. Процесс обработки сканированного кода в форме подбора и проверки маркируемой продукции подчиняется строгому правилу. Проанализируем его по этапам:
ШтрихкодыУпаковокТоваров или сопоставление через справочник ШтрихкодыНоменклатуры.Выясним причину проблемы автора: при сканировании пачки уточнение не происходит, так как 1С «думает», что она уже знает, какой это товар. Часто это связано с тем, что для разных характеристик (например, разные МРЦ или партии) используется один и тот же GTIN, и система выбирает первый попавшийся вариант по алфавиту. Для массовой проверки и перезаписи привязок можно использовать обработку для сканирования и сопоставления марок табачной продукции.
Одной из скрытых причин некорректного поведения является режим работы сканера. В рассматриваемой ситуации используется сканер Honeywell, подключенный в режиме «разрыв клавиатуры». Посмотрим, почему это плохо для маркировки:
Когда сканер работает как клавиатура, 1С воспринимает ввод как быструю печать текста. Система не всегда успевает инициировать специализированные обработчики событий для маркировки. Разберем шаги по переводу сканера в правильный режим:
1С:Сканеры штрихкода (NativeApi) в разделе «НСИ и администрирование» — «Ремонт и обслуживание» — «Подключаемое оборудование».CR).Именно работа через COM-порт позволяет системе 1С гарантированно перехватывать событие сканирования и корректно запускать процедуру ОбработкаОповещения, которая отвечает за вызов окон уточнения.
Если вы работаете с блоками табака, важно понимать разницу между кодом блока и кодом пачки. В 1С:УТ 11 реализован механизм агрегации. Рассмотрим ситуацию сканирования:
При сканировании блока система может автоматически определить все вложенные пачки. Если вам нужно уточнить данные именно по пачкам, воспользуйтесь командой «Распаковать» в форме проверки. Проанализируем алгоритм:
Если окно уточнения не появляется, потому что данные уже были «криво» сопоставлены, нам необходимо очистить информацию о коде. Посмотрим на последовательность действий в интерфейсе:
ШтрихкодыНоменклатуры и проверьте, нет ли там дублирующихся записей для одного GTIN на разные характеристики.Если типовое поведение (автоматический выбор по алфавиту) категорически не подходит, и требуется всегда вызывать окно уточнения для определенных категорий товаров, придется прибегнуть к расширению конфигурации. Проанализируем, в какую сторону смотреть:
Основная логика поиска номенклатуры при сканировании маркировки сосредоточена в модуле менеджера регистра ШтрихкодыУпаковокТоваров или в специализированных общих модулях интеграции с ИС МП (Честный ЗНАК). Рассмотрим примерный алгоритм изменения логики:
// В расширении для процедуры обработки кода маркировки
&Вместо("НайтиНоменклатуруПоШтрихкоду")
Процедура Мой_НайтиНоменклатуруПоШтрихкоду(ДанныеШтрихкода, РезультатПоиска)
// Вызываем оригинальный поиск
ПродолжитьВызов(ДанныеШтрихкода, РезультатПоиска);
// Если найдено более одной характеристики или включен режим принудительного уточнения
Если РезультатПоиска.Количество() > 0 Тогда
// Принудительно устанавливаем флаг необходимости уточнения
РезультатПоиска.НужноУточнение = Истина;
КонецЕсли;
КонецПроцедуры
Использование флага НужноУточнение (название переменной может меняться в зависимости от версии УТ) заставляет систему всегда открывать диалоговое окно выбора, даже если формально 1С нашла подходящий штрихкод.
Стоит обратить внимание, что версия 8.3.17.1496 и релизы УТ того периода содержат множество недоработок в части интеграции с ИС МП. Формат кодов DataMatrix для табака претерпевал изменения (сокращение криптохвоста и т.д.). Рекомендуем выполнить следующие действия:
Таким образом, мы выяснили, что основная причина отсутствия окна — это либо режим работы сканера как клавиатуры, либо уже существующее в базе сопоставление штрихкода с номенклатурой. Исправив настройки оборудования и очистив неверные привязки, вы сможете вернуть штатную работу окна уточнения данных. Для быстрого исправления и перепривязки кодов в базе подойдёт обработка для исправления и создания маркировки в 1С:УТ.