В процессе автоматизации розничной торговли специалисты часто сталкиваются с проблемой, когда сканер штрихкодов Atol SB 2108 Plus при чтении определенных кодов «съедает» первую цифру. Особенно остро это проявляется, если штрихкод начинается с нуля (например, 0780201379623 превращается в 780201379623). В данной статье мы подробно разберем, почему это происходит, как программно настроить оборудование.
Для начала проанализируем ситуацию с точки зрения мировых стандартов кодирования. Штрихкод формата EAN-13 состоит из 13 цифр. Однако существует стандарт UPC-A, распространенный в Северной Америке, который содержит 12 цифр. Технически код EAN-13, начинающийся с нуля, является полным аналогом кода UPC-A.
Когда сканер Atol SB 2108 Plus видит штрихкод, начинающийся на «0», его внутренняя логика распознает его как формат UPC-A. По умолчанию в настройках многих сканеров включен режим передачи UPC-A «как есть», то есть в 12-значном виде без лидирующего нуля. Если же мы просто отключим поддержку UPC-A в настройках, сканер может вовсе перестать читать такие коды, так как не будет понимать, к какому типу их отнести. Наша задача — заставить сканер выполнять автоматическую конвертацию (трансформацию) считанного кода UPC-A в формат EAN-13 путем добавления недостающего нуля в начало строки.
Рассмотрим основной метод настройки оборудования — использование управляющих штрихкодов из расширенного руководства пользователя. Важно отметить, что модель Plus отличается от обычной версии 2108, поэтому необходимо использовать коды именно для обновленной ревизии.
Для настройки выполним следующие шаги по порядку:
Enter Setup (обычно находится на первых страницах руководства). Сканер подаст звуковой сигнал, подтверждающий готовность к изменению параметров.Convert UPC-A to EAN-13 (или Expand UPC-A to EAN-13). В некоторых версиях прошивок Атол этот код имеет внутренний номер 100459. Сканируем его.Transmit UPC-A System Character и активируем его.Exit with Save (или 109999).После этой процедуры сканер будет автоматически добавлять «0» к любым 12-значным кодам UPC-A, превращая их в полноценные 13-значные EAN-13, которые ожидает увидеть 1С.
Если работа с бумажной инструкцией кажется неудобной, разберем альтернативный вариант — настройку через официальное программное обеспечение. Для этого нам понадобится утилита Atol Scanner Config.
Выполним действия по шагам:
Symbology Settings -> UPC-A.Write Settings или Save to Scanner.Преимущество этого метода в том, что мы наглядно видим текущее состояние всех переключателей в памяти устройства. Также программа позволяет сгенерировать единый QR-код, содержащий все наши изменения, который можно распечатать и использовать для быстрой настройки других сканеров на торговой точке.
После того как мы перенастроили оборудование, необходимо убедиться, что 1С правильно интерпретирует полученные данные. Проанализируем настройки драйвера оборудования в самой программе.
Откроем раздел Администрирование -> Подключаемое оборудование и выберем наш сканер. Нажмем кнопку Настроить. В окне теста устройства выполним сканирование проблемного штрихкода. Если в поле «Данные» мы видим полный код с нулем, значит, задача решена на уровне железа.
Важный момент: иногда в 1С установлены дополнительные префиксы или суффиксы. Убедимся, что в поле Префикс и Суффикс не стоят лишние символы, которые могли бы искажать строку. Посмотрим на пример кода обработки данных, который встроен в типовые конфигурации:
// Пример логики обработки штрихкода в драйвере
Функция ОбработатьШтрихкод(Данные)
Если СтрДлина(Данные) = 12 Тогда
// Возможно, сканер все еще не настроен
Данные = "0" + Данные;
КонецЕсли;
Возврат Данные;
КонецФункции
Хотя мы можем добавить лидирующий ноль программно в 1С (как показано выше), правильным подходом считается именно настройка сканера, так как это избавляет от необходимости вносить изменения в типовой код конфигурации и гарантирует работу во всех окнах системы (поиск товара, подбор, установка цен).
Рассмотрим ситуацию, когда даже после настройки конвертации ноль не появляется. Выясним возможные причины:
USB-HID (как клавиатура), проверьте раскладку клавиатуры на ПК. Иногда спецсимволы могут интерпретироваться неверно, хотя на цифры это влияет редко.UPC/EAN Add-on, если ваша специфика работы не требует их использования.В завершение подчеркнем: никогда не пытайтесь решить проблему простым добавлением «0» в качестве префикса в настройках 1С. Это приведет к тому, что ко всем остальным штрихкодам (которые уже имеют 13 знаков) также добавится ноль, что сделает их нечитаемыми для системы. Используйте только внутреннюю функцию сканера Convert UPC-A to EAN-13.