Как настроить работу сканера штрихкодов в УТ 10.3 для одновременного считывания EAN-13 и DataMatrix?

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

Настройка торгового оборудования в устаревших конфигурациях, таких как Управление торговлей 10.3, при внедрении механизмов маркировки часто вызывает сложности. Основная проблема заключается в конфликте между старой архитектурой ТОСервер и современным механизмом БПО (Библиотека подключаемого оборудования). В этой статье мы разберем пошагово, как заставить один сканер корректно обрабатывать как привычные штрихкоды EAN-13, так и коды маркировки DataMatrix.

Разбор причин неработоспособности

Прежде чем приступать к настройке, проанализируем ситуацию. Конфигурация УТ 10.3 на последних релизах пытается использовать механизм Подключаемое оборудование. Однако программный код типовой конфигурации часто содержит фильтры, которые ожидают, что источником события будет строго СканерШтрихкода. Если ваш сканер определяется системой как InputDevice или имеет иное имя, механизм МенеджерОборудованияКлиент просто отбрасывает событие, не передавая его в обработку.

Шаг 1: Подготовка сканера (COM-эмуляция)

Работа сканера в режиме клавиатурного ввода (HID) крайне нежелательна при работе с DataMatrix, так как могут возникать проблемы с передачей служебных символов-разделителей (GS1). Мы рекомендуем следующие действия:

  1. Переведите сканер в режим COM-эмуляции (обычно это делается путем сканирования специального управляющего штрихкода из инструкции к устройству).
  2. Установите фирменный драйвер USB Serial Driver от производителя вашего сканера (например, Honeywell или Zebra).
  3. После перезагрузки убедитесь, что в Диспетчере устройств Windows сканер отображается в разделе Порты (COM и LPT) и ему присвоен конкретный COM-порт.

Шаг 2: Очистка старых настроек

Перед тем как настраивать оборудование заново, необходимо полностью очистить систему от некорректных записей. Старые настройки в регистрах Торговое оборудование будут блокировать работу новых модулей.

  1. Зайдите в режим Конфигуратор или через Функции технического специалиста откройте регистр сведений ТорговоеОборудование.
  2. Удалите все записи с видом Сканер штрихкод.
  3. В настройках параметров учета временно отключите Использовать подключаемое оборудование, сохраните настройки, а затем включите её снова. Это поможет сбросить кэшированные параметры конфигурации.

Шаг 3: Настройка драйвера и оборудования

Для стабильной работы в УТ 10.3 лучше всего использовать классический драйвер 1С:Сканеры штрихкода (старой версии, например 8.1.7.9), так как он обладает большей гибкостью по сравнению с современным Native API, который требует строгой настройки БПО.

  1. В настройках торгового оборудования для тонкого клиента создайте новое рабочее место.
  2. Выберите драйвер 1С:Сканеры штрихкода.
  3. В параметрах подключения укажите COM-порт, который мы определили на первом этапе.
  4. Проведите тест устройства. Если в тесте DataMatrix и EAN-13 считываются успешно, значит, связка драйвер-сканер настроена корректно.

Анализ программной логики (для продвинутых пользователей)

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


// Пример фрагмента кода обработки события
Если ПолучитьФункциональнуюОпцию("ИспользоватьПодключаемоеОборудование") 
    И Источник = "СканерШтрихкода" 
    И (ТипЗнч(Клиент) = Тип("Форма") Или ТипЗнч(Клиент) = Тип("УправляемаяФорма")) Тогда
    // Обработка через МенеджерОборудованияКлиент
КонецЕсли;

Мы видим, что если ваша переменная Источник не равна СканерШтрихкода, логика переходит к старому механизму ТОСервер. Если вы столкнулись с тем, что ни один из механизмов не срабатывает, возможно, потребуется внести корректировку в модуль, чтобы он корректно принимал ваш Источник (например, добавив проверку на InputDevice). Однако мы настоятельно рекомендуем сначала попробовать способ с установкой драйвера 1С:Сканеры штрихкода (не Native API), так как это часто снимает необходимость в доработке кода конфигурации.

Важное примечание: При выборе драйвера отдавайте предпочтение 1С:Сканеры штрихкода версии ScanOPOS. Это позволяет избежать жестких ограничений Native API и обеспечивает более предсказуемое поведение при работе со сканерами, которые могут передавать нестандартные идентификаторы источника.

← На главную