Понякога е необходимо, в искането, в микса, за да намерите това цялостната йерархия. например, има два списъка с номенклатурата на елементите на тези два списъка трябва да се обединят за обща майка, ако е така, и това не е известно колко висока е тази майка.
Друга възможност е да мине през техните родители или чрез, например
Само тук дълбочината на родителите е ограничен, ако не е ясно колко дълбоко е справка, че е възможно да се реши така
разтоварят всички родители в таблицата със стойностите в две колони,
един родител, а вторият всички възможни родителите си (в броя на родителите на броя на редовете в таблицата от ценности
получената маса се използва за soedenieniya
Това е първият ми есе за Infostarta
идеята е, че за да се подготви една маса от ценности, където беше информацията
Първата колона втората колона
и т.н. за всяка група в първата колона, само по-висок обхват във втория
и да го използвате за тази задача
Къде можете да зададете. Съединените Nomenklatura.Roditel = TZ.Roditel и тяхната последваща обработка
родители с по-високо състояние
/// е основна процедура, в която трябва да се получи съединение в йерархията
KnopkaVypolnitNazhatie Процедура (бутон)
М = New TempTablesManager;
Заявка = нова заявка;
Заявка. UstanovitParametr ( "Номенклатура" номенклатура.);
PoluchitNaborRoditeley (М);
Заявка. TempTablesManager = М;
// Това, разбира се, може веднага в състояние, при което в йерархията да се реши
// това е само един пример
Заявка. текст =
Резултат = заявки. Run (). Оставете ();
ElementyFormy. TZ_1. Резултати Value =. Copy ();
// Тези две процедури осигуряват TK с групи
// първата процедура избира всички групи
// запълва втори TK-добрите родители за родители в първата колона
процедура PoluchitNaborRoditeley (MenVremTablits)
NovTZSoVsemiRoditelyami. Sort ( "PervyyRoditel");
Заявка = нова заявка;
Заявка. TempTablesManager = MenVremTablits;
Заявка. UstanovitParametr ( "VoVremTabl" NovTZSoVsemiRoditelyami.);
Заявка. текст =
"SELECT
| VoVremTabl.PervyyRoditel,
| VoVremTabl.RoditelGdeToNadNomenklaturoy
| СЛОЖИ VremTab
| ОТ
| VoVremTabl AS VoVremTabl "
;
Заявка. Изпълнение ();
процедура PoluchitVsehRoditeley (ТСР. майка. RoditelNadRoditelem)
Ако RoditelNadRoditelem. Empty () След това
се върне;
ENDIF;
strTZ = TK. Добави ();
strTZ. PervyyRoditel = майка;
strTZ. RoditelGdeToNadNomenklaturoy = RoditelNadRoditelem;
PoluchitVsehRoditeley (TK RoditelNadRoditelem майка майка ...);