Táblázatos dokumentum elrendezése előre meghatározott csoportosításokkal

A táblázatos dokumentum elrendezésének megjelenítése, miközben megőrzi az oszlopok csoportosítását

Nemrégiben problémát tapasztaltunk: van egy nyomtatott formanyomtatvány, amely a táblázatos dokumentum elrendezésével (a továbbiakban az elrendezéssel) rendelkezik, amelyből a kapott TabDoc gyűjtődik (a továbbiakban az eredmény). Az oszlopcsoportok komplex hierarchiája az elrendezésben van megadva, de az eredmény oszlopainak száma nem növekszik, azaz nem növekszik. az eredmény csak hosszban növekszik (például az asztal részének sorai kerülnek hozzáadásra), és a szélességet korlátozza a korábban rajzolt elrendezés szélessége. E tekintetben logikus kérdés merül fel a mockup-ban meghatározott csoportosulások lefektetésében. Biztosan sokan tudják, hogy ha egyszerűen megjeleníti az eredményt az elrendezés területein, a csoportok elveszhetnek. Minden egyes oszlophoz programozhatóan írjon szinteket, és azokat egy ciklusban külön mutassa be, ebben az esetben teljesen szükségtelen.







Ezért itt az ideje, hogy rázza le a por a tambourine és valahogy koaxiális istenek 1C.

Nem találtak választ a közös vállalkozásban a kollégákkal és a Yandex-ben. Meg kellett izzadnia, és találnia kellett egy lelkes megoldást a tudományos poking módszerével.

Eljárás gomb végrehajtása Nyomja meg a (gombot)







Layout = Get az elrendezés ("Layout");

AreaShap = Elrendezés. Kapja meg a területet ("Cap");

TabDoc = új TabularDocument;

// A TabDoc csoportos elrendezésének megjelenítését követően az elrendezés összes csoportja a TabDockban van beállítva

// Ha nem az elrendezést, hanem az elrendezési területet adja ki, a csoportosítást nem továbbítják

// T.e. amikor a "Get Area" módszert alkalmazza, a csoportosulások ezen a területen nem számítanak úgy, mintha nem lennének

// Az új táblázatban szereplő oszlopok csoportosítását az FIRST táblázat határozza meg.

// ahol legalább egy sor van, így az elrendezést a csoportoknál az elején kell megjeleníteni

// és az elrendezésben, a csoportosításon túl, vonalaknak kell lenniük

TabDok. Kimenet (Get the Layout ("SavedGroupingsColumn"));

TabDok. Output (Area Fold);

// törölje a "SavedGroupsColon" elrendezés sorát, mert csak azért kellett nekik, hogy biztosak legyünk,

// a kívánt oszlopcsoport beállításához az új táblában

Fontos! - ha a sorok törlése után a dokumentumból minden sor törlése után az oszlopok csoportosítása is törlődik,

// ezért töröljük az "extra" sort, csak miután az asztalra került. legalább egy "nem felesleges" sor

// meg kell adnunk az elmozdulás típusát, amely különbözik az "Áthelyezés nélkül", egyébként a szövegből törölt terület a táblázatban marad

TabDok. Terület törlése (TabDoc. Terület (1. 1,), táblázat táblázat helyének típusa.

// csak abban az esetben ellenőrizzük, hogy a sorok csoportosítása is rendben van-e

TabDok. Kimenet (Layout: Get Area ("vonal"), 0);

TabDok. Kimenet (Elrendezés) Get the Area ("Line"), 1);