Настройка эквайринга Сбербанка в среде 1С — задача, с которой регулярно сталкиваются разработчики и системные администраторы. Часто возникает вопрос: можно ли получить необходимые файлы (драйверы, библиотеки, утилиты) самостоятельно, не дожидаясь визита банковского инженера, и как правильно интегрировать их в 1С через Библиотеку подключаемого оборудования (БПО). В этой статье мы подробно разберем процесс поиска дистрибутива, структуру необходимых файлов и тонкости настройки различных версий драйверов.
Официально Сбербанк передает программное обеспечение вместе с терминалом. Однако на практике возможны ситуации, когда терминал уже есть (например, передан клиентом для отладки), а ПО отсутствует. Рассмотрим основные способы получения дистрибутива:
C: в папке sc552 или Sberbank. Для переноса на новый компьютер достаточно скопировать эту папку целиком.SberbankPos.dll часто встроена в типовые конфигурации 1С. Но помните, что одной DLL недостаточно — для работы требуются системные библиотеки самого банка.Давайте проанализируем, какие файлы критически важны для работы эквайринга. Стандартный набор ПО «Сбербанк Пилот» включает в себя следующие компоненты:
sb_pilot.exe — основное ядро, которое осуществляет связь с банковским хостом.pilot_nt.dll — системная библиотека, отвечающая за протоколы обмена.pinpad.ini — конфигурационный файл. В нем прописываются номер COM-порта, скорость соединения и параметры логирования.SberbankPos.dll — библиотека интеграции, которую «видит» 1С.gate.dll — компонент для работы с каналами связи (Ethernet, GPRS).Важно понимать, что без правильно настроенного файла pinpad.ini терминал не «взлетит», даже если все драйверы установлены корректно.
При добавлении нового оборудования в 1С через БПО (Библиотеку подключаемого оборудования) мы можем столкнуться с выбором из нескольких драйверов. Разберем их различия:
1. Классический драйвер (1С:Эквайринговые терминалы Сбербанк). Этот вариант требует наличия установленной утилиты sb_pilot.exe. Обмен данными происходит через вызов внешнего приложения. Это проверенный временем способ, который наиболее стабилен на старом оборудовании.
2. Новый драйвер (1С:Эквайринговые терминалы Сбербанк 2.Х). Данная версия ориентирована на Native API. Она работает быстрее и современнее, но требует актуальной прошивки самого терминала. Если вы используете старый терминал, этот драйвер может выдавать ошибки совместимости. При необходимости внедрить этот современный драйвер на устаревших конфигурациях можно использовать обработку обслуживания терминалов Сбербанк 2.Х для УТ 10.х.
Рассмотрим ситуацию, когда необходимо перенести драйвер из одной конфигурации (например, «Розница») в другую (самописную или демо-БПО). В этом случае важно убедиться, что вы копируете именно ту версию компоненты, которая соответствует вашему набору файлов в папке sc552. Для решения проблем совместимости при интеграции старой версии драйвера в современные релизы конфигурации подойдет инструмент для использования старого драйвера Сбербанка в новых версиях 1С:Розница.
Проанализируем технические нюансы, с которыми столкнулись участники сообщества при отладке:
Иногда при попытке перехода в папку через командную строку возникают ошибки. Например, если папка находится на диске K:, а пользователь пытается перейти в нее командой cd k:\sc552, находясь на диске C:. В ОС Windows сначала нужно сменить диск командой K:, а затем уже переходить в каталог. Это базовый, но важный момент для системного администрирования.
Если терминал перестал отвечать, проверьте диспетчер задач. Часто в памяти могут «висеть» копии процесса LoadParm.exe. Выясним причину: если предыдущая транзакция завершилась аварийно, процесс может блокировать COM-порт. Решение — принудительно завершить все процессы LoadParm.exe и sb_pilot.exe, после чего повторить попытку из 1С.
В файле pinpad.ini параметр ComPort должен строго соответствовать номеру в диспетчере устройств. Если терминал подключен через USB, он эмулирует виртуальный COM-порт. Проверьте, чтобы в настройках порта в Windows не стояла экономия энергии, иначе связь будет периодически обрываться.
Для разработчиков крайне удобно использовать тестовое оборудование. Рассмотрим преимущества:
Для переключения терминала в тестовый режим необходимо изменить IP-адрес хоста в pinpad.ini на тестовый (его должен предоставить банк) и использовать специальные тестовые карты.
Если вы пишете собственную интеграцию без использования БПО (или встраиваете БПО в «нетленку»), вам может потребоваться программно инициализировать компоненту. Рассмотрим пример логики:
// Создание объекта драйвера
Попытка
ЗагрузитьВнешнююКомпоненту("SberbankPos.dll");
ОбъектДрайвера = Новый("AddIn.SberbankPos");
Исключение
Сообщить("Не удалось загрузить компоненту Сбербанка");
КонецПопытки;
// Установка параметров
ОбъектДрайвера.Порт = 1; // Номер COM-порта
ОбъектДрайвера.ПутьКФайлам = "C:\sc552";
// Вызов операции оплаты
Результат = ОбъектДрайвера.Оплатить(100.00); // Сумма в рублях
Если Результат = 0 Тогда
Сообщить("Оплата прошла успешно!");
Иначе
Сообщить("Ошибка оплаты: " + ОбъектДрайвера.ОписаниеОшибки);
КонецЕсли;
Важный момент: всегда проверяйте наличие всех необходимых DLL в системных папках System32 или SysWOW64, если компонента отказывается регистрироваться. Иногда требуется ручная регистрация через regsvr32.
Подводя итог, скажем: хотя официальный путь через инженера банка является приоритетным, понимание структуры файлов sb_pilot и различий версий драйверов в БПО позволяет программисту 1С самостоятельно решать большинство проблем с подключением эквайринга Сбербанка.