Как обновить драйвер сканера штрихкода NativeAPI в 1С:Управление торговлей и решить проблемы с чтением кодов маркировки?

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

При работе с современными системами маркировки, такими как «Честный ЗНАК», пользователи 1С:Управление торговлей часто сталкиваются с проблемой некорректного считывания кодов DataMatrix. Одной из наиболее распространенных проблем является «расщепление» кода, когда сканер передает данные частями, разбивая одну строку на несколько. Часто это происходит из-за использования устаревших версий драйверов NativeAPI, которые поставляются вместе с конфигурацией. В этой статье мы подробно разберем, почему штатное обновление конфигурации не всегда обновляет драйвер, и как принудительно установить актуальную версию компоненты 10.x.

Выясняем причину проблемы: почему драйвер не обновляется автоматически?

Рассмотрим ситуацию: вы обновили 1С:УТ 11 до актуального релиза (например, 11.5.8.267), в описании которого заявлено обновление драйверов оборудования. Однако при создании нового сканера или проверке текущего вы видите старую версию (например, 9.x), хотя на портале ИТС уже доступна версия 10.1.8.6 или выше. Проанализируем, почему так происходит:

  1. Версия подсистемы БПО: Конфигурации 1С используют «Библиотеку подключаемого оборудования» (БПО). Драйверы версии 10.x зачастую требуют БПО версии 3.1 и выше. Если ваша текущая конфигурация (даже свежего релиза) базируется на БПО версии 2.1.x, она может по умолчанию не содержать в себе макетов с новыми драйверами.
  2. Кэширование в Хранилище Значений: В некоторых случаях используемая версия драйвера уже записана в базе данных в специальном справочнике или хранилище. При обновлении конфигурации система может «считать», что текущая версия актуальна, и не заменять ее автоматически.
  3. Использование внешних компонент: Если драйвер был установлен как внешняя компонента локально на компьютере, 1С может продолжать обращаться к ней, игнорируя новые макеты внутри самой базы.

Пошаговое решение: как получить актуальный драйвер из БПО 3.1

Если штатные средства не помогают, мы можем воспользоваться методом ручного извлечения компоненты. Разберем этот процесс по шагам, ориентируясь на опыт успешного решения проблемы специалистами.

Шаг 1. Подготовка дистрибутива БПО. Нам необходимо скачать актуальную версию «1С:Библиотека подключаемого оборудования», редакция 3.1 (или выше). Это отдельная конфигурация, которая служит «донором» для драйверов.

Шаг 2. Создание базы-источника. Создадим пустую файловую базу на основе скачанного шаблона БПО 3.1. Запускать ее в режиме «Предприятие» необязательно, нам понадобится Конфигуратор.

Шаг 3. Извлечение макета драйвера. В Конфигураторе новой базы БПО найдем общий макет с именем Драйвер1СУстройстваВводаNative. Проанализируем его содержимое: это ZIP-архив, содержащий библиотеки для различных платформ (Windows x86/x64, Linux, Android). Нажмем правой кнопкой мыши на макет и выберем «Сохранить в файл...». Сохраним его на диск под именем Native.zip.

Шаг 4. Идентификация версии. При выгрузке мы получим компоненту с идентификатором AddIn.InputDevice. На текущий момент актуальной считается версия 10.1.8.6 и выше, которая поддерживает требования к разработке драйверов версии 3.3. Именно эта версия критически важна для корректной работы с маркировкой.

Инструкция по замене драйвера в рабочей базе «1С:Предприятие»

Теперь, когда у нас есть файл Native.zip, нам нужно внедрить его в нашу рабочую базу 1С:УТ 11. Рассмотрим, как это сделать без внесения изменений в код конфигурации через режим «Предприятие».

  1. Откроем раздел НСИ и администрированиеРМК и оборудованиеПодключаемое оборудование.
  2. Перейдем в справочник Драйверы оборудования.
  3. Нажмем кнопку «Добавить» и выберем пункт «Добавить новый драйвер из файла».
  4. В появившемся окне выберем наш сохраненный файл Native.zip.
  5. Система автоматически определит тип: 1С:Сканеры штрихкода (NativeApi) и версию компоненты.

После этого в настройках конкретного сканера на рабочем месте (в карточке оборудования) необходимо перевыбрать драйвер, указав только что загруженную версию. Рекомендуется также нажать кнопку «Установить драйвер», чтобы система обновила локальные файлы в папке пользователя %AppData%\1C\1Cv8\ExtCompT.

Почему версия 10.x критически важна для работы с DataMatrix?

Выясним, какие преимущества дает использование новой версии драйвера NativeAPI. Основное обновление касается алгоритмов обработки кодов стандарта GS1. В старых версиях (9.x и ниже) при работе сканера в режиме клавиатуры (HID-эмуляция) пакеты данных от беспроводных устройств могли приходить с задержками. Это приводило к тому, что 1С воспринимала один длинный код маркировки как несколько коротких строк, что вызывало ошибку «Штрихкод не найден».

В десятой версии реализованы следующие улучшения:

Рекомендации по настройке режимов работы сканера

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

1. Режим эмуляции клавиатуры (HID). Самый простой в настройке, но самый нестабильный для длинных кодов. Если вы используете его, в настройках драйвера 1С обязательно установите параметр «Чувствительность» (таймаут). Новые версии драйвера позволяют более гибко настраивать это время ожидания следующего символа.

2. Режим эмуляции COM-порта (VCOM). Это наиболее профессиональный и надежный способ. Разберем, как его настроить:

  1. Считайте управляющий штрихкод из инструкции к сканеру для перевода в режим «USB-COM».
  2. В Windows установите драйвер виртуального COM-порта от производителя сканера (если это требуется, современные ОС часто подхватывают их автоматически).
  3. В настройках оборудования в 1С выберите порт (например, COM3).
  4. Преимущество NativeAPI от 1С заключается в том, что он работает с виртуальными портами напрямую, обеспечивая мгновенную передачу данных без использования буфера клавиатуры.

Технические нюансы: разрядность и мобильные платформы

При ручном обновлении драйвера важно учитывать разрядность клиентского приложения 1С. Компонента NativeAPI является мультиплатформенной. Если вы выгрузили драйвер из актуальной БПО, он, как правило, содержит в себе библиотеки для:

Проанализируем файл manifest.xml внутри архива Native.zip. В нем должны быть описаны пути к файлам .dll или .so для каждой платформы. Если вы используете 64-битный клиент 1С, убедитесь, что в макете присутствует соответствующая библиотека, иначе при попытке подключения оборудования вы получите ошибку «Объект не найден» или «Ошибка инициализации». Использование драйверов серии 10.x также открывает возможность полноценной работы с мобильным клиентом 1С на Android, где для сканирования может использоваться встроенная камера смартфона, работающая через тот же интерфейс NativeAPI.

Таким образом, своевременное обновление драйвера сканера до версии 10.1.8.6 и выше является необходимым условием для стабильной работы магазина или склада в условиях обязательной маркировки товаров.

← На главную