Задача [0272, части 2 и 3]: Эргономика диалога наложения резолюции: добавление справочника и изменение плашки

Формулировка проблемы: необходимо:

Используется:

Конфигуратор -> Процессы -> Справочники

Основное приложение -> Наложение резолюции

Решение: данная постановка состоит из двух логических частей:

Справочник resolution_work_types

Необходимо добавить справочник типов работ по резолюции. Данный справочник можно удалить. В таком случае выпадающий список в плашке редактирования резолюции будет содержать те пункты и в том порядке, что реализовано до итерации 3.2 включительно.

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

При редактировании черновиков резолюции

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

Выбранный тип работы по резолюции отсутствует в справочнике. Выберите другое значение.

При редактировании наложенной резолюции

В выпадающем списке будет отображаться значение item_name удаленной записи, причем вне зависимости от выбранной локали. Также данное поведение распространяется на редактирование записи справочника - при изменении item_name записи в качестве типа работы по резолюции будет отображаться то значение item_name, которое было у записи на момент принятия резолюции.

Параметры справочника:

  • Код - resolution_work_types

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

  • Комментарий:

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

  • поля справочника:

Код Имя Комментарий Переводить Назначение

item_name

Название пункта типа работы

Да

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

item_process

Действие, которое осуществляет пункт

assignment - работа, agreement - согласование, approval - утверждение, acquaintance - ознакомление, resolution - резолюция, send-document - отправка документа

Нет

Возможные значения этого поля:

  • assignment - работа

  • agreement - согласование

  • approval - утверждение

  • acquaintance - ознакомление

  • resolution - резолюция

  • send-document - отправка документа

item_number

Порядковый номер пункта в выпадающем списке

Нет

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

code

Код типа работы

Значение данного поля должно быть уникальным

Нет

Значение данного поля должно быть уникальным.

Используется для связи со справочником resolution, а именно с полем Тип элемента резолюции

Порядковый номер выпадающем списке

Поле code по умолчанию должно содержать значения, перечисленные ниже. Это необходимо для сохранения связи полей code нового справочника и Тип элемента резолюции справочника resolution. Если на плашке резолюции было выбрано значение формулировки пункта, то в выпадающем списке типа работы автоматически будет подставлено значение, соответствующее выбранной записи справочника resolution_work_types.

  • данные справочника:

Название пункта типа работы Действие, которое осуществляет пункт Порядковый номер пункта в выпадающем списке Код типа работы

Работа

assignment

1

3

Согласование

agreement

2

0

Утверждение

approval

3

1

Ознакомление

acquaintance

4

2

Резолюция

resolution

5

33

Отправка документа

send-document

6

17

API-метод saveResolutionRoute

Во избежании возникновения проблем у клиентов с API-методом наложения резолюции на документ, необходимо поступить следующим образом.

Если в ходе метода saveResolutionRoute будет передан typeID, запись которого была удалена из справочника resolution_work_types, то в основном приложении в качестве типа работы будет выбран тот, который определяется данным typeID, а в названии будет отображаться его значение из справочника настройки процессов (Конфигуратор -> Документооборот -> Настройки Потоков Работ). При этом при раскрытии выпадающего списка типа работ данный пункт не отображается.

Если же справочник resolution_work_types содержит несколько записей с переданным typeID, то в основном приложении в качестве типа работы будет первый из списка типов с данным typeID.

Доработка плашки редактирования пункта резолюции

Необходимо изменить плашку редактирования резолюции следующим образом:

  • Перенести компонент выбора исполнителей на третью строку, причем увеличив его на ширину всей плашки.

  • Присвоить компоненту динамический размер - высота поля будет увеличиваться таким образом, что все выбранные теги всегда будут отображаться.

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

Рисунок 245. Плашка редактирования резолюции с невыбранными исполнителями

Плашка редактирования резолюции с невыбранными исполнителями

Рисунок 246. Плашка редактирования резолюции с выбранными исполнителями

Плашка редактирования резолюции с выбранными исполнителями

Размеры измененных полей:

  • поле формулировки пункта резолюции и компонент выбора исполнителей - 830 px;

  • компонент выбора ответтсвенного - 340 px.

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

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

Пример использования

Условия: наличие справочника выбора типа работ по резолюции.

Наличие сотрудников:

  • Руководитель 1

    • Сотрудник_2

    • Сотрудник_3

    • Сотрудник_4

    • Сотрудник_5

    • Сотрудник_6

    • Сотрудник_7

    • Сотрудник_8

    • Сотрудник_9

  1. Авторизоваться с логином и паролем методолога в Конфигураторе.

  2. Перейти в подраздел "Справочники".

  3. Открыть справочник выбора типов работ по резолюции. Справочник содержит записи со следующими наименованиями:

    • Работа

    • Согласование

    • Утверждение

    • Ознакомление

    • Резолюция

    • Отправка документа

  4. Совершить следующие изменения:

    • Переименовать "Согласование" на "Рассмотрение"

    • Удалить запись "Ознакомление"

    • Добавить запись "Для оценки" с типом действия "Согласование", порядковым номером "2" и кодом "requests"

    Сохранить изменения.

  5. Авторизоваться с логином и паролем Руководителя_1 в основном приложении.

  6. Перейти в модуль "Потоки работ" и создать Работу_1.

  7. Открыть Работу_1 и наложить на нее резолюцию.

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

    • поле формулировки пункта резолюции

    • компонент выбора исполнителей

    • группа компонентов:

      • компонент выбора ответственных

      • компонент выбора даты и времени

      • выпадающий список типов работы по резолюции

      • выпадающий список формы завершения работы по резолюции

  9. В качестве исполнителей выбрать всех пользователей, указанных в условии - компонент выбора исполнителей увеличился по вертикали и отображает теги всех пользователей.

  10. Раскрыть выпадающий список компонента выбора типов работы по резолюции - пункты отображаются в следующем составе и порядке:

    • Работа

    • Для оценки

    • Рассмотрение

    • Утверждение

    • Резолюция

    • Отправка документа

  11. Закрыть окно, не накладывая на документ резолюцию.

  12. Авторизоваться с логином и паролем методолога в Конфигураторе.

  13. Перейти в подраздел "Справочники".

  14. Удалить справочник выбора типов работ по резолюции.

  15. Авторизоваться с логином и паролем Руководителя_1 в основном приложении.

  16. Перейти в модуль "Потоки работ".

  17. Открыть Работу_1 и наложить на нее резолюцию.

  18. Раскрыть выпадающий список компонента выбора типов работы по резолюции - пункты отображаются в следующем составе и порядке:

    • Работа

    • Согласование

    • Утверждение

    • Ознакомление

    • Резолюция

    • Отправка документа