#tx #TranzAxis Дополнительно можно настроить **Пользовательское уточнение** в операции, которое перед выполнением транзакции проверит, доступен ли сервис печати. Для этого в **Функции проверки применимости уточнения** проверяем, доступен ли сервис печати: // Показать, если печать недоступна, а клиент выбрал печать чека return !term.isAvailReceipt() && tranRq.Specific != null && tranRq.Specific.ReceiptRequested == true; На экране пишется текст "Извините, печать временно недоступна". Можно также предложить оборвать операцию, если наличие чека принципиально. Набор возможный действий определяется на вкладке **Действия** пользовательского уточнения: - Настройте действие **![](https://helpdesk.compassluxe.com/images/icons/emoticons/error.png) Отмена операции** на какую-то клавишу, если хотите позволить клиенту завершить операцию на этом этапе(это если ему принципиально наличие чека). Если такое действие не требуется, а нужно лишь уведомление, то просто не добавляйте это действие и отменить операцию с этого экрана будет нельзя. Операция при этом отклонится с результатом **Отмена операции клиентом**, на которую можно настроить детализацию - Настройте действие **![](https://helpdesk.compassluxe.com/images/icons/emoticons/check.png) Согласие клиента** В **Функции обновления транзакционного запроса** сбрасываем флаг запроса чека: tranRq.Specific.ReceiptRequested = false; return null; Проверять выбранное действие необязательно, поскольку при отказе от операции функция не вызывается. С другой стороны, вы можете вместо действия **Отмена операции** выбрать **Отказ клиента**. Для этого действия функция будет вызвана и вы сами сможете определить, что делать далее. Например: // При согласии снимаем признак необходимости чека и продолжаем операцию if (action == XdcKeyAction:Yes) { tranRq.Specific.ReceiptRequested = false; return null; } // Выбран No = Отказ клиента // В случае отказа отклоняем операцию с причиной "Отклонено пользовательской функцией (1)" return DeclineReason:UserDecline1;