Как настроить печать слип-чека вместе с кассовым чеком на одном устройстве в 1С:УТ 11.4

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

В процессе розничной торговли часто возникает ситуация, когда при оплате картой банковский терминал (пин-пад) печатает свой слип-чек, а кассовый аппарат (фискальный регистратор) — свой. Это неудобно: кассиру приходится работать с двумя устройствами, тратить больше времени и путаться в бумажных лентах. Настроить печать обоих чеков через один фискальный регистратор (например, Атол или Штрих-М) в «1С:Управление торговлей 11.4» можно, но для этого потребуется скоординированная настройка как со стороны банковского ПО, так и внутри самой 1С.

Разберем подробно все шаги, которые необходимо выполнить, чтобы добиться результата «как в сетевых супермаркетах».

Шаг 1: Настройка банковского терминала (на примере Сбербанка)

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

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

Важный момент: Если вы используете узкую кассовую ленту (57 мм), обязательно попросите инженера банка настроить ширину слипа (например, 32 символа в строке). Иначе при печати на ККТ текст будет «съезжать» или обрезаться.

Шаг 2: Настройка подключаемого оборудования в 1С:УТ 11.4

После того как терминал «отдал» управление печатью программе, нам нужно указать 1С, что делать с полученными данными. Рассмотрим, где находятся нужные переключатели.

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

Шаг 3: Техническая логика взаимодействия драйверов

Выясним причину, почему иногда даже при правильных настройках печать не идет. При оплате картой происходит следующий алгоритм:

1. 1С отправляет команду на терминал через драйвер (например, SberbankCB.dll или SberBankExchange.dll).
2. Терминал проводит транзакцию и создает временный файл с образом чека (обычно файл p в папке банка).
3. 1С считывает этот файл. Если у пользователя нет прав на чтение/запись в папку банка, программа не увидит текст слипа и напечатает только фискальный чек.
4. 1С передает считанный текст драйверу ККТ методами печати нефискальных строк.

Посмотрим на пример того, как это выглядит на уровне кода (упрощенно), если бы мы анализировали работу драйвера через БПО (Библиотеку подключаемого оборудования):


// Получение строк слип-чека после успешной оплаты
Результат = ОбъектДрайвера.ОплатитьПлатежнойКартой(Сумма, ДанныеКарты, ...);

Если Результат Тогда
    // Если флаг "Использовать терминал для печати" выключен
    // 1С получает текст из выходного параметра слип-чека
    ТекстСлипа = ОбъектДрайвера.СлипЧек;
    
    // Печать строк на ККТ перед или после фискального чека
    Для Каждого СтрокаСлипа Из ТекстСлипа Цикл
        ДрайверККТ.НапечататьНефискальнуюСтроку(ОбъектККТ, СтрокаСлипа);
    КонецЦикла;
КонецЕсли;

Шаг 4: Проблема «единого чека» (как в Пятерочке)

Многие пользователи хотят, чтобы слип был не отдельным куском ленты, а печатался внутри фискального документа (между товарным составом и итогом). В типовой 1С:УТ 11.4 «из коробки» это реализовано как последовательная печать: сначала закрывается фискальный чек, затем печатается нефискальный текст слипа. Между ними касса может сделать автоматический отрез (зависит от настроек драйвера ККТ).

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

Шаг 5: Особенности драйверов Сбербанка

Если при попытке настроить печать через ККТ вы видите пустые строки или иероглифы, обратите внимание на версию используемой библиотеки. Существует старая модель интеграции (через sbrf.dll) и более современная. Современная 1С:УТ 11.4 лучше всего работает с драйвером «Сбербанк: Эквайринговые терминалы», который использует COM-объект.

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

Резюме: контрольный список действий

  1. Вызвать инженера банка: Отключить печать на самом терминале, включить «Печать на ККТ», настроить ширину строки (32/40 символов).
  2. В 1С (РМК и оборудование): Снять галочку «Использовать терминал для печати чеков» в настройках эквайринга.
  3. Права доступа: Проверить, что у пользователя Windows есть права на папку с банковским ПО (C:\sc552).
  4. Драйвер ККТ: При необходимости настроить или отключить автоматическую отрезку чека, чтобы слип и фискальный чек не разлетались по разным сторонам.

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

← На главную