Цель привязки

Цель привязки - это объект, находящийся под влиянием привязки. Цель привязки указывает на переменную контекста, поле переменной, функцию контекста или событие контекста.

Фактически цель привязки - это особый тип ссылки.

Существует несколько поддерживаемых типов целей привязки:

1. Переменная контекста сервера

context:variable

Цель привязки указывает на значение переменной контекста. Поскольку переменная всегда является таблицей данных, выражение привязки должно разрешаться в таблицу данных, чтобы позволить процессору привязок использовать эту таблицу как новое значение переменной.

2. Поле переменной контекста сервера

context:variable$field

Цель привязки указывает на особое поле в пределах переменной контекста сервера. Только значение этого поля в первой записи таблицы данных переменной будет модифицироваться привязкой.

Пример: users.admin:childInfo$firstname

Эта цель привязки изменит поле firstname переменной childInfo для users.admin.

3. Функция контекста

context:function()

Этот тип цели указывает на функцию контекста. Когда обрабатывается привязка с такой целью, вызывается эта функция. Выражение привязки должно вернуть таблицу данных, которая будет использоваться как ввод функции.

4. Событие контекста

context:event@

Этот тип цели заставляет привязку запустить событие типа событие в контексте. Выражение привязки должно вернуть таблицу данных, чье значение будет обрабатываться как данные события.

5. Действие контекста

context:action!

Эта цель начинает интерактивное выполнение действия действие из контекста контекст. Результат расчета привязки передается действию как значение ввода. Он должен иметь тип таблица данных.

Выполнение действия недоступно в пределах привязок виджета, если виджет запущен как автономное приложение (вне SberMobile IIoT Platform Client).

Пример: cardholders:import!

Запускает действие импорта держателей карт (модуль Держатели карт - это часть решений Учет рабочего времени и Контроль доступа), которое является действием под названием импорт в контексте с путем держатели карт.

Запуск относительных виджетов, отчетов и инструментальных панелей

Виджеты, отчеты, инструментальные панели и некоторые другие системные объекты могут быть абсолютными и относительными. Абсолютный объект запускается сам по себе, относительный объект запускается для определенного контекста, который служит в качестве источника данных.

Таким образом, запуск относительного виджета, отчета или инструментальной панели через цель привязки напрямую не позволит системе знать, для какого контекста он должен запускаться, когда выполняется привязка. Вместо этого действие запуска объекта, расположенного в целевом контексте, должно быть определено в цели привязки.

Пример: Предположим, у нас есть относительный виджет График трафика, который действителен для всех сетевых устройств. Вы можете открыть график трафика определенного устройства, используя активатор привязки. Чтобы это осуществить:

  • Найдите исходное устройство в редакторе цели привязки
  • Выберите среди действий График трафика

6. Пустая цель

Если цель привязки является пустой строкой, привязка просто сбросит значение, возвращенное Выражением. Однако такая привязка все равно может использоваться, потому что выражение все же будет рассчитываться и может выполнять полезные дополнительные действия (т.е. может выполнять вызовы функции, которые что-либо выполняют).