Часто при работе с системой DIRECTUM пользователю нужно выбрать несколько записей из списка. Например, при заполнении полей в карточках объектов либо при заполнении параметров типовых маршрутов. В версии 5.2 мы позаботились о том, чтобы выбор нескольких записей для пользователей стал простым и удобным. Для этого мы поработали над отображением списка записей справочников в режиме выбора и добавили новые параметры для функции SelectSQL().
Выбрать несколько записей из списка можно, выделив их при помощи мыши и используя клавиш CTRL, SHIFT, стрелки. Этот способ имеет свои недостатки:
В новой версии системы для решения этих проблем разработана возможность выбора записей с помощью флажков:
Установить флажки можно различными способами. Например установить и снять флажки для всех записей можно с помощью клавиш 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().
По умолчанию функция будет открывать список в режиме выбора записей без колонки с флажками. Отобразить колонку можно, задав значение vsmMultipleCheck для параметра SelectionMode.
Кроме этого, функция SelectSQL() была дополнена еще двумя новыми параметрами DefaultVisibleColumns и ReturnedColumns. С их помощью разработчик может спрятать от пользователя ненужные для выбора колонки, а также задать колонки, необходимые для возвращения результата, например такие, как ИД объекта. Подробно функция SelectSQL() описана в справке в компоненте Функции ISBL.
Для удобства изучения возможностей функции для нее тоже был написан пример кода в справке.
Помимо выбора нескольких записей флажками, прикладной разработчик может настроить еще три режима выбора записей:
Эти режимы выбора так же устанавливаются с помощью свойств объектной модели и параметра SelectMode в функции SelectSQL().
Таким образом, мы постарались сделать выбор записей из списка более удобным. Например, использование флажков должно сократить время, которое тратят пользователи на выбор записей из больших списков. Пишите свои отзывы, идеи, пожелания, будем рады их рассмотреть.
Всё гениальное просто! А главное, "галочки" давно уже проверены и отработаны на тонне промышленного софта. Видимо, никуда не уйти от старых проверенных решений
Теперь в Директум появятся два модных словечка "галить" и "крыжить"
Мелочь, а приятно! Думаю, эта фича будет довольно часто использоваться на проектах.
Авторизуйтесь, чтобы написать комментарий