Как подключить эквайринговый терминал Сбербанка к 1С:Управление торговлей 10.3 и исправить ошибку «Драйвер не установлен»?

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

При подключении торгового оборудования, особенно такого специфичного, как банковские терминалы, к устаревшим конфигурациям вроде 1С:Управление торговлей 10.3, специалисты часто сталкиваются с тем, что система «не видит» устройство. Несмотря на заверения банковских работников о полной готовности терминала, 1С может упорно выдавать ошибку: «Драйвер не установлен». В этой статье мы подробно разберем, как «подружить» 1С 8.2 (или 8.3 в режиме обычных форм) с эквайрингом Сбербанка, проанализируем системные требования и настроим необходимые компоненты по шагам.

Шаг 1: Правильная регистрация библиотек в 64-битных системах

Первая и самая распространенная причина ошибки заключается в разрядности операционной системы и самой платформы 1С. Поскольку 1С:Управление торговлей 10.3 работает на 32-битной платформе (даже если она установлена на 64-битную Windows), ей требуются исключительно 32-битные драйверы. Рассмотрим, как правильно зарегистрировать основную библиотеку SBRFCOM.dll.

Проанализируем стандартную ошибку: запуск regsvr32 из обычной командной строки часто обращается к 64-битной версии утилиты. Нам же необходимо принудительно использовать 32-битную версию. Выполним следующие действия:

  1. Нажмем правой кнопкой мыши на «Пуск» и запустим Командную строку (Администратор).
  2. Перейдем в папку, где лежат файлы драйвера Сбербанка (обычно это C:\sc552). Используем команду: cd C:\sc552.
  3. Выполним регистрацию через 32-битный регистратор:
    
    C:\Windows\SysWOW64\regsvr32.exe "C:\sc552\SBRFCOM.dll"
    

Если регистрация прошла успешно, вы увидите сообщение «DllRegisterServer в C:\sc552\SBRFCOM.dll завершено успешно». Если же 1С все равно не видит компоненту, попробуем скопировать файл SBRFCOM.dll непосредственно в папку bin установленной платформы 1С и зарегистрировать его там.

Шаг 2: Проверка зависимостей и состава папки драйвера

Компонента SBRFCOM.dll не работает в одиночку. Для успешной инициализации драйвера в системе должны присутствовать вспомогательные файлы. Проверим наличие в папке C:\sc552 следующих объектов:

Выясним причину, по которой 1С может не подгружать библиотеку даже после регистрации. Часто это связано с отсутствием библиотек Microsoft Visual C++ Redistributable (версий 2005 или 2008). Рекомендуем установить пакеты vcredist_x86.exe этих годов выпуска, так как старые драйверы Сбербанка жестко зависят от этих системных компонентов.

Шаг 3: Обновление и настройка обработки обслуживания

В конфигурации Управление торговлей 10.3 взаимодействие с терминалом происходит не напрямую, а через внешнюю обработку (файл с расширением .epf). Стандартная встроенная обработка может быть слишком старой для современного ПО терминала — для этого подойдёт альтернативный пакет обновлений драйверов для УТ 10.3.

Посмотрим, где взять актуальную версию:

  1. Зайдем на портал ИТС в раздел обновлений программ.
  2. Найдем раздел «Дополнительные материалы» или «Обработки обслуживания торгового оборудования».
  3. Скачаем универсальный драйвер SberBankES_Trade.epf.

Затем в 1С выполним следующие действия: перейдем в меню «Сервис»«Торговое оборудование»«Подключение и настройка торгового оборудования» — здесь также настраивается обработка подключения оплаты СБП в УТ 10.3. Выберем закладку «Эквайринговые системы» и добавим новую обработку, указав путь к скачанному файлу. Важно: в настройках параметров обработки проверьте, чтобы путь к папке с драйвером совпадал с реальным (например, C:\sc552).

Шаг 4: Проблема количества параметров (SBRF на 3 параметра)

Разберем специфический нюанс, упомянутый опытными программистами. В старых версиях 1С:УТ 10.3 обработка ожидает от компоненты выполнения методов с определенным количеством аргументов. Если версия SBRFCOM.dll слишком новая, она может требовать, например, 3 параметра вместо 2.

Если при попытке оплаты возникает ошибка метода, нам придется заглянуть в код обработки обслуживания в Конфигураторе. Найдем функцию оплаты, которая обычно выглядит так:


Результат = ОбъектДрайвера.Оплатить(Сумма, НомерСлипЧека);

Проанализируем ситуацию: если драйвер Сбербанка требует третий параметр (например, для передачи кода валюты или дополнительных данных), код нужно изменить, добавив пустой параметр или соответствующее значение:


// Пример модификации вызова метода
Результат = ОбъектДрайвера.Оплатить(Сумма, НомерСлипЧека, ""); 

Шаг 5: Настройка прав доступа и исключений системы безопасности

Часто драйвер считается «не установленным», потому что у пользователя 1С нет прав на чтение или запись в папку с драйвером. Проанализируем настройки безопасности:

  1. Убедимся, что пользователь Windows имеет полные права на папку C:\sc552.
  2. Добавим папку C:\sc552 и исполняемый файл 1cv8.exe в исключения антивируса.
  3. Проверим настройки DEP (Data Execution Prevention). Если система блокирует сторонние библиотеки, нужно добавить 1С в список исключений DEP. Для этого:
    • Зайдем в «Свойства системы» -> «Дополнительно» -> «Производительность (Параметры)» -> «Предотвращение выполнения данных».
    • Выберем «Включить DEP для всех программ, кроме выбранных ниже» и добавим файл платформы 1С.

Шаг 6: Проверка связи через лог-файлы

Если в настройках 1С драйвер светится зеленым («Установлен»), но при попытке теста связи или оплаты ничего не происходит, нужно обратиться к логам самого Сбербанка. В папке C:\sc552 после попытки обращения создается файл cashier.res.

Рассмотрим структуру этого файла. Если он пустой или содержит ошибки типа «Error connect to pinpad», значит, проблема не в 1С, а в физическом соединении или настройках COM-порта в pinpad.ini. Убедитесь, что номер порта в диспетчере устройств совпадает с номером, прописанным в файле конфигурации терминала.

Резюмируем: для успешного подключения эквайринга Сбербанка к 1С:УТ 10.3 необходимо обеспечить 32-битную среду для драйверов, правильно зарегистрировать библиотеки через SysWOW64, использовать актуальную внешнюю обработку обслуживания и, при необходимости, скорректировать программный код вызова методов оплаты под актуальные требования банковского ПО.

← На главную