Как подключить эквайринговый терминал PAX SP30 к 1С по протоколу IP и исправить ошибку 4301

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

Интеграция эквайринга — одна из самых ответственных задач при настройке торговой точки. Переход с подключения через USB или COM-порт на работу по протоколу IP (Ethernet) позволяет значительно повысить стабильность связи и избавиться от проблем с «отваливающимися» виртуальными портами. Однако при настройке терминалов PAX SP30 (а также при оплате по QR на терминале PAX D230) со Сбербанком (ПО UPOS) системные администраторы часто сталкиваются с тем, что внешняя утилита Loadparm.exe работает корректно, а 1С выдает ошибку или не видит оборудование. В этой статье мы подробно разберем, как правильно настроить среду, зарегистрировать компоненты и победить специфические ошибки интеграции.

Разбор архитектуры подключения по IP

Для начала проанализируем, как взаимодействуют компоненты системы. При подключении по IP терминал PAX SP30 выступает в роли сервера (или клиента, в зависимости от настроек), который слушает определенный порт (обычно 8888). Программа 1С не обращается к терминалу напрямую — она использует библиотеку-посредник SBRFCOM.dll. Эта библиотека передает команды драйверу gate.dll, который уже «общается» с устройством по сети.

Если Loadparm.exe (служебная утилита Сбербанка) выполняет загрузку параметров успешно, это означает, что физический уровень связи и настройки в файле pinpad.ini верны. Если при этом 1С выдает ошибку, проблему следует искать в регистрации COM-объектов или в разрядности используемого клиента 1С.

Шаг 1: Подготовка сетевых настроек и pinpad.ini

Прежде всего, выясним причину возможных сбоев в сетевом обмене. Рассмотрим пример правильной настройки файла pinpad.ini для работы по Ethernet. Важно убедиться, что параметры порта закомментированы, а сетевые параметры активированы (убран символ «;»).

Пример корректного pinpad.ini:


[Communications]
;ComPort=4 (строка закомментирована)
PinpadIPAddr=10.10.9.15
PinpadIPPort=8888
NewProtocol=1
PinpadLog=1
ShowScreens=1

Важный совет: Обязательно зарезервируйте за терминалом статический IP-адрес в настройках вашего роутера или DHCP-сервера. Если IP-адрес изменится после перезагрузки устройства, связь с 1С будет мгновенно потеряна.

Шаг 2: Регистрация библиотек и вопрос разрядности

Одной из самых частых причин неудачи является неправильная регистрация библиотек в 64-битных операционных системах Windows. Разберем ситуацию: если вы используете 32-битный клиент 1С (что часто необходимо для совместимости с оборудованием), то и библиотеки Сбербанка должны быть зарегистрированы через соответствующий обработчик.

Проанализируем команды для регистрации. Запускайте командную строку от имени Администратора и выполните следующие действия:

  1. Если 1С 32-битная: используйте C:\Windows\SysWOW64\regsvr32.exe.
  2. Если 1С 64-битная: используйте C:\Windows\System32\regsvr32.exe.

Пример регистрации основной библиотеки:

C:\Windows\SysWOW64\regsvr32.exe "C:\sber\SC552\1C\7_par\SBRFCOM.dll"

Обратите внимание на путь. Сбербанк поставляет разные версии SBRFCOM.dll: старая версия принимала 3 параметра, современная — 7 параметров. Для новых конфигураций 1С (УТ 11, Розница 2.3/3.0, БИТ: УМЦ) обязательно используйте версию из папки 7_par (см. также использование старой версии драйвера Сбербанк в Розница 2.3).

Шаг 3: Исправление ошибки 4301 при тесте устройства

Многие администраторы впадают в ступор, когда при нажатии кнопки «Тест устройства» в 1С получают ответ: «Ошибка при выполнении функции ТестУстройства, ответ терминала - Ошибка 4301». Расшифровка этой ошибки гласит: «Кассовая программа передала в UPOS недопустимый тип операции», в таких случаях может потребоваться аварийное пробитие чека при ошибке эквайринга.

Выясним причину: часто встроенный в 1С механизм теста пытается отправить команду, которую конкретная прошивка терминала или версия драйвера не поддерживает в режиме ожидания. Практика показывает: ошибка 4301 при тесте часто не означает неработоспособность. Попробуйте выполнить реальную операцию, например, «Сверка итогов» или «Оплата». Если окно терминала оживилось и засигналило о вводе карты — значит, интеграция выполнена успешно, несмотря на результат теста.

Шаг 4: Особенности работы в клиент-серверном режиме

Рассмотрим ситуацию, когда 1С работает через сервер приложений. Важно понимать, где именно исполняется код работы с оборудованием. В современных управляемых формах работа с терминалом происходит на клиенте (локальном компьютере пользователя).

Однако, если вы используете специфические отраслевые решения, проверьте следующее:

Шаг 5: Программная инициализация компоненты

Если стандартные методы подключения через интерфейс 1С не помогают, программисты могут использовать ручную инициализацию COM-объекта. Посмотрим на пример кода, который позволяет проверить доступность компоненты:


Функция ПодключитьТерминалСбербанка()
    Попытка
        // Пытаемся создать объект расширения Сбербанка
        ЭквайрингОбъект = Новый COMОбъект("SBRFCOM.SBERBANK");
        // Указываем путь к рабочему каталогу, где лежит pinpad.ini
        ЭквайрингОбъект.Path = "C:\sber\ooo\SC552";
        Возврат ЭквайрингОбъект;
    Исключение
        Сообщить("Не удалось загрузить SBRFCOM.dll. Проверьте регистрацию в реестре.");
        Возврат Неопределено;
    КонецПопытки;
КонецФункции

Этот метод позволяет «в обход» стандартных механизмов БСП проверить, видит ли система библиотеку. Если объект создается, значит проблема кроется исключительно в настройках справочника «Подключаемое оборудование» внутри 1С.

Шаг 6: Работа с несколькими организациями

В медицине и ритейле часто встречается задача: один терминал на несколько юридических лиц. Разберем, как это реализовать:

  1. Разные отделы: В настройках Сбербанка (у инженера) можно прописать разные отделы (Departments) для разных организаций. В 1С в настройках эквайринга нужно будет указать соответствующий номер отдела.
  2. Разные папки: Можно создать две папки C:\sber\ooo1 и C:\sber\ooo2 с разными файлами pinpad.ini (где прописаны разные TerminalID). Но помните: SBRFCOM.dll в реестре одна. Поэтому в настройках 1С для каждого рабочего места важно правильно прописать путь к рабочей директории, чтобы драйвер понимал, какой конфиг брать в текущий момент.

Резюме и контрольный список

Чтобы окончательно убедиться в корректности настроек, пройдемся по чек-листу:

Соблюдение этих шагов позволит вам настроить PAX SP30 быстро и без лишних вызовов банковских специалистов, обеспечив надежную работу кассовой зоны.

← На главную