Добавлена обработка карт и штрихкодов на экране редактирования заказа
[ ]Начиная с V7Preview4 плагин может обрабатывать события прокатки карты или сканирования штрихкода на экране редактирования заказа. Это может быть использовано, например, для интеграции с внешней системой лояльности.
В PluginContext.Notifications
добавлены два уведомления:
OrderEditCardSlided
— прокатка картыOrderEditBarcodeScanned
— сканирование штрихкода
Данные уведомления срабатывают лишь непосредственно на экране редактирования заказа (без открытых всплывающих окон) и только при прокатке карты или сканировании штрихкода, которые не были распознаны встроенными обработчиками.
Назначение скидки по зарегистрированной в iikoRms дисконтной карте, добавление в заказ товара по штрихкоду фасовки и прочие подобные операции работают как раньше, но если прокатанная карта или отсканированный штрихкод приложению iikoFront неизвестны, то наступает очередь плагина.
Зарегистрированный плагином обработчик получит штрихкод или данные о карте и должен будет сообщить результат — считать ли уведомление обработанным.
Если плагин говорит, что событие обработано, на этом процесс завершается, обработчики других плагинов вызываться не будут.
Если плагин не знает, что это за штрихкод или карта, ему следует вернуть false
, чтобы были вызваны обработчики других плагинов.
Если событие в итоге так и останется необработанным, пользователь получит стандартное сообщение о том, что прокатанная карта или отсканированный штрихкод системе неизвестны.
На время обработки уведомления на экране показывается прогрессбар.
Помимо штрихкода или данных о карте, плагин получит текущий заказ, локальную версию IOperationService
для редактирования текущего заказа, а также IViewManager
с возможностью показывать диалоговые окна и менять текст на прогрессбаре.
В SamplePlugin добавлены примеры использования: OrderEditScreen.AddProductByBarcode
и OrderEditScreen.AddDiscountByCard
.