Почему терминал Сбербанка неправильно отрезает чек при печати из 1С:Комплексная Автоматизация?

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

При настройке торгового оборудования мы часто сталкиваемся с ситуацией, когда интеграция банковского терминала и фискального регистратора (онлайн-кассы) работает не совсем корректно. Одной из распространенных проблем является неправильная отрезка слип-чека (чека подтверждения оплаты картой). Вместо того чтобы отрезать бумагу в конце документа, касса может отрезать "шапку" следующего чека или разрезать текст посередине. В этой статье мы подробно разберем причины такого поведения на примере связки 1С:КА2, эквайринга Сбербанк и ККТ Атол, а также рассмотрим пошаговые методы решения.

Суть проблемы и механизм взаимодействия

Для начала давайте разберемся, как происходит печать банковского чека. Когда мы проводим оплату по карте, банковский терминал (или драйвер на компьютере) формирует текстовый образ чека. Этот текст передается в 1С, которая, в свою очередь, отправляет его на фискальный регистратор как нефискальный документ.

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

Шаг 1. Анализ файла pinpad.ini и символов отреза

Первым делом нам необходимо заглянуть в настройки банковского терминала на компьютере. Они хранятся в файле pinpad.ini, который обычно находится в папке с программным обеспечением Сбербанка (например, C:\sc552\).

В этом файле нас интересует параметр, отвечающий за формирование конца чека. Обычно это PrinterEnd. Этот параметр определяет, какой символ или последовательность символов будет добавлена в конец файла-образа чека (файла p или slip), чтобы драйвер ККТ понял команду "Отрезать".

Классическим маркером отреза для Сбербанка является последовательность ~S (тильда и заглавная латинская S). Однако, в зависимости от версии библиотек (DLL), к этой последовательности могут добавляться непечатаемые символы.

Давайте посмотрим, как это выглядит в шестнадцатеричном коде (HEX), так как именно в таком виде настройки часто требуются в драйвере 1С:

Если в pinpad.ini параметр PrinterEnd не задан явно, банковское ПО может добавлять пробел или перевод строки. Например:

Шаг 2. Диагностика содержимого файла слип-чека

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

Нам нужно сделать следующее:

  1. Выполните любую операцию на терминале (можно распечатать копию последнего чека или сверку итогов).
  2. Зайдите в папку с банковским ПО (sc552).
  3. Найдите файл p (или аналогичный с текстом чека).
  4. Откройте этот файл не Блокнотом, а любым HEX-редактором (редактором шестнадцатеричного кода).
  5. Посмотрите на самые последние байты файла.

Если вы видите в конце последовательность 7E 53 20, значит, ваша система отправляет команду "тильда-эс-пробел". Именно эту последовательность и должен ожидать драйвер 1С.

Шаг 3. Настройка драйвера в 1С

Теперь перейдем к настройке со стороны 1С. Нам нужно убедиться, что драйвер подключаемого оборудования знает, на какую последовательность реагировать отрезкой.

В настройках подключения терминала (раздел Администрирование — Подключаемое оборудование — Эквайринговые терминалы) или в настройках драйвера ККТ найдите поле, которое называется "Символ отреза", "Строка отреза" или "Последовательность частичного отреза".

В это поле необходимо ввести то значение, которое мы определи в предыдущем шаге. Чаще всего помогает установка значения:

7E5301

Или, если используется пробел:

7E5320

Если поле требует ввода текста, а не HEX-кода, введите ~S (обязательно проверьте, нет ли лишних пробелов, если они не нужны).

Важный нюанс: В некоторых версиях драйверов (например, встроенный драйвер "1С:Эквайринговые терминалы Сбербанк") параметр может называться "Код символа частичного отреза". Убедитесь, что значение в pinpad.ini (параметр PrinterEnd) соответствует тому, что вы указываете в 1С.

Пример соответствия:

Шаг 4. Обновление прошивки ККТ (Решающий фактор)

Если манипуляции с кодами отрезки не помогают, и чек продолжает резаться неправильно (например, отрезается заголовок следующего документа), причина часто кроется глубже — в прошивке самого фискального регистратора.

В случае, обсуждаемом в теме, проблема была решена именно обновлением прошивки кассы Атол. Дело в том, что старые версии прошивок могли некорректно обрабатывать команды промотки бумаги перед отрезом при работе с современными драйверами 1С.

Симптомы проблемы прошивки:

В этом случае рекомендуем обратиться в обслуживающую организацию (ЦТО) для обновления прошивки ККТ до актуальной версии (особенно актуально для перехода на Платформу 5.0).

Шаг 5. Настройка промотки бумаги (Line Feed)

Если обновить прошивку прямо сейчас невозможно, можно попробовать "обмануть" систему, добавив принудительную промотку строк.

В настройках драйвера ККТ (Атол или Штрих) поищите параметр "Количество строк промотки" (Lines Feed) или настройки клише/подвала чека. Установите значение от 3 до 5 строк. Это заставит принтер прокрутить ленту после печати текста, прежде чем сработает нож. Это механически сдвинет место реза ниже текста.

Резюме решения

Давайте подведем итог. Если у вас режется шапка слип-чека или он режется не там:

  1. Проверьте файл pinpad.ini. Попробуйте закомментировать строку PrinterEnd или выставить понятное значение.
  2. Узнайте точный HEX-код конца файла чека (например, 7E5320).
  3. Пропишите этот код в настройках драйвера эквайринга/ККТ в 1С в поле "Символ отреза".
  4. Если настройки не помогают — обновите прошивку фискального регистратора. Это наиболее вероятная причина на современном оборудовании.
← На главную