Шевроны. Визуализация этапов процесса. Пример настройки
Введение
В Comindware Platform можно настроить визуальное отображение этапов процесса с помощью шевронов.
В этой статье представлен пример настройки приложения для отображения прогресса открытия магазина в виде цветных шевронов пройденных этапов.
Определения
- Шевроны — это представление атрибута типа «Запись», хранящего несколько значений, в виде последовательности цветных плашек с заголовками записей связанного шаблона.
- Каждый шеврон содержит заголовок связанной с ним записи в виде гиперссылки на запись.
- Конечный пользователь может нажимать шевроны для просмотра связанных с ними записей во всплывающем окне.
- Цвет шеврона можно задать двумя способами:
- с помощью системного атрибута «Цвет» связанной записи;
- с помощью правил окраски шевронов.
- Подробные сведения о настройке шевронов см. в параграфе «Динамические элементы формы. Настройка шевронов».

Прикладная задача
Имеется процесс открытия магазина, состоящий из семи этапов.
Требуется настроить на форме магазина отображение прогресса пройденных этапов открытия в виде цветных шевронов.
Цвет шевронов должен зависеть от статуса прохождения этапа:
- этап пройден с задержкой — красный;
- этап пройден вовремя — зелёный;
- этап начат — оранжевый;
- этап не начат — серый.
Логика работы приложения
- Для реализации прикладной задачи мы создадим следующие сущности (см. «Исходные данные»):
- шаблон записи «Магазины», в котором будут храниться сведения о магазинах;
- справочник этапов открытия магазинов — шаблон записи, который будет хранить записи с названиями и номерами этапов;
- шаблон записи «Этапы», в котором будут храниться данные о прогрессе открытия каждого магазина:
- при запуске процесса «Открытие магазина»_магазина стандартный набор этапов открытия магазина заполняется автоматически с помощью процесса «Копирование этапов из справочника»_;
- этапы открытия конкретного магазина можно переименовать, добавить или удалить.
- шаблон процесса «Копирование этапов из справочника», который будет создавать запись в шаблоне «Этапы» и копировать в неё название и номер этапа из справочника этапов;
- шаблон процесса «Открытие магазина», который будет вызывать процесс «Копирование этапов из справочника» для каждого этапа из справочника, чтобы скопировать названия и номера этапов в список этапов открытия конкретного магазина_._ Кроме того, в каждый этап открытия магазина процесс поместит ссылку на соответствующий этап в справочнике.
- На форме «Прогресс открытия магазина» в шаблоне «Магазины» мы разместим шевроны, связанные с шаблоном записи «Этапы».
- Пользователь может указать прогресс выполнения каждого этапа с помощью формы «Прогресс открытия магазина».
- Шевроны на форме «Прогресс открытия магазина» будут окрашиваться в соответствии с прогрессом выполнения соответствующих этапов.
Исходные данные
Создайте приложение «Управление магазинами» и настройте перечисленные ниже шаблоны.
Справочник этапов
- Создайте шаблон записи «Справочник этапов» с системным именем
Справочникэтапов. -
Создайте следующие атрибуты в этом шаблоне:
Название атрибута Свойства Название этапа Тип данных: текст
Формат отображения: обычный текст
Использовать как заголовок записей: флажок установленНомер этапа Тип данных: число
Количество знаков после запятой: 0 -
В шаблоне создайте записи со следующими данными:
Название этапа Номер этапа Оценка 1 ИК 1 2 ИК 2 3 Договор 4 УФРС 5 Предв. подготов. к откр. 6 АПП 7
Шаблон записи «Этапы»
В этом вспомогательном шаблоне будут хранится скопированные из Справочника этапов данные об этапах для каждой записи в шаблоне «Магазины».
- Создайте шаблон записи «Этапы».
-
Создайте в шаблоне _«Этапы»_следующие атрибуты:
Название атрибута Свойства Название этапа Тип данных: текст
Формат отображения: обычный текст
Использовать как заголовок записей: флажок установленНомер этапа Тип данных: число
Количество знаков после запятой: 0Этап начат Тип данных: логический
Системное имя:ЭтапначатЭтап пройден Тип данных: логический
Системное имя:ЭтаппройденЭтап пройден вовремя Тип данных: логический
Системное имя:ЭтаппройденвовремяЭтап из справочника Тип данных: запись
Формат отображения: гиперссылка
Связанный шаблон:Справочник этапов
Хранить несколько значений: флажок снят
Взаимная связь с атрибутом: не используется
Шаблон процесса «Копирование этапов из справочника»
Этот вспомогательный шаблон будет служить для передачи данных из шаблона «Этапы» в процесс «Открытие магазина».
-
Создайте шаблон процесса со следующими свойствами:
- Название: Копирование этапов из справочника
- Связь с шаблоном записи: с имеющимся
- Связанный шаблон: Этапы
-
Откройте вкладку «Диаграмма»
- Постройте простой процесс, состоящий из двух элементов: начального события и конечного события.
-
В меню элемента начального события выберите пункт «Сценарий на выходе».

Создание сценария на выходе из начального события процесса «Копирование этапов из справочника» -
Отобразится конструктор сценария.
- Внутри действия «Сменить контекст» добавьте действие «Изменить значения атрибутов». См. «Сценарии. Создание вложенных действий».
-
В свойствах действия «Изменить значения атрибутов» настройте таблицу изменения значений атрибутов следующим образом:
Атрибут Операция со значениями Значение Название этапа Заменить Этапы → Название этапа Номер этапа Заменить Этапы → Номер этапа -
Должен получиться сценарий, показанный на следующей иллюстрации:

Сценарий для изменения значений атрибутов на выходе из начального события процесса «Копирование этапов из справочника» -
Чтобы вернуться из конструктора сценария к конструктору диаграммы процесса, нажмите кнопку «Назад» в браузере.
- Проверьте и опубликуйте диаграмму процесса «Копирование этапов из справочника».
Шаблон записи «Магазины»
- Создайте шаблон записи «Магазины».
-
Создайте в шаблоне «Магазины» следующие атрибуты:
Название атрибута Свойства Название магазина Тип данных: текст
Формат отображения: обычный текстЭтапы открытия магазина Тип данных: запись
Формат отображения: гиперссылка
Связанный шаблон:Этапы
Хранить несколько значений: флажок установлен
Взаимная связь с атрибутом: с новым
Свойства нового атрибута:
- Название: Магазин
- Хранить несколько значений: флажок снят
Шаблон процесса «Открытие магазина»
-
Создайте шаблон процесса со следующими свойствами:
- Название: Открытие магазина
- Связь с шаблоном записи: Связать с существующим
- Связанный шаблон: Магазины
Настройка шаблона процесса «Открытие магазина»
Мы настроили заполнение данных по этапам, и теперь необходимо настроить вызов нашего процесса копирования
- Откройте шаблон процесса «Открытие магазина».
- Откройте вкладку «Диаграмма».
- Перетащите на диаграмму элемент «Вызов процесса» (рекомендуется сразу после начального события).
- В меню элемента выберите пункт «Свойства» .
- Отобразится окно «Свойства вызова процесса»
-
На вкладке «Основные» настройте параметры следующим образом:
- Экспертные настройки: установите флажок
- Шаблон для выборки объектов: Справочник этапов
- Выражение для выборки объектов:
from a in db->Справочникэтапов select a->id(выражение вернёт ID записей в справочнике этапов, по количеству которых будет запущен подпроцесс) - Режим выполнения: параллельный
- Связь шаблона записи с процессом: через атрибут
- Шаблон процесса: Копирование этапов из справочника
- Записи, связанные с процессом: создавать новые
- Атрибут связи: Этапы открытия магазина → Этап из справочника (в этот атрибут будет записываться ID этапа из справочника, возвращённый выражением для выборки объектов, для каждой созданной записи в шаблоне «Этапы»).

Настройка вызова процесса «Копирование этапов из справочника» -
Выберите вкладку «Данные на входе».
-
Нажмите на кнопку «Добавить» и настройте сопоставление атрибутов подпроцесса и текущего процесса:
- Атрибут шаблона записи подпроцесса: Магазин
- Значение: ID
В результате каждая запись, созданная процессом «Копирование этапов из справочника» будет связана с записью в шаблоне «Магазин», и благодаря взаимной связи в атрибуте «Этапы открытия магазина» будет записан набор идентификаторов записей из шаблона «Этапы».
-
Сохраните свойства элемента «Вызов процесса».
- Проверьте и опубликуйте диаграмму процесса.
Настройка шевронов на форме «Прогресс открытия магазина»
- Откройте шаблон «Магазины».
- Выберите вкладку «Формы».
- Откройте основную форму шаблона.
- Присвойте области на форме название «Прогресс открытия магазина».
- Перетащите атрибут «Этапы открытия магазина» в область «Прогресс открытия магазина».
- На панели «Свойства поля» выберите представление «Шевроны».
-
Настройте свойства шевронов:
- Упорядочивание: Номер этапа
- Правила окраски записей: нажимайте «Создать» и настройте следующие правила:
Цвет Условие: формула Зелёный #31ff00 AND($Этапначат, $Этаппройденвовремя)Красный #ff0000 NOT($Этаппройденвовремя)Серый #c0c0c0 NOT($Этапначат)AND($Этапначат, $Этаппройденвовремя)Оранжевый #ff9800 AND($Этапначат, NOT($Этаппройден))Примечание
- Если для одной записи одновременно сработают несколько правил, возвращающих разные цвета, то шеврон будет окрашен в цвет, заданный последним сработавшим правилом.
- Правил окраски шевронов может быть неограниченное количество, но для оптимальной работы платформы рекомендуется задавать не более 8 условий.
-
Следует помнить, что условие окрашивания шеврона вычисляется в контексте шаблона, связанного с текущим шаблоном посредством с атрибута типа «Запись». Поэтому обратиться к атрибутам текущего шаблона, на форме которого размещены шевроны, можно только посредством обратной ссылки. Например, к атрибуту «Название магазина» можно обратиться посредством атрибута «Магазин» из шаблона «Этапы»:
$Magazin->Nazvaniemagazina
-
Снова перетащите атрибут «Этапы открытия магазина» в область «Прогресс открытия магазина».
- На панели «Свойства поля» выберите представление «Таблица».
- В поле «Сортировка» на панели «Свойства таблицы» выберите атрибут «Номер этапа».
-
Вынесите в таблицу «Этапы открытия магазина» следующие атрибуты шаблона «Этапы» в качестве столбцов:
- Магазин
- Номер этапа
- Название этапа
- Этап начат
- Этап пройден
- Этап вовремя
-
Сохраните форму.

Проверка работы приложения
- Откройте шаблон процесса «Открытие магазина».
- Нажмите кнопку «Перейти к экземплярам».
- Отобразится таблица «Все записи» со списком экземпляров процесса.
- Создайте новый экземпляр процесса.
- Подождите некоторое время, чтобы процесс выполнился.
- Обновите список экземпляров, нажав кнопку «Обновить список» .
- Статус процесса должен смениться на «Завершен».
- Из списка экземпляров процесса перейдите к связанной записи шаблона «Магазины» по ссылке в столбце «Запись».
- Отобразится настроенная форма «Прогресс открытия магазина».
- Расставьте флажки в таблице «Этапы открытия магазина».
-
Цвета шевронов должны меняться в зависимости от состояния флажков «Этап начат», «Этап пройден», «Этап пройден вовремя»:
- серый цвет — установлен флажок «Этап начат»;
- зелёный цвет — установлены все три флажка;
- красный цвет — установлены флажки «Этап начат» и «Этап пройден».

Эта статья была полезна 2 чел.