Отображение иерархических динамических списков в табличном поле имеет ряд особенностей .
Так табличное поле позволяет просматривать иерархические динамические списки по группам , при этом свойство » ТекущийРодитель » табличного поля указывает текущую группу , а свойство » ИзменятьТекущегоРодителя » позволяет запретить переход между группами в табличном поле . Смена текущего родителя происходит при помощи команд перехода по уровням , при отработке связи с другим табличным полем , отображающим дерево групп , а также при программном изменении свойства » ТекущийРодитель «. Следует заметить , что поле » Родитель » отображаемого динамического списка исключается табличным полем из списка доступных полей для отбора . Это связано с тем , что переход по иерархии является частью функциональности табличного поля и понятие » Родитель » для табличного поля является выделенным понятием и не обрабатывается в отборах как другие поля . Так как табличное поле при отображении динамических списков использует механизм динамической выборки , то при формировании выборки оно включает в нее дополнительное условие , указывающее родителя для получаемого блока данных . Тем самым , получаются только строки , имеющие указанного родителя .
Следует отметить , что не существует возможности установки отбора по родителю программно или интерактивно ( посредством команды » Установить отбор и сортировку списка «).
Может возникнуть ситуация , когда в табличном поле необходимо отобразить строки , подчиненные определенному родителю , включая подчиненные строки . Так как используя свойство табличного поля » ТекущийРодитель » можно получить только строки , подчиненные указанному родителю , то не существует стандартной возможности сделать такой отбор . Для решения данной проблемы рекомендуется использовать следующую методику .
Например , пусть существует форма списка справочника » Номенклатура » с двумя табличными полями . Пусть одно из табличных полей отображает указанный список справочника как дерево , а другое как список .
Требуется в табличном поле , отображающем справочник как список отображать все строки , подчиненные текущей строке табличного поля , отображающего древовидный справочник . Для этого при обработке события » ПриАктивизацииСтроки » табличного поля , отображающего древовидный справочник необходимо установить отбор списку справочника , отображаемому как список . Например :
Следует заметить , что табличное поле в открываемой форме будет отображать не иерархический список , а также что данный фрагмент программы не является производительным .
Более подробно ознакомиться с отличиями работы табличного поля при отображении динамических списков можно в разделе Особенности работы табличного поля с динамическими списками.
|