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