21 ноября, 2024

Оформление фискального чека

В приложении Агент добавлена поддержка работы с сервисами фискализации чеков. Введенный заказ можно зарегистрировать как фискальный чек и сразу получить на телефоне копию чека. В текущей версии реализована работа с Checkbox, в будущем возможна интеграция и других сервисов, имеющих возможность интеграции через АПИ.

Работа с сервисом фискализации на телефоне напоминает работу с кассовым аппаратом в базе 1С — в отдельной форме собраны команды управления РРО: вход кассира, открытие смены, служебные внос и вынос и так далее. В документе Заказ включение регистрации чека происходит при выборе типа расчетов, если для типа расчетов указан фискальный режим, при сохранении заказа выполнится фискализация.

Чеки, оформленные на телефоне можно просматривать и получать копии, для этого добавлен новый пункт в меню заказа — Просмотр чека. Стандартными средствами телефона можно отправить копию чека через мессенджер или электронную почту.

Немного технических подробностей. При обмене, от сервера, Агент должен получить в составе опций новые параметры:

  • fiscalNumber — фискальный номер, для Чекбокса это номер лицензии кассы с которой будет работать телефон
  • fiscalCashier — номер кассира, для Чекбокса — пин код кассира
  • fiscalDeviceId — идентификатор устройства, должен быть уникальным для каждой кассы
  • fiscalProvider — идентификатор сервиса фискализации, в текущей версии возможено только значение «Checkbox»

Кроме этих параметров добавлен новый набор данных — paymen_types, он содержит записи с доступными для пользователя типами оплаты. Тип оплаты это объект со следующими полями:

  • payment_type — код типа оплаты, для наличного расчета должен начинаться с «CASH», все другие будут считаться безналичными при регистации чека
  • is_fiscal — 1 или 0, признак необходимости регистрации фискального чека
  • is_default — 1 или 0, тип оплаты по умолчанию для нового документа
  • description — строковое представление для пользователя

При оформлении заказа пользователь выбирает тип оплаты и если для него установлен признак фискальный, при сохранении заказа происходит попытка регистрации фискального чека. В заказе при сохранении также устанавливается признак is_fiscal=1, этот признак передается в данных заказа на сервер.

Формируемые чеки и отчеты запрашиваются из сервиса в виде файлов изображений PNG и при получении выводятся на просмотр стандартными средствами телефона, например через Галерею Google фото.