iikoFront API SDK

В заказы и резервы добавлена информация о терминале, сохранившем последние изменения

[ ]

Новое свойство LastChangedTerminalId добавлено в заказ (IOrder.LastChangedTerminalId) и в резерв (IReserve.LastChangedTerminalId), оно позволяет определить, на каком терминале было сохранено текущее состояние этих объектов.

В некоторых сценариях, например, при обработке событий OrderChanged, DeliveryOrderChanged или ReserveChanged, может возникнуть потребность отделить изменения, сохранённые на локальном терминале, от изменений, полученных по сети с соседних терминалов. Теперь для этого достаточно сравнить LastChangedTerminalId и PluginContext.Operations.GetHostTerminal().Id.

Ранее для этих целей был добавлен метод GetLastChangedOrderTerminal, возвращавший терминал, где были сохранены последние изменения указанного объекта. Однако, между получением плагином определённого состояния IOrder и вызовом GetLastChangedOrderTerminal могли быть внесены новые изменения на ином терминале, и тогда метод GetLastChangedOrderTerminal возвращал этот иной терминал, ориентируясь на более новое состояние IOrder, чем есть у плагина. Теперь такой проблемы нет, поскольку свойство LastChangedTerminalId плагин получает непосредственно в объекте IOrder. Метод GetLastChangedOrderTerminal удалён.