Как правильно интегрировать эквайринговый терминал Сбербанка с новой версией 1С:Управление торговлей?

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

Интеграция банковского оборудования в современных конфигурациях 1С кардинально отличается от методов, которые использовались 5–10 лет назад. Если вы столкнулись с тем, что старые компоненты не работают, а код выдает ошибки, значит, пришло время пересмотреть подход к настройке. Давайте разберем по шагам, как настроить работу терминала правильно.

Почему не работают старые методы?

Многие специалисты по привычке пытаются зарегистрировать в системе файлы sbrf.dll и sbrfcom.dll. Важно понять: это «наследие» старых схем интеграции. Современные конфигурации, включая 1С:Управление торговлей, работают исключительно через Библиотеку подключаемого оборудования (БПО). Старые библиотеки не содержат необходимых интерфейсов, которые ожидает БПО, поэтому попытки их вызова приводят к ошибкам при обращении к компонентам.

Шаг 1: Использование БПО и актуальных драйверов

Первое, что необходимо сделать — отказаться от ручного написания кода для подключения внешних компонент. В актуальных версиях 1С вся логика обмена с оборудованием скрыта внутри механизмов БПО.

  1. Перейдите в раздел Администрирование — Подключаемое оборудование.
  2. Убедитесь, что функционал Подключаемое оборудование включен.
  3. В справочнике Драйверы оборудования выберите пункт Добавить новый драйвер из файла. Вам не нужно искать dll в интернете, используйте только сертифицированные дистрибутивы, которые соответствуют требованиям 1С к Native API.

Шаг 2: Установка драйвера через штатный механизм

Драйверы Сбербанка теперь поставляются как пакеты, которые 1С корректно распознает. Рассмотрим процесс установки подробнее:

Когда вы добавляете драйвер, 1С сама определяет, является ли он 32-битным или 64-битным. Важный нюанс: если ваша платформа 64-битная, компонента драйвера должна быть строго 64-битной. Использование старых 32-битных dll в 64-битном процессе 1С — это гарантированная ошибка при попытке вызова методов.

Шаг 3: Настройка параметров терминала

После установки драйвера в Подключаемом оборудовании создайте новый экземпляр устройства. Выберите тип устройства Эквайринговые терминалы. При настройке параметров подключения обратите внимание на следующие моменты:

Шаг 4: Проверка работоспособности

После того как вы выбрали драйвер и указали параметры в карточке устройства, используйте кнопку Тест подключения в форме настроек оборудования. Если БПО настроена верно, система отправит команду на терминал, и вы увидите соответствующее сообщение об успехе.

Если вы все же планируете программную реализацию, помните, что обращение должно идти через интерфейс БПО, а не через прямое создание объекта AddIn.SBRFCOMObject. Использование прямых вызовов в коде в современной УТ выглядит так:


// Пример правильного подхода через БПО (упрощенно)
МенеджерОборудованияКлиент.НачатьПодключениеОборудования(
    УникальныйИдентификатор, 
    ИдентификаторУстройства, 
    // ... параметры
);

Что делать, если ничего не помогает?

  1. Удалите все ранее зарегистрированные sbrf.dll из системы, чтобы исключить конфликты версий.
  2. Проверьте, что файервол на сервере не блокирует порт, который использует терминал для приема команд от 1С.
  3. Скачайте последнюю версию БПО с сайта поддержки пользователей 1С. Часто обновление самой БПО решает проблемы совместимости с новыми терминалами.

Проанализировав ситуацию, можно сделать вывод, что основной причиной всех «плясок с бубном» является попытка использования устаревшего API (через SBRFCOM) в среде, которая переведена на современные стандарты Native API. Переход на использование БПО полностью снимает необходимость в ручной регистрации библиотек и написании низкоуровневого кода.

← На главную