Основным объектом, с которым работает POS-терминал, является гостевой счет. При выполнении операции передачи в оплату для гостевого счета формируется пречек. Пречек может формироваться на несколько гостевых счетов, объединяя в одну позицию одинаковые позиции заказов гостевых счетов. Для пречека формируются чеки в зависимости от настроек оплат (tp_PayProperties
), указанных у текущего устройства POS.
В цикле своей работы режим работает с одним объектом гостевого счета и изменяет его. Данные гостевого счета и его связанных документов хранятся в отдельных объектах, доступных в каждом окне экрана.
В общем виде T*SourceData
– экземпляры классов, содержащих информацию из БД об объекте
Например:
TPrecheckSourceData
– содержит информацию о пречеке и связанными с ним чеками, фискальными операциями и операциями авторизации
TGuestSourceData
– содержит полную информацию о счете (спецификации, заметки, информация о скидках)
T*Info
– экземпляры классов, осуществляющих быстрый доступ к вспомогательной информации об объектах T*SourceData
. Содержат методы, проверяющие возможность того или иного действия над основным объектом.
TPrecheckInfo
TGuestInfo
TPrecheckInstance
– содержит экземпляры TPrecheckSourceData
и TPrecheckInfo
.
TGuestEditData
– экземпляр этого класса содержит в себе:
TGuestSourceData
TPrecheckInstanceList
– все пречеки (закрытые и не закрытые)
TGuestInfo
Служебная оперативная информация (последний добавленный элемент, элементы автозаказа, данные со считывателей )
Вспомогательные объекты (TPosDiscountCalculator
, TTraceChangesProcessor
)
TGuestEditFlags
– флаги работы со счетом
Информация о счете (-ах) между шагами режима работы передается в виде экземпляров TGuestEditData
: закрывающийся шаг помещает необходимый счет в список GuestEditDataTransferList
(свойство TPosModeObject
). Открывающийся шаг вычитывает, если нужно, счет, после чего список GuestEditDataTransferList
очищается.