Задача [0240]: Фасетный поиск в Документах: системные и пользовательские преднастройки

Формулировка проблемы: необходима возможность настройки фасетов для поиска в модуле "Документы" по умолчанию - как в конфигураторе, так и в основном приложении.

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

Связанные задачи:

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

Изменение фасетов сортировки

Необходимо заменить флаг "Сначала незарегистрированные" на группу фасетов "Группировка результатов":

  • Без группировки (выбран по умолчанию) - соответствует выключенному флажку;

  • Сначала незарегистрированные - соответствует включенному флажку.

Данная группа фасетов не имеет счетчиков.

Системные преднастройки в конфигураторе

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

Необходимо добавить новый блок настроек "Фасеты для поиска документов" для журналов в одноименном подразделе (Конфигуратор -> Документооборот -> Журналы). Блок представляет собой следующие выпадающие списки:

  • Категории поиска;

  • Статус документа;

  • Тип совпадения;

  • Сортировка;

  • Группировка результатов.

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

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

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

Рисунок 173. Новая настройка "Фасеты для поиска документов"

Новая настройка "Фасеты для поиска документов"

Категории поиска

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

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

  • Все результаты (выбран по умолчанию)

  • Номер*

  • (список динамически формируемых пунктов)*

  • Номер (исх)*

  • Краткое содержание

  • Корреспондент (орг)*

  • Корреспондент*

  • Автор*

  • Зарегистрировал*

  • Исполнитель*

  • Тип документа

  • Доп. поля карточки

Статус документа

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

  • Все документы (выбран по умолчанию)

  • Только зарегистрированные

  • Только незарегистрированные

Тип совпадения

Выпадающий список определяет тип совпадения результатов относительно поискового запроса:

  • Все (выбран по умолчанию)

  • Только полное совпадение

Сортировка

Выпадающий список определяет сортировку найденных результатов поискового запроса по следующим типам:

  • По релевантности (выбран по умолчанию)

  • По дате регистрации

  • По номеру

  • (по динамически формируемым пунктам)

  • По краткому содержанию

  • По автору

  • По зарегистрировавшему

  • По исполнителю

Группировка результатов

Выпадающий список определяет тип сортировки документов с учетом их статуса:

  • Без группировки (выбран по умолчанию)

  • Сначала незарегистрированные

Пользовательские преднастройки в основном приложении

Необходимо добавить возможность сохранения фасетов по умолчанию для каждого отдельного фильтра. Для этого фасетам будет добавлено новое свойство "по умолчанию". Данное свойство наследуется от корневых нод их дочерним фильтрам всех уровней. Исключением является корневая ноды "Журналы" - изменение её фасетов не влияет на все его дочерние фильтры. Кроме того, изменение фасетов дочерних фильтров не влияет на их родительские.

То есть наследование настроек выглядит следующим образом:

  • Журналы

  • Внутренние документы

    • На регистрации (наследуются от "Внутренние документы")

      • Пользовательский_фильтр (наследуются от "На регистрации")

    • На исполнении (наследуются от "Внутренние документы")

    • Просроченные (наследуются от "Внутренние документы")

    • Завершенные (наследуются от "Внутренние документы")

    • На контроле (наследуются от "Внутренние документы")

  • Дела

  • Дела_2014_года (наследуются от "Дела")

  • Дела_2015_года (наследуются от "Дела")

  • Все

  • Мои (наследуются от "Все")

  • Полученные (наследуются от "Все")

  • Отправленные (наследуются от "Все")

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

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

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

Если в конфигураторе были изменены фасеты по умолчанию, то в основном приложении произойдет следующее:

  • пользователь установил собственные фасеты по умолчанию - никаких изменений не последует;

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

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

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

Форматирование

Расстояние от названия / счетчика фасета до иконки звезды - 8px.

Рисунок 174. Фасеты по умолчанию

Фасеты по умолчанию

Рисунок 175. Новая группа фасетов "Группировка результатов"

Новая группа фасетов "Группировка результатов"

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

При обновлении системы произойдет следующее:

  • Конфигуратор - для каждого существующего журнала будет добавлен блок "Фасеты для поиска документов" со значениями настроек по умолчанию.

  • Основное приложение - для всех фильтров нод "Журналы", "Дела" и "Все" иконки желтых звезд будут добавлены на первые значения в каждой группе фасетов.

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

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

  2. Перейти в подраздел "Журналы" и открыть журнал "Внутренние документы".

  3. Настроить фасеты по умолчанию следующим образом:

    • Категории поиска - "Номер"

    • Статус документа - "Только зарегистрированные"

    • Тип совпадения - "Только полное совпадение"

    • Сортировка - "По дате регистрации"

    • Группировка результатов - "Без группировки"

  4. Авторизоваться с логином и паролем сотрудника канцелярии с доступом к журналу "Внутренние документы".

  5. Перейти в модуль "Документы" и выбрать узел "Внутренние документы".

  6. В поле "Поиск" ввести запрос и нажать на клавишу Enter - в основной рабочей области отобразились документы, удовлетворяющие поисковому запросу и следующим фасетам:

    • Категории поиска - "Номер"

    • Статус документа - "Только зарегистрированные"

    • Тип совпадения - "Только полное совпадение"

    • Сортировка - "По дате регистрации"

    • Группировка результатов - "Без группировки"

  7. Настроить по умолчанию следующие фасеты:

    • Тип совпадения - "Все"

    • Сортировка - "По релевантности"

    • Группировка результатов - "Сначала незарегистрированные"

  8. Сохранить изменения и переавторизоваться в основном приложении с логином и паролем сотрудника канцеляции.

  9. Перейти в модуль "Документы" и выбрать узел "Внутренние документы".

  10. В поле "Поиск" ввести запрос и нажать на клавишу Enter - в основной рабочей области отобразились документы, удовлетворяющие поисковому запросу и следующим фасетам:

    • Категории поиска - "Номер"

    • Статус документа - "Только зарегистрированные"

    • Тип совпадения - "Все"

    • Сортировка - "По релевантности"

    • Группировка результатов - "Сначала незарегистрированные"