Skip to main content

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

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

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

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

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

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

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 - Пример заполнения других связанный полей после выбора специалиста