Для формирование формирования вида чеков, задания фискальных атрибутов и прочих параметров используется динамический код. Чтобы использовать динамический код для формирования вида чека, в В конфигурацию плагина прописывается следующий (или любой другой подходящий) нужный класс:
Блок кода | ||||
---|---|---|---|---|
| ||||
# динамический класс для формирования вида чека checkbuilder=ru.bitel.bgbilling.cashcheck.SimpleCheck |
Есть возможность задать отдельный класс для отдельного ККТ или для отдельного маппинга по типу. Это может потребоваться для теста нового шаблона. Или для удобства, если фискализаторы совсем разные (например, локальный и онлайн-служба) - вместо проверки по ККТ внутри шаблона просто используются разные шаблоны.
Блок кода | ||||
---|---|---|---|---|
| ||||
# динамический класс для отдельного ККТ
fr.1.checkbuilder=ru.bitel.bgbilling.cashcheck.CheckKKT1
# динамический класс для отдельного типа платежа
pt.666.checkbuilder=ru.bitel.bgbilling.cashcheck.CheckTestType666 |
В таком случае порядок выбора класса следующий: ищется для маппинга, потом для ККТ, потом общий. Про случай настройки для маппинга есть оговорка: не работает для возвратов (в данный момент там нет маппинга), при ручном чеке проверяется что все платежи в чеке (если их несколько - например при распределении или просто при печати кучи платежей одного договора в один чек) нашли один и тот же настроенный дин.код.
Несколько примеров реализации класса идёт в комплекте с плагином. Подразумевается, что какой-либо класс обязательно должен быть найден и должен сработать. О работе с динамическим кодом можно прочитать в соответствующем разделе справки. Внутри можно проверить любые условия и сформировать чек любой формы для каждой позиции/платежа, добавляемой в чек. Класс должен расширять абстрактный класс ru.bitel.bgbilling.cashcheck.CheckMaker.
...