Как исправить некорректное считывание кодов маркировки сканером Opticon M-10 в 1С?

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

При работе с маркированными товарами, особенно в аптечном сегменте, критически важна корректная работа сканера штрихкодов. Многие пользователи сталкиваются с проблемой, когда сканер, такой как Opticon M-10, подключенный через COM-порт, некорректно считывает коды маркировки в 1С, выдавая сообщение "код не читаемый" или "пикая" не так, как ожидается. Рассмотрим подробно эту проблему и выясним, как ее эффективно решить.

Понимание проблемы: Специфика кодов маркировки и символа GS

Для начала, разберем суть проблемы. Коды маркировки лекарственных средств в Российской Федерации используют стандарт GS1 Data Matrix. Это двухмерный штрихкод, который содержит не только сам код товара, но и специальный символ-разделитель – GS (Group Separator, ASCII 29). Этот символ крайне важен для корректного разделения различных блоков данных внутри кода, таких как GTIN, серийный номер, срок годности и другие. Если сканер не передает этот символ или передает его неправильно, программа 1С не сможет корректно разобрать полученные данные, что неизбежно приведет к ошибкам типа "код не читаемый", особенно когда внедряется разрешительный режим для маркированной продукции.

Часто проблема проявляется в том, что сканер не "склеивает" композитный GS1 код по умолчанию. Композитный штрихкод состоит из линейного и двухмерного компонентов. Сканер должен считать обе части и объединить их в единую строку данных. Некорректная передача разделителей или отсутствие их склеивания приводит к неполному или искаженному считыванию.

Настройка подключения сканера в 1С

Для успешной работы сканера в 1С, особенно с маркировкой, необходимо правильно его подключить и настроить в самой системе. Мы рекомендуем использовать внешнюю обработку 1С:Сканеры штрихкода (NativeApi), которая является предпочтительным способом подключения современных сканеров к 1С для работы с маркировкой.

  1. Проверка подключения и режим работы. Убедимся, что сканер подключен в режиме эмуляции COM-порта, даже если физическое подключение осуществляется через USB (в этом случае требуется установка соответствующего драйвера эмуляции COM-порта). Подключение в режиме клавиатурного ввода может вызвать проблемы с регистром символов и передачей специальных символов, таких как GS.

  2. Тестирование устройства в 1С. После подключения и базовой настройки сканера в 1С, обязательно выполните "Тест устройства". Этот тест позволяет нам увидеть, какие данные сканер фактически передает, включая все префиксы, суффиксы и специальные символы (например, GS). Сравним эти данные с тем, что ожидается 1С. Тест также позволяет драйверу попытаться подключиться к различным доступным устройствам, будь то клавиатурные или COM-портовые.

  3. Тип входных данных. В настройках драйвера 1С:Сканеры штрихкода доступны различные типы выходных данных, такие как "Строка" и "Base64". В некоторых случаях изменение типа входных данных со "Строка" на "Base64" может помочь в решении проблемы. При использовании "Base64" данные кодируются таким образом, что специальные символы, которые могут быть неправильно интерпретированы в строковом представлении, сохраняются в целостности. Попробуем этот вариант, если стандартный "Строка" не дает желаемого результата.

  4. Префиксы и суффиксы. Обратим внимание на префиксы и суффиксы, настроенные в сканере и в драйвере 1С. Важно, чтобы они совпадали. В нашем случае, как было отмечено, префикс "CR" и разделитель "GS" (Group Separator) являются критически важными. Префикс "CR" (Carriage Return, #013) часто используется для завершения передачи данных. Удаление этих символов, вопреки некоторым предположениям, может только усугубить проблему, так как они необходимы для правильного распознавания структуры кода маркировки 1С. Убедимся, что сканер настроен на их передачу, а 1С — на их ожидание.

Настройка самого сканера Opticon M-10 для работы с маркировкой

Ключевое решение проблемы с передачей символа GS часто кроется в расширенной настройке самого сканера Opticon M-10. Для этого нам понадобится специализированное программное обеспечение от производителя.

  1. Использование утилиты UniversalConfig Utility (UniversalConfig 2.12). Эта утилита (ранее известная как Universal Menu Tool 2D) является основным инструментом для тонкой настройки сканеров Opticon, включая модель M-10. Через эту программу мы можем получить доступ к расширенным функциям конфигурации сканера, которые недоступны через обычные штрихкоды настройки.

    • Цель настройки: Основная и самая важная задача — настроить передачу символа разделителя GS (Group Separator). В стандартных настройках или считываемых штрихкодах эта функция может быть отключена или настроена некорректно. В UniversalConfig мы найдем опции, позволяющие принудительно включить передачу этого символа. Конкретные шаги будут зависеть от версии утилиты и прошивки сканера, но обычно они находятся в разделах, связанных с "Data Formatting", "Special Character Transmission" или "GS1 Data Matrix Settings".

  2. Обновление прошивки сканера. Если даже после тщательной настройки через UniversalConfig сканер не передает символ GS или работает нестабильно, это может указывать на устаревшую микропрограмму (прошивку) сканера. Производители регулярно выпускают обновления, которые добавляют поддержку новых стандартов (например, для маркировки) или исправляют ошибки. Файлы прошивки и утилиты для ее загрузки (например, appload) обычно доступны на официальном сайте Opticon. Рекомендуем проверить наличие актуальной прошивки для вашей модели M-10 и при необходимости обновить ее. Этот шаг следует выполнять с осторожностью, следуя инструкциям производителя.

  3. Генерация настроечных штрихкодов. В дополнение к UniversalConfig, существуют онлайн-инструменты, такие как Opticonfigure, которые позволяют генерировать настроечные штрихкоды. Эти штрихкоды могут быть считаны сканером для быстрой загрузки определенных конфигураций. Хотя UniversalConfig предоставляет более глубокий контроль, настроечные штрихкоды могут быть полезны для быстрого применения стандартных или часто используемых настроек, включая активацию передачи символа GS, если такая опция доступна в публичных конфигурациях.

Распространенные причины ошибки "код не читаемый" и их устранение

Помимо проблем с передачей символа GS, ошибка "код не читаемый" в 1С может возникать и по другим причинам. Рассмотрим их, чтобы обеспечить комплексное решение.

  1. Неправильная передача символа GS. Как мы уже подробно рассмотрели, это наиболее частая и критичная причина. Убедимся, что сканер настроен на передачу символа GS, используя UniversalConfig Utility.

  2. Несоответствие префиксов/суффиксов. Еще раз проверим, что префиксы и суффиксы, настроенные в сканере (например, CR для завершения строки) и ожидаемые драйвером 1С, полностью совпадают. Любое расхождение приведет к некорректной интерпретации данных.

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

  4. Неправильная настройка сканера для работы с двухмерными кодами Data Matrix. Убедимся, что в настройках сканера (через UniversalConfig или настроечные штрихкоды) включена поддержка считывания двухмерных кодов Data Matrix, так как именно этот тип используется для маркировки. Некоторые сканеры могут требовать активации этой функции.

  5. Несоответствие кодировки символов. Важно, чтобы кодировка символов, передаваемых сканером, совпадала с кодировкой, которую ожидает 1С (часто это UTF-8). Несоответствие кодировок может приводить к появлению "кракозябр" или полной нечитаемости данных.

  6. Проблемы с драйвером сканера или его совместимостью с ОС. Убедимся, что установлены актуальные драйверы для Opticon M-10, совместимые с вашей операционной системой. Старые или поврежденные драйверы могут вызывать сбои в передаче данных.

В заключение, проблема некорректного считывания кодов маркировки сканером Opticon M-10 в 1С чаще всего является комплексной и требует внимательной настройки как программного обеспечения 1С, так и самого сканера. Основное решение заключается в настройке передачи символа разделителя GS через утилиту UniversalConfig 2.12, а также в проверке соответствия префиксов/суффиксов и типа входных данных в 1С. Комплексный подход к диагностике и устранению этих пунктов поможет нам добиться стабильной и корректной работы с маркированными товарами.

← На главную