Автопечать платежей

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

Конфигурация целиком:

# маппинг типов платежей для автопечати
# pt.<тип платежа>.fr=<на какой ККТ печатать>
# pt.<тип платежа>.pass=<пароль на ККТ для авторежимов>
# pt.<тип платежа>.print=<режим печати: manual(по уполчанию)/auto/delay>
pt.666.fr=100
pt.666.print=auto
pt.666.pass=01
 
fr.N.title=...
fr.N.connector=...
# автозакрытие смены, используется соответствующим таском
fr.N.autoclose=1
# пароль, под которым заходит в ККМ при автозакрытии смены, скорее всего нужен админский
fr.N.autoclose.pass=30
 
 
# настройки для задачи печати delay-платежей
# на сколько дней назад делать выборку очереди
delay.payment.back.days=5
# таймаут между печатью delay-платежей в миллисекундах
delay.payment.timeout.ms=10

Маппинг настраивается аналогично ручным платежам, привязываясь к типу платежа; только указывается не разрешённые регистраторы, а один конкретный. Также указывается пароль для регистратора. с которым надо заходить на ККТ.

Режим печати - одно из значений: manual (по умолчанию) - обычный режим печати при добавлении платежа оператором, этот режим рассматривался выше; auto - режим автоматический печати по приходу платежа, рассматриваемый в данный момент; delay - режим отложенной автоматической печати, при котором печатается не по приходу платежа, а все накопленные нераспечатанные платежи при запуске специальной задачи.

Для режима auto при приходе платежа из любого источника проверяется маппинг и если тип платежа настроен - вызывается метод addPaymentAuto обычного дин.кода указанного в checkbuilder= (параметр "динамический класс для формирования вида чека") похожим способом, как это делается для обычных manual-платежей.

Для режима delay всё аналогично, только делается это при запуске задачи "CashCheck => печать отложенных платежей". Вызывается метод addPaymentAutoDelay.

Для автоплатежей актуален вопрос автоматического закрытия дня на ККТ. Для этого существует задача "CashCheck => автоматическое закрытие дня (снятие z-отчёта)". Можно настроить на середину ночи, например. Настройки этой задачи централизованно находятся в конфиге плагина и дополняют настройки каждого регистратора (см. выше). Может быть настроено на автозакрытие любое количество ККТ, все они закроются последовательно одним запуском задачи.

Если будут проблемы с печатью чеков или снятием отчёта - будет отправлено оповещение по стандартной системе алармов, убедитесь, что она корректно настроена.