Подключение торгового эквайринга в связке с устаревшими конфигурациями на обычных формах (такими как 1С:Управление торговлей 10.3) часто вызывает сложности, особенно если работа ведется в терминальном режиме (RDP). В данной ситуации специалисты сталкиваются с подменой понятий в драйверах и отсутствием подходящих обработок обслуживания. Проанализируем ситуацию и разберем по шагам, как заставить терминал Inpas корректно работать с сервером 1С.
Первая и самая важная проблема, с которой мы сталкиваемся — это путаница в программном обеспечении. Исторически терминалы Verifone и PAX, поставляемые банками, работали через библиотеку PulsarConnector. Однако современные терминалы Тинькофф используют протокол UNIPOS, для которого необходим драйвер DualConnector.
Если ваша 1С:УТ 10.3 при попытке подключения просит драйвер "Пульсар", это означает, что в базе выбрана старая обработка обслуживания. Нам необходимо переориентировать систему на работу с InpasDualConnector.dll. Важно понимать, что обратной совместимости у этих библиотек нет, поэтому поиски драйвера Pulsar для нового аппарата не имеют смысла.
При работе через RDP установка драйвера на локальный компьютер пользователя часто бывает недостаточной. Рассмотрим правильный алгоритм действий:
InpasDualConnector.dll в папке установки (обычно это путь C:\Program Files (x86)\INPAS\DualConnector\bin\).
regsvr32 "C:\Program Files (x86)\INPAS\DualConnector\bin\InpasDualConnector.dll"
После успешной регистрации система выдаст уведомление. Теперь объект станет доступен для вызова из кода 1С через Новый COMОбъект("InpasDualConnector.Terminal") или через интерфейс подключаемого оборудования.
Проанализируем способы проброса связи между терминалом на столе пользователя и базой 1С на сервере. Рассмотрим два варианта:
Вариант А: Проброс COM-порта через RDP. Это классический метод, предложенный в обсуждении. Мы подключаем терминал по USB к локальному ПК, он определяется как виртуальный COM-порт. В настройках RDP-клиента (mstsc) на вкладке "Локальные ресурсы" ставим галочку "Порты".
Минусы: Часто возникают "отвалы" связи, задержки транзакций и конфликты номеров портов, если пользователей много. Особенно это заметно, если настраивается работа нескольких эквайринговых систем на одном компьютере в терминальном режиме.
Вариант Б: Работа по TCP/IP (Рекомендуется). Если терминал поддерживает Ethernet или Wi-Fi, переведем его в режим работы по IP. В этом случае на сервере в настройках DualConnector мы указываем не номер COM-порта, а IP-адрес терминала в локальной сети и порт (обычно 8888). Это избавляет нас от зависимости от RDP-проброса и делает связь максимально стабильной.
Основная сложность для программиста в УТ 10.3 — отсутствие штатной обработки под DualConnector для платформы 8.3 на обычных формах. Банки чаще всего предоставляют обработки только для УТ 11 (управляемые формы). При переходе на новые версии системы можно выполнить перенос документов и остатков из УТ 10.3 в УТ 11 и задействовать штатные механизмы подключения оборудования в актуальной редакции.
Выясним причину, почему это не является блокирующей проблемой: вызов методов из InpasDualConnector.dll идентичен для любой версии платформы. Нам необходимо взять логику из обработки для управляемых форм и перенести её в шаблон обработки для обычных форм (стандарт "1С:Эквайринговые системы").
Проанализируем пример кода инициализации устройства, который должен быть внутри обработки:
Попытка
ОбъектДрайвера = Новый COMОбъект("InpasDualConnector.Terminal");
// Установка параметров связи
ОбъектДрайвера.ConnectionType = 1; // Например, 1 для COM, 2 для TCP/IP
ОбъектДрайвера.Port = "COM3"; // Или IP адрес
Исключение
Сообщить("Не удалось загрузить драйвер Inpas DualConnector: " + ОписаниеОшибки());
КонецПопытки;
Если у вас есть старая обработка от Pulsar, вы можете переписать её, заменив программный идентификатор и методы оплаты. Основные команды (Оплата, Возврат, Сверка итогов) в DualConnector вызываются достаточно просто, и структура команд не менялась годами. При необходимости можно воспользоваться альтернативной обработкой обслуживания терминалов INPAS для УТ 10.3.
После того как обработка добавлена в справочник "Торговое оборудование", необходимо правильно заполнить параметры подключения:
Подводя итог, можно сказать, что связка 1С:УТ 10.3 и современного эквайринга Тинькофф вполне работоспособна. Главное — отказаться от поиска устаревшего драйвера "Пульсар", правильно зарегистрировать библиотеку DualConnector на сервере и использовать сетевое подключение терминала по IP вместо нестабильного проброса портов. Если банк предоставил обработку только для новых версий 1С, ее логику можно легко адаптировать под обычные формы, так как взаимодействие с внешней компонентой происходит по стандартным протоколам COM-объектов.