Conectarea în interogare, comparație (în ierarhie)

Uneori este necesar, în cerere, în amestec, pentru a găsi ceea ce ierarhia generală. de exemplu, există două liste ale nomenclaturii elementelor acestor două liste trebuie să se unească pentru un părinte comun, în cazul în care este, iar acest lucru nu se știe cât de mare este acest părinte.

Ca o opțiune, puteți parsa părinții prin OR, de exemplu, așa


Numai aici adâncimea părinților este finită, dacă nu este clar ce adâncime are directorul, atunci este posibil să o rezolvi în așa fel
descărcați părinții în general într-un tabel de valori în două coloane,
la un părinte, iar în al doilea toți părinții posibili (după numărul de părinți, numărul de rânduri din tabelul de valori
utilizați tabelul rezultat pentru a vă conecta

Aceasta este prima mea lucrare pentru InfoStart

Ideea este de a pregăti un tabel de valori, unde ar exista informații

Prima coloană A doua coloană

și așa mai departe pentru fiecare grup din prima coloană, toate grupurile mai înalte din coloana a doua

și folosiți-o pentru această sarcină

În cazul în care va fi posibil să se specifice. Nomenclatura de conectare. Parent = T. Parentul este procesat ulterior

cu părinții părinți

/// este procedura principală în care trebuie să faceți o conexiune într-o ierarhie

Butonul Procedură Executați Apăsați (Buton)

M = Manager nou pentru tabele temporare;

Cerere = Solicitare nouă;
Cerere. Setați parametrul (Nomenclatura "Nomenclatură");

Obțineți kitul părinților (M);
Cerere. Manager tabele temporare = M;

// aceasta este, desigur, posibilă imediat în situația în care în IERARHIE să decidă
// acesta este doar un exemplu
Cerere. Text =

Rezultat = Solicitare. Rulați (). Descărcați ();
Elemente formale. TZ_1. Valoare = Rezultat. Copiați ();


// Aceste două proceduri creează un TOR cu grupuri

// prima procedură selectează toate grupurile

// al doilea umple TK cu părinții părinți pentru părintele primei coloane

Procedură pentru obținerea unui set parental (MenVremTables)

Mai mult decât părinții sănătoși. Sortați ("Primul părinte");

Cerere = Solicitare nouă;
Cerere. Manager TemporaryTables = MenVremTables;
Cerere. Setați parametrul ("VoTremTabl" .NEWS) de către părinți);
Cerere. Text =
„SELECT
| | ВоВремТабл.ПорвыйMama,
| | VoVremTabl.RoditelGdeToNadNomenklaturoy
| Plasați un timp
| FROM
| | VOSVremTabl HOW VosVremTABLE "
;
Cerere. Rulați ();

Procedura de primire a tuturor părinților (TOR, Parent, ParentNature, Parent)

Dacă părintele este părintele. Gol () Apoi
return;
Sfârșit Dacă;

pTZ = T3. Adăugați ();
strTZ. Primul părinte = Parent;
strTZ. Parent GDTNadNomenclature = ParentHeader;

Obțineți toți părinții (TOR, Parent, ParentNo Parent, Parent);