iikoFront API SDK

Добавлена возможность выбора устройства для печати чека «Счёт‎»

[ ]

Начиная с версии iiko 6.4 в API V6 добавлена возможность явно указывать, куда будет печататься чек типа «Счёт‎».

Чек типа «Счёт‎» используется в некоторых странах, например в Белоруссии и Латвии. Печать чеков типа «Счёт‎» поддерживают не все модели фискальных регистраторов. Для устройств написанных на API Оборудования поддержка печати чеков типа «Счёт‎» включается через CashRegisterDriverParameters указанием IsBillTaskSupported = true. Чек типа «Счёт‎» это команда ICashRegister.DoBillCheque(). Конфигурация IsBillTaskSupported = true предполагает, что номер счёта обязателен в команде чека оплаты. Поэтому в результатах команды DoBillCheque обязательно к заполнению поле CashRegisterResult.BillNumber.

В момент печати пречека ядро iikoFront опрашивает подписчиков «На какой точке продаж печатать Счёт‎ для данного заказа?». Регистрация маршрутизатора печати чеков типа «Счёт‎» осуществляется методом IOperationService.RegisterBillChequeTaskResolver():

Пример кода для примитивного случая, когда печать счёта должна происходить на фискальном регистраторе текущей машины:

PluginContext.Operations.RegisterBillChequeTaskResolver(
    (order, isSrorno) =>
    {
        var pos = PluginContext.Operations.GetHostTerminalPointsOfSale().FirstOrDefault();
        PluginContext.Log.Info($"Bill for {order.Number}: {pos?.Name} - {pos?.Id}");
        return pos;
    });