Формулировка проблемы: у некоторых клиентов достаточно много настроенных пунктов создания документов, из-за чего неудобно прокручивать весь список, теряется больше времени на поиск нужного пункта меню кнопки «Создать». Необходима возможность группировки пунктов создания документов.
Решение:
В конфигураторе необходимо изменить группу настроек создания документов. Экран «Создание документов» необходимо разделить на 2 части (по аналогии с фильтрами потоков работ в конфигураторе), а также добавить кнопку «Инициализировать».
Левая часть должна содержать структуру пунктов создания документов в
виде дерева с корневым элементом:
Пункты меню кнопки «Создать»
. Дерево может
содержать:
пункты — непосредственно пункты создания документов; нажатие по пункту в клиентской части должно открывать окно создания документа;
группы — новый объект, объединяющий пункты (в дереве слева от него есть плюс/минус для разворачивания/сворачивания соответственно); группы могут быть вложенными; нажатие по группе в клиентской части должно открывать подменю.
Основная часть должна содержать форму выделенной ноды дерева (отсутствует у корневого элемента), а также кнопки:
сохранения: недоступна для выделенного в дереве корневого элемента;
добавления: недоступна для выделенного в дереве пункта (не группы), а также в момент создания;
удаления: недоступна для выделенного в дереве корневого элемента;
По нажатию на кнопку «Добавить» открывается подменю кнопки с пунктами «Добавить пункт» и «Добавить группу».
Форма для пункта:
лейбл «Информация о группе»;
поле ввода «Название» (на трех языках);
выпадающий список «Реестры»;
флажок «Добавить в «Избранное» пользователя по умолчанию»;
таблица «Группы»;
Все поля формы аналогичны текущим полям при создании документов за тем исключением, что поле названия теперь должно быть локалезависимым.
Форма для группы:
лейбл «Информация о группе»;
поле ввода «Название» (на трех языках);
Поле названия должно быть локалезависимым. Права доступа на группу определяются как совокупность прав доступа всех пунктов, содержащихся внутри данной группы.
По нажатию на кнопку «Удалить» система должна предоставить окно подтверждения удаления с сообщением:
для пункта --- «Вы действительно хотите удалить пункт
название_пункта
?»;
для группы --- «Удаление группы приведет к удалению всего её
содержимого. Вы действительно хотите удалить группу
название_группы
?».
Все изменения, произведенные в данном разделе конфигуратора, должны применяться в клиентской части сразу после сохранения изменений:
применение добавления, удаления пунктов и/или групп, а также редактирования всех параметров формы, кроме флажка «Добавить в «Избранное» пользователя по умолчанию» осуществляется всегда и для всех пользователей указанных групп, например:
при добавлении пользователя в список групп с правом доступа к пункту/группе данный пункт/группа добавляется*
при удалении пользователя из списка групп с правом доступа к пункту/группе данный пункт/группа у него удаляется*
применение изменённого параметра флажка «Добавить в «Избранное» пользователя по умолчанию» осуществляется следующим образом:
если пользователь локально изменял свойство избранности у пункта, то измененные свойства избранности конкретно даннного пункта ему применяться не будут;
если пользователь локально не изменял свойство избранности у пункта, то измененные свойства избранности конкретно даннного пункта должны ему примениться.
*
С учётом следующих особенностей:
если в данной группе пользователь не имеет прав доступа, то ему недоступна как сама группа, так и все её дочерние элементы;
если на данную группу пользователь имеет права доступа, то доступность дочерних элементов зависит от настроенных непосредственно в них прав доступа;
если на данную группу пользователь имеет права доступа и если она не содержит ни одного избранного элемента, то подменю создания документов кнопки «Создать» должно отсутствовать (но должно присутствовать в диалоге «Избранное»).
Примечание: при создании нового пользователя структура пунктов создания документов должна браться из данного раздела конфигуратора.
По нажатию на кнопку «Инициализировать» структура всех пунктов создания документа у всех пользователей должна прийти к виду, наcтроенному в конфигураторе.
В клиентской части во всех модулях системы (т.к. пункты создания документов являются кросс-модульной частью меню кнопки «Создать») необходимо реализовать обновленные подменю создания и диалог «Избранное», открывающийся при клике на поле «Еще...» в подменю создания.
Подменю создания
Необходимо включить список избранных пунктов и групп первого уровня, содержащих избранные пункты, настроенных в Конфигураторе в подменю создания работ. Подменю может содержать пункты, которые в свою очередь могут содержать вложенные подменю. Сортировка групп/пунктов осуществляется согласно дереву, настроенному в Конфигураторе.
Диалог «Избранное»
Необходимо исключить из предыдущего варианта диалога:
возможность ручной сортировки таблицы;
переключатель страниц.
Таблица аналогична таблице модуля «Проекты» (дерево в таблице) и содержит список групп и пунктов создания документов, настроенных в Конфигураторе, со следующими особенностями:
Группы:
каждая группа выделена жирным шрифтом;
с понижением уровня группы смещаются вправо;
все группы по умолчанию развернуты без возможности сворачивания;
при выделении группы кнопка «Выбрать» становится неактивной.
Пункты:
в первом столбце таблицы перед пунктами находится виджет
звезда
(желтая либо серая), параметры
которых аналогичны параметрам до 2.57 итерации включительно;
каждый пункт располагается правее группы самого нижнего уровня, в которой он находится.
Примечание:
Если количество групп и пунктов больше, чем высота диалогового окна, в нем появляется вертикальный скролл.
Если группы и пункты в своих названиях имеют длину, большую чем ширина диалогового окна, в нем появляется горизонтальный скролл.
Поиск пунктов
Работа поля поиска аналогична работе реализованного поиска Ctrl+F в модуле «Проекты». Пользователь вводит запрос и нажимает иконку «Лупа», либо клавишу «Enter», при этом фокус остается в поле поиска. При этом возможны следующие исходы:
Если ни одна группа/пункт не удовлетворяет условиям поиска,
система сохраняет последнее выделение группы/пункта и выдает
сообщение Элементов не найдено
.
Если в результате поиска было найдено несколько групп/пунктов,
удовлетворяющих условиям поиска, система выделяет первую
группу/пункт таблицы. При нажатии на клавишу «Enter» система
выделяет следующую группу/пункт, удовлетворяющую условия поиска.
При нажатии клавиши «Enter» с последней выделенной
группой/пунктом система выдает сообщение
Элементов не найдено
и выделяет первый
результат поиска, продолжая цикл.
Действия при обновлении системы.
При обновлении системы все уже существующие пункты в конфигураторе
должны стать пунктами первого уровня дерева
Пункты меню кнопки «Создать»
. В клиентской части
видимых изменений произойти не должно.