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