Amenajarea unui document de foaie de calcul cu grupări predefinite

Cum să afișați aspectul unui document de tabel, păstrând în același timp grupările de coloane

Recent am întâlnit o problemă: există o formă tipărită cu un aspect al documentului tabelului (denumit în continuare "layout"), din care se colectează TabDoc rezultatul (în continuare rezultatul). O ierarhie complexă a grupărilor de coloane este specificată în aspect, dar numărul de coloane ale rezultatului nu crește, adică rezultatul crește numai în lungime (de exemplu, sunt adăugate rânduri ale părții de masă), iar lățimea este limitată de lățimea dispunerii trase anterior. În această privință, există o întrebare logică despre cum să deducem grupările specificate în mockup. Desigur, mulți oameni știu că dacă afișați pur și simplu zonele de aspect în rezultat, grupările vor fi pierdute. Să scrieți niveluri programate pentru fiecare coloană și să le afișați separat într-un ciclu, în acest caz absolut lipsit de necesitate.







Prin urmare, este timpul să scuturați praful de la tamburină și să coaxi cumva zeii 1C.

Nu a găsit un răspuns în cadrul joint venture-ului cu colegii și în Yandex. A trebuit să transpir și să găsesc o soluție râvnită prin metoda de înșelătorie științifică.

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







Layout = Obțineți aspectul ("Layout");

AreaShap = Layout. Obțineți zona ("Cap");

TabDoc = nou TabularDocument;

// După afișarea unui aspect grupat în TabDoc, toate grupările din aspect sunt setate în TabDock

// Dacă nu scoateți aspectul, ci zona de aspect, grupările nu sunt transferate

// T.e. atunci când aplicați metoda "Obțineți zonă", grupările din această zonă nu sunt considerate ca și cum nu ar fi fost

// Grupările de coloane din noul document de tabelă sunt stabilite de tabelul FIRST.

// în care există cel puțin o linie, deci trebuie să afișați aspectul cu grupările la început

// și în plan, pe lângă gruparea în sine, trebuie să existe și linii

TabDok. Ieșire (obțineți aspectul ("grupul salvat"));

TabDok. Ieșire (Zona îndoită);

// ștergeți liniile din layout-ul "SavedGroupsColon", deoarece am avut nevoie de ele doar pentru a ne asigura,

// pentru a seta gruparea dorită a coloanelor în noul tabel

// Important! - dacă după ștergerea liniilor din document pentru a șterge toate rândurile, gruparea coloanelor va fi, de asemenea,

// astfel încât să ștergem liniile "extra", numai după ce au fost aduse la masă. cel puțin o linie "inutilă"

// trebuie să specificăm tipul de deplasare diferit de "fără deplasare", altfel zona eliminată din text va rămâne în tabelul nostru

TabDok. Ștergeți zona (zona TabDoc. (1. 1,), Tipul locației documentului de tabelă.

// doar pentru caz, vom verifica dacă gruparea liniilor este, de asemenea, OK

TabDok. Ieșire (Layout: Get Area ("Linie"), 0);

TabDok. Ieșire (Aspect. Obțineți zona ("Linie"), 1);







Trimiteți-le prietenilor: