Формулировка проблемы: необходимо сделать специальный редактор для справочника форм завершения.
Решение: необходимо добавить новый подраздел конфигуратора "Специальные справочники". Он должен располагаться в разделе "Процессы" после подраздела "Справочники". В этот новый подраздел необходимо вынести справочник work_completion (Формы завершения работ).
Этот подраздел представлен в виде навигатора со списком специальных справочников и их записей, а также рабочей области, отображающей свойства выбранного объекта в навигаторе.
Навигатор
Содержимое навигатора представлено в виде дерева с корневым объектом "Форма завершения". Дочерними объектами данного объекта являются записи справочника, т.е. формы завершения. Если размеры дерева выходят за пределы панели, то в нее добавляется скролл (вертикальный, либо горизонтальный).
Основная рабочая область
При выборе корневого объекта "Форма завершения" рабочая область содержит таблицу со списком всех форм завершений. Таблица содержит названия форм завершения и их типы. Она также имеет контекстное меню с пунктами:
"Редактировать";
"Удалить".
При выборе определенной формы завершения рабочая область содержит свойства данной записи. Эти свойства будут рассмотрены ниже.
Вертикальный скролл добавляется в тех случаях, когда содержимое экрана не помещается полностью.
Создание формы завершения
Создание формы завершения осуществляется нажатием на кнопку "Добавить". Набор параметров формы завершения различен для ее типов. Но формы завершения всех типов имеют следующие общие параметры:
"Тип" - выпадающий список, определяющий тип будущей формы завершения. Имеет такие пункты:
"Комментарий" (выбран по умолчанию);
"Файл";
"Документ";
"Форма";
"Без результата".
"Код" - поле, обязательное для заполнения. Значение кода должно быть уникальным и не содержать пробелов.
"Название" - поле с кнопкой переводов, обязательное для заполнения.
"Требовать подтверждения результата" - флажок, по умолчанию выключен.
В зависимости от типа формы завершения имеются следующие параметры.
Для типа "Документ":
"Название кнопки для создания результата завершения работы" - поле с кнопкой переводов. Значение по умолчанию отсутствует, что соответствует названию кнопки "Создать ответ".
Группа параметров "Фильтры выбираемых документов":
"Реестр, в котором находится документ" - данный выпадающий список содержит список реестров, доступных авторизованному методологу, а также пункт с пустым значением. Этот пункт выбран по умолчанию.
"Только зарегистрированные" - флажок, по умолчанию выключен.
"Только дочерние" - флажок, по умолчанию выключен.
Для типа "Форма":
"Форма" - компонент выбора форм, обязателен для заполнения. По умолчанию ни одна форма не выбрана.
Редактирование формы завершения
Редактирование формы завершения возможно:
по двойному клику на форму завершения в таблице;
при вызове соответствующего пункта контекстного меню таблицы;
при выборе формы завершения в навигаторе.
Удаление формы завершения
Удалить форму завершения можно через соответствующий пункт контекстного меню или по нажатию на иконку удаления в таблице. При этом отобразится модальное браузерное окно с текстом сообщения:
Вы действительно хотите удалить данную форму завершения?
Сохранение формы завершения и ее валидация
При сохранении формы завершения необходимо проводить валидацию. В случае, если обязательные поля не были заполнены, то необходимо подсвечивать их красным цветом и отображать ошибку с текстом:
Заполните обязательные поля
Если же введенный код не уникален, то поле также будет подсвечено красным цветом и отобразится ошибка:
Данный код уже используется
Если форма завершения имеет несохраненные изменения, то при выборе иного объекта необходимо отображать модальное диалоговое окно с текстом:
Все несохраненные изменения будут потеряны! Вы действительно хотите продолжить?
Действия при обновлении системы
При обновлении системы справочник work_completion (Формы завершения
работ) должен быть скрыт из подраздела "Справочники"
(аналогично справочнику приоритетов работ). При этом новый подраздел
"Специальные справочники" должен содержать справочник
"Форма завершения" со всеми настроенными формами
завершения из него. Если у формы завершения отсутствует код, то при
обновлении ему присваивается значение
""
.
Если же справочник форм завершения ранее отсутствовал в системе, то он будет автоматически сгенерирован. Он будет содержать две формы завершения типа "Файл" и "Комментарий" со значениями по умолчанию. Названия форм дублируют их типы.
Других видимых изменений быть не должно.
Логирование
Все действия над формами завершения должны логироваться в системе. Поэтому для источника "Конфигуратор" необходимо добавить следующие события:
Событие | Описание |
---|---|
Создание формы завершения |
Идентификатор: %uuid_формы завершения%. Объект: перечисление параметров формы завершения согласно ее типу |
Изменение формы завершения |
Идентификатор: %uuid_формы завершения%. Объект: перечисление измененных параметров формы завершения |
Удаление формы завершения |
Идентификатор: %uuid_формы завершения%. Объект: %название_формы_завершения% |
Примечание
Так как формы завершения основаны на справочниках, вместе с данными событиями записывается событие Изменение данных справочника.
Макеты нового подраздела "Формы завершения"