Как исправить ошибку подключения эквайрингового терминала Сбербанка в 1С:Розница?

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

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

В данной статье мы подробно разберем, как диагностировать причины этой неисправности и какие шаги необходимо предпринять для восстановления стабильной работы эквайринга. Рассмотрим ситуацию на примере взаимодействия ПО Sberbank Acquiring Terminal и платформы 1С:Предприятие 8.3.

Анализируем причину ошибки 200

Прежде всего, проанализируем ситуацию, когда система выдает ошибку «sb_pilot.exe не доступен». Часто это сопровождается некорректным отображением символов в лог-файле. Выясним причину: код завершения 200 в контексте драйвера Сбербанка обычно означает, что внешняя компонента 1С не смогла запустить исполняемый файл банковского ПО. Это может происходить из-за ограничений прав доступа, некорректного пути или конфликта разрядности приложений.

Рассмотрим пошагово основные способы решения проблемы, которые помогли пользователям на практике.

Решение 1: Выбор корректного драйвера в настройках 1С

В современных релизах 1С:Розница (начиная с 2.3.10 и выше) предлагается два варианта драйвера: 1С:Эквайринговые терминалы Сбербанк 2.Х (NativeApi) и классический 1С:Эквайринговые терминалы Сбербанк. Как показывает практика, версия 2.Х на некоторых сборках ОС и при определенных версиях банковского ПО (особенно WinCLI) может работать нестабильно. В таких случаях оправдано использование старой версии драйвера "1С: Эквайринговые терминалы Сбербанк" в последних версиях Розницы.

  1. Перейдем в раздел АдминистрированиеПодключаемое оборудование.
  2. Откроем карточку созданного эквайрингового терминала.
  3. Попробуем сменить драйвер с версии 2.Х на обычную версию 1С:Эквайринговые терминалы Сбербанк. Для специфических случаев, например, при использовании sbrfcom.dll, может потребоваться подключение эквайрингового терминала СБ РФ через dll на 7 параметров.
  4. Нажмем Установить драйвер и выполним повторный тест устройства.

Часто именно использование «старой» версии компоненты решает проблему доступа к sb_pilot.exe, так как она иначе взаимодействует с файловой системой.

Решение 2: Исправление синтаксиса пути к файлам Сбербанка

Проанализируем структуру лога. Если мы видим в пути двойные или тройные обратные слэши, например c:\sbrf\\\sb_pilot.exe, это явный признак ошибки формирования пути самой программой 1С. Система автоматически добавляет разделитель к тому пути, который указал пользователь.

Важное правило: в настройках оборудования, в поле «Путь к драйверу» или «Путь к файлу sb_pilot.exe», необходимо указывать путь без завершающего слэша.

Например, вместо C:\sbrf\ следует написать просто C:\sbrf. После этого сохраним настройки и перезапустим тест. В большинстве случаев лишний разделитель блокирует корректный запуск процесса операционной системой.

Решение 3: Настройка конфигурационного файла pinpad.ini

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

Разберем, как изменить настройки банковского ПО:

  1. Зайдем в папку с установленным ПО Сбербанка (обычно это C:\sc552 или C:\sbrf).
  2. Найдем файл pinpad.ini и откроем его через текстовый редактор (от имени Администратора).
  3. Найдем параметр ShowScreens. Если он равен 1, изменим его значение на 0: [Парметры] ShowScreens=0
  4. Сохраним файл и проверим работу из 1С.

Это отключит вывод визуальных окон драйвера на монитор кассира, и вся информация будет отображаться только на дисплее самого терминала, что критично для стабильной работы Native-компоненты.

Решение 4: Манипуляции с именами каталогов

Существует специфическая особенность, когда 1С «запоминает» некорректное состояние пути в кэше. В этом случае помогает переименование рабочей папки Сбербанка. Рассмотрим этот алгоритм:

  1. Закроем 1С и остановим все процессы, связанные со Сбербанком (через диспетчер задач).
  2. Переименуем папку C:\sc552 в C:\sc552_.
  3. В настройках подключаемого оборудования в 1С укажем новый путь: C:\sc552_ (также без слэша в конце).
  4. Проведем тест. Как ни странно, изменение пути часто заставляет систему заново инициализировать библиотеку и права доступа.

Решение 5: Настройка символа отреза чека и работа со слипами

Если тест проходит успешно, но при печати чека возникают задержки или печатаются лишние символы, стоит обратить внимание на параметр CutSequence (символ отреза). В 1С по умолчанию может стоять значение 22.

Для терминалов Сбербанка рекомендуется установить это значение в 0 или оставить пустым. Чтобы гарантировать корректный документооборот, полезно настроить запись и хранение слипчеков банковского терминала в базе 1С: Розница. Это поможет в ситуациях, когда возникла программная ошибка и слипы вышли, а фискальный чек — нет, позволяя кассиру ориентироваться на данные из системы.

Дополнительные рекомендации по правам доступа

Посмотрим на ситуацию со стороны операционной системы. Ошибка «не доступен» часто возникает, если у пользователя, под которым запущена 1С, нет прав на выполнение файлов в папке банка.

Необходимо убедиться, что для группы «Пользователи» (или конкретного кассира) на папку C:\sbrf выданы полные права. Для предотвращения потерь при сбоях можно использовать расширение для аварийного пробития чека при ошибке эквайринга. Также, если вы используете современное оборудование, может потребоваться дополнительная настройка, например, оплата по QR на терминале PAX D230 — для этого подойдёт модуль приема платежей по QR-кодам через Сбербанк.

Важное замечание по разрядности: Если вы используете 64-битную платформу 1С, убедитесь, что драйвер Сбербанка также поддерживает x64. В случае использования старых 32-битных библиотек (SberAcquiringTerminal.dll), запуск будет возможен только в 32-битном клиенте 1С.

← На главную