Упрощение выбора нескольких записей из списка

14 3

Часто при работе с системой DIRECTUM пользователю нужно выбрать несколько записей из списка. Например, при заполнении полей в карточках объектов либо при заполнении параметров типовых маршрутов. В версии 5.2 мы позаботились о том, чтобы выбор нескольких записей для пользователей стал простым и удобным. Для этого мы поработали над отображением списка записей справочников в режиме выбора и добавили новые параметры для функции SelectSQL().

Выбор флажками – гарантия точности выбора

Выбрать несколько записей из списка можно, выделив их при помощи мыши и используя клавиш CTRL, SHIFT, стрелки. Этот способ имеет свои недостатки:

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

В новой версии системы для решения этих проблем разработана возможность выбора записей с помощью флажков:

Установить флажки можно различными способами. Например установить и снять флажки для всех записей можно с помощью клавиш CTRL+SHIFT+S и CTRL+SHIFT+U или специальными кнопками на ленте  Отметить все,  Снять все отметки. Для выбора конкретных записей установите флажки напротив них или выделите записи в списке и нажмите на клавишу ПРОБЕЛ.

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

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

Другие особенности и возможности выбора с помощью флажков описаны в справке.

Что разработчики могут делать с флажками?

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

Настройка выбора записей из справочника

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

Рассмотрим небольшой пример:

UserReference = CreateReference('ПОЛ')
UserReference.Open
View = UserReference.CreateView(UserReference.MainViewCode)
// Открыть справочник в режиме выбора нескольких записей.
View.ViewMode = vmSelect
View.MultiSelection = TRUE
View.NeedShowSelectionColumn = True
View.MainForm.Show

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

В свойстве IView.ViewMode мы указываем, что представление будет открываться в режиме выбора записей. А свойство IView.MultiSelection открывает представление с возможностью выбора нескольких записей.

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

Кроме этого, разработчик может устанавливать флажки по умолчанию, используя метод объектной модели IView.SelectRecordByID. К примеру, можно показывать значения предыдущего выбора при открытии справочника. Методы IView.SelectAllRecords и IView.UnselectAllRecords устанавливают и снимают флажки для всех записей списка.

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

Настройка выбора записей с помощью функции SelectSQL()

Когда нужно предоставить для выбора список записей, состоящий из значений реквизитов разных справочников, используйте функцию SelectSQL().

По умолчанию функция будет открывать список в режиме выбора записей без колонки с флажками. Отобразить колонку можно, задав значение vsmMultipleCheck для параметра SelectionMode.

Кроме этого, функция SelectSQL() была дополнена еще двумя новыми параметрами DefaultVisibleColumns и ReturnedColumns. С их помощью разработчик может спрятать от пользователя ненужные для выбора колонки, а также задать колонки, необходимые для возвращения результата, например такие, как ИД объекта. Подробно функция SelectSQL() описана в справке в компоненте Функции ISBL.

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

Другие режимы выбора записей

Помимо выбора нескольких записей флажками, прикладной разработчик может настроить еще три режима выбора записей:

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

Эти режимы выбора так же устанавливаются с помощью свойств объектной модели и параметра SelectMode в функции SelectSQL().

Таким образом, мы постарались сделать выбор записей из списка более удобным. Например, использование флажков должно сократить время, которое тратят пользователи на выбор записей из больших списков. Пишите свои отзывы, идеи, пожелания, будем рады их рассмотреть.

Александр Кузнецов

Всё гениальное просто! smiley А главное, "галочки" давно уже проверены и отработаны на тонне промышленного софта. Видимо, никуда не уйти от старых проверенных решений smiley

Александр Кузнецов

Теперь в Директум появятся два модных словечка "галить" и "крыжить" laugh

Елена Грозова

Мелочь, а приятно! Думаю, эта фича будет довольно часто использоваться на проектах.

Авторизуйтесь, чтобы написать комментарий