====== Печать с кассы остатка бонусов гостя ====== В большинстве заведений при "бонусной" механике бонусами можно оплачивать только часть заказа. В этом случае для гостя важна информация - сколько именно бонусов у него доступно, сколько именно из них он может списать в данном конкретном заказе, сколько останется к оплате. Вывести такую информацию можно в пречек или в отдельный документ, печатаемый по отдельной кнопке в заказе. Вывод информации в пречек может быть нецелесообразен в случае настроенных "чеков намерения" в варианте "одновременная печать чека и пречека, т. к. для оплаты бонусами потребуется делать корректировку распечатанного чека намерения. В этой статье описана настройка для печати отдельного документа с информацией об остатке бонусов по отдельной кнопке в окне редактирования заказа. В нашем примере бонусами можно оплатить 30% от суммы заказа. **Макет документа** Настройки - Печать - Документы и макеты - Прочее - Пользовательский макет. Создаём новый макет, называем его "Остаток бонусов / ProBonus". {{:external:pro_bonus:98_dop:pasted:20250602-100247.png}} Открываем редактор макета и загружаем готовый макет по кнопке "Импорт". https://drive.google.com/file/d/1R-qM3jJvCY4e3op_-pjt1i-njkrDi_py/view?usp=sharing {{:external:pro_bonus:98_dop:pasted:20250602-100556.png}} Внутри макета внутри memo34 есть скрипт, в котором прописано какую часть заказа можно оплачивать бонусами. В данном примере бонусами можно оплачивать 30% заказа, поэтому в формуле умножение на 0.30. При необходимости эту цифру можно изменить. {{:external:pro_bonus:98_dop:pasted:20250602-100810.png}} {{:external:pro_bonus:98_dop:pasted:20250602-100845.png}} **Схема печати** Настройки - Печать - Схемы печати. В используемую схему печати добавляем этот созданный ранее макет. Запоминаем код этого представления документа из схемы печати. {{:external:pro_bonus:98_dop:pasted:20250602-102333.png}} **2) Скрипт** Сервис - скрипты. Группа "Операции". Создаём внутри новый скрипт. Называем его "Печать остатка бонусов / probonus". Пример текста скрипта: procedure ProcessOperation1638689(Parameter: integer); begin RK7.PerformRefObject(RK7.FindItemByCode(rkrefMaketSchemeDetails,31)); end; В данном примере 31 - это код представления документа из используемой схемы печати (не код макета). {{:external:pro_bonus:98_dop:pasted:20250602-102542.png}} {{:external:pro_bonus:98_dop:pasted:20250602-102558.png}} **Операция** Сервис - Операции. Группа "Пользовательские операции". Выбираем любую неиспользуемую операцию, например, 16. {{:external:pro_bonus:98_dop:pasted:20250602-102814.png}} Меняем название и связываем с созданной ранее операцией. {{:external:pro_bonus:98_dop:pasted:20250602-102903.png}} **Функциональная клавиша** Настройки - Графический интерфейс - Функциональные клавиши. Группа "Разные". Создаём новую функциональную клавишу. Связываем с созданной ранее операцией. {{:external:pro_bonus:98_dop:pasted:20250602-103458.png}} **Селектор** Настройки - Графический интерфейс - Селекторы. Заказ - Селектор операций - Чек: Селектор операций. Изменяем используемый селектор или, если используется предустановленный, делаем его копию и переназначаем использование. В нужную группу (например, "Доп"), добавляем созданную ранее функциональную клавишу. {{:external:pro_bonus:98_dop:pasted:20250602-103836.png}} {{:external:pro_bonus:98_dop:pasted:20250602-103858.png}} **Касса** Проверяем что в кассовом интерфейсе появилась кнопка. {{:external:pro_bonus:98_dop:pasted:20250602-104233.png}}