Как настроить сканер Mertech Superlead в 1С:Управление торговлей 10.3 для работы с кодами маркировки DataMatrix?

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

При переходе на обязательную маркировку товаров (обувь, одежда, табак, парфюмерия и др.) пользователи устаревших конфигураций на обычных формах, таких как «1С:Управление торговлей 10.3», часто сталкиваются с аппаратными и программными трудностями при подключении 2D-сканеров. Модель Mertech Superlead представляет собой отличное и производительное устройство для считывания двумерных кодов типа GS1 DataMatrix, однако его интеграция требует точной последовательности действий. При переходе на современную версию программы для облегчения работы с маркировкой можно выполнить разовый перенос данных из УТ 10.3 в УТ 11.

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

Почему клавиатурный режим (USB-HID) не подходит для работы с маркировкой?

По умолчанию большинство сканеров поставляются настроенными в режиме эмуляции клавиатуры (USB-HID). В таком режиме устройство имитирует быстрый ввод символов пользователем с клавиатуры. Если вы отсканируете штрихкод в Блокнот, данные отобразятся там, где установлен курсор.

Однако при работе с маркированными товарами «Честного ЗНАКа» клавиатурный режим непригоден по следующим причинам:

  1. Обрезание «криптохвоста» (кода проверки). Двумерный код DataMatrix содержит скрытый разделитель групп данных — спецсимвол GS (ASCII-символ 29). При работе в режиме клавиатуры операционная система Windows интерпретирует этот символ как управляющую команду и прерывает передачу данных. В результате в Блокнот или в 1С вместо полной марки (длиной около 85 символов) попадает только ее первая часть (GTIN и серийный номер), например: 010290000073010621YB. Полный код с криптохвостом (заканчивающийся на ==) передать не удается.
  2. Зависимость от раскладки клавиатуры. Если на компьютере включена русская раскладка, символы кода маркировки могут исказиться, превратившись в нечитаемый набор букв кириллицы.
  3. Отсутствие фонового режима. В режиме клавиатуры для сканирования обязательно нужно сначала установить фокус (курсор) в строго определенное поле ввода в программе.

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

Почему сканер работает в сторонних утилитах (например, Hercules), но «не видит» коды в 1С?

Рассмотрим ситуацию, когда сканер переведен в режим COM-порта, виртуальный порт определился в системе, специальная утилита (например, Hercules или Portmon) видит поток данных при сканировании, а в 1С ничего не происходит.

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

Обычно в качестве суффикса выступает символ возврата каретки — CR (Carriage Return, десятичный код 13, кнопка Enter). Как только драйвер обнаруживает этот символ в потоке, он «схлопывает» пакет данных и генерирует в платформе стандартное ВнешнееСобытие. Если на самом сканере суффикс не настроен (или настроен неверно), драйвер 1С будет бесконечно ждать окончания посылки, и программа никак не отреагирует на сканирование.

Шаг 1. Перевод сканера Mertech Superlead в режим COM-порта

Рассмотрим пошагово процесс аппаратной настройки оборудования:

  1. Возьмите инструкцию (руководство пользователя с настроечными штрихкодами), которая шла в комплекте со сканером Mertech Superlead. Если бумажной версии нет, скачайте PDF-руководство с официального сервисного портала Mertech.
  2. Найдите и последовательно отсканируйте управляющий штрихкод «USB COM Emulation» (в некоторых версиях инструкций он называется «USB Virtual COM» или «USB CDC»).
  3. Если вы работаете на операционной системе Windows 7 или 8, вам потребуется установить виртуальный COM-драйвер от Mertech. В Windows 10 и 11 операционная система установит стандартный драйвер виртуального COM-порта автоматически.
  4. Откройте «Диспетчер устройств» Windows, разверните ветку «Порты (COM и LPT)» и найдите появившееся устройство. Запомните номер выделенного ему порта (например, COM5).

Шаг 2. Настройка суффикса CR на сканере

Для того чтобы сканер отправлял символ окончания посылки в порт, выполните следующее:

  1. В настроечной инструкции найдите раздел настроек префиксов и суффиксов (Prefix/Suffix Settings).
  2. Отсканируйте штрихкод «Добавить суффикс CR» (в некоторых редакциях — «Enable Suffix» и затем код суффикса 0x0D).
  3. После этого проверьте работу сканера в любой терминальной программе (например, Hercules). При сканировании в конце строки должен появляться невидимый символ перехода на новую строку.

Шаг 3. Подключение и настройка оборудования в 1С:УТ 10.3

Теперь перейдем к программной настройке конфигурации 1С. Поскольку «Управление торговлей 10.3» работает на обычных (неуправляемых) формах, путь настройки выглядит следующим образом:

  1. Откройте базу 1С под пользователем с правами Администратора.
  2. Перейдите в меню: Сервис -> Торговое оборудование -> Подключение и настройка торгового оборудования.
  3. На вкладке «Сканеры штрихкода» нажмите кнопку «Добавить» (или нажмите на три точки для выбора из списка).
  4. Создайте новое подключение. В поле «Обработка обслуживания» выберите стандартную обработку 1CScan唬Skt.epf (или выберите встроенный Native-драйвер «1С:Сканер штрихкода» в зависимости от релиза вашей конфигурации).
  5. Нажмите кнопку «Параметры» для настройки параметров связи:
    • Порт: Выберите порт, который вы увидели в Диспетчере устройств (например, COM5).
    • Скорость: По умолчанию для виртуального COM-порта можно оставить 9600 (или 115200, главное, чтобы значение совпадало с аппаратной настройкой сканера).
    • Бит данных: 8
    • Стоповые биты: 1
    • Суффикс: Установите значение 13 (CR). Если в интерфейсе драйвера есть таблица спецсимволов, убедитесь, что в качестве суффикса указан именно этот код.
  6. Нажмите кнопку «Тест устройства». Сканируйте любой линейный штрихкод или код DataMatrix. В окне теста должна появиться зеленая строка с указанием порта приема, считанных данных и суффикса. Если строка появилась — физическое подключение и сопряжение с драйвером выполнены успешно.

Шаг 4. Работа на удаленном рабочем столе (RDP)

Если ваша база 1С развернута на удаленном сервере, а сканер подключен к локальному компьютеру, виртуальный COM-порт необходимо «пробросить» в сессию RDP:

  1. Перед запуском подключения к удаленному рабочему столу откройте его свойства.
  2. Перейдите на вкладку «Локальные ресурсы», в нижней секции «Локальные устройства и ресурсы» нажмите кнопку «Подробнее...».
  3. Установите флажок напротив пункта «Порты».
  4. После подключения к серверу в Диспетчере устройств удаленного сервера должен появиться перенаправленный порт (например, COM5 (перенаправлено 3)). Именно его нужно будет выбрать в настройках торгового оборудования в 1С на сервере.

Шаг 5. Методология работы с номенклатурой и маркировкой

Проанализируем частую ошибку пользователей: попытку отсканировать код маркировки DataMatrix непосредственно в карточку номенклатуры на вкладку «Штрихкоды».

Важно понимать:

Правильный алгоритм работы в 1С:УТ 10.3 выглядит следующим образом:

  1. В карточке номенклатуры убедитесь, что для позиции установлен правильный «Вид номенклатуры», у которого в свойствах указан тип маркировки (например, «Обувная продукция» или «Одежда и легкая промышленность»). Это критично для того, чтобы система понимала, что при продаже или приемке этой позиции требуется запросить код маркировки.
  2. На вкладке «Штрихкоды» карточки товара должен быть привязан только классический штрихкод EAN-13 (или GTIN, полученный из DataMatrix).
  3. При оформлении документов поступления, реализации или при розничной продаже через «Чек ККМ», когда вы сканируете 2D-код DataMatrix, 1С перехватывает это событие. Система находит товар по GTIN, встроенному в DataMatrix, и автоматически открывает модальное окно проверки кодов маркировки. Программа извлекает серийный номер и криптохвост, сопоставляет его с документом и готовит данные для отправки в систему «Честный ЗНАК» через ЭДО или ОФД.

Технический разбор: Как 1С обрабатывает данные во внешнем событии

Посмотрим, как на уровне кода в конфигурации УТ 10.3 реализован прием данных от сканера штрихкода. Обработка сигналов происходит в процедуре ВнешнееСобытие модуля формы документа или модуля управляемого приложения.

Приведем пример упрощенного кода, который демонстрирует логику работы драйвера при получении данных из COM-порта:


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

КонецПроцедуры

Функция ОбработатьКодМаркировки разбирает структуру полученной строки, находит идентификаторы применения (AI), отделяет GTIN от индивидуального серийного номера и проверяет корректность криптографической подписи. Именно поэтому при работе по COM-порту критически важно сохранение структуры байт-в-байт.

Резюме и чек-лист для быстрой проверки

Если ваш сканер Mertech Superlead не сканирует коды в 1С:УТ 10.3, воспользуйтесь следующим экспресс-чек-листом:

  1. Сканер переведен в режим эмуляции COM-порта (не клавиатуры!).
  2. В Диспетчере устройств Windows порт определился без ошибок и предупреждающих знаков.
  3. На сканере активирован суффикс возврата каретки (CR / #13).
  4. В настройках торгового оборудования 1С выбран верный номер COM-порта, а в поле «Суффикс» указано число 13.
  5. В карточке номенклатуры задан вид номенклатуры с типом маркируемой продукции (например, обувь).
  6. При сканировании на удаленном сервере (RDP) в свойствах подключения активирован проброс портов.

Выполнение этих шагов гарантирует стабильную и корректную работу сканера Mertech Superlead с любыми кодами маркировки в среде 1С:Предприятие.

← На главную