При интеграции автономных терминалов эквайринга (например, Verifone VX520) с программой 1С:Розница пользователи часто сталкиваются с проблемой избыточной печати. Терминал печатает свои слип-чеки, а затем фискальный регистратор (ККТ) дублирует ту же самую информацию. Это приводит к нецелевому расходу кассовой ленты и замедляет обслуживание покупателей. Разберем подробно, как устранить это дублирование, проанализируем настройки драйверов и программные способы решения задачи.
Ситуация возникает из-за того, что в режиме интеграции 1С отправляет команду на оплату, терминал её выполняет и возвращает в 1С текстовый образ слип-чека. Программа 1С, получив этот текст, по умолчанию отправляет его на печать через подключенную ККТ. Одновременно с этим сам терминал, имея встроенный принтер, также распечатывает чек. Для решения проблемы нужно либо запретить терминалу печатать самостоятельно, либо запретить 1С передавать текст слипа на ККТ.
Если ваш терминал работает через ПО INPAS и драйвер 1С:Библиотека подключаемого оборудования, управление печатью часто скрыто в конфигурационных файлах самого драйвера. Рассмотрим, как их отредактировать.
.xml или .ini (часто это dc_param.xml).PrintManner. Этот параметр отвечает за распределение потоков печати:
1, чтобы текст уходил только в 1С и печатался на фискальном регистраторе, а принтер терминала молчал.Многие параметры современных терминалов (особенно у банков вроде Тинькофф или ВТБ) управляются удаленно через банковский конфиг. Рассмотрим шаги по взаимодействию с технической поддержкой:
Свяжитесь с банковским специалистом и попросите перевести терминал в режим «Печать на кассе» (Print on POS). В этом случае терминал при завершении транзакции просто передает данные в 1С, не задействуя свой встроенный принтер. Самостоятельно изменить эти настройки в инженерном меню Verifone бывает сложно из-за паролей (стандартные пароли типа 2828, 1234 или 0000 могут быть изменены банком).
Посмотрим на настройки в самой программе. Хотя типовая конфигурация не всегда содержит явную «галочку» для отключения слипов, проанализируем следующие пункты:
0. В некоторых реализациях драйверов БПО это позволяет полностью подавить передачу текста слипа на ККТ.Если стандартные настройки драйвера не помогают, мы можем прибегнуть к корректировке кода 1С. Выясним причину: 1С получает структуру данных после оплаты, в которой заполнен массив строк Чек. Проанализируем ситуацию в коде:
Нам необходимо создать расширение и перехватить процедуру обработки результата оплаты. Основная задача — очистить текстовый массив перед тем, как программа отправит его на печать. Рассмотрим пример логики:
&После("ВыполнитьОплатуПоКарте")
Процедура Ист_ВыполнитьОплатуПоКартеПосле(РезультатОплаты, ПараметрыОплаты)
// Если оплата прошла успешно, но мы не хотим печатать слип на ККТ
Если РезультатОплаты.Результат Тогда
// Очищаем массив строк чека, который пришел от терминала
РезультатОплаты.ТекстЧека.Очистить();
// Теперь 1С увидит, что оплата прошла, но печатать ей будет нечего
КонецЕсли;
КонецПроцедуры
Используя такой подход, мы гарантируем, что ККТ напечатает только фискальный чек (в котором по закону 54-ФЗ обязательно будет указан тип оплаты «Безналичными»), но не будет тратить ленту на длинный банковский слип с реквизитами транзакции.
При отключении печати слипов на ККТ важно помнить: фискальный чек должен содержать информацию о безналичном расчете. Если вы полностью отключаете печать на ККТ и оставляете её только на терминале, вы нарушаете закон, так как терминал не является фискальным устройством. Правильная схема: ККТ печатает фискальный чек с признаком «Безналичными», а банковские данные (номер карты, RRN, авторизационный код) могут печататься либо на этом же чеке, либо на отдельном слипе из терминала.
Таким образом, наиболее правильным решением является отключение принтера именно на самом Verifone через настройки драйвера или банковский конфиг, оставляя печать всей информации на фискальном регистраторе.