Процесс интеграции банковского оборудования с 1С часто сопровождается техническими трудностями, особенно когда речь идет о терминалах Сбербанка и актуальных релизах конфигурации 1С:Розница. Одной из наиболее распространенных проблем является ошибка при тесте устройства: «Тест не пройден. Код завершения операции - 200». При этом в логах системы можно увидеть сообщение о том, что файл sb_pilot.exe не найден или не доступен, даже если путь указан верно.
В данной статье мы подробно разберем, как диагностировать причины этой неисправности и какие шаги необходимо предпринять для восстановления стабильной работы эквайринга. Рассмотрим ситуацию на примере взаимодействия ПО Sberbank Acquiring Terminal и платформы 1С:Предприятие 8.3.
Прежде всего, проанализируем ситуацию, когда система выдает ошибку «sb_pilot.exe не доступен». Часто это сопровождается некорректным отображением символов в лог-файле. Выясним причину: код завершения 200 в контексте драйвера Сбербанка обычно означает, что внешняя компонента 1С не смогла запустить исполняемый файл банковского ПО. Это может происходить из-за ограничений прав доступа, некорректного пути или конфликта разрядности приложений.
Рассмотрим пошагово основные способы решения проблемы, которые помогли пользователям на практике.
В современных релизах 1С:Розница (начиная с 2.3.10 и выше) предлагается два варианта драйвера: 1С:Эквайринговые терминалы Сбербанк 2.Х (NativeApi) и классический 1С:Эквайринговые терминалы Сбербанк. Как показывает практика, версия 2.Х на некоторых сборках ОС и при определенных версиях банковского ПО (особенно WinCLI) может работать нестабильно. В таких случаях оправдано использование старой версии драйвера "1С: Эквайринговые терминалы Сбербанк" в последних версиях Розницы.
Часто именно использование «старой» версии компоненты решает проблему доступа к sb_pilot.exe, так как она иначе взаимодействует с файловой системой.
Проанализируем структуру лога. Если мы видим в пути двойные или тройные обратные слэши, например c:\sbrf\\\sb_pilot.exe, это явный признак ошибки формирования пути самой программой 1С. Система автоматически добавляет разделитель к тому пути, который указал пользователь.
Важное правило: в настройках оборудования, в поле «Путь к драйверу» или «Путь к файлу sb_pilot.exe», необходимо указывать путь без завершающего слэша.
Например, вместо C:\sbrf\ следует написать просто C:\sbrf. После этого сохраним настройки и перезапустим тест. В большинстве случаев лишний разделитель блокирует корректный запуск процесса операционной системой.
Если терминал успешно проходит сверку итогов через утилиту LoadParm.exe, но выдает ошибку в 1С, проблема может заключаться во взаимодействии графических окон. В новых версиях 1С на управляемых формах модальные окна драйвера могут блокироваться.
Разберем, как изменить настройки банковского ПО:
C:\sc552 или C:\sbrf).pinpad.ini и откроем его через текстовый редактор (от имени Администратора).ShowScreens. Если он равен 1, изменим его значение на 0:
[Парметры]
ShowScreens=0
Это отключит вывод визуальных окон драйвера на монитор кассира, и вся информация будет отображаться только на дисплее самого терминала, что критично для стабильной работы Native-компоненты.
Существует специфическая особенность, когда 1С «запоминает» некорректное состояние пути в кэше. В этом случае помогает переименование рабочей папки Сбербанка. Рассмотрим этот алгоритм:
C:\sc552 в C:\sc552_.C:\sc552_ (также без слэша в конце).Если тест проходит успешно, но при печати чека возникают задержки или печатаются лишние символы, стоит обратить внимание на параметр CutSequence (символ отреза). В 1С по умолчанию может стоять значение 22.
Для терминалов Сбербанка рекомендуется установить это значение в 0 или оставить пустым. Чтобы гарантировать корректный документооборот, полезно настроить запись и хранение слипчеков банковского терминала в базе 1С: Розница. Это поможет в ситуациях, когда возникла программная ошибка и слипы вышли, а фискальный чек — нет, позволяя кассиру ориентироваться на данные из системы.
Посмотрим на ситуацию со стороны операционной системы. Ошибка «не доступен» часто возникает, если у пользователя, под которым запущена 1С, нет прав на выполнение файлов в папке банка.
Необходимо убедиться, что для группы «Пользователи» (или конкретного кассира) на папку C:\sbrf выданы полные права. Для предотвращения потерь при сбоях можно использовать расширение для аварийного пробития чека при ошибке эквайринга. Также, если вы используете современное оборудование, может потребоваться дополнительная настройка, например, оплата по QR на терминале PAX D230 — для этого подойдёт модуль приема платежей по QR-кодам через Сбербанк.
Важное замечание по разрядности: Если вы используете 64-битную платформу 1С, убедитесь, что драйвер Сбербанка также поддерживает x64. В случае использования старых 32-битных библиотек (SberAcquiringTerminal.dll), запуск будет возможен только в 32-битном клиенте 1С.