При работе с современными системами маркировки, такими как «Честный ЗНАК», пользователи 1С:Управление торговлей часто сталкиваются с проблемой некорректного считывания кодов DataMatrix. Одной из наиболее распространенных проблем является «расщепление» кода, когда сканер передает данные частями, разбивая одну строку на несколько. Часто это происходит из-за использования устаревших версий драйверов NativeAPI, которые поставляются вместе с конфигурацией. В этой статье мы подробно разберем, почему штатное обновление конфигурации не всегда обновляет драйвер, и как принудительно установить актуальную версию компоненты 10.x.
Рассмотрим ситуацию: вы обновили 1С:УТ 11 до актуального релиза (например, 11.5.8.267), в описании которого заявлено обновление драйверов оборудования. Однако при создании нового сканера или проверке текущего вы видите старую версию (например, 9.x), хотя на портале ИТС уже доступна версия 10.1.8.6 или выше. Проанализируем, почему так происходит:
Если штатные средства не помогают, мы можем воспользоваться методом ручного извлечения компоненты. Разберем этот процесс по шагам, ориентируясь на опыт успешного решения проблемы специалистами.
Шаг 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. Именно эта версия критически важна для корректной работы с маркировкой.
Теперь, когда у нас есть файл Native.zip, нам нужно внедрить его в нашу рабочую базу 1С:УТ 11. Рассмотрим, как это сделать без внесения изменений в код конфигурации через режим «Предприятие».
Native.zip.1С:Сканеры штрихкода (NativeApi) и версию компоненты.После этого в настройках конкретного сканера на рабочем месте (в карточке оборудования) необходимо перевыбрать драйвер, указав только что загруженную версию. Рекомендуется также нажать кнопку «Установить драйвер», чтобы система обновила локальные файлы в папке пользователя %AppData%\1C\1Cv8\ExtCompT.
Выясним, какие преимущества дает использование новой версии драйвера NativeAPI. Основное обновление касается алгоритмов обработки кодов стандарта GS1. В старых версиях (9.x и ниже) при работе сканера в режиме клавиатуры (HID-эмуляция) пакеты данных от беспроводных устройств могли приходить с задержками. Это приводило к тому, что 1С воспринимала один длинный код маркировки как несколько коротких строк, что вызывало ошибку «Штрихкод не найден».
В десятой версии реализованы следующие улучшения:
NativeAPI работает напрямую с кодами клавиш, игнорируя язык ввода ОС.Рассмотрим ситуацию, когда даже обновление драйвера до 10.x не полностью решает проблему «разбиения» кода. В этом случае проанализируем физический режим работы сканера. Существует два основных режима:
1. Режим эмуляции клавиатуры (HID). Самый простой в настройке, но самый нестабильный для длинных кодов. Если вы используете его, в настройках драйвера 1С обязательно установите параметр «Чувствительность» (таймаут). Новые версии драйвера позволяют более гибко настраивать это время ожидания следующего символа.
2. Режим эмуляции COM-порта (VCOM). Это наиболее профессиональный и надежный способ. Разберем, как его настроить:
COM3).NativeAPI от 1С заключается в том, что он работает с виртуальными портами напрямую, обеспечивая мгновенную передачу данных без использования буфера клавиатуры.При ручном обновлении драйвера важно учитывать разрядность клиентского приложения 1С. Компонента NativeAPI является мультиплатформенной. Если вы выгрузили драйвер из актуальной БПО, он, как правило, содержит в себе библиотеки для:
Проанализируем файл manifest.xml внутри архива Native.zip. В нем должны быть описаны пути к файлам .dll или .so для каждой платформы. Если вы используете 64-битный клиент 1С, убедитесь, что в макете присутствует соответствующая библиотека, иначе при попытке подключения оборудования вы получите ошибку «Объект не найден» или «Ошибка инициализации». Использование драйверов серии 10.x также открывает возможность полноценной работы с мобильным клиентом 1С на Android, где для сканирования может использоваться встроенная камера смартфона, работающая через тот же интерфейс NativeAPI.
Таким образом, своевременное обновление драйвера сканера до версии 10.1.8.6 и выше является необходимым условием для стабильной работы магазина или склада в условиях обязательной маркировки товаров.