Как решить проблему со сканированием штрихкодов в 1С:УТ 11.4 при работе с маркировкой и РИБ?

Системный администратор 1С v8.3 (Управляемые формы) Управленческий учет Торговля и дистрибуция
← На главную

При работе в программе 1С:Управление торговлей 11.4 пользователи часто сталкиваются с ситуацией, когда сканер штрихкодов (например, Атол SB2108 Plus) исправно считывает маркированную продукцию, но отказывается находить обычные, немаркируемые товары в Рабочем месте кассира (РМК). Проблема осложняется в распределенных информационных базах (РИБ), где поиск по штрихкоду может просто закрываться без выдачи результата или ошибки.

В этой статье мы подробно разберем причины такого поведения системы, проанализируем взаимосвязь настроек весового товара, префиксов узлов РИБ и признаков маркировки, а также составим пошаговый план решения проблемы. Для профилактики ошибок рекомендуется выполнять контроль заполнения полей маркированного товара.

Причина 1: Ошибочная идентификация штрихкода как весового

Одной из самых неочевидных причин того, почему 1С "игнорирует" считанный штрихкод, является конфликт с настройками весового товара. Разберем механизм работы системы: в настройках НСИ и администрирование — Номенклатура — Настройки штрихкодирования задаются префиксы для разных типов кодов.

Если первая цифра внутреннего штрихкода (например, "2") совпадает с префиксом весового товара, 1С перестает искать этот код в регистре ШтрихкодыНоменклатуры. Вместо этого программа пытается "разобрать" его по маске весового товара: [Префикс][Код товара][Вес][Контрольный символ]. Если структура кода не соответствует этой маске, алгоритм поиска выдает внутреннюю ошибку, которая в интерфейсе РМК проявляется как мгновенное закрытие окна поиска без добавления товара.

Проанализируем ситуацию: если в карточке номенклатуры штрихкод был ошибочно сгенерирован как "Весовой", система будет ожидать от сканера код определенной длины с информацией о массе. Для исправления ситуации выполним следующие действия:

  1. Перейдем в список штрихкодов проблемного товара.
  2. Проверим колонку, отвечающую за тип штрихкода.
  3. Если штрихкод относится к категории весовых, его необходимо удалить и создать заново как "Штучный".

Причина 2: Конфликт префиксов в распределенной информационной базе (РИБ)

При использовании РИБ крайне важно правильно настроить префиксы внутренних штрихкодов для каждого узла. Если в Центральной Базе (ЦБ) и Периферийной Базе (ПБ) установлены одинаковые префиксы, система может генерировать дублирующие коды или некорректно обрабатывать штрихкоды, пришедшие по синхронизации.

Рассмотрим правильную схему настройки:

Это гарантирует, что штрихкоды, созданные локально в магазине, не будут пересекаться с кодами из центрального офиса. Важно понимать, что признак маркировки продукции накладывает дополнительные требования к проверке штрихкодов. Выясним причину: если штрихкод был сгенерирован ДО включения функциональных опций маркировки и настройки префиксов, он может содержать структуру, которую новые алгоритмы РМК считают некорректной.

Причина 3: Технические параметры сканера и "пустые" окна поиска

Если при нажатии F7 (Поиск по штрихкоду) или при сканировании окно поиска просто закрывается, это может свидетельствовать о неверной настройке суффикса сканера. Большинство сканеров (включая Атол SB2108) по умолчанию работают в режиме эмуляции клавиатуры и после передачи кода посылают символ Enter (код 13).

Если в 1С в настройках подключаемого оборудования не указан суффикс #13, программа воспринимает нажатие Enter не как окончание ввода кода, а как команду "ОК" для закрытия окна. В результате окно закрывается быстрее, чем алгоритм поиска успевает отработать. Рассмотрим шаги по устранению:

  1. Переведем сканер в режим эмуляции COM-порта (через управляющие штрихкоды из инструкции производителя). Это самый надежный способ работы в 1С.
  2. В настройках драйвера 1С укажем корректный COM-порт.
  3. Если используется режим клавиатуры, убедимся, что в поле "Суффикс" стоит значение 13 (CR).

Причина 4: Анализ программного кода обработки события

Для глубокого понимания проблемы программисту стоит проанализировать работу модуля, отвечающего за внешние события. В момент сканирования срабатывает процедура, которая должна определить тип считанных данных. Посмотрим на примерную логику обработки в общем модуле:


Процедура ОбработкаВнешнегоСобытия(Источник, Событие, Данные)
    // Данные - это считанный штрихкод
    ПараметрыШтрихкода = ШтрихкодированиеСервер.РазобратьШтрихкод(Данные);
    
    Если ПараметрыШтрихкода.ТипШтрихкода = ПланВидовХарактеристик.ТипыШтрихкодов.EAN13 Тогда
        // Поиск товара в регистре
        НайденныйТовар = РегистрыСведений.ШтрихкодыНоменклатуры.НайтиПоШтрихкоду(Данные);
        // Если НайденныйТовар пустой, 1С может просто закрыть форму
    КонецЕсли;
КонецПроцедуры

Если сканер передает лишние символы или штрихкод не соответствует формату EAN-13, функция РазобратьШтрихкод может вернуть ошибку или неверный тип. Особенно это актуально для маркируемой продукции, где система сначала пытается найти код маркировки (DataMatrix), а уже потом обычный штрихкод.

Итоговый алгоритм решения

Чтобы восстановить работоспособность сканирования для немаркируемой продукции, выполним следующие действия:

  1. Проверка категории штрихкода: Убедимся, что в карточке товара штрихкод не помечен как "Весовой". Если это так — пересоздадим его как "Штучный".
  2. Разграничение префиксов: В настройках РИБ установим разные префиксы штрихкодирования для каждого узла.
  3. Обновление данных: После настройки префиксов рекомендуется перегенерировать внутренние штрихкоды для товаров, которые "не видны" сканеру.
  4. Настройка драйвера: Проверим, что сканер не посылает лишних префиксов или некорректных суффиксов, прерывающих работу формы РМК.
  5. Полнотекстовый поиск: В периферийной базе запустим регламентное задание "Обновление индекса полнотекстового поиска", так как иногда проблемы поиска связаны с индексацией данных после синхронизации.

Проанализировав ситуацию комплексно — от физических настроек луча сканера до логики префиксов в программном коде 1С — мы сможем добиться стабильной работы системы как с маркированным, так и с обычным товаром.

← На главную