Kontakty

Funkcie vytvárania prehľadov (1Cv8). Vytvorenie prehľadu krok za krokom

Aby som sa vyhol komentárom typu „toto je objav aj pre mňa!“, urobím si hneď rezerváciu: článok je určený pre neskúsených vývojárov ACS, tí, ktorí to už vedia, nemusia vyjadrovať svoje „wow! “, pochopte, že to, čo je vám zrejmé, nie je vždy zrejmé aj ostatným.

Na vizuálne znázornenie implementácie niektorých trikov som vyrobil malé polotovary vo forme externých obvodov ACS. Popisy trikov a screenshoty som sa snažil urobiť tak, aby bola jasná podstata a technika implementácie triku bez nutnosti sťahovania diagramov. Pre niektorých to bude stačiť, ale ak niečo nie je jasné, vždy si môžete stiahnuť zodpovedajúci diagram a priamo vidieť implementáciu.

Trik #1. Mnoho tvárí so správnym významom.

Takže na zahriatie začneme niečím jednoduchším. V mechanizmoch ACS ako "Výber" alebo "Podmienené formátovanie" ste sa pravdepodobne stretli so stĺpcami "Pole" (alebo "Ľavá hodnota") a "Hodnota" (alebo "Správna hodnota"). Profesionáli tento trik pravdepodobne poznajú, no pre začiatočníkov nie je vždy ľahké uhádnuť, že pole zloženia údajov možno použiť vľavo aj vpravo (t. j. porovnávať nielen dané pevné hodnoty, ale aj iné polia ACS v rámci toho istého riadok). Ak to chcete urobiť, prejdite do režimu úprav v pravom poli hodnoty, kliknite na tlačidlo vymazať hodnotu ("dick"), potom kliknite na tlačidlo výberu typu, ktoré sa zobrazí (písmeno "T") a vyberte "Pole kompozície údajov" typu.

Príklad.
Ako príklad som nevynašiel koleso, ale vzal som najbežnejšiu súvahu pre účet 60 z demo verzie 1C: Účtovníctvo (používam vydanie 2.0.). Pre tých, ktorí nevedia, počnúc verziou 2.0 bola táto správa vytvorená na základe systému kontroly prístupu.

Nastavme teda výber priamo v ňom pre riadky s podmienkou „BU Dt (obrat)“ Rovná sa „BU Kt (obrat)“ a na zostavu aplikujme aj podmienené formátovanie, pričom žltou zvýrazníme bunky riadkov, kde „ BU Kt (konečný zostatok) " Viac "BU Kt (obrat)". Ak niekto nevie, ako povoliť panel „Vzhľad“, nájdite tlačidlo „Možnosti panela možností“ napravo od nadpisu „Panel nastavení“.

Konečný výsledok by mal vyzerať asi takto:

Trik #2. Výber skupiny.

Každý vie, čo je Selekcia v ACS, no nie každý vie, že sa dá použiť nielen na zostavu ako celok, ale aj na jednotlivé zoskupenia riadkov a stĺpcov. Pri používaní takéhoto nástroja existuje veľa problémov. Napríklad podmienené detaily (obmedzenie, pre ktoré skupiny najvyššej úrovne sa majú zobraziť podrobnosti a pre ktoré nie), alebo variabilné detaily (zobrazenie rôznych dekódovaní pre rôzne hodnoty zoskupení najvyššej úrovne). Na jednom z projektov UPP bolo napríklad potrebné vytvoriť formulár kalkulácie nákladov s pevnou štruktúrou (samostatná referenčná kniha) a pre rôzne kalkulačné položky zobrazovať prepisy buď podľa nákladových položiek, alebo podľa konkrétnych nákladov, alebo nezobrazovať čokoľvek. Vďaka tomuto triku som pri vývoji správy nemusel opustiť systém kontroly prístupu.

Príklad.
Účel príkladu: zobraziť SOĽ, v ktorej pre účty vzájomného vyrovnania (60,62,76) sa zobrazí členenie podľa protistrany a pre nákladové účty (20,23,25,26) - podľa nákladových položiek.

Samotný ACS je implementovaný vo forme dátového súboru, kde je použitý dotaz do virtuálnej tabuľky zostatkov a obratov účtovného registra „Nákladové účtovníctvo“.
Umiestňujeme vnorené skupiny „Organizácia“ a „Účet“. V zoskupení „Účet“ umiestňujeme paralelne 2 skupiny „Subconto1“ a „Subconto2“, pre ktoré nastavíme príslušné výbery.
Uvádzam ilustráciu nastavení na snímke obrazovky:


Ak ste nezakázali výstup výberov v hlavných nastaveniach zostavy na karte „Iné nastavenia“, určite to bude potrebné urobiť v „iných nastaveniach“ našich zoskupení „Subconto1“ a „Subconto2“.

Trik #3. Neviditeľný klobúk

Ďalší trik si možno predstaviť ako pokračovanie predchádzajúceho. Ak ste si všimli, vo výslednom prehľade, napriek tomu, že v skutočnosti je zobrazená len jedna podkonto, sú v hlavičke zahrnuté obe (podkono1 aj podkono2). Bohužiaľ, vývojári ACS neposkytli možnosť úpravy viditeľnosti hlavičky alebo použitia nejakého symbolu služby, ktorý, ak je nastavený ako hlavička, nevytvorí hlavičku poľa. Ale, ako ste už pravdepodobne uhádli, existuje trik, ktorý do určitej miery pomôže obísť toto obmedzenie.

Pri vývoji schémy v preddefinovanom rozložení návrhu pridajte rozloženie zoskupenia s definíciou podľa názvu skupiny „Neviditeľný“, ako je znázornené na snímke obrazovky. Upozorňujeme, že pole „Region“ musí zostať prázdne!

A potom nastavte názov „Invisible“ pre zoskupenie „Subconto2“:

A voila... klobúk skupiny „Subkonto2“ zmizne a správa bude vyzerať takto:

Môžete sa opýtať, prečo je rozloženie návrhu špecifikované cez názov, a nie cez špecifikáciu konkrétneho poľa zoskupenia? Takto sa jednoducho získa univerzálnejšie riešenie a následne sa tento názov zoskupenia dá nastaviť v možnostiach zostavy pre ľubovoľné zoskupenie, ale zmena preddefinovaného rozloženia vo voľbách už nebude fungovať.

Áno, tento trik má ešte jednu nuanciu: majte na pamäti, že „klobúk neviditeľnosti“ pokrýva nielen túto skupinu, ale aj všetky nižšie! Tie. Ak skupine „Subconto1“ priradíte názov „Invisible“, potom sa v hlavičke nezobrazí ani „Subconto1“ ani „Subconto2“!

Trik #4. Volajte ma ako chcete

Väčšina vývojárov ACS vie, ako nastaviť hlavičku poľa požiadavky. Na karte ACS „Súbory údajov“ začiarknite políčko zrušiť automatický názov a do poľa „Názov“ zadajte požadovaný text. Nevýhodou je, že v používateľskom režime táto metóda nie je k dispozícii a chcete premenovať hlavičku bez toho, aby ste sa uchýlili k pomoci konfigurátora. Takže v nastaveniach možností zostavy existuje nielen spôsob, ako premenovať hlavičky polí, ale aj ich „zakryť“ zoskupením „hlavičky“. Ak to chcete urobiť, na karte „Vybraté polia“ vyberte požadované polia a kliknite pravým tlačidlom myši. Ako vidíte na snímke obrazovky, pre polia sú k dispozícii možnosti „Nastaviť názov“ a „Polia skupiny“.
Upozorňujeme, že pri zoskupovaní polí je potrebné nastaviť názov aj cez záložku „Vybraté polia“ a nie cez kontextové menu „Nastaviť názov“ v hornej (štrukturálnej) časti nastavení variantu!



Po všetkých nastaveniach vyzerá verzia zostavy takto:



P.S.
Malá rada pre tých, ktorí si stiahnu diagram. Existuje iba jedna schéma, ale všetky triky sa vykonávajú vo forme samostatných možností pre nastavenia správy tejto schémy:

Pokračovanie nabudúce...

Pri vytváraní zostáv pomocou systému skladania údajov (DCS) je vhodné zobraziť parametre zostavy (aspoň najčastejšie používané) na formulári, aby používateľ nenútil vŕtať sa v štandardnom okne nastavení DCS.

Pozrime sa, ako to možno urobiť pomocou bežných formulárov 1C. Okamžite si urobme rezerváciu, že v tomto článku budeme uvažovať presne o výstupe parametrov do formulára, t.j. samotné parametre v systéme kontroly prístupu už musia byť vytvorené.

Existujú dva spôsoby výstupu parametrov ACS do bežnej formy:

  • výstup celej tabuľky nastavení parametrov
  • výstup jednotlivých parametrov vo forme vstupných polí.

Tabuľka nastavení parametrov zobrazená vo formulári je podobná tabuľke nastavení parametrov vygenerovanej nástrojmi ACS. Na jej zobrazenie vo formulári je potrebné vytvoriť ovládací prvok TableField, ktorá má majetok Údaje naznačiť Settings Composer.Settings.Data Options

V tomto prípade sa používateľovi zobrazia všetky parametre systému kontroly prístupu, ktoré nemajú obmedzenie dostupnosti.

V niektorých prípadoch sa však táto metóda nemusí zdať taká krásna a nie príliš užívateľsky prívetivá. Pozrime sa, ako zobraziť parametre ACS na formulári samostatne vo forme bežných vstupných polí.

  1. Vytvorme podrobnosti správy zodpovedajúce parametrom. V našom príklade to budú detaily Dátum začiatku, Dátum ukončenia, Organizácia. Nastavme im vhodné dátové typy.
  2. Vytvorme vstupné polia na formulári pre každý z parametrov a prepojme ich cez vlastnosť Údaje s podrobnosťami prehľadu. Pre každé vstupné pole by bolo fajn vytvoriť vedľa neho štítok s názvom parametra, aby používateľ pochopil, ktorý parameter upravuje.
  3. Pre každé vstupné pole musíte vytvoriť procedúru pre obsluhu udalosti Keď sa to zmení, ktorý nastaví užívateľom zvolenú hodnotu na parametre ACS. V príklade som vytvoril jednu procedúru a priradil ju na zmenu udalostí všetkých troch vstupných polí. To znamená, že keď sa zmení jeden parameter, všetky tri sa vynulujú. Z hľadiska výkonu to s najväčšou pravdepodobnosťou nie je efektívne, ale... Parametrov nie je veľa, rozdiel nie je badateľný. Ak existuje veľký počet parametrov, oplatí sa nastaviť každý v samostatnom postupe. Takže kód postupu pre handlera Keď sa to zmení bude vyzerať takto:

    Procedure ParametersOnChange(Element)

    ParameterStartDate = SettingsLinker. Nastavenie. Parametre údajov. Prvky. Nájsť ("Začiatok obdobia"); //Hľadanie sa vykonáva podľa názvu parametra ACS
    ParameterDateStart Použitie = Pravda ; //Parameter sa použije pri výbere
    ParameterDateStart Hodnota = Dátum začiatku; //Parametru je priradená hodnota atribútu zostavy

    ParameterDataCon = LinkerSettings. Nastavenie. Parametre údajov. Prvky. Nájsť ("Obdobie konca");
    ParameterDateCon. Použitie = Pravda ;
    ParameterDateCon. Hodnota = Deň ukončenia (Dátum ukončenia) ;

    ParameterOrg = ComposerSettings. Nastavenie. Parametre údajov. Prvky. Nájsť ("Organizácia");
    ParameterOrg. Použitie = Pravda ;
    ParameterOrg. Hodnota = Organizácia;

    EndProcedure

Takmer všetky parametre dostupné v dialógových oknách nastavení tlače (nastavenia tlačiarne, vlastnosti stránky) je možné zadať priamo pri generovaní tabuľkového dokumentu.

Pozrime sa na vlastnosti a metódy tabuľkového dokumentu súvisiace s nastaveniami tlače (v uvedených príkladoch je „TabDoc“ objekt typu „Spreadsheet Document“).

Nehnuteľnosť "Názov tlačiarne" Umožňuje určiť na tlač inú ako predvolenú tlačiareň. Názov sa musí zhodovať s názvom tlačiarne nastaveným v systéme:

TabDoc.PrinterName="Canon iR1133";

Pri tlači dávky dokumentov môžete ušetriť čas nastavením možnosti zoradenia:

TabDoc.ParsingByCopies=Pravda;

Počet kópií je možné určiť nasledovne:

TabDoc.Počet inštancií=5;

Samozrejme, môžete nastaviť polia:

TabDoc.MarginLeft=20; //ľavý okraj 20 mm, ostatné okraje 10 mm (predvolené)

Niekoľko ďalších vlastností stránky:

TabDoc.PageOrientation=PageOrientation.Landscape; TabDoc.InstancesOnPage=2; //hárok bude obsahovať 2 strany TabDoc.Autoscale=true; //podobné nastaveniam mierky „šírky stránky“.

V prípade potreby môžete zadať konkrétnu hodnotu mierky v percentách (vlastnosť "Mierka tlače" ).

Nehnuteľnosť "Veľkosť stránky" umožňuje nastaviť štandardné formáty strán – „A3“, „A4“, „A5“ (kompletný zoznam možností je k dispozícii v pomocníkovi 1C).

TabDoc.PageSize="A3"; // písmeno A musí byť v angličtine

Pre neštandardnú veľkosť papiera (vlastné) môžete určiť výšku a šírku strany (v mm):

TabDoc.PageSize="Custom";//neštandardná veľkosť TabDoc.PageHeight=350; TabDoc.PageWidth=350;

Aj v tabuľkovom dokumente môžete ovládať výstup hlavičiek a pätiek a ich obsah. To sa vykonáva pomocou vlastností "hlavička stránky" A "Päta". Napríklad:

TabDoc.Header.Output=true; //vytlačí sa hlavička TabDoc.HeaderSizeTop=7; //veľkosť päty 7 mm (predvolená hodnota 10 mm) TabDoc.Header.VerticalPosition=VerticalPosition.Top; TabDoc.Header.InitialPage=2;//hlavička je odvodená z druhej stránkyHeaderFont=NewFont("Courier New", 8,True); TabDoc.Header.Font=Hlavné písmo; //kurzíva TabDoc.Header.TextInCenter="Header"; TabDoc.Header.TextRight="Stránka[&Číslo strany] z [&PagesTotal]"; //číslovanie strán TabDoc.Header.TextLeft="[&Date]";//aktuálny dátum

Vygenerovaný dokument sa odošle na tlač pomocou metódy "Typ ()". Existujú dve možnosti hovoru.

1) Priamo do tlačiarne:

TabDoc.Print(PrintDialogUseMode.NotUse); TabDoc.Print(true);

2) Pred tlačou sa zobrazí dialógové okno tlače:

TabDoc.Print(PrintDialogUseMode.Use); TabDoc.Print(false);

Okrem toho môžete ovládať, ako je dokument rozdelený na strany. Počet strán v dokumente môžete odhadnúť na základe aktuálnych nastavení tlačiarne:

TabDoc.Number of Pages();

Pomocou metód "CheckOutput()" A "CheckAttach()" Pri aktuálnych nastaveniach tlačiarne môžete určiť, či sa tabuľkový dokument alebo pole oblastí dokumentu tabuľky zmestí na stranu na výšku a šírku.

Treba mať na pamäti, že fungovanie posledných troch metód závisí od nainštalovanej tlačiarne. Ak ho metóda nemôže nájsť, vyvolá sa výnimka.

Pomocou nasledujúcich metód môžete vynútiť vkladanie zlomov strán: "OutputVerticalPageSeparator()" A "OutputHorizontalPageSeparator()" .

Takto môžete ovládať tlač po jednotlivých stranách a kontrolovať vypĺňanie strán:

Ak nie TabDoc.CheckOutput(ArrayOutputAreas) Then TabDoc.OutputHorizontalPageSeparator(); Koniec Ak

Dôležitou charakteristikou platformy 1C:Enterprise 8.2 je prísne oddelenie vlastností a metód podľa kontextu vykonávania. Zatiaľ čo všetky vyššie uvedené vlastnosti sú dostupné v akomkoľvek kontexte, uvedené metódy nie sú dostupné na tenkom klientovi. Výnimkou je metóda “Print()”, ktorej dostupnosť je z pochopiteľných dôvodov obmedzená na klientsku časť. To znamená, že k vytvoreniu tabuľkového dokumentu by malo dôjsť na serveri a ten by sa mal odoslať na tlač v klientskej procedúre.

Dnes sa pozrieme na riešenie zaujímavého problému - zobrazovanie obrázkov v prehľade.

Na čo to môže byť užitočné?

Tu pár príkladov:

  • Cenník s obrázkami produktov a logom v záhlaví
  • Profily zamestnancov s fotografiami
  • Odsúhlasenie výpočtov s pečiatkou a podpisom v suteréne
  • Zostavy/tlačené formuláre s naskenovanou tlačou

Vo videu tiež diskutujeme tvorba programu nahlásiť do ŠKD. Tento spôsob generovania správ sa používa v štandardných konfiguráciách- to je ďalší dôvod, prečo si to pozorne pozrieť :)

Preddefinované rozloženia v ACS

Pomocou preddefinovaných rozložení môžete prepísať štandardné rozloženie zostavy.

V tejto lekcii okrem nastavenia problému zvážime:

  • Ukladanie binárnych údajov v konfigurácii modelu
  • Možnosť využitia ACS rozložení na zobrazovanie obrázkov

Programové generovanie správy o systéme kontroly vstupu

Na vyriešenie problému zobrazovania obrázkov v správe o systéme kontroly prístupu je potrebné vygenerovať ju programovo.

Práve pri programovom generovaní zostavy je možné pristupovať k binárnym údajom.

Počas tejto lekcie urobíme:

  • Výstup výsledku rozloženia do tabuľkového dokumentu
  • Použitie objektu Decryption Data
  • Načítanie binárnych údajov z databázy
  • Programové vytváranie výkresov v tabuľkovom dokumente

Zobrazenie obrázka v správe ACS

V tejto lekcii vykonáme posledné kroky: v správe zobrazíme predtým získané binárne údaje.

Na tento účel sa do dokumentu tabuľky pridá výkres, po ktorom sa zobrazí v správe.

Všestrannosť algoritmu výstupu obrazu

Vyvinutý algoritmus výstupu obrazu je univerzálny - algoritmus pokračuje v práci bez ohľadu na akúkoľvek zmenu v štruktúre správy.

V skutočnosti to dokážeme v tejto lekcii.

Okrem toho zvážime funkciu generovania správy na pozadí v systéme riadenia prístupu (generovanie správy pomocou rutinných úloh).

Zobrazenie obrázka v hlavičke zostavy

Často potrebujete zobraziť statický obrázok v hlavičke alebo päte správy.

Zdá sa, že je to jednoduchá úloha, ale v prípade ACS musíte vedieť, ako ju vyriešiť:

  • Krok 1. Programovo vygenerujte správu
  • Krok 2. Vytvorte samostatné rozloženie s požadovanou hlavičkou alebo pätou
  • Krok 3. Pred vyplnením správy ACS zobrazte časť s potrebnými údajmi.

Toto video jasne ukazuje riešenie problému.

Príjemné sledovanie! :)

V posledných dňoch sme publikovali materiály na ACS.

Čo ak programátor/implementátor 1C nepozná systém kontroly prístupu? Možno to naozaj nie je také dôležité?

Dobre, pozrime sa, čo čaká špecialistu, ktorý píše správy „na kolene“ (napríklad pomocou manuálneho výstupu do tabuľkového dokumentu).

Nestrieľajte na klaviristu, hrá najlepšie ako vie.

Správy sú praktické vo všetkých štandardných konfiguráciách na základe SKD.

Pre špecialistu bez CDS znalostí sa finalizácia štandardných reportov stáva lotériou – prečo a ako sa v reporte zobrazuje ten či onen údaj, ako pridať nové zdroje, kde upraviť vypočítané čísla v kóde...

SKD – reportovací štandard v štandardných konfiguráciách a 1C nepíše komentáre na základe tých, ktorí ešte neštudovali normy :)

Prekliaty čas...

Bez systému kontroly prístupu sa vývoj správ z veľkej časti vykonáva manuálne.

Je, samozrejme, v pohode vyjsť von ako Rambaud so skrutkovačom v zuboch a tak ako každý :)

Ako výsledok - vysoké mzdové náklady na vývoj a ladenie zostáv. A to prinajmenšom zalarmuje každého manažéra/zákazníka: “čudné, ale naozaj tomu rozumie??”

A pokiaľ ide o následnú revíziu správy, často sa to stáva bolesťou hlavy (najmä ak ide o správu niekoho iného)…

Rozvojové cesty ku klientom na zmenu zoskupenia v správe

SKD umožňuje prijímať správy o kvalite bez programovania. Kostra sa robí na pár minút, potom – poklony.

Používatelia si môžu takéto prehľady prispôsobiť bez zapojenia programátora, generovať niekoľko možností prezentácie – tabuľky, grafy, zoznamy, tabuľky.

Na dosiahnutie takejto všestrannosti v zostavách vytvorených programovo, nemožné v primeranom časovom rámci.

Preto - zavolaj, električka, poďme... To je taký profesionálny rast pre prezývku 1C...

„Nemáš ten istý, ale s perleťovými gombíkmi? "Bohužiaľ, nie..." (c)

Čo ak je potrebné získať niektoré údaje z iného systému - z inej databázy 1C alebo vôbec nie z 1C?

Pomocou systému kontroly prístupu môžete vytvoriť zostavu, ktorá pracuje s aktuálnymi údajmi o informačnej bezpečnosti a prijíma údaje z iného zdroja - nie je potrebné žiadne programovanie.

Bez systémov kontroly prístupu budú externé dáta získavané programovo a nie tým najtriviálnejším spôsobom.

Ak chceš profesionálne zvládnuť ACS a denne uplatniť vo svojej práci, prihláste sa na kurz:

Podpora - 2 mesiace. Rozsah kurzu - 34 vyučovacích hodín.

Neodkladajte štúdium!

Vytvorme externý report, ktorý bude zobrazovať reportovacie informácie o zostatkoch položiek a ich obrate. Požadované informácie požaduje žiadosť pomocou súboru údajov typu „Žiadosť“, ktorý obsahuje text žiadosti:
VYBERTE SI
_DemoNomenclature.Link AKO Nomenklatúra
PLACE Aktuálna nomenklatúra
OD
Directory._DemoNomenclature AKO _DemoNomenclature
KDE
NOT _DemoNomenclature.Značka vymazania
A NIE _DemoNomenclature.Toto je skupina
;

////////////////////////////////////////////////////////////////////////////////
VYBERTE SI
CurrentNomenclature.Nomenclature,
_DemoZostatky tovaru na skladových miestachZostatky a obraty.Skladovacie miesto,
_DemoRemaining GoodsIn Storage LocationsRemainingsAndTurnover.QuantityInitialRemaining,
_DemoZostávajúci tovarV miestach skladovaniaZostatkyAObrat.MnožstvoKonečnéZostávajúce,
_DemoRemaining GoodsIn Storage LocationsRemainingsAndTurnover.QuantityIncoming,
_DemoZostávajúci tovarV skladových priestorochZostatkyAObrat.MnožstvoSpotreba,
_DemoZostávajúci tovarV miestach skladovaniaZostatok a obrat.
OD
CurrentNomenclature AS CurrentNomenclature
LEFT CONNECTION RegisterAccumulations._DemoRemaining GoodsInStorageLocations.RemainingsAndTurnover AS _DemoRemainingGoodsInStorageLocationsRemainingAndTurnover
Softvér CurrentNomenclature.Nomenclature = _DemoZostávajúci tovar v skladovacích miestachRemainingsAndTurnover.Nomenclature

Výsledkom je, že správa obsahuje nasledujúce polia (pozri obrázok 1):

Keďže informácie sú preberané z virtuálnej tabuľky „Zostatky a obraty“, ACS automaticky vytvára dva parametre údajov, Začiatok obdobia a Koniec obdobia, ktoré sú potrebné na nastavenie limitov periódy vzorkovania údajov. Radšej nepracujem s takýmito parametrami priamo, ale nastavujem ich hodnoty cez iný parameter, ktorý bude mať používateľ k dispozícii na úpravu (pozri obrázok 2).
Správa sa vyrovná so svojou úlohou, ale hlavička správy je dosť suchá. Počas mojej práce som našiel niekoľko spôsobov, ako navrhnúť hlavičku zostavy:

  1. Nastavenie hlavičiek polí na karte „Súbory údajov“ ACS;
  2. Nastavenie hlavičiek polí na karte „Nastavenia“ ACS;
  3. Programové nastavenie hlavičiek polí;
  4. Nastavenie hlavičky zostavy pomocou rozloženia;
  5. Finalizácia výsledku (tabuľkový dokument);
Pozrime sa na ne podrobne.

1. Nastavenie hlavičiek na karte ACS "Súbory údajov".

Všetko je tu jednoduché, začiarknite políčko vedľa vlastnosti poľa „Názov“ (t. j. zrušte automatický názov) a zadajte požadovaný text nadpisu (pozri obrázok 4).
Ak potrebujete nastaviť dizajn pre celé pole a nielen pre jeho názov, potom je tu vlastnosť poľa „Design“, pomocou ktorej môžete nastaviť dizajn poľa, napríklad zmeniť písmo alebo nastaviť pozadie. farba (pozri obrázok 5).
Tu sa moje znalosti o karte „Súbory údajov“ končia.

2. Nastavenie hlavičiek polí na karte „Nastavenia“ ACS

Ak chcete nastaviť názov poľa, musíte vybrať požadované pole, kliknutím pravým tlačidlom myši otvoriť kontextovú ponuku a vybrať položku „Nastaviť názov“ (pozri obrázok 6)
Na zoskupenie polí (napríklad podľa typu informácií) je potrebné pridať zoskupovacie pole a umiestniť doň požadované polia (pozri obrázok 7), vnorenie je neobmedzené.
Môžete sa tiež pohrať s vlastnosťou zoskupenia polí „Umiestnenie“, ktorá určuje typ zoskupenia polí.

Tieto akcie je možné vykonať aj v režime 1C:Enterprise otvorením nastavení zostavy, ALE v nastaveniach zostavy musí byť zahrnutá položka „Selected fields“ (pozri obrázok 8).
Týmto sa dokončí jednoduchá časť nastavenia hlavičky prehľadu. Jedna z výhod vyššie uvedených akcií: všetky nastavenia sa vykonávajú pomocou štandardných nástrojov. Nevýhody: nedostatok možnosti nastaviť viacriadkový názov poľa.

3. Programové nastavenie hlavičiek polí

Platforma umožňuje programovo nastaviť hlavičky polí, navyše nastaviť viacriadkové, čo zase umožňuje flexibilne a dynamicky nastavovať hlavičky polí pri generovaní reportu.

Za týmto účelom si v module reportov zadefinujeme postup Pri rozvrhnutí výsledku. V tomto postupe napíšeme kód na nastavenie hlavičiek polí.

// 1. Získajte používateľské nastavenia.
SettingsKD = ThisObject.SettingsLitter.GetSettings();

// 2. Dostaneme hodnotu parametra "Obdobie", z ktorej určíme dátum začiatku a konca obdobia.
ParameterPeriod = NewDataCompositionParameter("Obdobie");
Period = SettingsCD.DataParameters.FindParameterValue(PeriodParameter).Value;
StartPeriod = Period.StartDate;
EndPeriod = Period.EndDate;

// 3. Pripravte si informácie o predefinovaní hlavičiek polí. Ak to chcete urobiť, vytvorte
// pole, ktoré bude obsahovať informácie: FieldName - hodnoty vlastnosti "Path" v
// súbor údajov (pozri obrázok 1), Title - text nadpisu.
FieldList = Nové pole;
pPeriodStart = Format(PeriodStart, "DF=dd.MM.yyyy; DP="Empty date"");
FieldInitialRemaining = Nová štruktúra("Názov poľa, Nadpis", "Počiatočné množstvo zostáva", "Zostávajúce na " + Symboly.PS + stránkaPočiatočné obdobie);
List ofFields.Add(FieldInitialRemaining);
strEndPeriod = Format(EndPeriod, "DF=dd.MM.yyyy; DP="Prázdny dátum"");
FieldFinalRemaining = Nová štruktúra("FieldName, Heading", "QuantityFinalRemaining", "Remaining on " + Symbols.PS + strEndPeriod);
FieldList.Add(FieldFinalRemaining);

// 4. Získajte zoznam polí, ktoré sú v skupine "Zostávajúce" (pozri obrázok 7) a
// nastaviť nový nadpis prechádzaním prvkov v slučke.
SelectedFields = SettingsCD.Selection.Items; // Prvá úroveň polí.
SelectedFieldsRemains = SelectedFields.Items; // Zostáva zoskupovať polia.
Pre každý cyklus SelectedField From SelectedFields
Cyklus pre každý prvok poľa zo zoznamu polí
LayoutField = NewDataCompositionField(ArrayItem.FieldName);
Ak SelectedField.Field = LayoutField Then
SelectedField.Header = ArrayElement.Header;
koniec Ak;
EndCycle;
EndCycle;

// 5. Načítajte späť zmenené používateľské nastavenia.
ThisObject.SettingsLinker.LoadSettings(CDSettings);

Výsledok správy (pozri obrázok 10):
Metóda je náročnejšia ako všetky vyššie uvedené, ale páči sa mi.

4. Nastavenie hlavičky zostavy pomocou rozloženia

Pre flexibilnejšie prispôsobenie vzhľadu zostavy poskytuje ACS vytváranie rozložení. V nastaveniach zostavy vytvoríme ďalšie zoskupenie „podrobné záznamy“ a tomuto zoskupeniu nastavíme názov „Riadka DZ“ (pozri obrázok 11).
Na karte Rozloženia pridajte rozloženie hlavičky zoskupenia. Pre rozloženie v tabuľkovom dokumente vytvoríme hlavičku zostavy (hlavička zostavy by mala obsahovať toľko hlavičiek polí, koľko polí zobrazuje podrobný záznam) a označíme oblasť tabuľkového dokumentu pre rozloženie (pozri obrázok 12).
Výsledkom je, že správa má nasledujúcu hlavičku (pozri obrázok 13):

Obrázok 13. Rozloženie ACS ako hlavička správy
Podľa môjho názoru majú layouty jednu veľkú nevýhodu: nemožnosť prispôsobiť sa danému zoskupeniu používateľov, preto by sa mali používať, ak je formulár hlásenia regulovaný a nedá sa zmeniť. Skúste nastaviť zoskupenie pre zoskupenie „LineDZ“ a uvidíte, že rozloženie je zmätené.

Webová stránka podpory informačných technológií obsahuje článok Používanie preddefinovaných rozložení, ktorý podrobne popisuje používanie rozložení v systémoch riadenia prístupu.

5. Finalizácia výsledku (tabuľkový dokument)

Táto metóda využíva skvelú metódu tabuľkového dokumentu NájsťText(), ale ak chcete použiť túto metódu, musíte vypnúť štandardné spracovanie na generovanie výsledku správy.

Začnime. Vypneme štandardné generovanie, aby sme to urobili v module reportov pre udalosť Pri rozvrhnutí výsledku Nastavme premennú StandardProcessing na False a napíšme vlastné rozloženie výsledku:
StandardProcessing = False;
LayoutLinker = newDataLayoutLayoutLinker;
LayoutLayout = LayoutLocker.Execute(
ThisObject.DataCompositionSchema,
ThisObject.SettingsLinker.Settings,
DecryptionData);
CompositionProcessor = newDataCompositionProcessor;
LayoutProcessor.Initialize(LayoutLayout, DecryptionData, True);
OutputProcessor = Nový OutputProcessorDataCompositionResultInTabularDocument;
OutputProcessor.SetDocument(DocumentResult);
OutputProcessor.Output(CompositionProcessor);
Softvérové ​​rozloženie výsledku reportu je podrobnejšie popísané v článku

Zostavený výsledok je výstupom do tabuľkového dokumentu – toto je premenná DocumentResult. Potom, po vygenerovaní výsledku a jeho výstupe do tabuľkového dokumentu, napíšeme kód na nahradenie textu jednej bunky iným. Napríklad zmeňme názov skupiny „Zostávajúce“ na „Zostávajúce položky“ v hlavičke zostavy (pozri obrázok 14):
Bunka = DocumentResult.FindText("Zostatky");
Ak Cell<>Nedefinované Potom
Cell.Text = "Zostávajúce položky";
koniec Ak;

Môžete tiež nastaviť formátovanie pre nájdenú bunku, pozrite si vlastnosti bunky tabuľkového dokumentu v pomocníkovi syntaxe.

Túto metódu som objavil nedávno, je jednoduchá a umožňuje veľmi flexibilne pracovať s hlavičkou zostavy, hlavné je, že text bunky má jedinečný text.

P.S. Možno máte iný spôsob, ako navrhnúť hlavičky polí?



Páčil sa vám článok? Zdieľaj to