Свойства элементов - Настройка автозаполнения других полей от «Родительского» поля
Может возникнуть ситуация, когда в осмотре необходимо заполнить какие-либо данные и в зависимости от того что было заполнено, нужно вывести ту или иную информацию в другом поле. Подобную настройку можно сделать посредством свойства «Элемент родитель».
Для настройки необходимо написать SQL-запрос у которого вместо параметра будет выступать программное имя элемента. Программное имя элемента всегда пишется вверху справа окна редактора шаблона (рисунок 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).
А так же в свойстве «АвтоЗначение» необходимо указать данные из запроса, которые должны будут подставиться. В нашем примере будем выводить значение должности (рисунок 3).
После проведенных настроек, шаблон сохраняется. Результатом такой настройки станет следующее: как только в шаблоне будет заполнено поле со специалистом (рисунок 4), автоматически будут настроены ниже настроенные поля, которые выведут отделение и должность выбранного специалиста (рисунок 5).




