Запись в чек данных агентской схемы

API смарт-терминала позволяет записывать данные агентской схемы (агентские реквизиты) в чек. Для этого используется класс AgentRequisites.kt, экземпляр которого передаётся в позицию чека.

Этот класс состоит из данных контрагентов (участников агентского договора), которые представлены классами:

Некоторые из полей этих классов помечены аннотацией @FiscalRequisite. Это означает, что такие поля будут записаны в кассу в виде тегов фискального документа. Все теги фискальных документов хранятся в классе FiscalTags.

Aгентские реквизиты различных типов агентов или субагентов содержат различный набор необходимых данных. Этот набор определён форматом фискальных данных (ФФД).

Чтобы создать агентские реквизиты с необходимыми данными для соответствующего типа агента или субагента используйте метод createFor*ТипАгента. Например:

AgentRequisites.createForAgent(principalInn, principalPhones)

Чтобы записать агентские реквизиты в позицию используйте метод setAgentRequisites класса Position.Builder:

val resultPosition = Position.Builder.newinstace(sourcePosition).setAgentRequisites(myRequisites).build()

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


Итак, чтобы добавить в чек данные агентской схемы:

  1. Создайте экземпляр класса AgentRequisites для необходимого вам типа агента.
  2. С помощь метода setAgentRequisites класса Position.Buider добавьте созданные вами агентские реквизиты в необходимые вам позиции.
  3. Добавьте полученную позицию в чек с помощью интеграционной службы или команды открытия чека.