Как задействовать компоненту Список зависимых записей?
Постановка задачи: на пользовательской странице Направление на испытание АП (алкогольной продукции), где уже располагаются все необходимые атрибуты (дата направления, инспектор, количество образцов на испытание и другие поля) необходимо реализовать возможность добавления пользователем дополнительных видов испытаний (одного или нескольких) продукции из заранее сформированного перечня, предлагаемого в виде списка из которого можно включать или исключать необходимую запись(и). Данная возможность должна быть реализована с помощью элемента Список зависимых записей, иерархически вложенного и зависящего от основной компоненты Форма на текущей странице.
При открытии страницы Направление на испытание АПна редактирование, согласно сохраненным ссылкам между записями, интерфейс системы должен отобразить не только параметры самого направления (дату направления, лабораторию, количество образцов на испытание и др.), но и список связанных с ним дополнительных испытаний на проверку АП, ранее выбранных и сохранённых пользователем при формировании данного направления в системе.
Список зависимых записей(список дополнительных испытаний АП) должен иметь следующие настройки:
- элемент Список зависимых записей должен располагаться внутриосновной компоненты Форма на текущей странице, для того чтобы данные отобранные с помощью этой компоненты,сохранялись считывались из/в базу данных;
- в Граф сущностейв качестве Главной сущности основной результирующейТаблицы зависимых записей на странице должна быть определена таблица базы данных (справочник испытаний АП) -dic_test, на которую ссылается по ключу таблица связи product_review_request_referral_dic_test (данная таблица необходима, так как является таблицей связи между справочником испытаний dic_test и таблицей базы данных, где хранятся направления на испытания АП -product_review_request_referral, определенной в качестве Главной сущности компонентыФормана странице);
- в основной результирующейТаблице зависимых записей на странице должно отображаться наименование выбранного(ых) пользователем дополнительного(ых) испытания(й) АП, то есть должна быть включена колонка Наименование (name) таблицы базы данных Справочник испытаний (dic_test)с отображаемым на странице заголовком Дополнительные испытания;
- вГраф сущностейв качестве Главной сущности Таблицы доступных строк для выбора пользователем должна быть определенатаблица базы данных (справочник испытаний АП)-dic_test и в настройках колонок Таблицы должна быть включена колонкаНаименование (name) с отображаемым на странице заголовком Вид испытания;
- Связанную таблицу уже выбранных пользователем строк настраивать нет необходимости, поскольку по умолчанию (с помощью уже включенной в базовую конфигурацию функции - Продублировать конфигурацию текущей таблицы (с доступными строками) в таблицу уже выбранных строк) дублирует конфигурацию Таблицы доступных строк для выбора.
Решение задачи:
Предполагается, что страница Направление на испытание АП уже реализована бизнес-аналитиком, где имеется основная компонента Форма, в структуру сущностей которой в качестве Главной сущности включена таблица базы данных, где хранятся направления на испытания АП-product_review_request_referral (рис.1), на которую будет ссылаться основная Таблица компоненты Список зависимых записей, что позволит сохранять/подгружать значения из/в базы данных, отобранные с помощью этой компоненты.
Для добавления на страницу и настройки Списка зависимых записей необходимо сделать следующее:
- добавить внутрь Формы компоненту Список зависимых записей и для удобства переименовать ее, например как, Дополнительные испытания (рис.2);


рис.1 Редактор структуры сущностей основной компоненты Форма рис.2 Добавление компоненты Список зависимых записей внутрь Формы
- настроить в соответствии с условиемзадачи основную Связанную таблицу зависимых записей (в списке компонент, входящих в структуру Списка зависимых записей, находится первой по очередности над Кнопкой “Изменить”).
- в Граф сущностей настраиваемого элемента необходимо включить две таблицы базы данных: Справочник испытаний АП -dic_test (главная сущность) и таблица связи между справочником испытаний и направлением на испытаниеАП -product_review_request_referral_dic_test (рис.3).
- в свойстве компоненты Таблица. Настроить колонки таблицы необходимо указать колонку Наименование (name) таблицы базы данных dic_test (рис.4)
- в свойстве компонентыСписок зависимых записей. Взаимосвязи таблиц производим следующие настройки (рис.4):
> Колонка, ссылающаяся на таблицу “доступных”-указывается колонка dic_test_id таблицы базы данныхproduct_review_request_referral_dic_test, включенной в Граф сущностей текущей настраиваемой Связанной таблицы, что обеспечит связь с главной сущностью dic_testТаблицы доступных строк для выбора;
>Колонка, ссылающаяся на “основную” таблицу -указывается колонкаproduct_review_request_referral_idтаблицы базы данныхproduct_review_request_referral_dic_test, включенной в Граф сущностей текущей настраиваемой Связанной таблицы, что обеспечит связь с главной таблицей product_review_request_referralв Графе сущностей основной компоненты Форма на странице;
>Колонка “основной” таблицы - указывается колонка (первичный ключ) product_review_request_referral_id таблицы базы данныхproduct_review_request_referral, которая определена в качестве главной таблицы в Графе сущностейосновной компонентыФормана странице, на которую ссылается текущаянастраиваемаяСвязанная таблица;

*
рис.3 Редактор структуры сущностей Связанной таблицы рис.4 Настройка колонок таблицы и Взаимосвязи таблиц
настроить в соответствии с условиями задачи Таблицу доступных строк для выбора пользователем(в списке компонент, входящих в структуру Списка зависимых записей, находится первой по очередности внутри элемента Диалог).
- в Граф сущностейнастраиваемого элемента необходимо включить в качестве Главной сущности таблицу базы данныхСправочник испытаний АП-dic_test(рис.5)
- в свойстве компоненты Таблица. Настроить колонки таблицы необходимо указать колонкуНаименование (name)таблицы базы данныхdic_test(рис.6)


рис.5 Редактор структуры сущностей Таблицы доступных строк рис.6 Настройка колонок Таблицы доступных строк
- Связанную таблицууже выбранных пользователем строк (в списке компонент, входящих в структуру Списка зависимых записей, находится после Вертикального контейнера с кнопками действий “Добавить”, “Добавить все”, “Удалить”, “Удалить все” - рис.7) настраивать нет необходимости, поскольку по умолчанию дублирует конфигурацию (настройки) Таблицы доступных строк. Для этого используется функцияПродублировать конфигурацию текущей таблицы (с доступными строками) в таблицу уже выбранных строк,включенная в свойства Таблицы доступных строк (рис.8)
рис.7 Связанная таблица уже выбранных пользователем строк рис.8 Настройка функции Продублировать конфигурацию текущей таблицы в таблицу выбранных строк
- настройки Кнопок действий"Добавить", “Добавить все”, “Удалить”, “Удалить все”, используемые для добавления исключения записей в/из Таблицы доступных строк и Связанной таблицы уже выбранных пользователем строк, находящихсявнутрикомпоненты Диалог - оставить неизменными, т.е. по умолчанию заданными.
- настройки Кнопок подтверждения и отмены действия “Ок”/“Отмена”, находящихся внутри компоненты Диалог,остаются по умолчанию заданными.
Результат выполнения задачи:
После применения изменений на странице, в экранной форме пользовательского приложения, мы видим, что на странице отображается основная Таблицазависимых записей - “Дополнительные испытания” с кнопкой “Изменить”(рис.9). По нажатию на кнопку “Изменить” происходит открытие диалогового окна на странице со списком доступных записей для выбора пользователем. В левой части окна отображается список видов дополнительных испытаний АП, в правой части - список выбранных пользователем записей из предложенного справочника (рис.10). Выбор (исключение) записей осуществляется с помощью кнопок"Добавить", “Добавить все”, “Удалить”, “Удалить все”, расположенных в контейнере между Таблицей доступных строк для выбора и Таблицей уже выбранных строк (рис.11). После того, как список необходимых видов испытаний был сформирован пользователем, по нажатию на кнопку подтверждения действий “Выбрать” происходит перенос записей из Таблицы выбранных строк в основную Таблицу зависимых записей на странице (рис.12). Сохранение значений, отобранных с помощью компоненты Список зависимых записей, в таблицу базы данных будет произведено вместе с сохранением основнойФормы на странице по нажатию на кнопку “Сохранить”.
рис.9 Основная таблица зависимых записей на странице рис.10 Диалоговое окно со списком видов испытаний для выбора


рис.11 Добавление (исключение) записей из Таблицы доступных в Таблицу выбранных строк рис.12 Основная таблица зависимых записей с выбранными значениями
image2019-4-8_15-38-53.png (image/png)
image2019-4-8_15-47-11.png (image/png)
image2019-4-8_16-6-32.png (image/png)
Screenshot_31.png (image/png)
Screenshot_5.png (image/png)
Screenshot_9.png (image/png)
image2019-4-9_10-12-20.png (image/png)
image2019-4-9_10-13-21.png (image/png)
image2019-4-9_10-27-49.png (image/png)
image2019-4-9_10-29-59.png (image/png)
image2019-4-9_15-3-31.png (image/png)
image2019-4-9_15-7-21.png (image/png)
image2019-4-9_15-7-42.png (image/png)
Запись_2019_04_09_15_16_26_927.gif (image/gif)
image2019-4-9_15-23-58.png (image/png)
image2019-4-9_15-24-26.png (image/png)
image2019-4-9_15-26-55.png (image/png)
image2019-4-9_15-30-9.png (image/png)