Как добавить список с поиском для выбора одного значения на страницу?
Постановка задачи: необходимо реализовать на пользовательской странице Создания проекта элемент Администратор проекта (Список с поиском для выбора одного значения), выбранное значение которого будет сохраняться в базу данных и вложенные компоненты которого будут иметь следующие настройки:
Список с поиском (с возможностью сохранения):
- надпись поля - Администратор
- недоступно для управления пользователем
- обязательно для заполнения пользователем приложения
- должно иметь подсказку - Выберите сотрудника
- подлежит сохранению в базу данных
- значение поля должно сохраняться в таблицу Проекты (projects) в колонку Администратор проекта (admin_employee_id)
- в Граф сущностей должна быть добавлена таблица Список сотрудников(employees)
- колонка должна быть составной и включать в себя поля Фамилия, Имя, Отчество, электронный адрес из таблицы Список сотрудников (employees). Разделителем должен быть пробел. Например, Петров Иван Алексеевич (petrov@cg.ru)
Кнопка выбора (вызова диалога):
- надпись на кнопке - +
Группа фильтров должна включать в себя фильтры, расположенные в двух вертикальных контейнерах параллельных друг другу:
- Фильтр по текстовому полю (по фамилии сотрудника)
- надпись поля - Фамилия
- подсказка - Укажите фамилию
- фильтровать по… - таблице Список сотрудников и колонке Фамилия (name_last)
- операция фильтрации - Содержит всю подстроку
- Фильтр по текстовому полю (по имени сотрудника)
- надпись поля - Имя
- подсказка - Укажите имя
- фильтровать по… - таблице Список сотрудников иколонке Имя(name_first)
- операция фильтрации - Содержит всю подстроку
- Фильтр по текстовому полю (по отчеству сотрудника)
- надпись поля -Отчество
- подсказка - Укажите отчество
- фильтровать по… - таблице Список сотрудников иколонке Отчество (name_middle)
- операция фильтрации - Содержит всю подстроку
- Фильтр по текстовому полю (по e-mail сотрудника)
- надпись поля - E-mail
- подсказка -Укажите весь email или его часть
- фильтровать по… -таблице Список сотрудников и колонке Электронный адрес(user_mail)
- операция фильтрации - Содержит всю подстроку
- Фильтр по выпадающему списку (по организации)
- надпись поля -Организация
- подсказка -Выберите значение из списка в настройках фильтрации: правило обработки -ИЛИ
- фильтровать по… -таблице Список сотрудников иколонке Организация(legal_entity_id)
- подгрузка данных:
- источником данных служит - таблица Организация (legal_entities), заданная в Графе сущностей сортировка производится по полю - Наименование (name) таблицы Организация (legal_entities) на странице пользователю отображается значение поля -Наименование (name) таблицы Организация (legal_entities) дополнительно возвращаться значение - Идентификатор(legal_entity_id) таблицы Организация (legal_entities) значение фильтра, которое будет передаваться другому элементу - Идентификатор (legal_entity_id) таблицы Организация (legal_entities)
- операция фильтрации: Равно
Таблица:
- в Граф сущностей должны быть включены таблицы -Список сотрудников (главная сущность) и Организация, связанные по ключу legal_entity_id
- должны отображаться три колонки:
- Составная колонка ФИО из полей Фамилия, Имя, Отчество таблицы Список сотрудников(employees)
- E-mail из поля Электронный адрес (user_mail) таблицы Список сотрудников(employees)
- Организация из поля Наименование (name) таблицы Организация (legal_entities)
- сортировка должна осуществляться по возрастанию по колонке Фамилия (name_last) таблицыСписок сотрудников(employees)
Решение задачи:
Предполагается, что страница с Созданием проекта уже реализована бизнес-аналитиком, где имеется основная компонента Форма, в структуру сущностей которой включена необходимая, в данном случае, ***таблица Проекты (projects)***, в которую будет сохраняться выбранное значение (Администратор проекта). Для добавления на страницу и настройки Списка с поиском для выбора одного значениянеобходимо сделать следующее:
- добавить внутрь Формы компоненту Список с поиском для выбора одного значения и для удобства переименовать ее, например как, Администратор
- произвести настройку всех вложенных компонент согласно условию задачи
Настройка вложенных компонент:
Список с поиском с возможностью сохранения (рис.1,рис.1.1, рис.1.2)
рис.1 Настройка основных параметров Списка с поиском рис.1.1 Настройка Графа сущностей Списка с поиском рис.1.2 Настройка подгрузки данных Списка с поиском с возможностью сохранения
Кнопка выбора (рис.2)
Фильтр по Фамилии сотрудника (рис.3)
Фильтр по Имени сотрудника (рис.4)


рис.2 Настройка Кнопки выбора рис.3 Настройка Фильтра по фамилии сотрудника рис.4 Настройка Фильтра по имени сотрудника
Фильтр по Отчеству сотрудника (рис.5)
Фильтр по E-mail сотрудника (рис.6)
Фильтр по Организации (рис.7)



рис.5 Настройка Фильтра по отчеству сотрудника рис.6 Настройка Фильтра по E-mail сотрудника рис.7 Настройка Фильтра по организации
Таблица (рис.8, рис.9, рис.10)
рис.8 Настройка Графа сущностей Таблицы рис.9 Настройка колонок Таблицы рис.10 Настройка колонок Таблицы
Результат выполнения задачи:
После применения изменений на странице, в экранной форме пользовательского приложения, мы видим, что условия задачи соблюдены и элемент корректно отображается на странице (рис.11, рис.12, рис.13)



рис.11 Визуальное отображение поля без выбранного значения рис.12 Визуальное отображение окна Диалога с Таблицей рис.13 Визуальное отображение поля с выбранным значением
image2019-2-6_17-6-45.png (image/png)
image2019-2-15_13-42-3.png (image/png)
image2019-2-15_13-42-12.png (image/png)
image2019-2-15_13-42-16.png (image/png)
image2019-2-15_15-46-41.png (image/png)
image2019-2-15_15-47-42.png (image/png)
image2019-2-15_15-51-8.png (image/png)
image2019-2-15_15-52-35.png (image/png)
image2019-2-15_15-52-56.png (image/png)
image2019-2-15_15-57-18.png (image/png)
image2019-2-15_15-59-34.png (image/png)
image2019-2-15_16-1-57.png (image/png)
image2019-2-15_16-2-22.png (image/png)
image2019-2-15_16-6-5.png (image/png)
image2019-2-18_15-31-45.png (image/png)
image2019-2-18_15-32-27.png (image/png)
image2019-2-18_15-32-59.png (image/png)
image2019-2-18_15-34-10.png (image/png)
image2019-2-18_15-34-40.png (image/png)
image2019-2-18_15-35-7.png (image/png)
image2019-2-18_15-38-23.png (image/png)
image2019-2-18_15-39-4.png (image/png)
image2019-2-18_15-54-23.png (image/png)
image2019-2-18_15-54-57.png (image/png)
image2019-2-18_15-56-22.png (image/png)
image2019-2-18_16-5-34.png (image/png)
image2019-2-18_16-7-57.png (image/png)
image2019-2-18_16-8-44.png (image/png)
image2019-2-18_16-9-24.png (image/png)
image2019-2-18_16-24-23.png (image/png)
image2019-2-18_16-24-52.png (image/png)
image2019-2-18_16-27-49.png (image/png)
image2019-2-18_16-28-40.png (image/png)
image2019-2-18_16-31-32.png (image/png)
image2019-2-18_16-32-22.png (image/png)
image2019-2-18_16-32-46.png (image/png)
image2019-2-19_10-6-59.png (image/png)