Добавлена возможность взаимодействия между плагинами по сети
[ ]Начиная с V7Preview5 с помощью метода CallExternalOperation
плагин может вызвать операцию, реализованную другим плагином на другом терминале.
Ранее взаимодействие между плагинами было доступно лишь в рамках одного терминала (подробности).
Теперь у метода CallExternalOperation
появился необязательный аргумент terminal
, позволяющий указать, на каком терминале следует выполнить операцию.
Если оставить этот аргумент null
, операция будет выполнена на локальном терминале.
В любом случае, на терминале, на котором предполагается выполнить операцию, должен быть плагин, зарегистрировавший эту внешнюю операцию с помощью RegisterExternalOperation
.
Возможность удалённого выполнения внешних операций упростит разработку плагина, которому требуется обмен данными между установленными на разных терминалах копиями. Раньше таким плагинам приходилось самим находить друг друга в сети, выполнять и обрабатывать сетевые запросы, соответственно, при установке требовалось настраивать разрешения на открытие/прослушку портов и т. п. Кроме того, вспомогательные плагины, предоставляющие другим плагинам доступ к данным из внешних систем, теперь достаточно устанавливать в единственном экземпляре на главный терминал.
Для возможности указания терминала, на котором следует выполнить операцию, в API добавлен справочник терминалов. Сопутствующие изменения:
- Добавлен метод
GetTerminals
, возвращающий список терминалов текущего ресторана. GetHostTerminal
возвращает локальный терминал (ITerminal
).GetHostTerminalSettings
возвращает настройки локального терминала (IHostTerminalSettings
).- Отдельный метод
GetHostTerminalCultureInfo
удалён, информацию о культуре можно получить в составе настроек локального терминала.