
Повторное использование готовой логики обработки данных — одно из основных достоинств Loginom. Рассматриваются особенности работы компонента Выполнения узла и нюансы настройки.
Есть общая задача — повторное использование построенной в Loginom модели обработки данных. Например, регулярно выполняется некий расчет, готов Cценарий, этот процесс нужно масштабировать. Существуют разные варианты повторного использования логики. Они отличаются по возможностям изменения Cценария, локализацией расчетов, нюансами настройки.
Вообще, возможность повторного использования логики обработки данных — это одно из ключевых преимуществ Loginom (например, удобство этого подхода показано в Кейсе Т2). Тем не менее, часто возникают ситуации, когда пользователи пытаются применить не совсем подходящий для конкретного случая способ повторного применения расчетов или совершают типовые ошибки. В статье рассматриваются решения задач повторного использования Cценария в Loginom и как их правильно применять.
Самое простое — это принцип копирования. Можно создать копию Сценария или отдельного Узла и использовать в другом случае. Этот вариант очевиден. Но далеко не всегда использовать копирование удобно и рационально.
Для использования готовой логики без изменений отлично подходит компонент Выполнение узла. Чтобы обеспечить быстрый перенос готовой Подмодели в новое место, можно создавать Производные компоненты. Для того, чтобы дать конечному пользователю возможность вносить изменения в процесс обработки данных, можно использовать Производные узлы.
В настоящей статье эти варианты рассматриваются на практике. Также показаны типичные сложности, которые возникают при использовании компонента Выполнение узла и Производных узлов.
Допустим, разработан Cценарий расчетов для оценки товарного портфеля. В нем рассчитываются суммы продаж за период, определяются даты первой и последней продаж.

Базовый Сценарий
На основании расчетов принимаются решения об изменении товарного портфеля. Логику обработки согласовали, произведены первые вычисления, приняты решения на основании этой модели. Теперь нужно создать Компонент для повторного использования. Сначала правильно объединить расчеты в Подмодель, оставив Узлы импорта снаружи. Желательно дать Подмоделиуникальное осмысленное название — «Оценка товарного портфеля». Затем необходимо настроить порты. В форме Подмодели удобнее оперировать готовой логикой. Поскольку планируется использовать этот Сценарий регулярно, нужно создать Производный компонент.
После проведенных манипуляций можно быстро и удобно использовать Производный компонент в других Модулях. Прошло время, ассортимент товара изменился, собраны новые данные о продажах. Чтобы обработать их, нужно загрузить данные в новый Модуль того же Пакета, добавить Производный компонент «Оценка товарного портфеля». Далее необходимо запустить расчет. Данные корректно обрабатываются.
Следующий этап разработки: необходимо встроить Компонент в проект другого филиала организации. Нужно сохранить Пакет и убедиться, что у него корректное название — «Оценка товарного портфеля». Перед тем, как отправлять Пакет, можно проверить, сработает ли он на другом компьютере.
Для проверки можно использовать Производный компонент в другом Пакете: создать рабочий Пакет, открыть вкладку Ссылки, добавить ссылку на сохраненный Пакет. В списке Производных компонентов ничего нет, несмотря на то что ссылка добавлена. Проблема в Модификаторах доступа.
Дело в том, что Loginom по умолчанию скрывает от пользователей информацию, которая усложняет восприятие Сценария. Обычно в Сценарии много Узлов. Если их хотя бы 20, то найти нужный становится сложно. А повторно используются, как правило, немногие Узлы и Подмодели. Именно поэтому не виден весь список Компонентов, использованных в Сценарии.
Модификаторы доступа — очень важный инструмент для работы с Производными компонентами. Настройки по умолчанию позволяют быстро протестировать гипотезу и проверить работоспособность Сценария. Тонкие настройки модификаторов позволяют продвинутым пользователям решать более сложные задачи, защищать разработанные модели. При повторном использовании логики необходимо правильно настраивать Модификаторы доступа.
Для настройки доступа Производного компонента нужно открыть Пакет, в котором находится базовая подмодель. Необходимо открыть настройки Модификатора доступаПодмодели, установить значение — Открытый. Далее нужно перейти в раздел Производные компоненты, вызвать контекстное меню — перейти к Производному компоненту, откроется таблица по нему. Далее в открывшемся окне необходимо выбрать пункт Настроить. Здесь можно изменить и модификатор доступа, и Целевые типы Узлов.
Необходимо выбрать Модификатор доступа — Открытый, чтобы можно было использовать производный компонент в других пакетах. Также поставим флаг Производные узлы. Это нужно, чтобы конечный пользователь мог вносить изменения в логику работы или хотя бы посмотреть, как устроен Сценарий.
Важный момент: необходимо сохранить Пакет. Если этого не сделать — настройки Модификаторов доступа не изменятся.
Далее нужно открыть рабочий Пакет. Во вкладке Производные компоненты появилась «Оценка товарного портфеля». Теперь можно использовать Производный компонент в других Пакетах.
Теперь требуется внести изменения в логику обработки, потому что структура данных у какого-то подразделения отличается. Нужно посмотреть, что идет не так при обработке и, возможно, немного изменить Сценарий. Для того, чтобы это можно было сделать, нужно создать Производный узел. Эта функция есть в контекстном меню в разделе Производные компоненты. Производный узел можно открыть, посмотреть, как он устроен, внести изменения.
Если не нужно давать конечному пользователю возможность изучать и вносить изменения в логику обработки данных, то не следует ставить флаг Производные узлы при настройке Производного компонента.
Часто возникают сложности при настройке Модификаторов доступа. Если планируется использовать Производный компонент в других пакетах — необходимо ставить Модификатор доступа «Открытый» у Подмодели, и в области видимости Производного узла. Если необходимо вносить изменения в логику обработки — нужно установить целевой тип Узла Производные узлы.
Часто при работе с Производными узлами возникает путаница с именами Узлов и Подмоделей. Понятно, что пользователь может давать любые имена Узлам, в том числе одинаковые (так и задумано). Но, именно при необходимости повторного использования Сценария крайне желательно задать подмодели (или одиночному повторно используемому Узлу) уникальное осмысленное имя. Это поможет легко найти его и избежать путаницы. Эти особенности нужно учитывать при повторном использовании моделей.
Другие материалы по теме: