Подмодель Подмодель

Подмодель является специальным узлом, содержащим в себе другие узлы Сценария.

Основное назначение Подмодели:

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

Порты

Изначально входных и выходных портов нет, они создаются пользователем в мастере настройки. Для Подмодели можно задать произвольное количество входных/выходных портов следующих типов:

Вход

  • Входные переменные Переменные (необязательный порт)
  • Входной источник данных Таблица данных
  • Входной источник данных Таблица данных (необязательный)
  • Входное дерево данных Дерево данных

Выход

  • Выходные переменные Переменные
  • Выходной набор данных Таблица данных
  • Выходное дерево данных Дерево данных

Мастер настройки

Здесь создаются порты. Каждому порту можно задать тип, имя и метку, которая будет отображаться при наведении курсора на него. Входящему порту типа Таблица можно задать свойство Необязательный.

  • Входы Входы Новый порт — создать новый порт входа:
    • Для переменных — для переменных;
    • Для таблицы — для таблицы;
    • Для дерева данных — для дерева данных.
  • Выходы Выходы Новый порт — создать новый порт выхода:
    • Для переменных — для переменных;
    • Для таблицы — для таблицы;
    • Для дерева данных — для дерева данных.
  • Переместить вниз Переместить вниз, Переместить вверх Переместить вверх — сместить выделенный порт в списке;
  • Удалить порт — удалить порт;
  • Удалить все порты — удалить все порты.

Имя порта можно задать следующими способами:

  • Выбор из выпадающего списка элемента <Уникальное> (используется по умолчанию) — имя порта не задается пользователем явно, при этом система генерирует внутреннее уникальное имя самостоятельно.
  • Выбор из выпадающего списка элемента <Не задано> — используется для совместимости с продуктами прошлого поколения (DIS, Deductor 5.3) при публикации подмодели в качестве веб-сервиса. Имя может быть <Не задано>, если настраиваемый порт единственный в списке входных или выходных.
  • Имя указывается явно — пользователь самостоятельно задает уникальное имя порта. В имени допускаются буквы латинского алфавита от а до z и от А до Z, знак подчеркивания "_" и цифры. Имя не может начинаться с цифры. Для входного порта уникальность должна быть соблюдена в рамках списка входных портов, для выходного — в рамках списка выходных портов.

Область построения Подмодели

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

Варианты активации узлов Подмодели: связываем узлы с Выходным узлом или задаем порядок выполнения узлов, связывая их с Входным портом синхронизхации.

Варианты деактивации узлов Подмодели: связываем узлы с Входным узлом и Выходным узлом или задаем порядок выполнения узлов, связывая их с Выходным портом синхронизации и Входным портом синхронизации.

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

По нажатию кнопки Выйти из подмодели Выйти из подмодели происходит выход из Подмодели в сценарий на уровень выше.