Как выбрать и настроить 2D-сканер штрихкодов для работы с 1С 7.7?

Программист 1С v7.7 IT и автоматизация бизнеса
← На главную

При внедрении двумерных штрихкодов (QR-коды, DataMatrix) в учетные системы на базе 1С 7.7 часто возникает вопрос: требуются ли специализированные платные драйверы и как платформа воспринимает 2D-сканеры? Разберем подробно техническую сторону обработки двумерных штрихкодов, критерии подбора оборудования и особенности подсоединения устройств к 1С 7.7.

Принцип работы 2D-сканера в 1С 7.7 и выбор драйвера

Главный нюанс взаимодействия платформы 1С 7.7 со сканером заключается в том, что со стороны конфигурации обработка двумерного штрихкода (2D) ничем не отличается от обычного одномерного (1D). Сканер считывает и декодирует картинку графического кода на физическом уровне, после чего передает в систему готовую текстовую строку.

Для приема данных в 1С 7.7 не требуется покупать специализированные внешние компоненты. Разберем основные моменты работы с драйверами:

  1. Стандартный драйвер 1С: Для интеграции 2D-сканера используется бесплатная внешняя компонента от 1С (например, ScanOPOS.dll) или стандартный драйвер оборудования. Он принимает поток данных от устройства и генерирует внешнее событие в платформе.
  2. Передача данных: Сканируемая информация поступает в переменную в виде символьной строки. В коде 1С обработка выполняется в предопределенной процедуре ОбработкаВнешнегоСобытия.

Обзор и эргономика популярного оборудования

При выборе 2D-сканера для офисной работы и сканирования кодов с экранов мобильных устройств проанализируем популярные модели:

  1. Datalogic QuickScan QD2430 (QD2400): Показывает отличную надежность и высокую скорость чтения. Отличается гибкостью подключения: при помощи 10-пинового разъема устройство легко адаптируется под интерфейс COM-порта (RS-232).
  2. Honeywell Voyager 1450g2D: Надежное устройство, однако стоит учитывать расположение управляющей кнопки. Модель с расположением кнопки сверху удобна для работы на кассовом узле, но при интенсивном складском сканировании пистолетный вариант с куром снизу эргономичнее. При покупке обязательно проверяйте модификацию — необходима именно версия с активным 2D-модулем (1450g2D).
  3. Mindeo MD 6000 2D: Бюджетный вариант 2D-сканера. Работает с 1С по аналогичной схеме, не требуя специфических драйверов от производителя.
  4. Zebra (Motorola/Symbol) DS2208: Альтернативное проверенное решение для долгосрочной эксплуатации (5–7 лет в офисных условиях) с устойчивой эмуляцией COM-порта.

Особенности считывания QR-кодов с экранов телефонов

Считывание данных с глянцевых дисплеев смартфонов требует соблюдения условий оптического распознавания. Лазерные сканеры для этой задачи не подходят — требуется 2D-фотосканер (Area Imager).

Рассмотрим, как оптимизировать процесс сканирования с экранов:

  1. Режим работы с дисплеями: В настройках 2D-сканеров предусмотрен режим считывания с мобильных устройств (Mobile Phone Reading Mode). Для его включения необходимо считать специальный управляющий штрихкод из руководства пользователя сканера.
  2. Настройка подсветки: Блики от защитных стекол экранов могут мешать распознаванию. Включение функции рассеянного света или снижение интенсивности подсветки улучшает читаемость.

Настройка режима подключения (USB-COM vs USB-HID)

Проанализируем два основных способа подключения устройства к компьютеру для корректного приема данных в 1С 7.7:

  1. Режим эмуляции COM-порта (USB-COM / VCP): Рекомендуемый способ. Сканер передает данные через виртуальный последовательный порт. При этом 1С 7.7 стабильно вызывает процедуру ОбработкаВнешнегоСобытия вне зависимости от текущего фокуса ввода или текущей раскладки клавиатуры (RU/EN) на ПК. Для работы требуется установить VCP-драйвер производителя и запрограммировать суффикс CR (символ #13).
  2. Режим эмуляции клавиатуры (USB-HID): Символы передаются как нажатия клавиш. В 1С 7.7 данный режим может вызывать ошибки, так как передача латинских букв в QR-коде при включенной русской раскладке приставит искаженные символы, а длинная строка 2D-кода может терять знаки из-за переполнения буфера.

Кодировки и обработка внешнего события в 1С 7.7

Выясним, как выглядит прием данных от сканера в коде модуля формы 1С 7.7:


Процедура ОбработкаВнешнегоСобытия(Источник, Событие, Данные)
    Если Событие = "BarCodeRead" Тогда
        // Переменная Данные содержит прочитанный 2D-код в виде строки
        ШтрихкодТекст = СокрЛП(Данные);
        
        // Выполняем обработку полученной строки
        ПреобразоватьИОбработатьШтрихкод(ШтрихкодТекст);
    КонецЕсли;
КонецПроцедуры

Если QR-код содержит кириллические символы в кодировке UTF-8, убедитесь, что внешняя компонента поддерживает эту кодировку, либо выполните декодирование полученной строки Данные средствами 1С перед дальнейшим парсингом.

← На главную