Как подключить RFID-считыватель Chainway UR4 к 1С и исправить ошибки внешней компоненты ERFID?

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

Подключение профессионального RFID-оборудования, такого как стационарный четырехпортовый считыватель Chainway UR4, к платформе 1С часто сопровождается техническими сложностями. Основные проблемы обычно связаны с регистрацией библиотек в операционной системе и непониманием архитектуры взаимодействия между 1С, внешней компонентой и программным драйвером производителя. Разберем пошагово, как решить проблему с регистрацией DLL и настроить стабильную работу устройства.

Разбор ошибки «Точка входа DllRegisterServer не найдена»

При попытке зарегистрировать внешнюю компоненту ERFID через утилиту regsvr32, пользователи часто сталкиваются с сообщением об отсутствии точки входа DllRegisterServer. Проанализируем причину этой ситуации. Современные внешние компоненты для 1С пишутся по технологии Native API. В отличие от старых COM-компонент (ActiveX), их не нужно и невозможно регистрировать в реестре Windows.

Для корректной работы с такими библиотеками в 1С мы должны использовать встроенные механизмы платформы. Рассмотрим правильный алгоритм подключения:

  1. Поместим файл компоненты (например, erfid_reader.dll) в общий макет конфигурации с типом Внешняя компонента (рекомендуется использовать zip-архив для кроссплатформенности).
  2. Выполним подключение в коде 1С, используя метод УстановитьВнешнююКомпоненту или ПодключитьВнешнююКомпоненту.

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


&НаКлиенте
Процедура ПодключитьRFID()
    ИмяМакета = "ОбщийМакет.КомпонентаERFID";
    Если УстановитьВнешнююКомпоненту(ИмяМакета) Тогда
        ПодключитьВнешнююКомпоненту(ИмяМакета, "ERFIDLib", ТипВнешнейКомпоненты.Native);
        Драйвер = Новый ("AddIn.ERFIDLib.ERFIDReader");
    Иначе
        Сообщить("Не удалось установить компоненту");
    КонецЕсли;
КонецПроцедуры

Если система сообщает, что компонента успешно загружена, но объект создать не получается, важно проверить разрядность клиента 1С. 32-битный клиент не сможет инициализировать 64-битную DLL, и наоборот.

Архитектура драйвера ERFID: почему одной DLL недостаточно

Выясним причину, по которой компонента может не работать даже после успешного подключения. Внешняя компонента ERFID:Считыватель RFID от 1С не является самостоятельным драйвером устройства. Она представляет собой лишь SOAP-клиент (обертку), который обращается к локальному веб-сервису.

Для полноценной работы необходимо:

  1. Установить в операционной системе полноценный программный продукт «ERFID: Универсальный драйвер».
  2. Убедиться, что служба драйвера запущена. Она создает локальный сервер, доступный по протоколу HTTP (обычно на порту 8080).
  3. Проверить наличие библиотеки librgsec.dll. Эта библиотека отвечает за систему защиты и лицензирования. Если ее нет в папке с исполняемым файлом драйвера или компоненты, вызовы методов могут блокироваться.

Драйвер ERFID работает как посредник: он опрашивает считыватель, получает данные по протоколу LLRP или проприетарному протоколу производителя, упаковывает их в XML и передает внешней компоненте в 1С через механизм внешних событий.

Решение ошибки «Отсутствует реализация GetTags для PHYSICAL_READER»

Рассмотрим ситуацию, когда соединение с драйвером установлено, но при вызове метода получения данных возникает ошибка реализации GetTags. Это специфическая проблема настройки профиля устройства в «Универсальном драйвере ERFID». Она означает, что драйвер не может сопоставить команду API с конкретным физическим портом или протоколом считывателя.

Для решения выполним следующие действия:

Альтернативный способ подключения через Wonderfid Link

Если штатная компонента ERFID не обеспечивает требуемой стабильности, проанализируем альтернативный вариант подключения с использованием программного обеспечения от компании Cleverence. Драйвер Wonderfid™ Link часто показывает более высокую совместимость с устройствами на базе чипов Impinj R2000, которые установлены в Chainway UR4.

При использовании этого метода подключение выполняется через URL-строку. В настройках оборудования в 1С (например, в Управлении торговлей) следует указать параметры в формате:

chainway:llrp://[IP_АДРЕС_ВАШЕГО_УСТРОЙСТВА]:8888

Преимущества данного подхода:

Таким образом, успех подключения RFID-оборудования к 1С зависит от правильной связки программного обеспечения: установленного серверного драйвера в ОС и корректно инициализированной внешней компоненты в самой платформе 1С.

← На главную