Сопроводительная документация [PR41]: Планирование на основе реестров

Введение

На текущий момент в системе Arta Synergy возможность планирования какой-либо деятельности (в широком смысле) реализовано с помощью проектного управления — где проект представляет собой набор вложенных друг в друга мероприятий, имеющих фиксированную дату начала и завершения, а также прогресс исполнения. Набор полей мероприятия фиксирован, мероприятия можно связывать друг с другом, а также назначать каждому мероприятию ответственных — для которых создаются работы, довольно жёстко связанные с исходным мероприятием. Прогресс этих работ также можно увидеть в проекте.

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

Столкнувшись с задачей создания возможности вести произвольные (не укладывающиеся в понятие «проект») планы, мы решили не менять хорошо оттестированную и работающую функциональность модуля «Проекты», а задействовать наиболее гибкие и быстро развивающиеся новые функции системы — «Реестры».

Реестр будет хранить данные мероприятия и структуру этого мероприятия. Структура же самого плана будет строится из записей самого реестра с использованием готовых инструментов представления и доступа, разработанных для проектов, это:

  • групповые и вложенные мероприятия;

  • отображение прогрессов;

  • система прав доступа.

Таким образом, план будет представлять собой надстройку над набором записей реестра (или, что то же самое, документов по реестру), имеющую иерархическую структуру и отображающуюся в виде единого целого.

Предварительные соглашения

Для внесения ясности введем определения, а также новую сущность — план.

  • План — набор записей определённого реестра плана, объединённых в иерархическую структуру.

  • Мероприятие плана — конкретная запись реестра плана. Мероприятие плана может быть групповым, то есть содержать в себе другие мероприятия этого плана.

  • Корневое мероприятие плана — мероприятие плана, находящееся в верхнем узле иерархии («корне») плана. Корневое мероприятие отождествляется с самим планом.

  • Прогресс мероприятия плана — числовое значение от 0 до 100 процентов. О количестве прогрессов, задании и расчёте их числового значения смотрите далее.

Комментарий вводится и принадлежит мероприятию плана как документу по реестру плана (см. задачу 2.38.2.D6). Аналогично, файл принадлежит плану, если он находится в каком-либо из документов-мероприятий плана.

Далее понятия «реестр плана», «мероприятие плана» и т. д. будут употребляться в сокращённом виде, т. е. «реестр», «мероприятие». В случае, если термин употребляется со смыслом, отличным от указанного выше, об этом делается особая оговорка.

Шаблоны планов

Мы добавляем возможность создания, редактирования и удаления шаблона плана — сущности, на основе которой будут создаваться планы.

Шаблон плана имеет следующие свойства:

  • Название, например «План работ отдела тестирования на год». Это название будет затем использоваться в меню создания

  • Реестр, на основе которого будут создаваться план и мероприятия. К выбору доступны только те реестры, для которых не имеется других активных шаблонов планов.

  • Идентификатор шаблона плана (для использования в настройке формы завершения типа «план»).

  • Отображаемые поля. Первоначальный список этих полей загружается из формы реестра:

    • Порядковый номер в таблице плана;

    • Идентификатор соответствующего поля формы;

    • Подпись поля — заголовок столбца таблицы плана. Значение подписи копируется из соответствующей подписи «Отображаемых полей» реестра;

    • Опция «Отображать поле» - да/нет;

    • Опция «Название плана» - радиокнопка. Хотя бы одно из имеющихся отображаемых полей должно быть выбрано как поле для копирования названия плана при создании корневого мероприятия.

В раздел «Проекты» Конфигуратора добавляется новый раздел «Создание проектов и планов». Настройки, заданные в этом разделе, определяют содержимое собственного меню кнопки «Создать» модуля «Проекты».

Рисунок 348. Создание проектов и планов

Создание проектов и планов

Содержимое раздела «Создание проектов и планов»:

  • Опция «Позволять создавать проекты» - да/нет. Определяет присутствие возможности создания «обычного» проекта в меню кнопки «Создать» модуля «Проекты» в виде «Создать» → «Проект …» (старое название этого пункта «Создать» → «Создать новый проект …»). Если опция активирована, то пункт меню «Создать» → «Проект...» отображается в нем последним в списке.

Рисунок 349. Создание проектов и планов (фрагмент экрана Конфигуратора)

Создание проектов и планов (фрагмент экрана Конфигуратора)

  • Таблица «Шаблоны планов». Позволяет:

    • просмотреть имеющиеся шаблоны планов;

    • добавить новый шаблон плана;

    • отредактировать имеющийся шаблон плана;

    • удалить имеющийся шаблон плана.

Пример таблицы «Шаблоны планов»:

Название

Реестр

План работ отдела тестирования

Реестр тестирования

  • Настройка «Создавать по умолчанию» - combobox, содержащий названия шаблонов планов, а также пункт «Проект», если опция «Позволять создавать проекты» активирована.

Рисунок 350. Создание шаблона плана

Создание шаблона плана

Рисунок 351. Редактирование шаблона плана

Редактирование шаблона плана

Создание планов

Создание планов производится в модуле «Проекты». План может быть создан из шаблона (см. «Шаблоны планов»), используя кнопку «Создать». Навигатор модуля «Проекты» при этом определяет, в каком месте будет создан план:

  • в каком-либо портфеле, если у создающего план пользователя есть право на непосредственное создание там проекта.

В «Моих проектах» план создать нельзя.

Каждый вновь создаваемый план считается утверждённым (в терминологии проектов).

Для создания плана используется особый диалог, в котором задаются:

  • Название плана — текстовое поле;

  • Расположение плана — выбор местоположения (аналогично используемому в проектах).

Рисунок 352. Новый план

Новый план

При создании плана создаётся новая запись реестра, определённого в шаблоне плана. Эта запись является корневым мероприятием нового плана, а значение, введённое в качестве «Название плана» копируется в поле, отмеченное для этого (см. «Шаблоны планов»).

После нажатия кнопки «Создать» в диалоге создания плана корневое мероприятие плана открывается на редактирование как документ реестра.

Создавать план имеет право любой пользователь. После создания плана этот пользователь становится его владельцем.

Приведение плана в исполнение

Имеется возможность запустить процессы активации для всех мероприятий плана (контекстное меню плана в навигаторе → «Привести в исполнение»). Если при этом процесс активации требует пользовательского ввода, то соответствующий диалог запускается последовательно для каждого мероприятия.

Просмотр плана

План можно открыть на просмотр, щёлкнув по названию плана в навигаторе общекорпоративной структуры портфелей. План можно отличить от проекта по его иконке.

Для просмотра плана используется основная рабочая область модуля «Проекты», где отображается таблица со следующими столбцами:

  • Первый столбец таблицы плана — «Номер». Этот столбец содержит структурный номер мероприятия плана — 1, 2, … для мероприятий первого уровня (вложенных в корневое), 1.1, 1.2, … - для вложенных в первое мероприятие мероприятий, и так далее — полностью аналогично полю «Номер» в проектах.

  • Следующий столбец (без подписи) содержит иконку состояния процессов по записи реестра (см. просмотр реестра в «Хранилище» → «Реестры»).

  • Столбцы, поименованные таким образом и отображающиеся в том порядке, который определён в шаблоне плана. Столбец, помеченный как «Название плана», имеет по умолчанию максимальную ширину.

  • Последний столбец (последним столбцом). Для отображения прогресса используется двухцветный компонент прогресса, который реализован для проектов. Жёлтым цветом отображается прогресс мероприятия, зелёным цветом — контрольный прогресс (см. «Расчёт прогресса мероприятий. Участники плана.»).

Если в строке таблицы, отображающей мероприятие, имеются поля, соответствующие компонентам формы со сложной структурой (например, компонент «Объекты Synergy»), то для отображения данных этих полей используется их текстовое представление (представление, используемое в режиме просмотра файла по форме).

Каждая строка таблицы имеет контекстное меню с пунктами:

  • Изменить — вызывает «Просмотр и редактирование мероприятия».

  • Удалить — вызывает «Удаление мероприятий».

При просмотре плана доступна возможность включить панель «Детали», однако диаграмма Ганта («Диаграмма») и гистограмма для плана недоступна.

Рисунок 353. Просмотр плана

Просмотр плана

Создание мероприятий. Групповые мероприятия.

Мероприятия внутри плана создаются с помощью кнопки +. Поведение этой кнопки:

  • Новое мероприятие создаётся внутри выделенного в таблице мероприятия. При этом создаваемое мероприятие становится вложенным, а объемлющее его мероприятие — групповым.

  • Для редактирования создаваемого мероприятия запускается документ реестра с файлом по форме в режиме редактирования

Создание мероприятия напрямую из таблицы (с помощью строки таблицы «Для создания нового элемента введите текст») либо с помощью клавиатурной кнопки Insert невозможно.

Если мероприятие становится групповым, то считается, что его общий прогресс равен среднему арифметическому от вложенных в него мероприятий (см. «Расчёт прогресса мероприятий»). Таким образом, для группового мероприятия невозможно будет увидеть собственный прогресс, поэтому, если для группового мероприятия имеются запущенные маршруты, пользователю предлагается завершить эти маршруты.

Группирование мероприятий с помощью drag-and-drop

Мероприятие можно сделать групповым также при помощи drag-and-drop-а в него других мероприятий в таблице.

Удаление мероприятий

При удалении мероприятия удаляется также соответствующая запись реестра. Если для неё было настроено событие «Удаление», то запускается соответствующий процесс.

Детали мероприятий

Панель «Детали» отображает:

  • Комментарии мероприятия;

  • Участников мероприятия;

  • Файлы и папки мероприятия.

Назовем «собственными комментариями» мероприятия комментарии документа по соответствующей записи реестра.

Комментариями обычного мероприятия считаются только его собственные комментарии.

Комментарии группового мероприятия включают, помимо собственных комментариев, комментарии вложенных мероприятий.

Область комментариев панели «Детали» позволяет добавить новый комментарий к выделенному в таблице плана мероприятию. Этот новый комментарий должен быть добавлен к соответствующему документу по записи реестра.

Как определяются участники обычного мероприятия, описано в разделе «Расчёт прогресса мероприятий. Участники плана.». Участниками группового мероприятия считаются все уникальные пользователи, являющиеся участниками вложенных в него мероприятий.

Файлами (и папками) мероприятия являются только собственные файлы и папки документа по соответствующей записи реестра. Отображение структуры файлов и папок документа начинается с папки «Приложения» - отображается её содержимое, а также папка «Прочие» (аналогично тому, как это работает в «Проектах»). Имеется возможность добавлять файл в «Приложения» и/или «Прочие» согласно действующим правам доступа к этим папкам документов.

Просмотр и редактирование мероприятия

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

Подчинение мероприятий

Будем считать подчинением мероприятия установление связи этого мероприятия с мероприятием (чаще всего, корневым) другого плана.

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

  • добавить к документу подчиняющего мероприятия документ подчиняемого мероприятия в качестве дочернего;

  • добавить к документу подчиняемого мероприятия документ подчиняющего мероприятия в качестве основания;

  • создать план из работы по документу — мероприятию плана — с формой завершения типа «план». Документ, по которому запущена эта работа, становится подчиняющим мероприятием, а вновь созданный план — подчиняемым (или подчинённым).

Расчёт прогресса мероприятий. Участники плана.

Прогресс мероприятий рассчитывается на основе работ первого уровня перепоручения, запущенных по документу мероприятия совместно с прогрессом подчинённых мероприятий (см. «Подчинение мероприятий»).

Пусть p(A) — прогресс работы A

Пусть 
 Назовём p'(A) контрольным прогрессом работы. Рассмотрим схему:

Рисунок 354. Прогресс обычного мероприятия плана

Прогресс обычного мероприятия плана

Назовём собственным прогрессом мероприятия Pсоб среднее арифметическое прогрессов активных работ первого уровня по документу (на схеме выделены розовым), а также прогрессов его дочерних документов — мероприятий планов:


 Назовём собственным контрольным прогрессом мероприятия Pсоб среднее арифметическое контрольных прогрессов работ первого уровня по документу (на схеме выделены розовым), а также контрольных прогрессов его дочерних документов — мероприятий планов:


 Прогресс обычного (не группового мероприятия) равен его собственному прогрессу:


 Аналогично контрольный прогресс обычного мероприятия:


 Прогресс группового мероприятия равен среднему арифметическому прогрессов вложенных в него мероприятий:

Рисунок 355. Прогресс группового мероприятия

Прогресс группового мероприятия

При этом прогрессы дочерних мероприятий не учитываются:


 Аналогично контрольный прогресс группового мероприятия:


 Однако собственный прогресс группового мероприятия тоже вычисляется (но нигде не отображаются.

Замечание: прогресс работ типа «Согласование», «Утверждение» и «Ознакомление» не определён и не учитывается в вышеописанных расчётах прогрессов.

Участниками обычного мероприятия считаются ответственные за те работы, которые учитываются в прогрессе этого мероприятия — без дублей (только уникальные пользователи).

Участниками группового мероприятия считаются участники вложенных мероприятий без учёта дочерних мероприятий — без дублей (только уникальные пользователи).

Права доступа к плану

Для каждого плана определяется собственный набор разрешений (прав доступа). Права доступа, настроенные для реестра плана, игнорируются. Пользователю может быть назначена любая комбинация из нижеперечисленных разрешений:

Рисунок 356. Права доступа к плану

Права доступа к плану

  • Просмотр и комментирование — позволяет увидеть проект в списке проектов портфеля, а также просматривать таблицу проекта; просмотр файлов мероприятия запрещён;

  • Редактирование документов — позволяет просматривать мероприятие как документ (и редактировать его);

  • Редактирование плана — позволяет создавать новые мероприятия и перемещать имеющиеся по иерархии структуры плана (в/из групповых мероприятий);

  • Назначение прав — позволяет редактировать список имеющихся разрешений в планах, включая смену владельца плана.

Владелец плана имеет все вышеперечисленные права.

Рисунок 357. Настройка плана

Настройка плана