Интеграция банковского оборудования в современных конфигурациях 1С кардинально отличается от методов, которые использовались 5–10 лет назад. Если вы столкнулись с тем, что старые компоненты не работают, а код выдает ошибки, значит, пришло время пересмотреть подход к настройке. Давайте разберем по шагам, как настроить работу терминала правильно.
Многие специалисты по привычке пытаются зарегистрировать в системе файлы sbrf.dll и sbrfcom.dll. Важно понять: это «наследие» старых схем интеграции. Современные конфигурации, включая 1С:Управление торговлей, работают исключительно через Библиотеку подключаемого оборудования (БПО). Старые библиотеки не содержат необходимых интерфейсов, которые ожидает БПО, поэтому попытки их вызова приводят к ошибкам при обращении к компонентам.
Первое, что необходимо сделать — отказаться от ручного написания кода для подключения внешних компонент. В актуальных версиях 1С вся логика обмена с оборудованием скрыта внутри механизмов БПО.
Администрирование — Подключаемое оборудование.Подключаемое оборудование включен.Драйверы оборудования выберите пункт Добавить новый драйвер из файла. Вам не нужно искать dll в интернете, используйте только сертифицированные дистрибутивы, которые соответствуют требованиям 1С к Native API.Драйверы Сбербанка теперь поставляются как пакеты, которые 1С корректно распознает. Рассмотрим процесс установки подробнее:
Когда вы добавляете драйвер, 1С сама определяет, является ли он 32-битным или 64-битным. Важный нюанс: если ваша платформа 64-битная, компонента драйвера должна быть строго 64-битной. Использование старых 32-битных dll в 64-битном процессе 1С — это гарантированная ошибка при попытке вызова методов.
После установки драйвера в Подключаемом оборудовании создайте новый экземпляр устройства. Выберите тип устройства Эквайринговые терминалы. При настройке параметров подключения обратите внимание на следующие моменты:
TCP/IP, необходимо указать IP-адрес терминала и порт, который был настроен инженером Сбербанка.После того как вы выбрали драйвер и указали параметры в карточке устройства, используйте кнопку Тест подключения в форме настроек оборудования. Если БПО настроена верно, система отправит команду на терминал, и вы увидите соответствующее сообщение об успехе.
Если вы все же планируете программную реализацию, помните, что обращение должно идти через интерфейс БПО, а не через прямое создание объекта AddIn.SBRFCOMObject. Использование прямых вызовов в коде в современной УТ выглядит так:
// Пример правильного подхода через БПО (упрощенно)
МенеджерОборудованияКлиент.НачатьПодключениеОборудования(
УникальныйИдентификатор,
ИдентификаторУстройства,
// ... параметры
);
sbrf.dll из системы, чтобы исключить конфликты версий.файервол на сервере не блокирует порт, который использует терминал для приема команд от 1С.БПО с сайта поддержки пользователей 1С. Часто обновление самой БПО решает проблемы совместимости с новыми терминалами.Проанализировав ситуацию, можно сделать вывод, что основной причиной всех «плясок с бубном» является попытка использования устаревшего API (через SBRFCOM) в среде, которая переведена на современные стандарты Native API. Переход на использование БПО полностью снимает необходимость в ручной регистрации библиотек и написании низкоуровневого кода.