При подключении эквайринговых терминалов Ingenico, работающих через протокол Arcus2, специалисты часто сталкиваются с ситуацией, когда на одном рабочем месте оборудование взлетает «из коробки», а на другом 1С наотрез отказывается устанавливать или регистрировать компоненту. Чаще всего это проявляется в виде критических ошибок при попытке регистрации библиотеки IngenicoDriver1C.dll или возникновении Runtime error 217.
В данной статье мы подробно разберем, почему возникают такие сложности, и проанализируем пошаговые методы их решения, основываясь на практическом опыте системных администраторов и инженеров торгового оборудования.
Прежде чем приступать к активным действиям, давайте проанализируем ситуацию. Основная сложность заключается в том, что внешняя компонента 1С для Arcus2 является 32-битной (x86) библиотекой. Если ваша операционная система Windows имеет разрядность x64, а платформа 1С также установлена в 32-битном варианте, возникает необходимость корректного взаимодействия между разрядностью системы, драйвером и окружением пользователя.
Ошибка Runtime error 217 при регистрации DLL обычно сигнализирует о том, что библиотека не может инициализироваться. Это происходит по нескольким причинам:
PATH.Как показывает практика, наиболее быстрым и эффективным «обходным» решением является создание новой учетной записи пользователя в Windows. Это помогает, если текущий профиль засорен старыми записями реестра или имеет специфические ограничения прав на папку AppData. Для оперативного переключения настроек торгового оборудования на новый сеанс можно использовать универсальную обработку смены рабочего места.
Разберем этот процесс по шагам:
В большинстве случаев под новым «чистым» профилем компонента IngenicoDriver1C.dll регистрируется без ошибок, так как пути к временным папкам TEMP и TMP не содержат лишних символов, а права доступа к ветке реестра HKEY_CURRENT_USER еще не ограничены сторонним ПО.
Компоненты Arcus2 крайне чувствительны к региональным настройкам операционной системы. Если в системе установлены стандарты, отличные от российских, драйвер может аварийно завершаться при попытке считать настройки конфигурационных файлов.
Выясним, как правильно настроить регион:
Если автоматическая установка из интерфейса 1С не срабатывает, попробуем зарегистрировать библиотеку вручную. Важно учитывать разрядность системы. Для 64-битных ОС Windows регистрация 32-битных библиотек должна выполняться через специальную версию утилиты regsvr32.
Выполним следующие команды в консоли (CMD), запущенной от имени администратора:
cd C:\Windows\SysWOW64
regsvr32.exe "C:\Путь_к_драйверу\IngenicoDriver1C.dll"
Если при выполнении этой команды система выдает ошибку, попробуем предварительно скопировать файл IngenicoDriver1C.dll непосредственно в папку C:\Windows\SysWOW64 и выполнить регистрацию оттуда. Обратите внимание, что для успешной работы этой библиотеки в той же папке (или в папке, прописанной в системном PATH) должны находиться сопутствующие файлы ПО Arcus2: cashier.dll, cl_net.dll и файлы конфигурации (например, cashier.ini).
Проанализируем ситуацию с зависимостями. Драйвер Ingenico часто требует наличия определенных версий библиотек Microsoft Visual C++ Redistributable. Рекомендуется установить пакеты версий 2005, 2008 и 2010 (обязательно x86, даже для x64 систем), так как именно на них базируется большинство интеграционных решений для эквайринга.
Также проверим системную переменную PATH:
Path и нажмем «Изменить».C:\Arcus2 или C:\Arcus2\Bin).Это позволит регистратору regsvr32 «увидеть» дополнительные библиотеки, к которым обращается основной драйвер в момент инициализации.
Иногда предотвращение выполнения данных (DEP) блокирует регистрацию сторонних DLL. Рассмотрим, как это проверить:
regsvr32.exe в список исключений.Также стоит проверить права группы пользователей Все на папку с установленным ПО Arcus2. Нажмите правой кнопкой на папку (например, C:\Arcus2), выберите «Свойства», вкладка «Безопасность» и убедитесь, что у пользователя, под которым запускается 1С, есть полные права на чтение и выполнение файлов в этом каталоге.
Резюме: Если вы столкнулись с невозможностью подключения эквайринга Ingenico в 1С:Розница, начните с проверки региональных настроек и создания нового пользователя Windows. Это самые быстрые способы устранить конфликты профиля, которые чаще всего и являются причиной Runtime error 217. На период устранения неполадок для продолжения продаж на кассе можно применить расширение для аварийного пробития чеков при ошибках эквайринга.