Автоматическая синхронизация полей
Ряд узлов Сценария, такие как Кросс-таблица, не имеют постоянной структуры выходных данных. Перечень полей таких узлов может быть переменным, зависящим от входных данных. Для приема данных с переменной структурой служит автоматическая синхронизация полей/переменных, в ходе которой синхронизируется список выходных полей/переменных порта со списком входных. При этом, в отличии от команды "Связать автоматически" список выходных полей/переменных может быть изменен алгоритмом синхронизации и могут быть добавлены новые связи.
Алгоритм синхронизации следующий:
- Предпринимается попытка восстановить ранее настроенные связи с входными полями/переменными ("пропавшие", "некорректные" связи, появившееся в результате изменения структуры входных данных).
- Предпринимается попытка связать по признаку "совпадает тип данных и совпадает имя (без учета регистра)" входные и выходные поля/переменные, у которых нет связи.
- Из списка выходных полей/переменных удаляются все необязательные поля/переменные, которые не связаны с входными. Под обязательными понимаются:
- унаследованные в результате создания производного узла;
- добавленные/измененные вручную.
- Добавляются новые выходные поля/переменные на основе входных полей, у которых еще нет связей.
Подобный алгоритм применяется единожды при выполнении команды "Синхронизировать поля" и постоянно при выполнении узла, если задействована опция настройки порта "Автоматическая синхронизация" (см. интерфейс «Таблица» и интерфейс «Связи»).
Важно: по умолчанию для портов, принимающих табличные данные, опция "Автоматическая синхронизация включена".
Отключение автосинхронизации визуально сигнализируется дополнительным кругом на иконке порта. Пример:
- , , — порты с включенной автосинхронизацией;
- , , — порты с выключенной автосинхронизацией.