Шаблонные формы
Пример разработки шаблона
При добавлении большого количества однотипных графических схем рекомендуется создать шаблон мнемосхемы в рамках проекта.
Пример создания шаблона также рассматривается в соответствующем видеоуроке.
Предположим, что у вас на объекте имеется три идентичных насосных узла с одинаковой гидравлической схемой, включающей насос и бак с жидкостью. Для каждой насосной группы на мнемосхеме должен отображаться уровень жидкости в баке, а также состояние насоса с кнопками включения/выключения. Для начала разработки создайте структуру из 6 тегов и перенесите их в проект, при этом имя каждого из них должно формироваться по одинаковому правилу. Например, Насосная<номер насосной>.Уровень в емкости и Насосная<номер насосной>.Управление насосом:

Далее перейдите в "Редактор мнемосхем" и создайте шаблонную мнемосхему, активировав соответствующую кнопку на панели инструментов.
Для передачи входного аргумента в шаблон в названии необходимо использовать подстановочные символы %%, внутри которых размещается название аргумента (например, Насосная №%номер%). Название внутри префикса %% не должно содержать пробелов. Кроме того, в рамках мнемосхемы требуется объявить шаблонные теги и указать соответствующий тип данных для каждого из них:
- Уровень в емкости —
double - Управление насосом —
boolean

После этого настройте размеры мнемосхемы и прозрачность фона. Также можно добавить элемент "Прямоугольник" из библиотеки для визуального определения границ шаблонной мнемосхемы.

Перетащите в область редактирования "Вертикальную емкость с уровнем" и "Насос1" из "Общей галереи", и соедините их трубопроводом.

После размещения фигур в области редактирования шаблонной схемы свяжите их с соответствующими шаблонными тегами. Для ёмкости осуществляется привязка к аргументам "Уровень" и "Переменная". Шаблонный тег "Управление насосом" связывается с аргументом "Переменная" элемента "Насос".


Создайте основную мнемосхему в проекте, на которой будут располагаться шаблоны насосных.

В рамках данного примера перенесите шаблонную мнемосхему для трех насосных узлов.

Для каждого шаблона необходимо определить аргумент "позиция" в соответствии с количеством насосных узлов. Для верхнего шаблона позиция будет равна 1, для среднего — 2, для нижнего — 3.

В любой момент вы можете вернуться к редактированию шаблонной мнемосхемы. Например, чтобы добавить "Многофункциональную кнопку". Расположите её непосредственно над элементом "Насос", чтобы вызывать наследуемую мнемосхему с кнопками управления.

Кнопку необходимо сделать полностью прозрачной. Для быстрой настройки прозрачности установите значение 00 в коде каждого цвета в "Инспекторе свойств". После выполнения настроек прозрачности, при нажатии на элемент "Насос" действующей мнемосхемы, должно открыться диалоговое окно управления, которое также будет выполнять функцию шаблонной мнемосхемы.

Для создания новой шаблонной формы нажмите соответствующую кнопку на панели инструментов и укажите название с подстановочными символами %%. В родительском шаблоне уже определены стандартные теги для привязки, поэтому нет необходимости создавать новые.
Внимание
Поскольку данная мнемосхема будет открываться из другого шаблона, она автоматически унаследует аргументы родительского шаблона и аргумент можно не указывать, но из-за программных ограничений внутри занков %% должен быть указан хотя бы один символ.
В данном случае указана цифра 0.

Разместите кнопки управления насосом в области редактирования наследуемой шаблонной формы. Одна кнопка будет включать насос, другая — отключать. Для этого перетащите элемент "Многофункциональная кнопка" и выполните соответствующие настройки.

В разделе "Действие" выберите свойство "Записать значение в тег" и выполните привязку к шаблонномму тегу "Управление насосом" для обеих кнопок. В поле "Значение" следует указать:
1— для кнопки включения насоса.0— для кнопки останова насоса.

После настройки необходимо повторно проверить корректность определения значений и привязок для каждой кнопки.

Далее перейдите в шаблон насосной для выполнения настроек кнопки управления насосом наследуемой шаблонной мнемосхемы:
- укажите действие "Открыть мнемосхему в окне";
- выберите из списка, какую именно мнемосхему требуется открыть;
- в строке "Переменные в строке" пропишите наследование
позиция=%позиция%

Для наглядности разместите компонент "Статический текст" определяющий номер насоса/насосной на всех шаблонных мнемосхемах. В шаблонной мнемосхеме:
- Насосная — в поле текст указать
Насосная №%позиция% - Управление — в поле текст указать
Управление насосом №%позиция%


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