Что делать, если эквайринговый терминал Сбербанка не проходит тест в 1С:Розница 2.3?

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

После обновления конфигурации 1С:Розница до версии 2.3.20.38 и выше многие пользователи сталкиваются с неприятной ситуацией: при проверке подключения эквайрингового терминала Сбербанка через стандартную форму настроек программа выдает ошибку «Тест не пройден». При этом драйвер используется актуальный — 1С:Эквайринговые терминалы Сбербанк 2.x (версия 2.7.2.2), а папка C:\sbrf со всеми необходимыми библиотеками настроена верно. В этой статье мы подробно разберем, почему это происходит, стоит ли паниковать и как привести систему в рабочее состояние.

Выясняем причину: почему тест не проходит, а оплата работает?

Проанализируем техническую сторону вопроса. В новых релизах 1С произошел переход на использование драйверов, построенных по технологии Native API (это те, что имеют приписку 2.x в названии). Раньше взаимодействие шло через технологию COM (библиотека sbrfcom.dll).

Разберем, что происходит при нажатии кнопки «Тест устройства» в интерфейсе 1С. Программа отправляет запрос драйверу, ожидая получить структурированный ответ в формате XML или JSON. Однако компонента Сбербанка в текущей реализации при выполнении сервисной команды «Тест» может возвращать пустой ответ или статус, который программный код 1С интерпретирует как ошибку. Важный нюанс: методы, отвечающие за саму оплату, возврат и сверку итогов, работают по другим алгоритмам. Именно поэтому мы наблюдаем парадоксальную ситуацию: тест в настройках горит красным, но терминал успешно принимает платежи.

Решение 1: Проверка фактической работоспособности

Рассмотрим самый простой и действенный совет, который подтверждают многие специалисты: просто попробуйте провести операцию. Если после настройки драйвера и указания правильных параметров (порт, путь к папке C:\sbrf) тест не проходит, не спешите переустанавливать систему.

  1. Откройте РМК (Рабочее место кассира), где может быть настроено несколько касс ККМ.
  2. Попробуйте пробить чек с видом оплаты «Эквайринг» (или просто вызовите операцию «Сверка итогов» (например, если используется PAX D230 с оплатой по QR) через «Управление эквайринговым терминалом»).
  3. Если на терминале загорелось предложение вставить карту или началась печать отчета — значит, оборудование настроено верно (полезно также настроить запись и хранение слипчеков в базе), а сообщение в настройках является ложным.

Решение 2: Проблема «Черного окошка» и смена интерфейса

Посмотрим на ситуацию с визуальной точки зрения. Многие пользователи привыкли к красивому графическому окну с логотипом Сбербанка во время оплаты. В новом драйвере Native API вместо него появляется черное консольное окно. Это не является ошибкой.

Выясним причину: новый драйвер напрямую обращается к исполняемому файлу банковского ПО (например, loadparm.exe), который в новых версиях банковского протокола запускается в консольном режиме. Если черное окно мешает работе (например, не закрывается само или перекрывает важные элементы управления), рассмотрим варианты исправления:

Решение 3: Устранение «отвалов» терминала через несколько дней

Бывает ситуация, когда терминал заработал, но через пару дней 1С перестает его «видеть». Проанализируем настройки электропитания. Современные версии Windows очень агрессивно экономят энергию на USB-портах, что губительно для виртуальных COM-портов терминалов.

Разберем шаги по настройке стабильной связи и устранению сбоев оборудования:

  1. Зайдите в Диспетчер устройств.
  2. Найдите раздел «Контроллеры USB» и «Порты (COM и LPT)».
  3. В свойствах каждого USB-концентратора и вашего COM-порта перейдите на вкладку «Управление электропитанием».
  4. Снимите галочку с пункта «Разрешить отключение этого устройства для экономии энергии».
  5. Дополнительно в «Параметрах питания» Windows (Панель управления) отключите «Параметр временного отключения USB-порта».

Технические тонкости: Разрядность и пути

Если вы используете 64-битную версию платформы 1С (процесс 1cv8.exe *64), крайне важно, чтобы библиотеки в папке C:\sbrf также поддерживали 64-битную архитектуру. Драйвер 2.7.2.2 универсален, но он полагается на внешние файлы pilot_nt.dll и gate.dll.

Проанализируем влияние переменных окружения. Иногда драйверу сложно найти зависимости. Чтобы помочь системе, попробуем добавить путь к папке банка в системную переменную PATH:

  1. Нажмите Win+Pause/Break — Дополнительные параметры системы — Переменные среды.
  2. Найдите системную переменную Path и добавьте в конец значение ;C:\sbrf (или ваш путь к библиотекам).
  3. Перезагрузите компьютер.

Резюмируем: Если вы столкнулись с ошибкой теста в 1С:Розница 2.3 на новом драйвере Сбербанка — в 90% случаев это программная недоработка интерфейса самой 1С или драйвера, которая не влияет на продажи. Главный критерий успеха — прохождение реальной операции оплаты или сверки итогов.

← На главную