При внедрении двумерных штрихкодов (QR-коды, DataMatrix) в учетные системы на базе 1С 7.7 часто возникает вопрос: требуются ли специализированные платные драйверы и как платформа воспринимает 2D-сканеры? Разберем подробно техническую сторону обработки двумерных штрихкодов, критерии подбора оборудования и особенности подсоединения устройств к 1С 7.7.
Главный нюанс взаимодействия платформы 1С 7.7 со сканером заключается в том, что со стороны конфигурации обработка двумерного штрихкода (2D) ничем не отличается от обычного одномерного (1D). Сканер считывает и декодирует картинку графического кода на физическом уровне, после чего передает в систему готовую текстовую строку.
Для приема данных в 1С 7.7 не требуется покупать специализированные внешние компоненты. Разберем основные моменты работы с драйверами:
ScanOPOS.dll) или стандартный драйвер оборудования. Он принимает поток данных от устройства и генерирует внешнее событие в платформе.ОбработкаВнешнегоСобытия.При выборе 2D-сканера для офисной работы и сканирования кодов с экранов мобильных устройств проанализируем популярные модели:
Считывание данных с глянцевых дисплеев смартфонов требует соблюдения условий оптического распознавания. Лазерные сканеры для этой задачи не подходят — требуется 2D-фотосканер (Area Imager).
Рассмотрим, как оптимизировать процесс сканирования с экранов:
Проанализируем два основных способа подключения устройства к компьютеру для корректного приема данных в 1С 7.7:
ОбработкаВнешнегоСобытия вне зависимости от текущего фокуса ввода или текущей раскладки клавиатуры (RU/EN) на ПК. Для работы требуется установить VCP-драйвер производителя и запрограммировать суффикс CR (символ #13).Выясним, как выглядит прием данных от сканера в коде модуля формы 1С 7.7:
Процедура ОбработкаВнешнегоСобытия(Источник, Событие, Данные)
Если Событие = "BarCodeRead" Тогда
// Переменная Данные содержит прочитанный 2D-код в виде строки
ШтрихкодТекст = СокрЛП(Данные);
// Выполняем обработку полученной строки
ПреобразоватьИОбработатьШтрихкод(ШтрихкодТекст);
КонецЕсли;
КонецПроцедуры
Если QR-код содержит кириллические символы в кодировке UTF-8, убедитесь, что внешняя компонента поддерживает эту кодировку, либо выполните декодирование полученной строки Данные средствами 1С перед дальнейшим парсингом.