Skip to main content

Свойства элементов - Настройка автозаполнения других полей от «Родительского» поля

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

Для настройки необходимо написать SQL-запрос у которого вместо параметра будет выступать программное имя элемента. Программное имя элемента всегда пишется вверху справа окна редактора шаблона (рисунок 1).

изображение.pngРисунок 1 - Программное имя элемета

Поле от которого будет зависеть заполнение других полей, должны быть реализовано в виде элемента связанного с БД, чеще всего удобнее исспользовать "Реквизит из БД". Сам элемент должен содержать в себе тот справочник который будет исспользоваться в запросе. Ниже приведн пример подобного запроса, который по выбранному специалисту будет выводить его должность и отделение.

Пример запроса

select A.SPECIALSMED, A.DOLGNOST, DEP.TITLE
from REF_MEDPERSONAL A
left join REF_DEPARTMENTS DEP on A.DEPARTMENT = DEP.ID
where A.ID = :ELEMENT_5

Для других элементов, которые будут заполняться в зависимости от нашего выбра, необходимо настроить свойства «Элемент родитель». В данном свойстве указывается программное имя элемента от которого будет заполняться данное поле, в нашем примере это «element_5» (рисунок 2).

изображение.pngРисунок 2 - Пример настройки свойства «Элемент родитель»

А так же в свойстве «АвтоЗначение» необходимо указать  данные из запроса, которые должны будут подставиться. В нашем примере будем выводить значение должности (рисунок 3).

изображение.pngРисунок 3 - Пример настройки свойства «АвтоЗначение»

После проведенных настроек, шаблон сохраняется. Результатом такой настройки станет следующее: как только в шаблоне будет заполнено поле со специалистом (рисунок 4), автоматически будут настроены ниже настроенные поля, которые выведут отделение и должность выбранного специалиста (рисунок 5).

изображение.pngРисунок 4 - Выбор в тестовом, настроенном поле - специалиста
изображение.pngРисунок 5 - Пример заполнения других связанный полей после выбора специалиста