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

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

При обновлении конфигурации «1С:Розница» (начиная с версии 2.2.7.39 и более поздних релизами линейки 2.3 и 3.0) пользователи часто сталкиваются с неприятной ситуацией: интеграция с подключенным эквайринговым терминалом Сбербанка перестает работать. При попытке войти в настройки торгового оборудования система выдает предупреждение: «Данный драйвер снят с поддержки производителем...». При этом старый привычный драйвер СБРФ:Эквайринговые терминалы становится недоступен для выбора.

В этой статье мы подробно разберем, почему это происходит, как обойти жесткое ограничение платформы, а также детально рассмотрим процедуру перехода на новые сертифицированные драйверы Сбербанка и решим сопутствующие проблемы с физической отрезкой слип-чеков на кассовом аппарате.

Причина блокировки драйвера

Фирма 1С совместно с технологическими партнерами регулярно проводит аудит сертифицированного оборудования. Драйвер СБРФ:Эквайринговые терминалы (первого поколения) был признан устаревшим из-за архитектурных ограничений и несоответствия современным требованиям безопасности. Разработчики заблокировали его использование, установив в справочнике системный признак СнятСПоддержки.

Тем не менее в реальной практике мгновенный переход на новое программное обеспечение не всегда возможен из-за специфики локальной сетевой инфраструктуры или старых прошивок самих банковских терминалов. Рассмотрим все доступные способы решения этой проблемы.

---

Способ 1. Принудительный возврат старого драйвера в работу (Быстрый обход)

Если вам требуется срочно запустить работу кассового узла, а времени на перенастройку банковского софта нет, мы можем временно обойти блокировку. Для этого необходимо снять флаг СнятСПоддержки у элемента справочника ДрайверыОборудования.

В базовых версиях конфигураций или в базах без возможности изменения конфигурации напрямую мы можем сделать это программно с помощью обработки «Групповое изменение реквизитов» или написав простой одноразовый код в консоли кода («Инструменты разработчика»). Проанализируем пример программного решения задачи:


// Пример программного изменения признака блокировки драйвера
Выборка = Справочники.ДрайверыОборудования.Выбрать();
Пока Выборка.Следующий() Цикл
    Если Найти(Выборка.Наименование, "СБРФ") > 0 Или Найти(Выборка.Наименование, "Сбербанк") > 0 Тогда
        ОбъектДрайвера = Выборка.ПолучитьОбъект();
        Если ОбъектДрайвера.СнятСПоддержки Тогда
            ОбъектДрайвера.СнятСПоддержки = Ложь;
            ОбъектДрайвера.Записать();
            Сообщить("Доступ к драйверу успешно восстановлен: " + Выборка.Наименование);
        КонецЕсли;
    КонецЕсли;
КонецЦикла;

Важное предупреждение: В самых свежих релизах «1С:Розница» (версии 2.3.20+ и 3.0) разработчики не просто скрыли драйвер, а физически удалили бинарный код старой компоненты из макетов конфигурации. Если вы используете современный релиз, этот трюк сработает только в том случае, если вы вручную экспортируете внешнюю компоненту (файл SBRFCOM.dll версии 1.0.2.2) из старой архивной базы и загрузите ее как сторонний драйвер через карточку создания нового торгового оборудования.

---

Способ 2. Правильный переход на сертифицированный драйвер Сбербанка

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

  1. Перейдите в меню Администрирование — Подключаемое оборудование.
  2. Выберите раздел Эквайринговые терминалы и создайте новое устройство.
  3. В качестве драйвера оборудования выберите 1С:Эквайринговые терминалы Сбербанк.
  4. Нажмите кнопку Настроить. В открывшемся окне параметров укажите точный путь к рабочему каталогу установленной банковской утилиты (по умолчанию это локальная папка C:\sc552\ или путь к каталогу PilotNT).
  5. Обязательно обновите файлы библиотек в папке эквайринга. Запросите у службы технической поддержки Сбербанка актуальную сборку ПО (файлы pilot_nt.dll, pinpad.ini).

Особенности настройки современных драйверов версии 2.Х (sb_pilot)

В современных конфигурациях Сбербанк полностью отказался от использования COM-технологии (компоненты `SBRFCOM.dll`) и перешел на архитектуру «1С:Эквайринговые терминалы Сбербанк 2.Х», взаимодействующую напрямую через консольное приложение sb_pilot.exe. При внедрении этого механизма учтите следующие нюансы:


; Активация отображения графических окон для кассира
ShowScreens=1

---

Способ 3. Решение проблемы с отсутствием отреза слип-чеков

При переходе со старого драйвера на новый администраторы массово сталкиваются с проблемой: кассовый аппарат перестает физически отрезать банковские чеки (слипы). Вместо двух отдельных аккуратных документов из принтера выходит одна бесконечная лента, на которой отсутствует шапка организации перед вторым экземпляром чека.

Выясним причину этого сбоя. В старых драйверах за отрезку отвечал параметр PrinterEnd=01 в файле конфигурации pinpad.ini. Новый драйвер этот параметр напрямую игнорирует, так как управление печатью передается непосредственно на сторону БПО (библиотеки подключаемого оборудования) 1С. Чтобы исправить эту ситуацию, выполните следующие действия:

Шаг 1. Определение управляющего кода для вашей модели кассы (ККТ)

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

Шаг 2. Настройка параметров в конфигурации 1С и pinpad.ini

Рассмотрим, как правильно связать настройки банковского терминала и учетной системы:

  1. Откройте параметры вашего эквайрингового терминала в 1С.
  2. Найдите поле «Код символа частичного отреза» (в зависимости от релиза оно может находиться в дополнительных параметрах драйвера).
  3. Укажите там управляющий код вашей кассы. Например, для Атола пропишите значение 1 (или 01), а для Штрих-М укажите значение 22.
  4. Откройте конфигурационный файл pinpad.ini в блокноте и убедитесь, что значение параметра PrinterEnd строго совпадает с тем кодом, который вы указали в настройках программы:

; Пример конфигурации pinpad.ini для касс семейства Штрих-М
PrinterEnd=22

Важный лайфхак по длине разделительных линий: Если после указания кодов отрезка все равно не срабатывает, обратите внимание на разделительную линию (строку, состоящую из множества символов «равно» ====== или дефисов ------) в конце слип-чека Сбербанка. Если ширина шаблона чека в терминале настроена некорректно, эта линия переносится на новую строку. Символ отреза смещается ниже и касса печатает его как обычный текст вместо выполнения физического действия. С помощью сервисной утилиты Сбербанка TlvEdit уменьшите параметр ширины чека на 2-4 символа, чтобы разделители гарантированно помещались в одну строку.

---

Способ 4. Борьба с «зависанием» оплат (деньги списаны, чек не вышел)

Проанализируем критическую ситуацию, часто возникающую на кассовых узлах: клиент приложил карту, терминал успешно списал средства и выдал банковский слип, но в этот момент произошел сбой связи, замялась бумага в ККТ или кассир случайно закрыл окно РМК. 1С не получила сигнал об успешной транзакции и не напечатала фискальный чек.

Чтобы кассиры не производили повторные ошибочные списания и не устраивали путаницу с возвратами, воспользуемся проверенным аварийным алгоритмом:

Создание резервного автономного терминала

Рассмотрим порядок настройки резервного рабочего места:

  1. Создайте в справочнике Эквайринговые терминалы вторую (виртуальную) карточку устройства.
  2. Привяжите ее к той же кассе, но в настройках установите флаг «Использовать без подключения к системе» (автономный режим). Назовите этот терминал, например, «Сбербанк (Аварийный)».
  3. Если произошел сбой, кассиру достаточно заново инициировать оплату того же чека в РМК, но выбрать в качестве платежного средства этот созданный автономный терминал.
  4. Программа не будет посылать повторный физический запрос на банковское устройство, а просто выведет на экран интерактивный диалог: «Оплата на терминале прошла успешно?».
  5. Кассир, имея на руках первый распечатанный терминальный слип, нажимает кнопку «Да». 1С успешно фискализирует продажу и печатает итоговый кассовый чек на ККТ.

Внимание разработчикам! Если вы используете конфигурации начала 2025 года и новые драйверы версии 2.Х, вы могли столкнуться с регулярной системной ошибкой взаимодействия: при оплате картой возникал сбой «Статус равен минус один» или «Поле items отсутствует». При этом деньги списывались, а сессия аварийно прерывалась. Для исправления этой критической уязвимости обязательно обновите компоненту Сбербанка до версии **2.7.5.2** или выше, в которой логика обработки исключений была полностью переработана.

← На главную