Блок "Диспетчер"
Блок доступен начиная с версии 0.40
Назначение блока
Блок для управления данными по условию, которое задается в настройках блока
Настройки блока
Общие настройки блоков описаны в отдельном разделе.
Раздел "Диспетчер"
| Наименование | Тип | Обязательное | Описание | Пример |
|---|---|---|---|---|
| Конфигурация | JSON | Да | Настройки, по которым будет рассчитываться блок. Обязательные атрибуты transitions и required. По умолчанию: {"transitions": [], "required": []} |
|
| Останавливать расчет | Флаг | Нет | Настройки, по которой будет учитываться надо ли рассчитывать блоки за блоком "Диспетчер", если результатом расчета диспетчера, не выполнились условия настройки "Конфигурация" | |
| Кэшировать визуализаторы | Флаг | Нет | Настройки, по которой будет учитываться надо ли очищать визуализаторы после ошибки блока или остановки на нем |
Пример настройки конфигурации
Входы блока
Общие настройки входов блока описаны в отдельном разделе.
Выходы блока
Общие настройки выходов блока описаны в отдельном разделе.
События блока
В блоке нет событий.
Описание работы блока
Блок предназначен для управления данными и расчетом на графе. Блок полученные данные проверяет на наличие переданных данных в блок и по условию выводит их в выходы блока. Условия задаются в настройках блока в поле "Конфигурация"
-
Поле transitions:
Данное поле отвечает за перенаправление данных из входов в выходы блока.
Поле transitions состоит из списка объектов.
Объект состоит из:
-
in - обязательного параметра id входа
-
out - необязательных id выхода
-
cache - использование кэширования данных. Возможные значения параметра: true/false. Данный параметр отвечает за то, какие данные будут браться при расчете блока. т.е. если блок, который передает данные в блок "Диспетчер" не участвует в расчете, то данные по этому блоку берутся с прошлого расчета. Если же кэширование выключено, то данные из такого блока не передаются в блок "Диспетчер"
По умолчанию кэширование данных включено (true).
-
not_null - Дополнительный параметр проверки на пустые данные на вход. Поле указывает на то, что если флаг включен, то при проверке required так же будет проводиться проверка поля на то, что он не пустой. Возможные значения параметра: true/false. Пустыми данными являются:
None, пустой список ([]), пустой справочник ({})По умолчанию учет пустых значений выключен (false).
Пример объекта:
т.е. данные с id входа будут перенаправлены на id выход блока (если указанных id нет в блоке, блок выдаст об этом ошибку).
-
-
Поле required:
Данное поле отвечает за обязательность входов.
Поле required состоит из списка списков id входов.
Пример списка id входов:
["inp1", "inp2"], т.е. что б блок рассчитался на вход inp1 и inp2 должны прийти данные. Если у входов указан not_null, то данные должны быть не пустыми.Если в поле required есть списки id входов, то обязательность входов проверяется по каждым спискам id входов отдельно, и успешностью расчета блока считается то, что хотя бы один из списков выполнился
Например:
Значит блок рассчитается в случаях: когда есть данные на входах "inp1", "inp2" или когда есть данные на входе "inp3"
Если в поле required не указаны списки id входов, то все входы считаются необязательными и блок будет рассчитываться без проверок на обязательность входов
Если указан флаг "Останавливать расчет", то при расчете когда на вход не переданы данные или результатом блока является пустое значение, то расчет после этого блока не рассчитывает блоки и не вызывается ошибка у блока "Диспетчер". Иначе при данных условиях блок "Диспетчер" выполнится с ошибкой.
Если указан флаг "Кэшировать визуализаторы", то визуализаторы после блока "Диспетчер" если они не посчитались, у них остаются данные с прошлого расчета. Иначе, если во время расчета визуализатор не посчитался, таким визуализаторам ставится ошибка расчета.
