Задача [0460]: Пользовательский интерфейс к справочнику форм завершения

Формулировка проблемы: необходимо сделать специальный редактор для справочника форм завершения.

Решение: необходимо добавить новый подраздел конфигуратора "Специальные справочники". Он должен располагаться в разделе "Процессы" после подраздела "Справочники". В этот новый подраздел необходимо вынести справочник work_completion (Формы завершения работ).

Этот подраздел представлен в виде навигатора со списком специальных справочников и их записей, а также рабочей области, отображающей свойства выбранного объекта в навигаторе.

Навигатор

Содержимое навигатора представлено в виде дерева с корневым объектом "Форма завершения". Дочерними объектами данного объекта являются записи справочника, т.е. формы завершения. Если размеры дерева выходят за пределы панели, то в нее добавляется скролл (вертикальный, либо горизонтальный).

Основная рабочая область

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

При выборе определенной формы завершения рабочая область содержит свойства данной записи. Эти свойства будут рассмотрены ниже.

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

Создание формы завершения

Создание формы завершения осуществляется нажатием на кнопку "Добавить". Набор параметров формы завершения различен для ее типов. Но формы завершения всех типов имеют следующие общие параметры:

В зависимости от типа формы завершения имеются следующие параметры.

Для типа "Документ":

Для типа "Форма":

Редактирование формы завершения

Редактирование формы завершения возможно:

Удаление формы завершения

Удалить форму завершения можно через соответствующий пункт контекстного меню или по нажатию на иконку удаления в таблице. При этом отобразится модальное браузерное окно с текстом сообщения:

Вы действительно хотите удалить данную форму завершения?

Сохранение формы завершения и ее валидация

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

Заполните обязательные поля

Если же введенный код не уникален, то поле также будет подсвечено красным цветом и отобразится ошибка:

Данный код уже используется

Если форма завершения имеет несохраненные изменения, то при выборе иного объекта необходимо отображать модальное диалоговое окно с текстом:

Все несохраненные изменения будут потеряны! Вы действительно хотите продолжить?

Действия при обновлении системы

При обновлении системы справочник work_completion (Формы завершения работ) должен быть скрыт из подраздела "Справочники" (аналогично справочнику приоритетов работ). При этом новый подраздел "Специальные справочники" должен содержать справочник "Форма завершения" со всеми настроенными формами завершения из него. Если у формы завершения отсутствует код, то при обновлении ему присваивается значение "".

Если же справочник форм завершения ранее отсутствовал в системе, то он будет автоматически сгенерирован. Он будет содержать две формы завершения типа "Файл" и "Комментарий" со значениями по умолчанию. Названия форм дублируют их типы.

Других видимых изменений быть не должно.

Логирование

Все действия над формами завершения должны логироваться в системе. Поэтому для источника "Конфигуратор" необходимо добавить следующие события:

Событие Описание

Создание формы завершения

Идентификатор: %uuid_формы завершения%. Объект: перечисление параметров формы завершения согласно ее типу

Изменение формы завершения

Идентификатор: %uuid_формы завершения%. Объект: перечисление измененных параметров формы завершения

Удаление формы завершения

Идентификатор: %uuid_формы завершения%. Объект: %название_формы_завершения%

Примечание

Так как формы завершения основаны на справочниках, вместе с данными событиями записывается событие Изменение данных справочника.

Макеты нового подраздела "Формы завершения"

Рисунок 129. Формы завершения

Формы завершения

Рисунок 130. Создание формы завершения

Создание формы завершения

Рисунок 131. Редактирование формы завершения с типом "Документ"

Редактирование формы завершения с типом "Документ"

Рисунок 132. Редактирование формы завершения с типом "Форма"

Редактирование формы завершения с типом "Форма"