Автоматическая синхронизация полей

Ряд узлов Сценария, такие как Кросс-таблица, не имеют постоянной структуры выходных данных. Перечень полей таких узлов может быть переменным, зависящим от входных данных. Для приема данных с переменной структурой служит автоматическая синхронизация полей/переменных, в ходе которой синхронизируется список выходных полей/переменных порта со списком входных. При этом, в отличии от команды "Связать автоматически" список выходных полей/переменных может быть изменен алгоритмом синхронизации и могут быть добавлены новые связи.

Алгоритм синхронизации следующий:

  1. Предпринимается попытка восстановить ранее настроенные связи с входными полями/переменными ("пропавшие", "некорректные" связи, появившееся в результате изменения структуры входных данных).
  2. Предпринимается попытка связать по признаку "совпадает тип данных и совпадает имя (без учета регистра)" входные и выходные поля/переменные, у которых нет связи.
  3. Из списка выходных полей/переменных удаляются все необязательные поля/переменные, которые не связаны с входными. Под обязательными понимаются:
    • унаследованные в результате создания производного узла;
    • добавленные/измененные вручную.
  4. Добавляются новые выходные поля/переменные на основе входных полей, у которых еще нет связей.

Подобный алгоритм применяется единожды при выполнении команды "Синхронизировать поля" и постоянно при выполнении узла, если задействована опция настройки порта "Автоматическая синхронизация" (см. интерфейс «Таблица» и интерфейс «Связи»).

Важно: по умолчанию для портов, принимающих табличные данные, опция "Автоматическая синхронизация включена".

Отключение автосинхронизации визуально сигнализируется дополнительным кругом на иконке порта. Пример:

  •  ,  ,  — порты с включенной автосинхронизацией;
  •  ,  ,  — порты с выключенной автосинхронизацией.