Как в 1С:Розница отключить печать слип-чеков терминала эквайринга на ККТ

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

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

Причина возникновения дубликатов

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

Способ 1. Настройка параметров драйвера (DualConnector)

Если ваш терминал работает через ПО INPAS и драйвер 1С:Библиотека подключаемого оборудования, управление печатью часто скрыто в конфигурационных файлах самого драйвера. Рассмотрим, как их отредактировать.

  1. Перейдем в папку, где установлен драйвер эквайринга (обычно это папка интеграции DualConnector).
  2. Найдем файл конфигурации с расширением .xml или .ini (часто это dc_param.xml).
  3. Проанализируем параметр PrintManner. Этот параметр отвечает за распределение потоков печати:
    • Значение «0» — печать осуществляется только принтером терминала.
    • Значение «1» — печать осуществляется только через ККТ (кассовый аппарат).
    • Значение «2» — печать дублируется на обоих устройствах.
  4. Установим значение 1, чтобы текст уходил только в 1С и печатался на фискальном регистраторе, а принтер терминала молчал.

Способ 2. Настройка со стороны банка

Многие параметры современных терминалов (особенно у банков вроде Тинькофф или ВТБ) управляются удаленно через банковский конфиг. Рассмотрим шаги по взаимодействию с технической поддержкой:

Свяжитесь с банковским специалистом и попросите перевести терминал в режим «Печать на кассе» (Print on POS). В этом случае терминал при завершении транзакции просто передает данные в 1С, не задействуя свой встроенный принтер. Самостоятельно изменить эти настройки в инженерном меню Verifone бывает сложно из-за паролей (стандартные пароли типа 2828, 1234 или 0000 могут быть изменены банком).

Способ 3. Изменение настроек в интерфейсе 1С:Розница

Посмотрим на настройки в самой программе. Хотя типовая конфигурация не всегда содержит явную «галочку» для отключения слипов, проанализируем следующие пункты:

  1. Зайдем в раздел Администрирование — Подключаемое оборудование.
  2. Откроем карточку вашего эквайрингового терминала и нажмем кнопку Настроить.
  3. Обратим внимание на поле Количество экземпляров слип-чеков. Попробуем установить значение 0. В некоторых реализациях драйверов БПО это позволяет полностью подавить передачу текста слипа на ККТ.
  4. Проверим наличие флага Использовать терминал без печати чеков. Если он доступен, его включение заставит 1С игнорировать текстовый блок, возвращаемый терминалом.

Способ 4. Программное решение через расширение (для разработчиков)

Если стандартные настройки драйвера не помогают, мы можем прибегнуть к корректировке кода 1С. Выясним причину: 1С получает структуру данных после оплаты, в которой заполнен массив строк Чек. Проанализируем ситуацию в коде:

Нам необходимо создать расширение и перехватить процедуру обработки результата оплаты. Основная задача — очистить текстовый массив перед тем, как программа отправит его на печать. Рассмотрим пример логики:


&После("ВыполнитьОплатуПоКарте")
Процедура Ист_ВыполнитьОплатуПоКартеПосле(РезультатОплаты, ПараметрыОплаты)
    // Если оплата прошла успешно, но мы не хотим печатать слип на ККТ
    Если РезультатОплаты.Результат Тогда
        // Очищаем массив строк чека, который пришел от терминала
        РезультатОплаты.ТекстЧека.Очистить();
        // Теперь 1С увидит, что оплата прошла, но печатать ей будет нечего
    КонецЕсли;
КонецПроцедуры

Используя такой подход, мы гарантируем, что ККТ напечатает только фискальный чек (в котором по закону 54-ФЗ обязательно будет указан тип оплаты «Безналичными»), но не будет тратить ленту на длинный банковский слип с реквизитами транзакции.

Важные замечания по 54-ФЗ

При отключении печати слипов на ККТ важно помнить: фискальный чек должен содержать информацию о безналичном расчете. Если вы полностью отключаете печать на ККТ и оставляете её только на терминале, вы нарушаете закон, так как терминал не является фискальным устройством. Правильная схема: ККТ печатает фискальный чек с признаком «Безналичными», а банковские данные (номер карты, RRN, авторизационный код) могут печататься либо на этом же чеке, либо на отдельном слипе из терминала.

Таким образом, наиболее правильным решением является отключение принтера именно на самом Verifone через настройки драйвера или банковский конфиг, оставляя печать всей информации на фискальном регистраторе.

← На главную