Формулировка проблемы: необходимо:
реализовать глобальную настройку выпадающего списка "Типы работ" для резолюции;
изменить плашку редактирования пункта резолюции - разделить поля плашки в три строки, реализовать зависимость размеров компонента выбора исполнителей от количества выбранных пользователей.
Используется:
Конфигуратор -> Процессы -> Справочники
Основное приложение -> Наложение резолюции
Решение: данная постановка состоит из двух логических частей:
Справочник 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 - отправка документа |
Нет |
Возможные значения этого поля:
|
item_number |
Порядковый номер пункта в выпадающем списке |
Нет |
Используется для задания порядка пунктов типов работы. В
качестве значений должны выступать натуральные числа.
Итоговый набор пунктов меню сначала будет отсортирован
по этому полю, а те пункты, у которых это поле заполнено
неправильно или не заполнено, будут помещены после них и
отсортированы лексикографическом порядке по
| |
code |
Код типа работы |
Значение данного поля должно быть уникальным |
Нет |
Значение данного поля должно быть уникальным.
Используется для связи со справочником
|
Порядковый номер выпадающем списке
Поле 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
будет
передан typeID
, запись которого была удалена
из справочника resolution_work_types
, то в
основном приложении в качестве типа работы будет выбран тот,
который определяется данным typeID
, а в
названии будет отображаться его значение из справочника
настройки процессов (Конфигуратор -> Документооборот ->
Настройки Потоков Работ). При этом при раскрытии выпадающего
списка типа работ данный пункт не отображается.
Если же справочник resolution_work_types
содержит несколько записей с переданным
typeID
, то в основном приложении в качестве
типа работы будет первый из списка типов с данным
typeID
.
Необходимо изменить плашку редактирования резолюции следующим образом:
Перенести компонент выбора исполнителей на третью строку, причем увеличив его на ширину всей плашки.
Присвоить компоненту динамический размер - высота поля будет увеличиваться таким образом, что все выбранные теги всегда будут отображаться.
Если компонент увеличится таким образом, что плашка не будет отображаться в окне полностью, в нем появится вертикальный скролл.
Размеры измененных полей:
поле формулировки пункта резолюции и компонент выбора
исполнителей - 830 px
;
компонент выбора ответтсвенного - 340 px
.
При обновлении системы добавится новый справочник
resolution_work_types
со значениями, описанными
выше. Если в системе уже имелся справочник с таким кодом, то он
будет удален. Других видимых изменений быть не должно.
Условия: наличие справочника выбора типа работ по резолюции.
Наличие сотрудников:
Руководитель 1
Сотрудник_2
Сотрудник_3
Сотрудник_4
Сотрудник_5
Сотрудник_6
Сотрудник_7
Сотрудник_8
Сотрудник_9
Авторизоваться с логином и паролем методолога в Конфигураторе.
Перейти в подраздел "Справочники".
Открыть справочник выбора типов работ по резолюции. Справочник содержит записи со следующими наименованиями:
Работа
Согласование
Утверждение
Ознакомление
Резолюция
Отправка документа
Совершить следующие изменения:
Переименовать "Согласование" на "Рассмотрение"
Удалить запись "Ознакомление"
Добавить запись "Для оценки" с типом действия "Согласование", порядковым номером "2" и кодом "requests"
Сохранить изменения.
Авторизоваться с логином и паролем Руководителя_1 в основном приложении.
Перейти в модуль "Потоки работ" и создать Работу_1.
Открыть Работу_1 и наложить на нее резолюцию.
Компоненты плашки резолюции отображаются по следующим строкам:
поле формулировки пункта резолюции
компонент выбора исполнителей
группа компонентов:
компонент выбора ответственных
компонент выбора даты и времени
выпадающий список типов работы по резолюции
выпадающий список формы завершения работы по резолюции
В качестве исполнителей выбрать всех пользователей, указанных в условии - компонент выбора исполнителей увеличился по вертикали и отображает теги всех пользователей.
Раскрыть выпадающий список компонента выбора типов работы по резолюции - пункты отображаются в следующем составе и порядке:
Работа
Для оценки
Рассмотрение
Утверждение
Резолюция
Отправка документа
Закрыть окно, не накладывая на документ резолюцию.
Авторизоваться с логином и паролем методолога в Конфигураторе.
Перейти в подраздел "Справочники".
Удалить справочник выбора типов работ по резолюции.
Авторизоваться с логином и паролем Руководителя_1 в основном приложении.
Перейти в модуль "Потоки работ".
Открыть Работу_1 и наложить на нее резолюцию.
Раскрыть выпадающий список компонента выбора типов работы по резолюции - пункты отображаются в следующем составе и порядке:
Работа
Согласование
Утверждение
Ознакомление
Резолюция
Отправка документа