Основным объектом, с которым работает 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 очищается.