Реализация окна выбора из списка (Seler)

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

Пример 1: Изменение условий фильтрации

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

Задача: необходимо показывать в окне выбора из списка только те организации, чей номер телефона содержит определенную последовательность цифр, например, «812».

Чтобы добавить фильтр по номеру телефона, необходимо:

  1.  В поле «Фильтр» редактора формы ввести выражение:

PhoneOrg LIKE '%812%'

В результате поле «Фильтр» примет вид:

  1. Сохранить изменения и протестировать форму.

В результате выполненных действий в окне выбора из списка отображается только организация «Реально», так как только её телефон содержит комбинацию цифр «812»:

Чтобы проверить корректность работы фильтра, необходимо:

  1. Выполнить из меню или панели инструментов редактора формы команду «Показать записи объекта БД».

Откроется форма просмотра первых 100 записей объекта БД (в нашем примере – представления), используемого на форме выбора из списка:

Фильтрация выполнена верно, так как только телефон организации ООО «Реально» содержит необходимую комбинацию цифр - «812».

Пример 2: Изменение вида полей

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

Задача: необходимо отображать на полях формы не только название организации, но и её номер телефона.

Для выполнения данной задачи необходимо:

  1. Перейти к панели «Поля» на закладке «Атрибуты»:

  1. В поле «Отображаемое поле» ввести следующее выражение:

OrgShortName + '  ' + PhoneOrg

В результате поле примет вид:

  1. Сохранить изменения и протестировать форму.

В результате рядом с названием организации будет отображён её номер телефона:

Чтобы отображать названия организаций и номера телефонов в отдельных колонках формы, необходимо:

  1. Открыть форму «Описание полей» (кнопка «Открыть редактор полей селера»):

  1. Добавить столбец «Телефон», как показано на рисунке ниже:

  1. Сохранить изменения и протестировать форму.

В результате рядом с названием организации во второй колонке «Телефон» отображается её номер телефона:

Чтобы выполнить на форме поиск организации по номеру телефона, необходимо:

  1. Добавить наименование поля «PhoneOrg» в поле поиска:

  1. Сохранить изменения и протестировать форму.

В результате будет выполнен поиск как по наименованию организации, так и по фрагменту телефонного номера (например, «812»), при этом название организации и номер телефона отображаются в отдельных колонках:

Пример 3: Настройка сортировки записей

Если поле сортировки для формы задано не было, то записи будут отсортированы в том порядке, в котором они были выбраны объектом БД.

В нашем случае сортировка названий организаций производится в прямом алфавитном порядке:

Чтобы получить, например, обратный алфавитный порядок названия организаций, необходимо:

  1. В поле сортировки добавить к значению «OrgShortName» команду «desc» (обратная сортировка):

  1. Сохранить изменения и запустить форму.

В результате названия организаций отображены в обратном алфавитном порядке:

Подробнее смотрите в разделе «Руководство разработчика».

 

Примеры реализации
Подписаться

Новые статьи

Обновление от 28 июля 2021 Обновление WEB-версии Платформы Планировщик заданий в платформе Sherp Обновление от 18 марта 2021 SQL-редактор. Создание объектов Базы Данных и объектов интерфейса Реализация окна выбора из списка (Seler) Подготовка пакета обновлений Новые свойства «Окна списка» (Browser) Web-версии Платформы Календарь в WEB-версии Платформы Экспорт объектов Базы Знаний

0 комментариев

Чтобы оставить комментарий, пожалуйста, авторизируйтесь или зарегистрируйтесь

Обязательное поле