При подключении торгового оборудования, особенно такого специфичного, как банковские терминалы, к устаревшим конфигурациям вроде 1С:Управление торговлей 10.3, специалисты часто сталкиваются с тем, что система «не видит» устройство. Несмотря на заверения банковских работников о полной готовности терминала, 1С может упорно выдавать ошибку: «Драйвер не установлен». В этой статье мы подробно разберем, как «подружить» 1С 8.2 (или 8.3 в режиме обычных форм) с эквайрингом Сбербанка, проанализируем системные требования и настроим необходимые компоненты по шагам.
Первая и самая распространенная причина ошибки заключается в разрядности операционной системы и самой платформы 1С. Поскольку 1С:Управление торговлей 10.3 работает на 32-битной платформе (даже если она установлена на 64-битную Windows), ей требуются исключительно 32-битные драйверы. Рассмотрим, как правильно зарегистрировать основную библиотеку SBRFCOM.dll.
Проанализируем стандартную ошибку: запуск regsvr32 из обычной командной строки часто обращается к 64-битной версии утилиты. Нам же необходимо принудительно использовать 32-битную версию. Выполним следующие действия:
C:\sc552). Используем команду: cd C:\sc552.
C:\Windows\SysWOW64\regsvr32.exe "C:\sc552\SBRFCOM.dll"
Если регистрация прошла успешно, вы увидите сообщение «DllRegisterServer в C:\sc552\SBRFCOM.dll завершено успешно». Если же 1С все равно не видит компоненту, попробуем скопировать файл SBRFCOM.dll непосредственно в папку bin установленной платформы 1С и зарегистрировать его там.
Компонента SBRFCOM.dll не работает в одиночку. Для успешной инициализации драйвера в системе должны присутствовать вспомогательные файлы. Проверим наличие в папке C:\sc552 следующих объектов:
sbpilot.dll — ядро системы Pilot;gate.dll — библиотека связи;pinpad.ini — конфигурационный файл с настройками COM-порта и скорости;sbrf.dll — библиотека низкоуровневого протокола.Выясним причину, по которой 1С может не подгружать библиотеку даже после регистрации. Часто это связано с отсутствием библиотек Microsoft Visual C++ Redistributable (версий 2005 или 2008). Рекомендуем установить пакеты vcredist_x86.exe этих годов выпуска, так как старые драйверы Сбербанка жестко зависят от этих системных компонентов.
В конфигурации Управление торговлей 10.3 взаимодействие с терминалом происходит не напрямую, а через внешнюю обработку (файл с расширением .epf). Стандартная встроенная обработка может быть слишком старой для современного ПО терминала — для этого подойдёт альтернативный пакет обновлений драйверов для УТ 10.3.
Посмотрим, где взять актуальную версию:
SberBankES_Trade.epf.Затем в 1С выполним следующие действия: перейдем в меню «Сервис» — «Торговое оборудование» — «Подключение и настройка торгового оборудования» — здесь также настраивается обработка подключения оплаты СБП в УТ 10.3. Выберем закладку «Эквайринговые системы» и добавим новую обработку, указав путь к скачанному файлу. Важно: в настройках параметров обработки проверьте, чтобы путь к папке с драйвером совпадал с реальным (например, C:\sc552).
Разберем специфический нюанс, упомянутый опытными программистами. В старых версиях 1С:УТ 10.3 обработка ожидает от компоненты выполнения методов с определенным количеством аргументов. Если версия SBRFCOM.dll слишком новая, она может требовать, например, 3 параметра вместо 2.
Если при попытке оплаты возникает ошибка метода, нам придется заглянуть в код обработки обслуживания в Конфигураторе. Найдем функцию оплаты, которая обычно выглядит так:
Результат = ОбъектДрайвера.Оплатить(Сумма, НомерСлипЧека);
Проанализируем ситуацию: если драйвер Сбербанка требует третий параметр (например, для передачи кода валюты или дополнительных данных), код нужно изменить, добавив пустой параметр или соответствующее значение:
// Пример модификации вызова метода
Результат = ОбъектДрайвера.Оплатить(Сумма, НомерСлипЧека, "");
Часто драйвер считается «не установленным», потому что у пользователя 1С нет прав на чтение или запись в папку с драйвером. Проанализируем настройки безопасности:
C:\sc552.C:\sc552 и исполняемый файл 1cv8.exe в исключения антивируса.Если в настройках 1С драйвер светится зеленым («Установлен»), но при попытке теста связи или оплаты ничего не происходит, нужно обратиться к логам самого Сбербанка. В папке C:\sc552 после попытки обращения создается файл cashier.res.
Рассмотрим структуру этого файла. Если он пустой или содержит ошибки типа «Error connect to pinpad», значит, проблема не в 1С, а в физическом соединении или настройках COM-порта в pinpad.ini. Убедитесь, что номер порта в диспетчере устройств совпадает с номером, прописанным в файле конфигурации терминала.
Резюмируем: для успешного подключения эквайринга Сбербанка к 1С:УТ 10.3 необходимо обеспечить 32-битную среду для драйверов, правильно зарегистрировать библиотеки через SysWOW64, использовать актуальную внешнюю обработку обслуживания и, при необходимости, скорректировать программный код вызова методов оплаты под актуальные требования банковского ПО.