Vstavaný jazyk. Vstavaný jazyk systému 1C: Enterprise Vytvorenie „Univerzálnej“ správy

  • 20.01.2024

Na prácu s dotazmi sa používa vstavaný jazykový objekt Žiadosť. Umožňuje vám prijímať informácie uložené v poliach databázy vo forme vzorky vytvorenej podľa určených pravidiel.

Dotaz prijíma počiatočné informácie zo sady tabuliek. Tieto tabuľky predstavujú údaje zo skutočných databázových tabuliek v ľahko analyzovateľnej forme. Možno ich rozdeliť do dvoch veľkých skupín: reálny A virtuálne.

Reálne tabuľky môžu byť zas objektové (referenčné) alebo neobjektové (nereferenčné), Obr. 97.

Ryža. 97. Tabuľky dopytov

Charakteristickým rysom skutočných tabuliek je, že obsahujú údaje z akejkoľvek jednej skutočnej tabuľky uloženej v databáze. Napríklad skutočná tabuľka je Directory.Clients, zodpovedajúca adresáru Clients, alebo tabuľka Accumulation Register.Material Remaining, zodpovedajúca akumulačnému registru Material Remaining.

Virtuálne tabuľky sa tvoria predovšetkým z údajov z viacerých databázových tabuliek. Virtuálna tabuľka je napríklad Register akumulácie.Zostatky materiálu.ZostatkyAndTurnover, vytvorená z niekoľkých tabuliek registra akumulácie zostávajúceho materiálu.

Niekedy môžu byť virtuálne tabuľky vytvorené z jednej reálnej tabuľky (napríklad virtuálna tabuľka Prices.SliceLast je vytvorená na základe tabuľky registra informácií o cenách). Všetky virtuálne tabuľky však majú spoločné to, že im môže byť pridelených množstvo parametrov, ktoré určujú, aké údaje budú do týchto virtuálnych tabuliek zahrnuté. Sada takýchto parametrov môže byť odlišná pre rôzne virtuálne tabuľky a je určená údajmi uloženými v tabuľkách zdrojovej databázy.

Reálne tabuľky sa delia na objektové (referenčné) a neobjektové (nereferenčné) tabuľky.

IN objektové (referenčné) tabuľky sú prezentované informácie referenčných dátových typov (adresáre, dokumenty, plány charakteristických typov atď.). A v neobjektový (nie referenčný)– všetky ostatné dátové typy (konštanty, registre atď.).

Výrazná vlastnosť objektové (referenčné) tabuľky je, že obsahujú pole Odkaz obsahujúce odkaz na aktuálny záznam. Navyše pre takéto tabuľky je to možné získanie vlastnej reprezentácie objektu. Tieto tabuľky môžu byť hierarchické a polia takýchto tabuliek môžu obsahovať vnorené tabuľky (časti tabuľky).

Algoritmus, ktorým sa budú vyberať údaje zo zdrojových tabuliek požiadavky, je popísaný v texte požiadavky v špeciálnom jazyku - dopytovací jazyk . Text žiadosti sa skladá z niekoľkých častí:

· popis žiadosti;

· zlučovanie dopytov;

· poradie výsledkov;

· AUTO OBJEDNÁVKA;

· opis výsledkov.

Povinnou súčasťou žiadosti je len prvá časť – popis žiadosti. Všetky ostatné sú prítomné podľa potreby.

Popis dotazu definuje zdroje údajov, výberové polia, zoskupenia atď.

Zlučovanie dopytov definuje, ako sa kombinujú výsledky viacerých dopytov.

Usporiadanie výsledkov definuje podmienky zoradenia pre riadky výsledkov dotazu.

AUTOMATICKÉ ORDER umožňuje povoliť automatické zoradenie riadkov výsledkov dotazu.

Súhrnný popis určuje, ktoré súčty sa majú vypočítať v dotaze a ako sa má výsledok zoskupiť.

Treba poznamenať, že keď sa dopytovací jazyk používa na opis zdrojov údajov v systéme na zostavovanie údajov, nepoužíva sa súhrnná časť dopytovacieho jazyka. Je to spôsobené tým, že systém skladania údajov nezávisle vypočítava výsledky na základe nastavení vývojára alebo používateľa.

Systém skladania údajov určený na vytváranie vlastných reportov v systéme 1C:Enterprise 8.1 a skladá sa z niekoľkých hlavných častí.

Počiatočné údaje pre rozloženie zostavy obsahuje diagram rozloženia údajov – ide o súbory údajov a spôsoby práce s nimi(Obr. 98).

Vývojár vytvorí schému kompozície dát, v ktorej popíše text požiadavky, množiny dát, prepojenia medzi nimi, dostupné polia, parametre získavania dát a nastaví počiatočné nastavenia rozloženia – štruktúru reportu, rozloženie dát atď.

Schéma rozloženia môže napríklad obsahovať nasledujúci súbor údajov (Obrázok 99).

Ryža. 98. Všeobecná schéma práce so systémom kompozície dát

Ryža. 99. Príklad diagramu rozloženia (množina údajov a dotaz pomocou nej)

Na obr. Obrázok 99 zobrazuje okno návrhára schémy kompozície údajov, ktoré obsahuje zdroj údajov, text dotazu a polia vybrané dotazom.

Správa systému na zostavovanie údajov, ktorú používateľ dostane, nie je len tabuľkou záznamov, ktoré vyhovujú dopytu. Má zložitú hierarchickú štruktúru a môže pozostávať z rôznych prvkov, ako sú zoskupenia, tabuľky a grafy. V tomto prípade môže používateľ zmeniť existujúcu alebo dokonca vytvoriť úplne novú štruktúru zostavy, nakonfigurovať výber a návrh prvkov štruktúry zostavy, ktoré potrebuje, získať prepis pre každý prvok atď.

Napríklad je možné špecifikovať nasledujúcu štruktúru správy (obr. 100):

Ryža. 100. Štruktúra možnej správy

Vygenerovaná správa môže vyzerať takto (obr. 101).

V prezentovanom prehľade bude tabuľka pozostávať zo záznamov registra akumulácie PredajObrat o klientoch a službách, ktoré sa im poskytujú. Tieto záznamy sú zoskupené podľa remeselníkov, ktorí dokončili zákazky. A v zoskupení sa zobrazí zoznam majstrov.

Vo všeobecnosti je systém skladania údajov súborom niekoľkých objektov. Pri generovaní a vykonávaní správy sa údaje postupne prenášajú z jedného objektu systému na zostavovanie údajov do druhého, až kým sa nedosiahne konečný výsledok - dokument zobrazený používateľovi.

Algoritmus interakcie týchto objektov je nasledujúci: vývojár vytvorí schému rozloženia údajov a predvolené nastavenia. Vo všeobecnosti možno na základe jednej schémy zloženia údajov vytvoriť veľké množstvo rôznych správ. Nastavenia zloženia údajov – vytvorené vývojárom alebo upravené používateľom – určujú, ktorá zostava sa vytvorí v konkrétnom prípade.

Ryža. 101. Vzor správy

Na základe návrhu rozloženia a dostupných nastavení vytvorí tvorca rozloženia dátové rozloženie. Toto je fáza prípravy na vykonanie správy. Usporiadanie kompozície údajov je hotová úloha, ktorú môže vykonať spracovateľ kompozície. Rozloženie rozloženia obsahuje potrebné dotazy, rozloženia oblasti zostavy atď.

Spracovateľ zostavy dát vyberá dáta z infobázy podľa rozloženia, tieto dáta agreguje a formátuje.

Výsledok rozloženia spracuje výstupný procesor a v dôsledku toho používateľ dostane výsledný tabuľkový dokument.

Postupnosť činnosti systému usporiadania možno znázorniť ako nasledujúci diagram (obr. 102):

Ryža. 102. Schéma fungovania dispozičného systému

3.12.1. Vytvorenie zostavy "Registr dokumentov Poskytovanie služieb"

správa Register dokumentov Poskytovanie služieb zobrazí zoznam dokumentov poskytovania služieb existujúcich v databáze v poradí podľa ich dátumov a čísel.

správa. Daj tomu meno Register dokumentov Poskytovanie služieb. Na záložke Základné klikni " Pripravený V návrhári schémy zloženia údajov pridajte Množina údajov – Dopyt Konštruktor dotazov".

Vyberte tabuľku dokumentu objektu (referenčného) ako zdroj údajov pre dotaz Poskytovanie Služieb. Z tejto tabuľky vyberte nasledujúce polia (obr. 103):

Dátum; číslo; sklad; Majster; Zákazník.

Ryža. 103. Vybrané polia

Potom prejdite na záložku objednať a špecifikujte, že výsledok dotazu by mal byť najprv zoradený podľa hodnoty poľa dátum a potom - podľa hodnoty poľa Poskytovanie služieb Odkaz(obr. 104).

Ryža. 104. Poradie výstupu výsledku dotazu

Kliknite na " OK“ a uvidíte, aký dotaz vygeneroval konštruktor dotazu.

Prejsť na záložku nastavenie a pridajte do štruktúry správy nové zoskupenie (obr. 105).

Ryža. 105. Panel príkazov na karte Nastavenia

V okne výberu poľa zoskupenia kliknite na " OK“ a na záložke Vybrané polia nastavte polia, ktoré sa budú zobrazovať v prehľade:

Dátum; číslo; sklad; Majster; Klient (obr. 106).

Ryža. 106. Nastavenie štruktúry správy

Register dokumentov pre poskytovanie služieb. Kliknite na " Formulár“ a pozrite sa na výsledok správy (obr. 107).

Ryža. 107. Výkaz Register dokumentov pre poskytovanie služieb

správa. Pomenujte to Hodnotenie Služieb. Na záložke Základné klikni " Diagram zloženia otvorených údajov". V dialógovom okne Návrhár rozloženia, ktoré sa otvorí, kliknite na tlačidlo " Pripravený".

V návrhári schémy zloženia údajov vytvorte Množina údajov – Dopyt(DataSet1) a kliknite na " Konštruktor dotazov".

Nomenklatúra a virtuálna tabuľka akumulačného registra Predaj.Obrat. Ak chcete odstrániť nejednoznačnosť názvov v dotaze, premenujte tabuľku nomenklatúry na Nomenklatúra Spr(pravým tlačidlom myši kliknite na kontextové menu – Premenovať tabuľku).

Potom vyberte z tabuliek polí RefNomenclature.Link A PredajTurnover.RevenueTurnover(obr. 108).

Ryža. 108. Vybrané polia

Prejsť na záložku Spojenia a všimnite si, že projektant už vytvoril spojenie medzi dvoma vybranými tabuľkami - hodnota zmeny registra nomenklatúry sa musí rovnať odkazu na prvok adresára nomenklatúry.

Jediná vec, ktorú musíte urobiť, je resetovať vlajku Všetky v tabuľke registrov a nastavte ju v tabuľke adresárov Nomenklatúra Spr(Obr. 109).

Nastavenie vlajky Všetky v tabuľke adresára bude znamenať, že sa z adresára vyberú všetky prvky a týmto prvkom bude priradená hodnota obratu tržieb z evidencie. V dôsledku požiadavky budú teda k dispozícii všetky služby a pri niektorých z nich bude uvedený obrat výnosov. Pri tých službách, ktoré neboli poskytnuté vo vybranom období, nebude nič uvedené.

Ryža. 109. Vytvorenie odkazov na tabuľku

Prejsť na záložku Podmienky a nastaviť podmienky pre výber prvkov z adresára Nomenclature (obr. 110). Pri nastavovaní podmienok výberu budete musieť použiť parametre dotazu. Prvou podmienkou musí byť, že vybraný prvok nie je skupinou (ak to chcete urobiť, prepnite do režimu Svojvoľný stav– nastaviť vlajku zadarmo). Potom do terénu stave zadajte nasledujúci text:

SprNomenclature.ThisGroup = FALSE

Druhou podmienkou musí byť, že vybraný prvok je služba (to je Jednoduchý stav) (obr. 110).

Ryža. 110. Podmienky výberu prvkov

Neskôr, pred vykonaním požiadavky, v parametri Typ Nomenklatúra musíte odovzdať zodpovedajúcu hodnotu enumerácie.

Prejsť na záložku Odbory/Aliasy a zadajte, že zobrazenie položky adresára bude mať alias servis a pole registra bude mať alias Výnosy(Obr. 111).

Ryža. 111. Odbory/prezývky

Prejsť na záložku objednať a špecifikujte, že výsledok dotazu by mal byť zoradený v zostupnom poradí podľa hodnoty poľa Výnosy. Vytvorenie žiadosti je dokončené, kliknite na tlačidlo " OK Pozrite sa na text požiadavky vygenerovaný konštruktorom.

Prejsť na záložku Zdroje a kliknite na " >> ", takže návrhár vyberie všetky dostupné zdroje, pre ktoré je možné vypočítať súčty. Vo vašom prípade je to jediný zdroj Výnosy(Obr. 112).

Ryža. 112. Zdroje schémy zloženia údajov

Prejsť na záložku možnosti(Obr. 113).

Ryža. 113. Možnosti skladania údajov

Na tejto karte uvidíte tri možnosti: Začiatok obdobia, Koniec obdobia A Typ Nomenklatúra. Prvý parameter je začiatok obdobia na výpočet súčtov, druhý je koniec obdobia. V dôsledku toho bude zdrojová tabuľka obsahovať iba obrat vypočítaný v prenesenom období.

Pre parameter Začiatok obdobia nastaviť názov, ktorý sa zobrazí používateľovi - dátum začiatku.

Tu by ste mali vždy pamätať na to, že ak zadáte dátum ako tieto parametre, potom dátum obsahuje aj čas s presnosťou na sekundu.

Povedzme, že je vopred známe, že používateľa nebudú zaujímať výsledky správy v obdobiach určených s presnosťou na sekundu. V tomto prípade je potrebné vziať do úvahy dve funkcie.

Po prvé, používateľ by mal byť ušetrený potreby špecifikovať čas pri zadávaní dátumu. Ak to chcete urobiť, zmeňte existujúci popis typu pre parameter Začiatok obdobia. Dvakrát kliknite na bunku Dostupné typy, zodpovedajúci parametru Začiatok obdobia, stlačte tlačidlo výberu " “ a v spodnej časti sady okien na úpravu typu údajov Zloženie dátumov vo význame dátum(Obr. 114).

Kliknite na " OK".

Druhou vlastnosťou je, že predvolene je čas v dátume nastavený na 00:00:00. Ak teda používateľ zadá obdobie prehľadu od 10/01/2009 do 31/10/2009, súčty registra sa budú počítať od začiatku dňa 10/01/2009 00:00:00 do začiatku dňa 31. 10. 2009 00:00:00. Do výpočtu teda nebudú zahrnuté údaje za 31. deň okrem začiatku dňa, čo používateľa veľmi prekvapí. Ak chcete túto situáciu odstrániť, pridajte ďalší parameter, do ktorého používateľ zadá dátum ukončenia. Hodnota parametra Koniec obdobia sa vypočíta automaticky tak, že označuje koniec dňa dátumu zadaného používateľom. Preto pre parameter Koniec obdobia nastaviť vlajku Obmedzenie dostupnosti.

Ryža. 114. Úprava zloženia dátumu

Pomocou tlačidla na paneli príkazov pridajte nový parameter s názvom Dátum ukončenia (Obrázok 115).

Ryža. 115. Pridanie parametra Dátum ukončenia

Pre tento parameter platforma automaticky vygeneruje názov - dátum spotreby. Nechajte to nezmenené. Nastavte typ hodnoty parametra – dátum. V tomto prípade, čo sa týka parametra Začiatok obdobia, uveďte zloženie dátumu – dátum.

Upozorňujeme, že v predvolenom nastavení je parameter, ktorý ste pridali, k dispozícii používateľovi (obmedzenie dostupnosti v poslednom stĺpci je vymazané).

Prejdite na parameter Koniec obdobia. Systém preň nastavil príznak obmedzenia dostupnosti. Nezrušte začiarknutie, pretože hodnota tohto parametra sa vypočíta na základe hodnoty nastavenej používateľom pre parameter Dátum spotreby.

Na nastavenie vzorca, podľa ktorého sa vypočíta hodnota parametra Koniec obdobia, použite výrazový jazyk systému kompozície údajov. Obsahuje funkciu EndPeriod(), ktorý vám umožňuje získať dátum zodpovedajúci koncu obdobia, napríklad určený deň.

V cele Výraz nastavte parameter Koniec obdobia nasledujúci výraz:

V dôsledku vyššie uvedených akcií budú parametre rozloženia vyzerať takto (obr. 116):

Ryža. 116. Možnosti systému rozloženia

Nakoniec nakonfigurujte parameter Typ Nomenklatúra. Keďže v prehľade by sa mali zobrazovať príjmy prijaté len z predaja služieb, hodnota parametra Typ Nomenklatúra používateľ by ho nemal meniť. Musí byť uvedené priamo v schéme rozmiestnenia ako . Príznak obmedzenia používania parametra Typ Nomenklatúra platforma nainštalovaná predvolene, takže stačí zadať požadovanú hodnotu enumerácie Typy Nomenklatúra v bunke Význam, zodpovedajúci parametru Typ Nomenklatúra(Obr. 117).

Ryža. 117. Nastavenie hodnoty parametra Nomenclature Type

Pokračujte vo vytváraní štruktúry správy. Na záložke nastavenie pridajte zoskupenie a znova vynechajte pole zoskupenia. Na záložke Vybrané poliašpecifikovať polia servis A Výnosy(Obr. 118).

Potom prejdite na záložku Iné nastavenia a nastavte názov správy - Hodnotenie Služieb(Obr. 119).

Ryža. 119. Nastavenie názvu zostavy

Spustite 1C:Enterprise v režime ladenia.

Vyberte prehľad Hodnotenie služby, ale pred stlačením tlačidla " Formulár", OTVORENÉ nastavenie a na záložke Možnosti údajov nastaviť obdobie vykazovania od 3. 1. 2004 do 30. 4. 2004 (obr. 120). Ak sa dátumy vytvorenia vašich dokladov líšia od dátumov uvedených v príklade, potom by sa malo inak nastaviť obdobie vykazovania.

Ryža. 120. Nastavenia správy

Kliknite na " OK“ a vygenerujte správu. Výsledok bude vyzerať takto (Obr. 121):

Ryža. 121. Výsledok vykonania správy

Teraz zmeňte dátum ukončenia na 31.03.2004. V správe sú zahrnuté údaje k 31. marcu (obr. 122).

Ryža. 122. Výsledok spustenia prehľadu

3.12.3. Vytvorenie prehľadu „Príjmy remeselníkov“

správa Príjmy remeselníkov bude obsahovať informácie o tom, koľko výnosov získala Master LLC vďaka práci každého z majstrov, s podrobnosťami pre všetky dni vo vybranom období a rozpisom pre klientov obsluhovaných v každý deň. Pomocou tohto prehľadu ako príkladu sa naučíte, ako vytvoriť viacúrovňové zoskupenia v dotaze a ako prejsť všetkými dátumami vo vybranom období.

Vytvorte nový konfiguračný objekt správa. Pomenujte to RevenueMasters a spustite hlavného návrhára schémy zloženia údajov.

Pridať Množina údajov – Dopyt(DataSet1) a kliknite na " Konštruktor dotazov Vyberte virtuálnu tabuľku akumulačného registra Predaj.Obrat.

Nastavte jeden z parametrov tejto virtuálnej tabuľky − Periodicita. Ak to chcete urobiť, prejdite na pole Tabuľky a stlačte tlačidlo "" (Obr. 123).

Ryža. 123. Zmena parametrov virtuálnej tabuľky

V okne parametrov, ktoré sa otvorí, nastavte hodnotu parametra Frekvencia – deň(Obr. 124). Stlač tlačidlo " OK".

Ryža. 124. Parametre virtuálnej tabuľky

Potom z tabuľky vyberte nasledujúce polia:

· SalesTurnover.Master;

· Obdobie obratu predaja;

· SalesTurnover.Client;

· PredajTurnover.RevenueObrat (obr. 125).

Ryža. 125. Vybrané polia

Teraz prejdite na záložku Odbory/Aliasy a nastavte alias Výnosy pre pole PredajTurnover.RevenueTurnover(Obr. 126).

Ryža. 126. Odbory/prezývky

Na záložke Zoskupovanie definujte, že zoskupovanie sa bude vykonávať podľa polí Majster, Obdobie A Zákazník a hodnoty polí VýnosyObrat budú sčítané (obr. 127).

Ryža. 127. Zoskupovanie polí

Na záložke objednať zadajte, že výsledok dotazu bude zoradený vzostupne podľa hodnoty poľa Obdobie. Kliknite na " OK Zvážte text požiadavky vygenerovaný konštruktorom.

Teraz prejdite na úpravu schémy rozloženia údajov. Na záložke Zdroje klikni " >> " a uistite sa, že konštruktor vybral jediný dostupný zdroj - Výnosy.

Na záložke možnosti postupujte podľa rovnakých krokov ako pri vytváraní predchádzajúcej správy.

Pre parameter Začiatok obdobia nastavte názov dátum začiatku. V teréne Dostupné typy nastaviť zloženie dátumu - dátum.

Pre parameter Koniec obdobia nastavte výraz:

EndPeriod(&Dátum konca, "Deň")

V teréne Obmedzenie dostupnosť nastavte príznak obmedzenia dostupnosti.

Nakoniec pridajte ešte jeden parameter - Dátum spotreby, nastavte jej typ ako dátum, zloženie dátumov – dátum.

V dôsledku týchto akcií budú parametre zloženia údajov vyzerať takto (obr. 128):

Ryža. 128. Možnosti skladania údajov

Teraz musíte vytvoriť štruktúru správy. Na záložke nastavenie postupne vytvorte dve vnorené zoskupenia: najvyššia úroveň - podľa poľa Majster, v ňom vložené - podľa poľa Obdobie. Potom pridajte ďalšie zoskupenie vnorené do zoskupenia podľa poľa Obdobie, – Podrobné záznamy(bez uvedenia poľa zoskupenia) (obr. 129).

Ryža. 129. Štruktúra správy

Teraz, keď ste na úrovni globálnej správy, prejdite na kartu Vybrané polia a pridajte polia do zoznamu Zákazník A Výnosy.

Nakoniec z úrovne globálneho prehľadu prejdite na kartu Iné nastavenia a zmeňte nasledujúce nastavenia. Pre parameter nastavená hodnota Samostatne a len vo výsledku; pre parameter nastavte hodnotu Štart a pre parameter Smerovanie nastavte hodnotu Príjmy remeselníkov(Obr. 130).

Ryža. 130. Nastavenie výstupu všeobecných súčtov na začiatok

Spustite 1C:Enterprise v režime ladenia a pozrite sa na výsledok výkazu „Výnosy majstrov“ za obdobie od 3. 1. 2004 do 30. 4. 2004 (obr. 131).

Ryža. 131. Výsledok spracovania správy

Ak si pamätáte, tento prehľad by mal zobrazovať údaje s podrobnosťami za všetky dni vo vybranom období. Teraz sú zobrazené len tie dni, pre ktoré sú v tabuľke registra akumulácie nenulové záznamy. Preto je teraz potrebné zmeniť nastavenia výkazu tak, aby výkaz obsahoval každý dátum z obdobia, za ktoré bol výkaz vytvorený.

Ak to chcete urobiť, vráťte sa do režimu konfigurátora a dolaďte štruktúru správy. Doteraz sa všetky nastavenia štruktúry, ktoré ste vykonali, aplikovali na celý prehľad ako celok. Ale systém skladania údajov vám tiež umožňuje prispôsobiť každý prvok štruktúry samostatne.

Budete musieť zmeniť nastavenie zoskupovania Obdobie. Ak chcete prejsť na nastavenia tohto konkrétneho zoskupenia, umiestnite kurzor na toto zoskupenie v poli štruktúry a potom kliknite na tlačidlo " Obdobie na paneli príkazov (obr. 132).

Ryža. 132. Nastavenia zoskupovania Obdobie

Nastavenia dostupné pre toto zoskupenie sa zobrazia v spodnej časti formulára.

Prejsť na záložku Zoskupovanie polí. Pre pole Obdobie Inštalácia Typ doplnku – Deň(Obr. 133).

Ryža. 133. Nastavenie typu pridávania obdobia

Uviedli ste teda, že pre toto zoskupenie budú existujúce záznamy s nenulovou hodnotou zdroja doplnené o záznamy pre každý z dní.

Potom by ste mali uviesť, v akom období sa takéto pridanie vykoná. Do polí umiestnených o jeden riadok nižšie môžete zadať dátum začiatku a konca tohto obdobia. Výslovné určenie dátumov však nie je vhodné, pretože... užívateľ môže generovať prehľad za ľubovoľné obdobie. Je potrebné, aby sa pridávanie dátumu vykonávalo nie v nejakom pevnom období, ale práve v období, ktoré si užívateľ zvolil pre celý výkaz.

Aby prehľad fungoval presne takto, vstúpte do režimu úprav prvého poľa (napríklad dvojitým kliknutím naň) a kliknite na tlačidlo vymazať " X". Potom kliknite na tlačidlo " T", budete môcť vybrať typ údajov zobrazených v tomto poli. Vyberte Pole zloženia údajov(Obr. 134).

Ryža. 134. Výber typu údajov

Kliknite na " OK". Teraz stlačte tlačidlo výberu vo vstupnom poli " “ a v okne výberu poľa, ktoré sa otvorí, vyberte možnosť Začiatok obdobia(Obr. 135). Kliknite na " OK".

Ryža. 135. Výber poľa

Pre druhé vstupné pole podobne uveďte, že dátum ukončenia obdobia sa získa z parametra Dátum spotreby(Obr. 136).

Ryža. 136. Nastavenia zoskupovania Obdobie

Spustite 1C:Enterprise v režime ladenia a spustite zostavu Príjmy remeselníkov za obdobie od 20. marca 2004 do 20. apríla 2004 (obr. 137).

Ryža. 137. Výsledok spracovania správy

3.12.4. Vytvorenie prehľadu „Zoznam služieb“.

správa Zoznam služieb bude obsahovať informácie o tom, aké služby Master LLC poskytuje a za akú cenu. Na jeho príklade sa zoznámite s možnosťou získavania najnovších hodnôt z periodického registra informácií a zobrazovania hierarchických adresárov.

Vytvorte nový konfiguračný objekt správa. Pomenujte to Zoznam služieb a spustite Návrhár schémy zloženia údajov. Vytvorte nový Množina údajov – Dopyt(DataSet1) a zavolajte konštruktor dotazu.

Vyberte tabuľku adresárov objektov (referenčných). Nomenklatúra a virtuálna tabuľka registra informácií Ceny.RezanieNajnovšie. Ak chcete odstrániť nejednoznačnosť názvov v dotaze, premenujte tabuľku Nomenklatúra na Nomenklatúra Spr.

Vyvolajte dialóg pre zadávanie parametrov virtuálnej tabuľky Ceny RezanieNajnovšie a v parametri uveďte, že obdobie bude prechádzať Dátum správy(Obr. 138).

Ryža. 138. Parametre virtuálnej tabuľky

Potom z tabuliek vyberte nasledujúce polia:

· SprNomenclature.Parent;

· CenySlice of Latest.Price (Obr. 139).

Ryža. 139. Vybrané polia

Prejsť na záložku Spojenia, resetujte vlajku Všetky v tabuľke registrov a nastavte ju v tabuľke adresárov.

Na záložke Podmienky nastaviť podmienku výberu prvkov adresára Nomenklatúra– vybrané prvky musia zodpovedať typu položky odovzdanej v parametri požiadavky Typ Nomenklatúra(Obr. 140).

Ryža. 140. Podmienky výberu prvkov

Na záložke Odbory/Aliasy uveďte, že pole Rodič bude mať prezývku Skupina služieb, a pole Odkaz – Služba(Obr. 141).

Ryža. 141. Odbory/prezývky

Prejsť na záložku Zoskupovanie a uveďte, že zoskupenie sa vykoná podľa poľa SprNomenklatúra.Rodič. Nie je potrebné špecifikovať hodnoty sčítaných polí (obr. 142).

Obr. 142. Zoskupovanie polí

Kliknite na " OK Pozrite si text žiadosti.

Pokračujte v úprave diagramu rozloženia údajov. Na záložke Zdroje stlačením tlačidla " >> “ vyberte jediný dostupný zdroj cena.

Na záložke možnosti nastavte hodnotu parametra Typ Nomenklatúra Ako Prevod. Typy nomenklatúry. Služba. Okrem toho odstráňte obmedzenie dostupnosti pre parameter Dátum správy a dať tomu názov - Dátum správy. V teréne Dostupné typy nastaviť zloženie dátumu - dátum. Pre parameter Obdobie, naopak, nastavte limit dostupnosti (obr. 143).

Ryža. 143. Parametre schémy usporiadania

Pokračujte vo vytváraní štruktúry správy. Prejsť na záložku nastavenie a vytvorte zoskupenie podľa poľa Skupina služieb s uvedením typu zoskupenia Hierarchia. V rámci tohto zoskupenia vytvorte ďalšie zoskupenie bez zadania poľa skupiny. Bude obsahovať podrobné záznamy správy (Obr. 144).

Ryža. 144. Štruktúra správy a zvýraznené polia

Prejsť na záložku Vybrané polia a špecifikujte, že v prehľade sa zobrazia polia Služba a Cena (obr. 145).

Ryža. 145. Štruktúra správy

Nakoniec prispôsobte vzhľad zostavy na karte Iné nastavenia. Keďže prehľad bude jednoducho zoznamom poskytovaných služieb, v ktorých sú zaujímavé ceny za konkrétne služby, zobrazte hodnoty zdrojov cena pre každú zo skupín a pre celú správu ako celok nedáva zmysel.

Ak chcete zabrániť zobrazeniu celkových súčtov v prehľade, nastavte túto možnosť Vertikálne usporiadanie celkových súčtov vo význame Nie.

Potom prejdite na konkrétne nastavenia zoskupenia - Skupina služieb. Pre parameter Umiestnenie súčtov uveďte hodnotu tohto zoskupenia Nie. Vráťte sa k nastaveniam pre celý prehľad ako celok.

Pre parameter Umiestnenie polí zoskupenia zadajte hodnotu Samostatne a len vo výsledku(správa tak bude lepšie „čitateľná“). Nakoniec nastavte názov prehľadu - Zoznam služieb.

Spustite 1C:Enterprise v režime ladenia a najskôr otvorte periodický register Ceny.

Pridajte k tomu ďalšiu hodnotu pre službu Diagnostika: nová cena za službu od 1.4.2004 – 350 (obr. 146). To vám umožní otestovať správu.

Ryža. 146. Evidencia registra „Ceny“.

Teraz spustite prehľad Zoznam služieb stav k 31. marcu 2004 (obr. 147).

Ryža. 147. Výsledok spracovania správy

Vaša správa správne odráža cenu služby Diagnostika k 31. marcu 2004 – 200 rubľov.

Spustite prehľad znova, ale teraz pre iný dátum - 4. 1. 2004 (obr. 148).

Ryža. 148. Výsledok spracovania správy

Ako vidíte, zobrazuje sa nová cena za službu Diagnostika - 350 rubľov.

správa Hodnotenie zákazníkov ukáže, aký je príjem z poskytovania služieb každému z klientov za celú dobu fungovania Master LLC. Tento príklad demonštruje možnosť použitia diagramu na zobrazenie výsledku dotazu.

Diagram je ovládací prvok určený na umiestnenie do tabuliek a foriem tabuliek a grafov rôznych typov systému 1C:Enterprise.

Logicky diagram je zbierka bodov, radov a sérií hodnôt v bode(Obr. 149).

Momenty alebo objekty, pre ktoré získate charakteristické hodnoty, sa spravidla používajú ako body a charakteristiky, ktorých hodnoty vás zaujímajú, sa používajú ako série.

Napríklad diagram predaja typov produktov podľa mesiacov bude pozostávať z bodov - mesiacov, série - typov produktov a hodnôt - obratu predaja.

Diagram ako objekt vstavaného jazyka má tri oblasti, ktoré umožňujú ovládať návrh diagramu: oblasť vykresľovania, oblasť nadpisu a oblasť legendy (obr. 150).

Diagram je možné vložiť do štruktúry reportu ako samostatný prvok. Pri vytváraní prehľadu Hodnotenie zákazníkov diagram sa použije v štruktúre nastavenia schémy zloženia údajov.

Ryža. 149. Príklad diagramu

Ryža. 150. Mapové oblasti

Vytvorte nový konfiguračný objekt v konfigurátore správa. Pomenujte to Hodnotenie zákazníkov, otvorte jeho hlavnú schému rozloženia údajov.

Vytvorte súbor údajov - dotaz(DataSet1) a zavolajte konštruktor dotazu. Vyberte tabuľku registrov virtuálnej akumulácie Predaj.Obrat a z toho je jedno pole - PredajObrat.Klient.

Potom pridajte nové pole (ikona Pridať v paneli príkazov nad zoznamom polí) a pomocou tvorcu výrazov ho definujte ako rozdiel medzi výnosmi a nákladmi (obr. 151).

Ryža. 151. Editor výrazov vlastného poľa

V dôsledku toho bude zoznam vybraných polí vyzerať takto (obr. 152):

Ryža. 152. Vybrané polia

Na záložke Odbory/Aliasy zadajte, že vypočítavané pole bude mať alias príjem(Obr. 153).

Ryža. 153. Odbory/prezývky

Na záložke objednať zadajte, že riadky výsledkov by mali byť zoradené v zostupnom poradí podľa hodnoty poľa príjem. Kliknite na " OK“ a uvidíte, aký text vygeneroval konštruktor dotazu.

Prejsť na záložku Zdroje a pridajte pole príjem k zdrojom diagramu rozloženia. Potom prejdite na záložku nastavenie na vytvorenie štruktúry správy.

Na rozdiel od všetkých predchádzajúcich správ, ktorých štruktúra obsahovala zoskupenia, tentoraz pridajte do štruktúry správy diagram (obr. 154).

Ryža. 154. Štruktúra správy

Pridajte zoskupenie podľa poľa do bodov grafu Zákazník. Ponechajte sériu diagramov nezmenenú.

Teraz prejdite na záložku Vybrané polia a vyberte pole príjem pre výstup do správy. Štruktúra správy by mala mať nasledujúcu formu (obr. 155):

Ryža. 155. Štruktúra zostavy a nastavenia grafu

Na záložke Iné nastavenia nastaviť názov prehľadu – Hodnotenie zákazníkov a tiež vyberte typ grafu – Kruhový objemový.

Spustite 1C:Enterprise v režime ladenia a otvorte prehľad Hodnotenie zákazníkov(obr. 156).

Ryža. 156. Koláčový 3D graf v správe

Upozorňujeme, že keď umiestnite kurzor myši na sektor grafu, zobrazí sa popis.

Otvorte nastavenia prehľadu a zmeňte typ grafu na Meranie. Obnovte správu (obr. 157).

Ryža. 157. Schéma merania v správe

3.12.6. Vytvorte všeobecný prehľad

Na príklade vytvorenia univerzálnej zostavy sa naučíte, ako môže systém na zostavovanie údajov interagovať s kontingenčnou tabuľkou.

Vytvorte nový konfiguračný objekt v konfigurátore správa. Daj tomu meno Univerzálny. Otvorte jeho hlavnú schému zloženia údajov a vytvorte novú súbor údajov - dotaz(Množina údajov1).

Zavolajte návrhára dotazu a vyberte virtuálnu tabuľku registra akumulácie Predaj.Obrat. Z tejto tabuľky vyberte všetky polia (obr. 158).

Ryža. 158. Vybrané polia

Na karte Zoskupovanie pomocou tlačidiel " >> vyberte všetky polia dostupné na zoskupenie a pridajte všetky zdroje do súhrnných polí (obr. 159).

Ryža. 159. Zoskupovanie polí a zdrojov

Kliknite na " OK“ a pozrite sa na text vygenerovaný konštruktorom dotazu.

Dokončite vytváranie diagramu zloženia údajov nasledujúcim spôsobom na karte Návrhár diagramu rozloženia Zdroje vyberte všetky dostupné zdroje (kliknite na " >> "). V tomto bode je práca so schémou zloženia dát ukončená, zatvorte ju a vráťte sa do okna na úpravu konfiguračného objektu Report Univerzálny.

Prejsť na záložku Formuláre a vytvorte hlavný formulár správy kliknutím na tlačidlo zobraziť vedľa poľa tabuľky Hlavný formulár správy. Keďže zatiaľ neexistuje hlavný formulár, systém zavolá návrhára formulára. Súhlaste s tým, čo systém štandardne ponúka a ihneď kliknite na Pripravený".

Na obrazovke sa otvorí hlavný formulár správy. Ako vidíte, systém už za vás vložil pole dokumentu tabuľky a priradil mu názov Výsledok(Obr. 160).

Ryža. 160. Úprava formulára hlásenia

Do tohto poľa musíte vložiť kontingenčnú tabuľku. Ale bunky poľa dokumentu tabuľky Výsledok sú teraz v režime Iba prezeranie. Ak chcete vložiť kontingenčnú tabuľku, musíte tento režim odstrániť, takže kliknite na pole dokumentu tabuľky a urobte to Tabuľka –> Zobraziť –> Iba zobraziť. Teraz môžete upraviť pole tabuľky.

Umiestnite kurzor do ľavej hornej bunky poľa dokumentu tabuľky a vykonajte Tabuľka –> Vstavané tabuľky –> Vložiť kontingenčnú tabuľku. Systém pridá do poľa tabuľky kontingenčnú tabuľku a otvorí okno polí kontingenčnej tabuľky (obr. 161).

Ryža. 161. Kontingenčná tabuľka

Ak chcete zobraziť údaje v kontingenčnej tabuľke, budete musieť do modulu formulára napísať niekoľko riadkov. Otvorte modul formulára prehľadu a do textu pridajte premennú, ktorú potrebujete:

zdroj premennej kontingenčnej tabuľky;

Potom vytvorte obsluhu udalosti pre formulár správy Pri otváraní(V okne vlastností formulára Univerzálna správa) a pridajte doň nasledujúci text:

Postup OnOpen()

Zdroj kontingenčnej tabuľky = newDataCompositionPivotTableDataSource;

PivotTableSource.SetSchema(DataCompositionSchema);

Form Elements.Result.EmbeddedTables.PivotTable1.DataSource =

zdroj kontingenčnej tabuľky;

PivotTableSource.SetSettings(SettingsComposer.Settings);

Koniec procedúry

Týmto textom ste nastavili kontingenčnú tabuľku ako zdroj údajov pre schému rozloženia údajov a nastavili ste pre ňu nastavenia tvorcu nastavení.

Spustite 1C:Enterprise v režime ladenia a otvorte prehľad Univerzálny. Na obrazovke sa zobrazí formulár správy a okno na výber polí kontingenčnej tabuľky (obr. 162).

Ryža. 162. Univerzálna správa

Umiestnite hodnotu zdroja VýnosyObrat v oblasti údajov, dimenzia Nomenklatúra– v oblasti Riadok a dimenziu Majster– v časti Stĺpce. Správa bude mať nasledujúcu formu (obr. 163):

Ryža. 163. Výsledok spustenia prehľadu

Teraz v okne výberu poľa kontingenčnej tabuľky rozbaľte skupinu Nomenklatúra a pridajte hodnotu (Žiadna hierarchia) do riadkov (v rozbaľovacom zozname okna "Polia kontingenčnej tabuľky" vyberte Umiestnite do riadkov) a meranie Zákazník pridať do stĺpcov (v rozbaľovacom zozname okna "Polia kontingenčnej tabuľky" vyberte Umiestnite do stĺpcov). Správa zmení svoj vzhľad (obr. 164).

Ryža. 164. Výsledok spustenia prehľadu

Pomocou týchto schém zloženia údajov ste teda používateľovi poskytli alternatívnu možnosť nezávisle vygenerovať správu o registri Poskytované služby.

3.12.7. Vytvorenie prehľadu „Universal 2“.

Na príklade vytvorenia druhej univerzálnej zostavy sa naučíte priamo ovládať nastavenia systému rozloženia a vytvárať rozloženia na základe štandardných možností návrhu.

Vytvorte nový konfiguračný objekt správa S menom Univerzálny2. Otvorte jeho hlavnú schému zloženia údajov a vytvorte novú súbor údajov - dotaz(DataSet1) a spustite návrhára dotazov. Vyberte všetky polia z virtuálnej tabuľky akumulačného registra Predaj.Obrat a kliknite na " OK". Na záložke Zdroje Návrhár schémy zloženia údajov, kliknite na " >> “ a uistite sa, že systém vybral tri zdroje: Tržby Obrat, Množstvo Obrat A NákladyObrat.

Na záložke nastavenie vytvoriť novú skupinu Podrobné záznamy(bez výberu poľa zoskupenia).

Teraz pridané medzi záložky Formuláre okná na úpravu prehľadov Univerzálny2 Pomocou návrhára vytvorte hlavný formulár správy a upravte ho.

Roztiahnite tvar a umiestnite do neho dva nápisy s menami Polia A objednať a s nadpismi Polia: A Objednať: podľa toho (obr. 165).

Pod nápisom Polia CommandBarFields. Pod nápisom objednať umiestnite panel príkazov s názvom CommandBarOrder. Pod panelmi príkazov umiestnite polia tabuľky s príslušnými názvami TabularFieldFields A TableFieldOrder.(Obr. 166). V okne Vlastnosti príkazového panela CommandBarFields nastaviť vlajku Automatické dopĺňanie A Zdroj akcie – TabularField. V okne Vlastnosti príkazového panela CommandBarOrder nastaviť vlajku Automatické dopĺňanie A Zdroj akcie – TableFieldOrder.

Ryža. 165. Úprava formulára hlásenia

Ryža. 166. Formulár správy Universal2

Teraz pre pole tabuľky TabularFieldFields nastaviť zdroj údajov ako ReportObject.SettingsLinker.Settings.Selection(obr. 167).

Ryža. 167. Nastavte zdroj údajov pre pole tabuľky

Podobne ako pole tabuľky TableFieldOrder uveďte zdroj údajov ReportObject.SettingsLinker.Settings.Order.

Po dokončení opísaných krokov ste priradili ovládacie prvky umiestnené vo formulári k nastaveniam systému rozloženia zostavy - Voľba A objednať. Voľba umožňuje spravovať zoznam polí, ktoré budú zahrnuté do výsledku zostavy a objednať určuje poradie, v ktorom sa zobrazia riadky výsledkov. Používateľ bude potrebovať príkazové panely na konfiguráciu hodnôt týchto polí. Používanie vlastností panela príkazov Automatické dopĺňanie A Zdroj akcie, bolo získané automatické generovanie príkazov na základe typu údajov obsiahnutých v každom z polí tabuľky.

Systém 1C:Enterprise 8 má malú súpravu hotových návrhových rozložení na použitie systémom na zostavovanie údajov. Sú obsiahnuté v objekte LibraryLayoutDesignLayoutData.

Umiestnite ďalší nápis s menom Dekor a titul Dekor: a napravo od neho umiestnite výberové pole s názvom Výber FieldDesign(obr. 168) bez podpisu.

Ryža. 168. Úprava formulára hlásenia

Vo vlastnostiach výberového poľa otvorte okno Výber riadkov zoznamu a vyplňte ho názvami rozložení z knižnice rozložení údajov (pozrite Obrázok 169).

Ryža. 169. Vyplnenie zoznamu hodnôt pre výberové pole

Ak chcete, aby výberové pole zmenilo použité rozloženie systému rozloženia, vytvorte obslužný program Keď sa to zmení výberové polia:

Procedure SelectionFieldDesignOnChange(Element)

OutputParameters = ComposerSettings.Settings.OutputParameters;

Parameter rozloženia návrhu = Výstupné parametre. FindParameterValue(New

DataLayoutParameter("DesignLayout"));

AppearanceLayoutParameter.Usage = True;

AppearanceLayoutParameter.Value = SelectionFieldAppearance;

Koniec procedúry

Tento text pre parameter zloženia údajov Návrh rozloženia zadáte názov rozloženia, ktoré sa má použiť na zobrazenie zostavy, a nastavíte príznak pre použitie rozloženia návrhu.

Spustite 1C:Enterprise v režime ladenia a otvorte prehľad Univerzálny2.

Do vybratých polí pridajte nasledujúce polia:

· Majster;

· nomenklatúra;

· TržbyTurnover.

Nastavte poradie zoradenia:

· Vzostupný majster;

· Nomenklatúra. Typ nomenklatúry v zostupnom poradí;

· Nomenklatúra vo vzostupnom poradí.

Vyberte si napríklad dizajn zelená a kliknite na tlačidlo " Formulár Výsledok bude vyzerať takto (obr. 170):

Ryža. 170. Výsledok spracovania správy

Teraz zmeňte podmienky generovania správy. Vyberte polia Klient, nomenklatúra A VýnosyObrat. Poradie zoradenia bude vo vzostupnom poradí podľa hodnoty poľa Zákazník, a možnosť návrhu je More. Spustite správu (obr. 171).

Ryža. 171. Výsledok spracovania správy


3.13. Optimalizácia dokumentu "Poskytovanie služieb"

Predpokladajme, že vedenie Master LLC prijalo konečné rozhodnutie o postupe výpočtu nákladov na materiál spotrebovaný v procese poskytovania služieb. Totiž aktuálna cena materiálu sa určí ako podiel celkových nákladov na zostatok tohto materiálu a jeho zostávajúceho množstva na sklade.

Okrem toho vám nástroje 1C:Enterprise 8.1 umožňujú kontrolovať rýchlosť postupu zaúčtovania dokumentov pomocou mechanizmu požiadaviek.

Teda optimalizácia dokumentov Poskytovanie Služieb, má dva ciele:

· stanovenie nákladov na spotrebný materiál pri vedení dokumentu;

· zvýšenie rýchlosti procesov spracovania dokumentov.

Odstrániť v dokumente Poskytovanie Služieb podrobnosti o sekcii tabuľky cena, ktorý už nebude potrebný. Odstráňte tiež zodpovedajúci stĺpec z poľa tabuľky umiestneného vo formulári dokumentu Poskytovanie Služieb.

Potom úplne odstráňte obsah obsluhy udalosti SpracovanieVedenie v module dokumentov Poskytovanie Služieb a vytvorte si v ňom šablónu postupu implementácie. Text požiadavky vykonanej v prevádzkovom režime (t. j. pre aktuálny dátum a čas) sa bude líšiť od požiadavky vykonanej v neoperačnom režime (t. j. „spätne s dátumom“). Preto musí byť vytvorenie textu požiadavky zahrnuté do podmienky If... Else... EndIf:

Žiadosť = Nová požiadavka;

If Mode = DocumentConductMode.Operational Then

Žiadosť.Text =

Inak

Žiadosť.Text =

koniec Ak;

Najprv vytvorte požiadavku, ktorá sa vykoná pri operatívnom spracovaní dokumentu. Hodnota premennej Query.Text sa vygeneruje automaticky. Ak to chcete urobiť, umiestnite kurzor pred bodkočiarku, kliknutím pravým tlačidlom myši vyvolajte kontextové menu a vyberte Konštruktor dotazov. Súhlaste s vytvorením novej žiadosti. Na obrazovke sa zobrazí dialógové okno Query Builder. Rozšírte tabuľku Zoznam nomenklatúr tabuľková časť dokumentu Poskytovanie Služieb a vyberte z neho polia:

· nomenklatúra;

· Množstvo;

· Nomenklatúra. Typ nomenklatúry;

Tieto polia budú potrebné na nastavenie hodnôt rozmerov registra a ich zdrojov. Okrem toho pole Typ Nomenklatúra budete musieť analyzovať, čo je nomenklatúra uvedená v dokumente: materiál alebo služba (obr. 172).

Ryža. 172. Vybrané polia

Ak chcete zadať hodnoty zdrojov cena registrov Náklady na materiály A Predaj budete musieť vypočítať aktuálnu cenu položky ako podiel nákladov na zvyšok tohto materiálu a jeho zostávajúceho množstva.

Do zoznamu vybraných tabuliek preto pridajte ďalšie dve tabuľky (obr. 173).

RegisterAkumulácie.Zostávajúce materiály.Zostatky.

Ryža. 173. Vybrané tabuľky

Pre tieto virtuálne tabuľky musíte nastaviť rovnaké parametre. Najprv vyberte virtuálny stôl Remaining MaterialsRemaining Materials, vyvolajte kontextové menu kliknutím pravým tlačidlom myši a vyberte Možnosti virtuálneho stola. Parametre budú zahŕňať časový bod, v ktorom by mal byť prijatý zvyšok týchto registrov, a podmienku prijatia údajov.

Podmienka pre príjem údajov naznačuje, že zostatky by mali byť prijaté len pre tie položky položiek, ktoré sú obsiahnuté v zaúčtovanom doklade (pred vykonaním požiadavky je potrebné odovzdať zoznam všetkých položiek položiek obsiahnutých v zaúčtovanom doklade do parametra Zoznam položiek dokladu) - Obr. 174.

Ryža. 174. Parametre virtuálnej tabuľky

Nastavte rovnaké parametre pre druhú virtuálnu tabuľku Náklady na zostávajúce materiály. Ďalej z týchto virtuálnych tabuliek vyberte polia CostRemaining a QuantityRemaining (obr. 175).

Ryža. 175. Vybrané polia

Znova vyberte tabuľku virtuálnych akumulačných registrov Remaining MaterialsRemaining Materials a premenovať ho na Zostávajúce materiályRemainingStock(Obr. 176).

Ryža. 176. Vybrané tabuľky

Pre túto virtuálnu tabuľku zadajte aj parameter Časový bod a do podmienky napíšte, že materiál musí byť v zozname položiek a sklad sa musí rovnať skladu uvedenému v doklade (obr. 177).

Ryža. 177. Parametre tabuľky Material RemainingStockRemaining

Teraz z tejto virtuálnej tabuľky vyberte pole QuantityRemaining (Obr. 178).

Ryža. 178. Vybrané polia

V tomto bode je tvorba zoznamu vybraných polí dokončená a môžete pristúpiť k nastaveniu podmienok spojenia medzi vybranými tabuľkami. Ak to chcete urobiť, prejdite na záložku Spojenia. Každá z virtuálnych tabuliek musí byť prepojená s tabuľkou dokladov tak, že pre všetky záznamy v tabuľke dokladov musia byť vybraté existujúce záznamy vo virtuálnej tabuľke a nomenklatúra v tabuľke dokladov sa musí rovnať materiálu z tabuľky dokladov. virtuálna tabuľka (obr. 179, a–b).

Ryža. 179a. Vybrané tabuľky

Ryža. 179b. Podmienky vzťahu medzi tabuľkami

Teraz prejdite na záložku Okrem toho a nastaviť vlajku Pre zmenu. Vlajka Pre zmenu umožňuje predomknúť čítanie špecifikovaných údajov (ktoré je možné prečítať transakciou na inom spojení) už počas čítania, aby sa predišlo zablokovaniu pri zápise. Táto klauzula umožňuje špecifikovať v dotaze tabuľky, ktorých načítané údaje sa majú upraviť.

Keďže plánujete zapisovať akumulačné registre Zostávajúce materiály A Náklady na materiály, špecifikujte tabuľky týchto registrov ako tabuľky na zmenu (obr. 180).

Ryža. 180. Zadajte tabuľky, ktoré chcete zmeniť

Prejsť na záložku Podmienky a nastaviť podmienku výberu len riadkov zaúčtovaného dokladu z tabuľky dokladov (odkaz naň sa odovzdá parametru Dopyt na prepojenie) - obr. 181. Ak to chcete urobiť, dvakrát kliknite ľavým tlačidlom myši na pole Link.

Ryža. 181. Podmienka pre výber z tabuľky dokumentov

Prejsť na záložku Odbory/Aliasy a nastavte nasledujúce aliasy polí: ItemItemView –> ItemType; QuantityRemaining1 –> QuantityInStock.

Kliknite na " OK“ a pozrite sa na text požiadavky vygenerovaný konštruktorom (hodnota premennej Request.Text):

Poskytovanie služiebZoznam nomenklatúry.Nomenklatúra.Typ nomenklatúry AS Typ nomenklatúry,

Náklady na zostávajúce materiály. Zostávajúce náklady,

Remaining MaterialsRemainingInStock.QuantityRemaining AS QuantityInStock

ĽAVÉ PRIPOJENIE Register Akumulácie Náklady na materiál Zostatok (&Moment času, Materiál B (a Zoznam nomenklatúry dokumentov)) AKO Náklady na zostávajúce materiály

Materiál B (&Zoznam nomenklatúry dokumentov)) AS Zostávajúce materiály

Softvérové ​​poskytovanie služiebZoznam nomenklatúry.Nomenklatúra =

ĽAVÉ PRIPOJENIE Registrovať Akumulácie. Zvyšky materiálu. Zvyšky (&časový bod,

Materiál B (&Zoznam nomenklatúry dokladov) A Sklad = &SkladDokumentu)

AKO ZOSTAŤ MATERIÁLY ZOSTÁVA SKLADOM

Softvérové ​​poskytovanie služiebZoznam nomenklatúry.Nomenklatúra =

Zostávajúce materiályZostávajúce zásoby.Materiál

PRE ZMENU

Register akumulácie. Náklady na materiály. Zostatky,

RegisterAkumulácie. Zvyšky materiálov. Zvyšky

Text žiadosti pre prípad neoperatívneho zaúčtovania dokladu bude takmer rovnaký, až na to, že v ňom bude chýbať tretie ľavé spojenie a teda pole Množstvo na sklade, pretože V tomto prípade nie je potrebné kontrolovať zostatky. Umiestnite kurzor pred bodkočiarku umiestnenú v sekcii Inak(pozrite si stranu 135) a vložte nasledujúci text dotazu:

Poskytovanie služiebZoznam nomenklatúry.Nomenklatúra,

Poskytovanie služiebZoznam nomenklatúry. Množstvo,

Poskytovanie služiebZoznam nomenklatúry.Nomenklatúra.Typ nomenklatúry AKO

Typ nomenklatúry,

Poskytovanie služiebZoznam nomenklatúry. Suma,

Remaining MaterialsRemaining.QuantityRemaining,

Cost of Material Remaining. Cost Remaining

Dokument.Poskytovanie služieb.Zoznam nomenklatúr AKO poskytovať službyZoznam číselníkov

ĽAVÉ PRIPOJENIE Register Akumulácie. Náklady na materiál. Zostávajúce (&Moment of Time, Material B (&Zoznam nomenklatúry dokumentov))

AKO NA CostMaterialsRemaining

Softvérové ​​poskytovanie služiebZoznam nomenklatúry.Nomenklatúra =

Náklady na materiály Zostávajúci materiál

ĽAVÉ PRIPOJENIE Registrovať Akumulácie. Zvyšky materiálu. Zvyšky (&časový bod,

Materiál B (&zoznam nomenklatúry dokumentov))

AKO ZANECHAŤ MATERIÁLY Zvyšky

Softvérové ​​poskytovanie služiebZoznam nomenklatúry.Nomenklatúra =

Remaining MaterialsRemaining Material

PRE ZMENU

Register akumulácií. Zvyšné materiály. Zvyšky,

Register akumulácie. Náklady na materiály. Zvyšky;

Teraz pridajte parametre požiadavky do textu obslužného programu (do príslušných riadkov pridajte iba príkazy zvýraznené tučným písmom):

Žiadosť = Nová požiadavka;

Request.SetParameter("WarehouseInDocument", Warehouse);

If Mode = DocumentConductMode.Operational Then

Žiadosť.Text =

| Register akumulácie. Náklady na materiály. Zvyšky“;

koniec Ak;

Request.SetParameter("TimePoint", TimePoint());

Request.SetParameter("Zoznam nomenklatúry dokumentov",

Zoznam nomenklatúry.UnloadColumn("Nomenklatúra"));

Žiadosti sú určené na extrakciu a spracovanie informácií z databázy, aby ich poskytli používateľovi v požadovanej forme. Spracovanie tu znamená zoskupovanie polí, triedenie riadkov, výpočet súčtov atď. Údaje nemôžete meniť pomocou dotazov v 1C!

Požiadavka sa vykoná podľa daných pokynov − text žiadosti. Text požiadavky je zostavený v súlade so syntaxou a pravidlami dopytovací jazyk. Dotazovací jazyk 1C:Enterprise 8 je založený na štandarde SQL, ale má určité rozdiely a rozšírenia.

Schéma práce s požiadavkou

Všeobecná schéma práce so žiadosťou pozostáva z niekoľkých po sebe nasledujúcich etáp:

  1. Vytvorenie objektu požiadavky a nastavenie textu požiadavky;
  2. Nastavenie parametrov požiadavky;
  3. Vykonanie požiadavky a získanie výsledku;
  4. Obídenie výsledku požiadavky a spracovanie prijatých údajov.

1. Objekt Žiadosť má nehnuteľnosť Text, ku ktorému je potrebné priradiť text požiadavky.

// Možnosť 1
Žiadosť = Nová požiadavka;
Žiadosť . Text =
"VYBERTE si
| Kurzy mien. Obdobie,
| Kurzy mien. Mena,
| Kurzy mien. Kurz
|OD

| KDE
;

// Možnosť 2
Žiadosť = Nová požiadavka("VYBERTE si
| Kurzy mien. Obdobie,
| Kurzy mien. Mena,
| Kurzy mien. Kurz
|OD
| Register informácií. Kurzy mien AS Kurzy mien
| KDE
| Kurzy mien.Currency = &Mena");

2. Nastavenie hodnôt parametrov sa vykonáva pomocou metódy NastaviťParameter(< Имя>, < Значение>) . Parametre v texte požiadavky sú označené symbolom „ & “ a zvyčajne sa používajú v podmienkach výberu (sekcia WHERE) a v parametroch virtuálnej tabuľky.

Žiadosť);

3. Po priradení textu a nastavení parametrov je potrebné vykonať požiadavku a získať výsledok vykonania. Spustenie sa vykonáva metódou Execute(), ktorá vracia objekt Výsledok dotazu. Z výsledku dopytu môžete:

  • získajte výber pomocou metódy Select (< ТипОбхода>, < Группировки>, < ГруппировкиДляЗначенийГруппировок>) ;
  • nahrajte hodnoty do tabuľky hodnôt alebo stromu hodnôt pomocou metódy Upload (< ТипОбхода>) .

// Prijmite vzorku

Ukážka = Výsledok dotazu. Vyberte si();

// Získanie tabuľky hodnôt
RequestResult = Žiadosť. Run();
Tabuľka = Výsledok dotazu. Vyložiť();

4. Výber výsledku dotazu môžete obísť pomocou slučky:

Zbohom Sample.Next() Slučka
Správa (Výber. Kurz);
EndCycle;

Úplný príklad práce so žiadosťou môže vyzerať takto:

// Fáza 1. Vytvorenie požiadavky a nastavenie textu požiadavky
Žiadosť = Nová požiadavka;
Žiadosť . Text =
"VYBERTE si
| Kurzy mien. Obdobie,
| Kurzy mien. Mena,
| Kurzy mien. Kurz
|OD
| Register informácií. Kurzy mien AS Kurzy mien
| KDE
| Kurzy mien.Currency = &Mena";

// Fáza 2. Nastavenie parametrov
Žiadosť . SetParameter("Currency" , SelectedCurrency);

// Fáza 3. Vykonanie dotazu a získanie vzorky
RequestResult = Žiadosť. Run();
Ukážka = Výsledok dotazu. Vyberte si();

// Prechádzanie výberom
Zbohom Sample.Next() Slučka
Správa (Výber. Kurz);
EndCycle;

Zloženie textu požiadavky

Text žiadosti pozostáva z niekoľkých častí:

  1. Popis žiadosti— zoznam voliteľných polí a zdrojov údajov;
  2. Zlučovanie dopytov— výrazy „UNITE“ a „UNITE ALL“;
  3. Organizovanie výsledkov— výraz „OBJEDNÁVKA PODĽA...“;
  4. Automatická objednávka— výraz „AUTO OBJEDNÁVKA“;
  5. Popis výsledkov- výraz „VÝSLEDKY ... POD ...“.

Povinná je len prvá časť.

Dočasné tabuľky a dávkové dotazy

Dotazovací jazyk 1C podporuje použitie dočasné stoly— tabuľky získané ako výsledok dotazu a dočasne uložené.

Často sa môžete stretnúť so situáciou, kedy potrebujete ako zdroj dotazu použiť nie databázové tabuľky, ale výsledok vykonania iného dotazu. Tento problém je možné vyriešiť pomocou vnorených dotazov resp dočasné stoly. Použitie dočasných tabuliek vám umožňuje zjednodušiť text zložitého dotazu jeho rozdelením na jednotlivé časti a tiež v niektorých prípadoch urýchliť vykonávanie dotazu a znížiť počet zámkov. Ak chcete pracovať s dočasnými tabuľkami, použite objekt Správca rozvrhov. Dočasná tabuľka sa vytvorí pomocou kľúčového slova PLACE, za ktorým nasleduje názov dočasnej tabuľky.

ManagerVT = New TemporaryTablesManager;
Žiadosť = Nová požiadavka;
Žiadosť . ManagerTemporaryTables = ManagerVT;

Žiadosť . Text =
"VYBERTE si
| Currencies.Code,
| Meny.Názov
| Miesto v mene
|OD
| Adresár.Currencies AS Meny";

RequestResult = Žiadosť. Vykonať();

Ak chcete použiť dočasnú tabuľku VTVcurrency v iných dotazoch, musíte týmto dotazom priradiť spoločného správcu dočasných tabuliek — VT Manager.

Dávková žiadosť je požiadavka, ktorá obsahuje niekoľko požiadaviek oddelených znakom „;“. Pri vykonávaní dávkového dotazu sa všetky dotazy, ktoré obsahuje, vykonajú postupne a výsledky všetkých dočasných tabuliek sú dostupné pre všetky nasledujúce dotazy. Explicitné priradenie dočasného manažéra tabuliek k dávkovým dotazom nie je potrebné. Ak nie je priradený dočasný správca tabuliek, všetky dočasné tabuľky sa vymažú ihneď po vykonaní dotazu.

Pre dávkové dotazy je dostupná metóda ExecuteBatch(), ktorá vykoná všetky dotazy a vráti pole výsledkov. Dočasné tabuľky v dávkovom dopyte budú reprezentované tabuľkou s jedným riadkom a jedným stĺpcom „Počet“, v ktorej je uložený počet záznamov. Na ladenie dávkových požiadaviek môžete použiť metódu Vykonajte dávku S MEDZI ÚDAJMI() : Vráti skutočný obsah dočasných tabuliek, nie počet záznamov.

// Príklad práce s dávkovou požiadavkou
Žiadosť = Nová požiadavka;
Žiadosť . Text =
"VYBERTE si
| Meny.Názov
|OD
| Adresár.Currencies AS Meny
|;
|VYBERTE
| Nomenklatúra.Názov
|OD
| Adresár. Nomenklatúra AS Nomenklatúra";

Výsledok dávky = požiadavka. ExecuteBatch();

TZMeny =PacketResult[ 0 ]. Unload();
TZNomenklatúra = Výsledok balíka[ 1 ]. Unload();

// Príklad použitia dočasných tabuliek v dávkovej požiadavke
Žiadosť = Nová požiadavka;
Žiadosť . Text =
"VYBERTE si
| Produkty. Odkaz AKO NA produkt
| MIESTO VTProdukty
|OD
| Adresár.Nomenklatúra AKO Produkty
| KDE
| Products.Manufacturer = &Manufacturer
|;
|VYBERTE
| VTTProducts.Product,
| Odborná škola. Množstvo,
| Odborná škola. Cena,
| Odborná škola.Link AS DocumentReceipts
|OD
| Produkty VT AKO Produkty VT
| ĽAVÉ PRIPOJENIE Dokument. Príjem tovaru a služieb. Tovar AS PTU
| Softvér VTProducts.Product = PTU.Nomenklatúra"
;

Žiadosť . NastaviťParameter( "Výrobca", Výrobca);

RequestResult = Žiadosť. Run();
Ukážka = Výsledok dotazu. Vyberte si();

Zbohom Sample.Next() Slučka

EndCycle;

Virtuálne stoly

Virtuálne stoly- ide o tabuľky, ktoré nie sú uložené v databáze, ale sú generované platformou. Vo svojom jadre sú to vnorené dotazy voči jednej alebo viacerým fyzickým tabuľkám vykonávaným platformou. Virtuálne tabuľky prijímajú informácie iba z registrov a sú určené najmä na riešenie vysoko špecializovaných problémov.

Existujú nasledujúce virtuálne tabuľky (možné parametre sú uvedené v zátvorkách):

  • Pre informačné registre:
    • SliceFirst(<Период>, <Условие>) — najskoršie záznamy k určenému dátumu;
    • SliceLast(<Период>, <Условие>) — posledné záznamy k určenému dátumu;
  • Pre akumulačné registre:
    • Zvyšky(<Период>, <Условие>) — zostatky k určenému dátumu;
    • Revolúcie (<НачалоПериода>, <КонецПериода>, <Периодичность>, <Условие>) - transakcie za obdobie;
    • RemainsAndTurnover(<НачалоПериода>, <КонецПериода>, <Периодичность>, <МетодДополненияПериодов>, <Условие>) — zostatky a obrat za obdobie;
  • Pre účtovné registre:
    • Zvyšky(<Период>, <УсловиеСчета>, <Субконто>, <Условие>) — zostatky k určenému dátumu podľa účtu, rozmerov a podúčtov;
    • Revolúcie (<НачалоПериода>, <КонецПериода>, <Периодичность>, <УсловиеСчета>, <Субконто>, <Условие>, <УсловиеКорСчета>, <КорСубконто>) — obrat za obdobie v kontexte účtov, miery, kor. účty, subkonto, kor. subconto;
    • RemainsAndTurnover(<НачалоПериода>, <КонецПериода>, <Периодичность>, <МетодДополненияПериодов>, <УсловиеСчета>, <Субконто>, <Условие>) — zostatky a obrat v kontexte účtov, meraní a podúčtov;
    • ObratDtKt(<НачалоПериода>, <КонецПериода>, <Периодичность>, <УсловиеСчетаДт>, <СубконтоДт>, <УсловиеСчетаКт>, <СубконтоКт>, <Условие>) — obrat za obdobie podľa účtu Dt, účtu Kt, Subconto Dt, Subconto Kt;
    • Movements Subconto(<НачалоПериода>, <КонецПериода>, <Условие>, <Порядок>, <Первые>) — pohyby spolu s hodnotami subkonto;
  • Pre výpočtové registre:
    • základňa(<ИзмеренияОсновногоРегистра>, <ИзмеренияБазовогоРегистра>, <Разрезы>, <Условие>) — základné údaje výpočtového registra;
    • DataGraphics(<Условие>)—grafové údaje;
    • ActualActionPeriod(<Условие>) je skutočná doba platnosti.

Pri práci s virtuálnymi tabuľkami by ste mali použiť výbery v parametroch virtuálnych tabuliek a nie v podmienke WHERE. Čas vykonania dotazu veľmi závisí od toho.

Konštruktor dotazov

Na urýchlenie zadávania textov dopytov má platforma špeciálne nástroje: Konštruktor dotazov A Konštruktor dotazov so spracovaním výsledkov. Ak chcete zavolať konštruktérov, musíte kliknúť pravým tlačidlom myši a vybrať požadovanú položku:

Konštruktory je možné vyvolať aj z hlavného menu Text.

Pomocou tvorcu dotazov môže programátor interaktívne zostaviť text dotazu. Ak to chcete urobiť, vyberte potrebné tabuľky a polia pomocou myši, vytvorte vzťahy, zoskupenia, súčty atď. Tento prístup šetrí čas a eliminuje možné chyby. Konštruktor dotazu ako výsledok svojej práce vygeneruje text dotazu.

Konštruktor dotazu so spracovaním výsledkov okrem generovania textu dotazu vytvára hotový fragment kódu na príjem a spracovanie údajov.

Objekt RequestSchema

Platforma vám umožňuje programovo vytvárať a upravovať text požiadavky pomocou objektu Požiadať o schému. Objekt má jednu vlastnosť Dávka žiadostí, do ktorého objekt ukladá vlastnosti všetkých aktuálne upravovaných dotazov. Objekt RequestSchema podporuje nasledujúce metódy:

  • SetQueryText(< Текст>) — vyplní vlastnosť Query Packet na základe zaslaného textu požiadavky;
  • GetQueryText() - vráti text požiadavky vygenerovaný na základe vlastnosti Request Packet;
  • FindParameters() - vráti parametre požiadavky.

Pozrime sa na príklad práce s objektom RequestSchema. Na programové generovanie textu požiadavky

TRIEDIŤ PODĽA
Meny.Kód

Vložený kód jazyka môže vyzerať takto:

RequestScheme = New RequestScheme;
Balíček 1 = RequestScheme. RequestBatch[ 0];
Prevádzkovateľ 1 = Balíček 1. Operátory[ 0 ];
// pridanie zdroja
RegisterTable = Operátor1. Zdroje. Pridať( "Adresár. Meny", "Meny");
// pridanie polí
FieldLink = Prevádzkovateľ1. SelectableFields. Add("Currencies.Link" , 0 );
FieldCode = Prevádzkovateľ1. SelectableFields. Add("Kód mien", 1);
// určenie aliasov polí
Balíček 1 . Stĺpce[ 0]. Alias ​​​​= "Mena" ;
Balíček 1 . Stĺpce[ 1]. Alias ​​​​= "Kód" ;
// pridanie podmienky
Prevádzkovateľ 1 . Výber. Pridať( "NIE JE vymazanie vlajky");
// pridať objednávku
Balíček 1 . Objednať. Pridať (Kód poľa);
RequestText = RequestScheme. GetQueryText();

Na prácu s dotazmi sa používa vstavaný jazykový objekt Žiadosť. Umožňuje vám prijímať informácie uložené v poliach databázy vo forme vzorky vytvorenej podľa určených pravidiel.

Dotaz prijíma počiatočné informácie zo sady tabuliek. Tieto tabuľky predstavujú údaje zo skutočných databázových tabuliek v ľahko analyzovateľnej forme. Možno ich rozdeliť do dvoch veľkých skupín: reálny A virtuálne.

Reálne tabuľky môžu byť zas objektové (referenčné) alebo neobjektové (nereferenčné), Obr. 97.

Ryža. 97. Tabuľky dopytov

Charakteristickým rysom skutočných tabuliek je, že obsahujú údaje z akejkoľvek jednej skutočnej tabuľky uloženej v databáze. Napríklad skutočná tabuľka je Directory.Clients, zodpovedajúca adresáru Clients, alebo tabuľka Accumulation Register.Material Remaining, zodpovedajúca akumulačnému registru Material Remaining.

Virtuálne tabuľky sa tvoria predovšetkým z údajov z viacerých databázových tabuliek. Virtuálna tabuľka je napríklad Register akumulácie.Zostatky materiálu.ZostatkyAndTurnover, vytvorená z niekoľkých tabuliek registra akumulácie zostávajúceho materiálu.

Niekedy môžu byť virtuálne tabuľky vytvorené z jednej reálnej tabuľky (napríklad virtuálna tabuľka Prices.SliceLast je vytvorená na základe tabuľky registra informácií o cenách). Všetky virtuálne tabuľky však majú spoločné to, že im môže byť pridelených množstvo parametrov, ktoré určujú, aké údaje budú do týchto virtuálnych tabuliek zahrnuté. Sada takýchto parametrov môže byť odlišná pre rôzne virtuálne tabuľky a je určená údajmi uloženými v tabuľkách zdrojovej databázy.

Reálne tabuľky sa delia na objektové (referenčné) a neobjektové (nereferenčné) tabuľky.

IN objektové (referenčné) tabuľky sú prezentované informácie referenčných dátových typov (adresáre, dokumenty, plány charakteristických typov atď.). A v neobjektový (nie referenčný)– všetky ostatné dátové typy (konštanty, registre atď.).

Výrazná vlastnosť objektové (referenčné) tabuľky je, že obsahujú pole Odkaz obsahujúce odkaz na aktuálny záznam. Navyše pre takéto tabuľky je to možné získanie vlastnej reprezentácie objektu. Tieto tabuľky môžu byť hierarchické a polia takýchto tabuliek môžu obsahovať vnorené tabuľky (časti tabuľky).

Algoritmus, ktorým sa budú vyberať údaje zo zdrojových tabuliek požiadavky, je popísaný v texte požiadavky v špeciálnom jazyku - dopytovací jazyk . Text žiadosti sa skladá z niekoľkých častí:

· popis žiadosti;

· zlučovanie dopytov;

· poradie výsledkov;

· AUTO OBJEDNÁVKA;

· opis výsledkov.

Povinnou súčasťou žiadosti je len prvá časť – popis žiadosti. Všetky ostatné sú prítomné podľa potreby.

Popis dotazu definuje zdroje údajov, výberové polia, zoskupenia atď.

Zlučovanie dopytov definuje, ako sa kombinujú výsledky viacerých dopytov.

Usporiadanie výsledkov definuje podmienky zoradenia pre riadky výsledkov dotazu.

AUTOMATICKÉ ORDER umožňuje povoliť automatické zoradenie riadkov výsledkov dotazu.

Súhrnný popis určuje, ktoré súčty sa majú vypočítať v dotaze a ako sa má výsledok zoskupiť.

Treba poznamenať, že keď sa dopytovací jazyk používa na opis zdrojov údajov v systéme na zostavovanie údajov, nepoužíva sa súhrnná časť dopytovacieho jazyka. Je to spôsobené tým, že systém skladania údajov nezávisle vypočítava výsledky na základe nastavení vývojára alebo používateľa.

Systém skladania údajov určený na vytváranie vlastných reportov v systéme 1C:Enterprise 8.1 a skladá sa z niekoľkých hlavných častí.

Počiatočné údaje pre rozloženie zostavy obsahuje diagram rozloženia údajov – ide o súbory údajov a spôsoby práce s nimi(Obr. 98).

Vývojár vytvorí schému kompozície dát, v ktorej popíše text požiadavky, množiny dát, prepojenia medzi nimi, dostupné polia, parametre získavania dát a nastaví počiatočné nastavenia rozloženia – štruktúru reportu, rozloženie dát atď.

Schéma rozloženia môže napríklad obsahovať nasledujúci súbor údajov (Obrázok 99).

Ryža. 98. Všeobecná schéma práce so systémom kompozície dát

Ryža. 99. Príklad diagramu rozloženia (množina údajov a dotaz pomocou nej)

Na obr. Obrázok 99 zobrazuje okno návrhára schémy kompozície údajov, ktoré obsahuje zdroj údajov, text dotazu a polia vybrané dotazom.

Správa systému na zostavovanie údajov, ktorú používateľ dostane, nie je len tabuľkou záznamov, ktoré vyhovujú dopytu. Má zložitú hierarchickú štruktúru a môže pozostávať z rôznych prvkov, ako sú zoskupenia, tabuľky a grafy. V tomto prípade môže používateľ zmeniť existujúcu alebo dokonca vytvoriť úplne novú štruktúru zostavy, nakonfigurovať výber a návrh prvkov štruktúry zostavy, ktoré potrebuje, získať prepis pre každý prvok atď.

Napríklad je možné špecifikovať nasledujúcu štruktúru správy (obr. 100):

Ryža. 100. Štruktúra možnej správy

Vygenerovaná správa môže vyzerať takto (obr. 101).

V prezentovanom prehľade bude tabuľka pozostávať zo záznamov registra akumulácie PredajObrat o klientoch a službách, ktoré sa im poskytujú. Tieto záznamy sú zoskupené podľa remeselníkov, ktorí dokončili zákazky. A v zoskupení sa zobrazí zoznam majstrov.

Vo všeobecnosti je systém skladania údajov súborom niekoľkých objektov. Pri generovaní a vykonávaní správy sa údaje postupne prenášajú z jedného objektu systému na zostavovanie údajov do druhého, až kým sa nedosiahne konečný výsledok - dokument zobrazený používateľovi.

Algoritmus interakcie týchto objektov je nasledujúci: vývojár vytvorí schému rozloženia údajov a predvolené nastavenia. Vo všeobecnosti možno na základe jednej schémy zloženia údajov vytvoriť veľké množstvo rôznych správ. Nastavenia zloženia údajov – vytvorené vývojárom alebo upravené používateľom – určujú, ktorá zostava sa vytvorí v konkrétnom prípade.

Ryža. 101. Vzor správy

Na základe návrhu rozloženia a dostupných nastavení vytvorí tvorca rozloženia dátové rozloženie. Toto je fáza prípravy na vykonanie správy. Usporiadanie kompozície údajov je hotová úloha, ktorú môže vykonať spracovateľ kompozície. Rozloženie rozloženia obsahuje potrebné dotazy, rozloženia oblasti zostavy atď.

Spracovateľ zostavy dát vyberá dáta z infobázy podľa rozloženia, tieto dáta agreguje a formátuje.

Výsledok rozloženia spracuje výstupný procesor a v dôsledku toho používateľ dostane výsledný tabuľkový dokument.

Postupnosť činnosti systému usporiadania možno znázorniť ako nasledujúci diagram (obr. 102):

Ryža. 102. Schéma fungovania dispozičného systému

3.12.1. Vytvorenie zostavy "Registr dokumentov Poskytovanie služieb"

správa Register dokumentov Poskytovanie služieb zobrazí zoznam dokumentov poskytovania služieb existujúcich v databáze v poradí podľa ich dátumov a čísel.

správa. Daj tomu meno Register dokumentov Poskytovanie služieb. Na záložke Základné klikni " Pripravený V návrhári schémy zloženia údajov pridajte Množina údajov – Dopyt Konštruktor dotazov".

Vyberte tabuľku dokumentu objektu (referenčného) ako zdroj údajov pre dotaz Poskytovanie Služieb. Z tejto tabuľky vyberte nasledujúce polia (obr. 103):

Dátum; číslo; sklad; Majster; Zákazník.

Ryža. 103. Vybrané polia

Potom prejdite na záložku objednať a špecifikujte, že výsledok dotazu by mal byť najprv zoradený podľa hodnoty poľa dátum a potom - podľa hodnoty poľa Poskytovanie služieb Odkaz(obr. 104).

Ryža. 104. Poradie výstupu výsledku dotazu

Kliknite na " OK“ a uvidíte, aký dotaz vygeneroval konštruktor dotazu.

Prejsť na záložku nastavenie a pridajte do štruktúry správy nové zoskupenie (obr. 105).

Ryža. 105. Panel príkazov na karte Nastavenia

V okne výberu poľa zoskupenia kliknite na " OK“ a na záložke Vybrané polia nastavte polia, ktoré sa budú zobrazovať v prehľade:

Dátum; číslo; sklad; Majster; Klient (obr. 106).

Ryža. 106. Nastavenie štruktúry správy

Register dokumentov pre poskytovanie služieb. Kliknite na " Formulár“ a pozrite sa na výsledok správy (obr. 107).

Ryža. 107. Výkaz Register dokumentov pre poskytovanie služieb

správa. Pomenujte to Hodnotenie Služieb. Na záložke Základné klikni " Diagram zloženia otvorených údajov". V dialógovom okne Návrhár rozloženia, ktoré sa otvorí, kliknite na tlačidlo " Pripravený".

V návrhári schémy zloženia údajov vytvorte Množina údajov – Dopyt(DataSet1) a kliknite na " Konštruktor dotazov".

Nomenklatúra a virtuálna tabuľka akumulačného registra Predaj.Obrat. Ak chcete odstrániť nejednoznačnosť názvov v dotaze, premenujte tabuľku nomenklatúry na Nomenklatúra Spr(pravým tlačidlom myši kliknite na kontextové menu – Premenovať tabuľku).

Potom vyberte z tabuliek polí RefNomenclature.Link A PredajTurnover.RevenueTurnover(obr. 108).

Ryža. 108. Vybrané polia

Prejsť na záložku Spojenia a všimnite si, že projektant už vytvoril spojenie medzi dvoma vybranými tabuľkami - hodnota zmeny registra nomenklatúry sa musí rovnať odkazu na prvok adresára nomenklatúry.

Jediná vec, ktorú musíte urobiť, je resetovať vlajku Všetky v tabuľke registrov a nastavte ju v tabuľke adresárov Nomenklatúra Spr(Obr. 109).

Nastavenie vlajky Všetky v tabuľke adresára bude znamenať, že sa z adresára vyberú všetky prvky a týmto prvkom bude priradená hodnota obratu tržieb z evidencie. V dôsledku požiadavky budú teda k dispozícii všetky služby a pri niektorých z nich bude uvedený obrat výnosov. Pri tých službách, ktoré neboli poskytnuté vo vybranom období, nebude nič uvedené.

Ryža. 109. Vytvorenie odkazov na tabuľku

Prejsť na záložku Podmienky a nastaviť podmienky pre výber prvkov z adresára Nomenclature (obr. 110). Pri nastavovaní podmienok výberu budete musieť použiť parametre dotazu. Prvou podmienkou musí byť, že vybraný prvok nie je skupinou (ak to chcete urobiť, prepnite do režimu Svojvoľný stav– nastaviť vlajku zadarmo). Potom do terénu stave zadajte nasledujúci text:

SprNomenclature.ThisGroup = FALSE

Druhou podmienkou musí byť, že vybraný prvok je služba (to je Jednoduchý stav) (obr. 110).

Ryža. 110. Podmienky výberu prvkov

Neskôr, pred vykonaním požiadavky, v parametri Typ Nomenklatúra musíte odovzdať zodpovedajúcu hodnotu enumerácie.

Prejsť na záložku Odbory/Aliasy a zadajte, že zobrazenie položky adresára bude mať alias servis a pole registra bude mať alias Výnosy(Obr. 111).

Ryža. 111. Odbory/prezývky

Prejsť na záložku objednať a špecifikujte, že výsledok dotazu by mal byť zoradený v zostupnom poradí podľa hodnoty poľa Výnosy. Vytvorenie žiadosti je dokončené, kliknite na tlačidlo " OK Pozrite sa na text požiadavky vygenerovaný konštruktorom.

Prejsť na záložku Zdroje a kliknite na " >> ", takže návrhár vyberie všetky dostupné zdroje, pre ktoré je možné vypočítať súčty. Vo vašom prípade je to jediný zdroj Výnosy(Obr. 112).

Ryža. 112. Zdroje schémy zloženia údajov

Prejsť na záložku možnosti(Obr. 113).

Ryža. 113. Možnosti skladania údajov

Na tejto karte uvidíte tri možnosti: Začiatok obdobia, Koniec obdobia A Typ Nomenklatúra. Prvý parameter je začiatok obdobia na výpočet súčtov, druhý je koniec obdobia. V dôsledku toho bude zdrojová tabuľka obsahovať iba obrat vypočítaný v prenesenom období.

Pre parameter Začiatok obdobia nastaviť názov, ktorý sa zobrazí používateľovi - dátum začiatku.

Tu by ste mali vždy pamätať na to, že ak zadáte dátum ako tieto parametre, potom dátum obsahuje aj čas s presnosťou na sekundu.

Povedzme, že je vopred známe, že používateľa nebudú zaujímať výsledky správy v obdobiach určených s presnosťou na sekundu. V tomto prípade je potrebné vziať do úvahy dve funkcie.

Po prvé, používateľ by mal byť ušetrený potreby špecifikovať čas pri zadávaní dátumu. Ak to chcete urobiť, zmeňte existujúci popis typu pre parameter Začiatok obdobia. Dvakrát kliknite na bunku Dostupné typy, zodpovedajúci parametru Začiatok obdobia, stlačte tlačidlo výberu " “ a v spodnej časti sady okien na úpravu typu údajov Zloženie dátumov vo význame dátum(Obr. 114).

Kliknite na " OK".

Druhou vlastnosťou je, že predvolene je čas v dátume nastavený na 00:00:00. Ak teda používateľ zadá obdobie prehľadu od 10/01/2009 do 31/10/2009, súčty registra sa budú počítať od začiatku dňa 10/01/2009 00:00:00 do začiatku dňa 31. 10. 2009 00:00:00. Do výpočtu teda nebudú zahrnuté údaje za 31. deň okrem začiatku dňa, čo používateľa veľmi prekvapí. Ak chcete túto situáciu odstrániť, pridajte ďalší parameter, do ktorého používateľ zadá dátum ukončenia. Hodnota parametra Koniec obdobia sa vypočíta automaticky tak, že označuje koniec dňa dátumu zadaného používateľom. Preto pre parameter Koniec obdobia nastaviť vlajku Obmedzenie dostupnosti.

Ryža. 114. Úprava zloženia dátumu

Pomocou tlačidla na paneli príkazov pridajte nový parameter s názvom Dátum ukončenia (Obrázok 115).

Ryža. 115. Pridanie parametra Dátum ukončenia

Pre tento parameter platforma automaticky vygeneruje názov - dátum spotreby. Nechajte to nezmenené. Nastavte typ hodnoty parametra – dátum. V tomto prípade, čo sa týka parametra Začiatok obdobia, uveďte zloženie dátumu – dátum.

Upozorňujeme, že v predvolenom nastavení je parameter, ktorý ste pridali, k dispozícii používateľovi (obmedzenie dostupnosti v poslednom stĺpci je vymazané).

Prejdite na parameter Koniec obdobia. Systém preň nastavil príznak obmedzenia dostupnosti. Nezrušte začiarknutie, pretože hodnota tohto parametra sa vypočíta na základe hodnoty nastavenej používateľom pre parameter Dátum spotreby.

Na nastavenie vzorca, podľa ktorého sa vypočíta hodnota parametra Koniec obdobia, použite výrazový jazyk systému kompozície údajov. Obsahuje funkciu EndPeriod(), ktorý vám umožňuje získať dátum zodpovedajúci koncu obdobia, napríklad určený deň.

V cele Výraz nastavte parameter Koniec obdobia nasledujúci výraz:

V dôsledku vyššie uvedených akcií budú parametre rozloženia vyzerať takto (obr. 116):

Ryža. 116. Možnosti systému rozloženia

Nakoniec nakonfigurujte parameter Typ Nomenklatúra. Keďže v prehľade by sa mali zobrazovať príjmy prijaté len z predaja služieb, hodnota parametra Typ Nomenklatúra používateľ by ho nemal meniť. Musí byť uvedené priamo v schéme rozmiestnenia ako . Príznak obmedzenia používania parametra Typ Nomenklatúra platforma nainštalovaná predvolene, takže stačí zadať požadovanú hodnotu enumerácie Typy Nomenklatúra v bunke Význam, zodpovedajúci parametru Typ Nomenklatúra(Obr. 117).

Ryža. 117. Nastavenie hodnoty parametra Nomenclature Type

Pokračujte vo vytváraní štruktúry správy. Na záložke nastavenie pridajte zoskupenie a znova vynechajte pole zoskupenia. Na záložke Vybrané poliašpecifikovať polia servis A Výnosy(Obr. 118).

Potom prejdite na záložku Iné nastavenia a nastavte názov správy - Hodnotenie Služieb(Obr. 119).

Ryža. 119. Nastavenie názvu zostavy

Spustite 1C:Enterprise v režime ladenia.

Vyberte prehľad Hodnotenie služby, ale pred stlačením tlačidla " Formulár", OTVORENÉ nastavenie a na záložke Možnosti údajov nastaviť obdobie vykazovania od 3. 1. 2004 do 30. 4. 2004 (obr. 120). Ak sa dátumy vytvorenia vašich dokladov líšia od dátumov uvedených v príklade, potom by sa malo inak nastaviť obdobie vykazovania.

Ryža. 120. Nastavenia správy

Kliknite na " OK“ a vygenerujte správu. Výsledok bude vyzerať takto (Obr. 121):

Ryža. 121. Výsledok vykonania správy

Teraz zmeňte dátum ukončenia na 31.03.2004. V správe sú zahrnuté údaje k 31. marcu (obr. 122).

Ryža. 122. Výsledok spustenia prehľadu

3.12.3. Vytvorenie prehľadu „Príjmy remeselníkov“

správa Príjmy remeselníkov bude obsahovať informácie o tom, koľko výnosov získala Master LLC vďaka práci každého z majstrov, s podrobnosťami pre všetky dni vo vybranom období a rozpisom pre klientov obsluhovaných v každý deň. Pomocou tohto prehľadu ako príkladu sa naučíte, ako vytvoriť viacúrovňové zoskupenia v dotaze a ako prejsť všetkými dátumami vo vybranom období.

Vytvorte nový konfiguračný objekt správa. Pomenujte to RevenueMasters a spustite hlavného návrhára schémy zloženia údajov.

Pridať Množina údajov – Dopyt(DataSet1) a kliknite na " Konštruktor dotazov Vyberte virtuálnu tabuľku akumulačného registra Predaj.Obrat.

Nastavte jeden z parametrov tejto virtuálnej tabuľky − Periodicita. Ak to chcete urobiť, prejdite na pole Tabuľky a kliknite na " Možnosti virtuálneho stola“ (obr. 123).

Ryža. 123. Zmena parametrov virtuálnej tabuľky

V okne parametrov, ktoré sa otvorí, nastavte hodnotu parametra Frekvencia – deň(Obr. 124). Stlač tlačidlo " OK".

Ryža. 124. Parametre virtuálnej tabuľky

Potom z tabuľky vyberte nasledujúce polia:

· SalesTurnover.Master;

· Obdobie obratu predaja;

· SalesTurnover.Client;

· PredajTurnover.RevenueObrat (obr. 125).

Ryža. 125. Vybrané polia

Teraz prejdite na záložku Odbory/Aliasy a nastavte alias Výnosy pre pole PredajTurnover.RevenueTurnover(Obr. 126).

Ryža. 126. Odbory/prezývky

Na záložke Zoskupovanie definujte, že zoskupovanie sa bude vykonávať podľa polí Majster, Obdobie A Zákazník a hodnoty polí VýnosyObrat budú sčítané (obr. 127).

Ryža. 127. Zoskupovanie polí

Na záložke objednať zadajte, že výsledok dotazu bude zoradený vzostupne podľa hodnoty poľa Obdobie. Kliknite na " OK Zvážte text požiadavky vygenerovaný konštruktorom.

Teraz prejdite na úpravu schémy rozloženia údajov. Na záložke Zdroje klikni " >> " a uistite sa, že konštruktor vybral jediný dostupný zdroj - Výnosy.

Na záložke možnosti postupujte podľa rovnakých krokov ako pri vytváraní predchádzajúcej správy.

Pre parameter Začiatok obdobia nastavte názov dátum začiatku. V teréne Dostupné typy nastaviť zloženie dátumu - dátum.

Pre parameter Koniec obdobia nastavte výraz:

EndPeriod(&Dátum konca, "Deň")

V teréne Obmedzenie dostupnosť nastavte príznak obmedzenia dostupnosti.

Nakoniec pridajte ešte jeden parameter - Dátum spotreby, nastavte jej typ ako dátum, zloženie dátumov – dátum.

V dôsledku týchto akcií budú parametre zloženia údajov vyzerať takto (obr. 128):

Ryža. 128. Možnosti skladania údajov

Teraz musíte vytvoriť štruktúru správy. Na záložke nastavenie postupne vytvorte dve vnorené zoskupenia: najvyššia úroveň - podľa poľa Majster, v ňom vložené - podľa poľa Obdobie. Potom pridajte ďalšie zoskupenie vnorené do zoskupenia podľa poľa Obdobie, – Podrobné záznamy(bez uvedenia poľa zoskupenia) (obr. 129).

Ryža. 129. Štruktúra správy

Teraz, keď ste na úrovni globálnej správy, prejdite na kartu Vybrané polia a pridajte polia do zoznamu Zákazník A Výnosy.

Nakoniec z úrovne globálneho prehľadu prejdite na kartu Iné nastavenia a zmeňte nasledujúce nastavenia. Pre parameter nastavená hodnota Samostatne a len vo výsledku; pre parameter nastavte hodnotu Štart a pre parameter Smerovanie nastavte hodnotu Príjmy remeselníkov(Obr. 130).

Ryža. 130. Nastavenie výstupu všeobecných súčtov na začiatok

Spustite 1C:Enterprise v režime ladenia a pozrite sa na výsledok výkazu „Výnosy majstrov“ za obdobie od 3. 1. 2004 do 30. 4. 2004 (obr. 131).

Ryža. 131. Výsledok spracovania správy

Ak si pamätáte, tento prehľad by mal zobrazovať údaje s podrobnosťami za všetky dni vo vybranom období. Teraz sú zobrazené len tie dni, pre ktoré sú v tabuľke registra akumulácie nenulové záznamy. Preto je teraz potrebné zmeniť nastavenia výkazu tak, aby výkaz obsahoval každý dátum z obdobia, za ktoré bol výkaz vytvorený.

Ak to chcete urobiť, vráťte sa do režimu konfigurátora a dolaďte štruktúru správy. Doteraz sa všetky nastavenia štruktúry, ktoré ste vykonali, aplikovali na celý prehľad ako celok. Ale systém skladania údajov vám tiež umožňuje prispôsobiť každý prvok štruktúry samostatne.

Budete musieť zmeniť nastavenie zoskupovania Obdobie. Ak chcete prejsť na nastavenia tohto konkrétneho zoskupenia, umiestnite kurzor na toto zoskupenie v poli štruktúry a potom kliknite na tlačidlo " Obdobie na paneli príkazov (obr. 132).

Ryža. 132. Nastavenia zoskupovania Obdobie

Nastavenia dostupné pre toto zoskupenie sa zobrazia v spodnej časti formulára.

Prejsť na záložku Zoskupovanie polí. Pre pole Obdobie Inštalácia Typ doplnku – Deň(Obr. 133).

Ryža. 133. Nastavenie typu pridávania obdobia

Uviedli ste teda, že pre toto zoskupenie budú existujúce záznamy s nenulovou hodnotou zdroja doplnené o záznamy pre každý z dní.

Potom by ste mali uviesť, v akom období sa takéto pridanie vykoná. Do polí umiestnených o jeden riadok nižšie môžete zadať dátum začiatku a konca tohto obdobia. Výslovné určenie dátumov však nie je vhodné, pretože... užívateľ môže generovať prehľad za ľubovoľné obdobie. Je potrebné, aby sa pridávanie dátumu vykonávalo nie v nejakom pevnom období, ale práve v období, ktoré si užívateľ zvolil pre celý výkaz.

Aby prehľad fungoval presne takto, vstúpte do režimu úprav prvého poľa (napríklad dvojitým kliknutím naň) a kliknite na tlačidlo vymazať " X". Potom kliknite na tlačidlo " T", budete môcť vybrať typ údajov zobrazených v tomto poli. Vyberte Pole zloženia údajov(Obr. 134).

Ryža. 134. Výber typu údajov

Kliknite na " OK". Teraz stlačte tlačidlo výberu vo vstupnom poli " “ a v okne výberu poľa, ktoré sa otvorí, vyberte možnosť Začiatok obdobia(Obr. 135). Kliknite na " OK".

Ryža. 135. Výber poľa

Pre druhé vstupné pole podobne uveďte, že dátum ukončenia obdobia sa získa z parametra Dátum spotreby(Obr. 136).

Ryža. 136. Nastavenia zoskupovania Obdobie

Spustite 1C:Enterprise v režime ladenia a spustite zostavu Príjmy remeselníkov za obdobie od 20. marca 2004 do 20. apríla 2004 (obr. 137).

Ryža. 137. Výsledok spracovania správy

3.12.4. Vytvorenie prehľadu „Zoznam služieb“.

správa Zoznam služieb bude obsahovať informácie o tom, aké služby Master LLC poskytuje a za akú cenu. Na jeho príklade sa zoznámite s možnosťou získavania najnovších hodnôt z periodického registra informácií a zobrazovania hierarchických adresárov.

Vytvorte nový konfiguračný objekt správa. Pomenujte to Zoznam služieb a spustite Návrhár schémy zloženia údajov. Vytvorte nový Množina údajov – Dopyt(DataSet1) a zavolajte konštruktor dotazu.

Vyberte tabuľku adresárov objektov (referenčných). Nomenklatúra a virtuálna tabuľka registra informácií Ceny.RezanieNajnovšie. Ak chcete odstrániť nejednoznačnosť názvov v dotaze, premenujte tabuľku Nomenklatúra na Nomenklatúra Spr.

Vyvolajte dialóg pre zadávanie parametrov virtuálnej tabuľky Ceny RezanieNajnovšie a v parametri uveďte, že obdobie bude prechádzať Dátum správy(Obr. 138).

Ryža. 138. Parametre virtuálnej tabuľky

Potom z tabuliek vyberte nasledujúce polia:

· SprNomenclature.Parent;

· CenySlice of Latest.Price (Obr. 139).

Ryža. 139. Vybrané polia

Prejsť na záložku Spojenia, resetujte vlajku Všetky v tabuľke registrov a nastavte ju v tabuľke adresárov.

Na záložke Podmienky nastaviť podmienku výberu prvkov adresára Nomenklatúra– vybrané prvky musia zodpovedať typu položky odovzdanej v parametri požiadavky Typ Nomenklatúra(Obr. 140).

Ryža. 140. Podmienky výberu prvkov

Na záložke Odbory/Aliasy uveďte, že pole Rodič bude mať prezývku Skupina služieb, a pole Odkaz – Služba(Obr. 141).

Ryža. 141. Odbory/prezývky

Prejsť na záložku Zoskupovanie a uveďte, že zoskupenie sa vykoná podľa poľa SprNomenklatúra.Rodič. Nie je potrebné špecifikovať hodnoty sčítaných polí (obr. 142).

Obr. 142. Zoskupovanie polí

Kliknite na " OK Pozrite si text žiadosti.

Pokračujte v úprave diagramu rozloženia údajov. Na záložke Zdroje stlačením tlačidla " >> “ vyberte jediný dostupný zdroj cena.

Na záložke možnosti nastavte hodnotu parametra Typ Nomenklatúra Ako Prevod. Typy nomenklatúry. Služba. Okrem toho odstráňte obmedzenie dostupnosti pre parameter Dátum správy a dať tomu názov - Dátum správy. V teréne Dostupné typy nastaviť zloženie dátumu - dátum. Pre parameter Obdobie, naopak, nastavte limit dostupnosti (obr. 143).

Ryža. 143. Parametre schémy usporiadania

Pokračujte vo vytváraní štruktúry správy. Prejsť na záložku nastavenie a vytvorte zoskupenie podľa poľa Skupina služieb s uvedením typu zoskupenia Hierarchia. V rámci tohto zoskupenia vytvorte ďalšie zoskupenie bez zadania poľa skupiny. Bude obsahovať podrobné záznamy správy (Obr. 144).

Ryža. 144. Štruktúra správy a zvýraznené polia

Prejsť na záložku Vybrané polia a špecifikujte, že v prehľade sa zobrazia polia Služba a Cena (obr. 145).

Ryža. 145. Štruktúra správy

Nakoniec prispôsobte vzhľad zostavy na karte Iné nastavenia. Keďže prehľad bude jednoducho zoznamom poskytovaných služieb, v ktorých sú zaujímavé ceny za konkrétne služby, zobrazte hodnoty zdrojov cena pre každú zo skupín a pre celú správu ako celok nedáva zmysel.

Ak chcete zabrániť zobrazeniu celkových súčtov v prehľade, nastavte túto možnosť Vertikálne usporiadanie celkových súčtov vo význame Nie.

Potom prejdite na konkrétne nastavenia zoskupenia - Skupina služieb. Pre parameter Umiestnenie súčtov uveďte hodnotu tohto zoskupenia Nie. Vráťte sa k nastaveniam pre celý prehľad ako celok.

Pre parameter Umiestnenie polí zoskupenia zadajte hodnotu Samostatne a len vo výsledku(správa tak bude lepšie „čitateľná“). Nakoniec nastavte názov prehľadu - Zoznam služieb.

Spustite 1C:Enterprise v režime ladenia a najskôr otvorte periodický register Ceny.

Pridajte k tomu ďalšiu hodnotu pre službu Diagnostika: nová cena za službu od 1.4.2004 – 350 (obr. 146). To vám umožní otestovať správu.

Ryža. 146. Evidencia registra „Ceny“.

Teraz spustite prehľad Zoznam služieb stav k 31. marcu 2004 (obr. 147).

Ryža. 147. Výsledok spracovania správy

Vaša správa správne odráža cenu služby Diagnostika k 31. marcu 2004 – 200 rubľov.

Spustite prehľad znova, ale teraz pre iný dátum - 4. 1. 2004 (obr. 148).

Ryža. 148. Výsledok spracovania správy

Ako vidíte, zobrazuje sa nová cena za službu Diagnostika - 350 rubľov.

správa Hodnotenie zákazníkov ukáže, aký je príjem z poskytovania služieb každému z klientov za celú dobu fungovania Master LLC. Tento príklad demonštruje možnosť použitia diagramu na zobrazenie výsledku dotazu.

Diagram je ovládací prvok určený na umiestnenie do tabuliek a foriem tabuliek a grafov rôznych typov systému 1C:Enterprise.

Logicky diagram je zbierka bodov, radov a sérií hodnôt v bode(Obr. 149).

Momenty alebo objekty, pre ktoré získate charakteristické hodnoty, sa spravidla používajú ako body a charakteristiky, ktorých hodnoty vás zaujímajú, sa používajú ako série.

Napríklad diagram predaja typov produktov podľa mesiacov bude pozostávať z bodov - mesiacov, série - typov produktov a hodnôt - obratu predaja.

Diagram ako objekt vstavaného jazyka má tri oblasti, ktoré umožňujú ovládať návrh diagramu: oblasť vykresľovania, oblasť nadpisu a oblasť legendy (obr. 150).

Diagram je možné vložiť do štruktúry reportu ako samostatný prvok. Pri vytváraní prehľadu Hodnotenie zákazníkov diagram sa použije v štruktúre nastavenia schémy zloženia údajov.

Ryža. 149. Príklad diagramu

Ryža. 150. Mapové oblasti

Vytvorte nový konfiguračný objekt v konfigurátore správa. Pomenujte to Hodnotenie zákazníkov, otvorte jeho hlavnú schému rozloženia údajov.

Vytvorte súbor údajov - dotaz(DataSet1) a zavolajte konštruktor dotazu. Vyberte tabuľku registrov virtuálnej akumulácie Predaj.Obrat a z toho je jedno pole - PredajObrat.Klient.

Potom pridajte nové pole (ikona Pridať v paneli príkazov nad zoznamom polí) a pomocou tvorcu výrazov ho definujte ako rozdiel medzi výnosmi a nákladmi (obr. 151).

Ryža. 151. Editor výrazov vlastného poľa

V dôsledku toho bude zoznam vybraných polí vyzerať takto (obr. 152):

Ryža. 152. Vybrané polia

Na záložke Odbory/Aliasy zadajte, že vypočítavané pole bude mať alias príjem(Obr. 153).

Ryža. 153. Odbory/prezývky

Na záložke objednať zadajte, že riadky výsledkov by mali byť zoradené v zostupnom poradí podľa hodnoty poľa príjem. Kliknite na " OK“ a uvidíte, aký text vygeneroval konštruktor dotazu.

Prejsť na záložku Zdroje a pridajte pole príjem k zdrojom diagramu rozloženia. Potom prejdite na záložku nastavenie na vytvorenie štruktúry správy.

Na rozdiel od všetkých predchádzajúcich správ, ktorých štruktúra obsahovala zoskupenia, tentoraz pridajte do štruktúry správy diagram (obr. 154).

Ryža. 154. Štruktúra správy

Pridajte zoskupenie podľa poľa do bodov grafu Zákazník. Ponechajte sériu diagramov nezmenenú.

Teraz prejdite na záložku Vybrané polia a vyberte pole príjem pre výstup do správy. Štruktúra správy by mala mať nasledujúcu formu (obr. 155):

Ryža. 155. Štruktúra zostavy a nastavenia grafu

Na záložke Iné nastavenia nastaviť názov prehľadu – Hodnotenie zákazníkov a tiež vyberte typ grafu – Kruhový objemový.

Spustite 1C:Enterprise v režime ladenia a otvorte prehľad Hodnotenie zákazníkov(obr. 156).

Ryža. 156. Koláčový 3D graf v správe

Upozorňujeme, že keď umiestnite kurzor myši na sektor grafu, zobrazí sa popis.

Otvorte nastavenia prehľadu a zmeňte typ grafu na Meranie. Obnovte správu (obr. 157).

Konečne veľká aktivita s množstvom textu!

Aký je účel vstavaného objektu jazykovej požiadavky?

Dotaz – slúži na získanie informácií uložených v poliach databázy vo forme výberu vytvoreného podľa určených pravidiel. Dôležité upresnenie: v požiadavke pracujeme s odkazmi. To znamená, že je to ako keby odfotili výkladnú skriňu a dali vám fotografiu. Z tejto fotky zistíte, aký je sortiment tovaru, spočítajte koľko je napríklad pomarančov v rohu a pod. Ak však vezmete fixku a nakreslíte na fotografiu gumený penis ležiaci na pulte, mali by ste si uvedomiť, že táto akcia spôsobí, že sa gumový penis neobjaví v predaji, preto musíte dupnúť nohami do obchodu a dať to dôležitý predmet v domácnosti na pulte. V prípade žiadostí musíme získať predmet referenciou.

Aký je účel systému zostavovania údajov?

Vytváranie vlastných zostáv v systéme 1C:Enterprise a pozostáva z niekoľkých častí; V skutočnosti je to podľa mňa veľmi nepohodlná vec. Maeby, je to vec zvyku.

Aký je účel schémy zloženia údajov?

Na získanie zdrojových údajov pre rozloženie zostavy;

Schéma zloženia údajov je vec, ktorá popisuje text požiadavky, množiny údajov, prepojenia medzi nimi, dostupné polia, parametre na získavanie údajov, počiatočné nastavenia rozloženia;

Na čo slúžia nastavenia zloženia údajov?

Nastavenia rozloženia údajov pracujú v spojení so schémou rozloženia údajov na tvarovaní rozloženia;

Aký je rozdiel medzi skutočnými a virtuálnymi tabuľkami?

Skutočné tabuľky obsahujú údaje tabuľky, ktoré sú (náhle) skutočne uložené v databáze;

Virtuálne – vytvorené z údajov z viacerých databázových tabuliek; Pre virtuálne tabuľky môžete nastaviť množstvo parametrov, ktoré určujú, aké údaje sú zahrnuté vo virtuálnych tabuľkách. Sada takýchto parametrov môže byť odlišná pre rôzne virtuálne tabuľky;

Z ktorých častí pozostáva text žiadosti a ktoré z nich sú povinné?

Popis požiadavky (povinné) – definuje zdroje údajov, výberové polia, zoskupenia;

Zlučovanie dopytov – ako sa budú kombinovať výsledky vykonania viacerých dopytov;

Usporiadanie výsledkov – podmienka pre zoradenie riadkov výsledkov dotazu;

Automatické zoraďovanie – režim automatického zoraďovania riadkov na základe dopytu;

Popis výsledkov - aké výsledky je potrebné vypočítať v žiadosti a ako výsledky zoskupiť;

Aké sú základné syntaktické konštrukcie dopytovacieho jazyka?

Vyberte si<что>OD<откуда>

OBJEDNAŤ<признак>

Aký je zdroj údajov dotazu?

Zdroj údajov dotazu je tabuľka (skutočná alebo virtuálna);

Čo sú aliasy v zdroji dopytov?

Schopnosť priradiť výberovému poľu náhodný názov. Ak napríklad toto pole nevyberieme, ale použijeme isnull, alebo vynásobíme toto pole priamo v dotaze, potom bude nakoniec pomenované ako „pole1“. A tak ho hneď zavoláme, ako sa to bude hodiť;

Aké sú parametre požiadavky?

Parameter je označený & a používa sa na prenos určitých údajov do požiadavky (napríklad dátum pre nejaký register);

Čo sú parametre virtuálnej tabuľky?

V závislosti od typu virtuálnej tabuľky môžete na filtrovanie údajov použiť parametre virtuálnej tabuľky. Napríklad v akumulačných registroch budú parametre virtuálnej tabuľky Začiatok obdobia a Koniec obdobia;

Čo je to ľavé spojenie?

Dva stoly. Podmienka. Ľavé spojenie – VŠETKY údaje z prvej tabuľky a iba tie, ktoré spĺňajú podmienku z druhej tabuľky, budú zahrnuté;

Ako používať nástroj na tvorbu dotazov?

Jednoducho. Otvorte buď v schéme zloženia údajov, alebo kliknite pravým tlačidlom myši na konštruktor dotazu v ľubovoľnej procedúre;

Ako vybrať údaje v určitom období pre prehľad?

V Data Composition Schema - nastavenia - v spodnom okne tabuľky - parametre.

Ako usporiadať údaje v prehľade?

V návrhárovi dotazov vyberte kartu „Objednávka“, vyberte požadované pole a spôsob triedenia;

Ako použiť údaje z viacerých tabuliek v prehľade?

Skombinujte ich pomocou dotazu;

Ako používať zoskupovanie v štruktúre zostavy?

V schéme skladania údajov, záložka Nastavenia, kliknite pravým tlačidlom myši na „Report“ - vyberte zoskupenie na zobrazenie informácií vo forme lineárneho prehľadu

Ako získať poslednú hodnotu informačného registra?

V parametroch virtuálnej tabuľky nastavte periódu a zvoľte virtuálnu tabuľku „Názov informačného registra. Slice of Latest“;

Ako zobraziť hierarchické údaje v zostave?

Schéma zloženia údajov – nastavenia – nové zoskupenie – typ – „hierarchia“

Ako spravovať zobrazenie súčtov zoskupení a súčtov?

Systém skladania údajov – nastavenia – v dolnom okne „Iné nastavenia“ - „Umiestnenie súčtov“; „Umiestnenie zoskupovacích polí“, „Vertikálne umiestnenie celkových súčtov“

Ako vytvoriť zostavu obsahujúcu graf?

Diagram zloženia údajov – Nastavenia – Správa – Kliknite pravým tlačidlom myši – Nový graf

Ako používať parametre v schéme zloženia údajov?

    názov: Obehové akumulačné registre. Správy. Výber údajov z jednej tabuľky. Výber údajov z dvoch tabuliek.

    Cieľ: Naučte sa pracovať s informačnými registrami a enumeráciami pri práci v 1C 8.

    Príprava na hodinu:

      Pomocou špecifikovanej literatúry si preštudujte tému diskutovanú v tejto technologickej mape

    Literatúra:

4.1 Ignatov A.S. vzdelávacia a metodická príručka “1C programovanie”, 2014

4.2 Ignatov. A.S. Poznámky k prednáške o disciplíne „1C programovanie“ 2014.

    Zoznam vybavenia:

5.1 Osobný počítač IBM PC.

5.2 1C verzia 8.

    Cvičenie:

6.1 Preštudujte si postup prístupu k údajom.

6.2 Naučte sa pracovať so žiadosťami.

6.3 Preštudujte si nastavenia v konfigurátore a v režime 1C:Enterprise.

    Zákazka:

7.1 Vytvorenie zostavy Registra dokumentov.

7.3 Zmena parametrov prehľadu.

8.1 Titulná strana

      Názov a účel práce

      Dokončená úloha

      Odpovede na bezpečnostné otázky

      Záver o vykonanej práci

    Kontrolné otázky:

9.1 Z akých častí pozostáva text žiadosti a ktoré z nich sú povinné?

9.2 Aké sú základné syntaktické štruktúry dopytovacieho jazyka.

9.3 Aký je zdroj údajov žiadosti.

9.4 Čo sú aliasy v dopytovacom jazyku.

9.5 Čo sú parametre požiadavky.

9.6 Aký je účel požiadavky vstavaného jazykového objektu?

9.7 Aký je účel systému zostavovania údajov?

9.8 Aký je účel schémy zloženia údajov?

9.9 Na čo slúžia nastavenia zloženia údajov?

9.10 Aký je rozdiel medzi skutočnými a virtuálnymi tabuľkami.

Aplikácia:

TEORETICKÁ ČASŤ

Metódy prístupu k údajom

Systém 1C:Enterprise 8 podporuje dva spôsoby prístupu k údajom uloženým v databáze:

    objekt (na čítanie a písanie),

    tabuľkový (na čítanie).

Objektový spôsob prístupu k údajom je realizovaný pomocou vstavaných jazykových objektov. Dôležitou vlastnosťou objektovo orientovaného spôsobu prístupu k údajom je, že pri prístupe k akémukoľvek objektu vstavaného jazyka pristupujeme k určitej množine údajov nachádzajúcich sa v databáze ako k jednému celku. Objektová technológia zaisťuje udržiavanie integrity objektov, ukladanie objektov do vyrovnávacej pamäte, volanie príslušných obslužných programov udalostí atď. Tabuľkový prístup k údajom v 1C: Enterprise 8 je implementovaný pomocou databázových dotazov, ktoré sú zostavené v dotazovacom jazyku. Pri tejto technike dostáva vývojár možnosť operovať s jednotlivými poľami databázových tabuliek, v ktorých sú uložené určité dáta. Tabuľková technika je navrhnutá tak, aby získavala informácie z databázy podľa určitých podmienok (výber, zoskupovanie, triedenie, kombinovanie viacerých vzoriek, výpočet súčtov atď.). Technológia tabuľkového procesora je optimalizovaná na spracovanie veľkého množstva informácií nachádzajúcich sa v databáze a získavanie údajov, ktoré spĺňajú špecifikované kritériá.

PRAKTICKÁ ČASŤ

Výber údajov z jednej tabuľky

Vytvorme zostavu Register dokumentov pre poskytovanie služieb systémom na skladbu dát. Tento prehľad zobrazí zoznam dokumentov poskytovania služieb existujúcich v databáze v poradí ich dátumov a čísel.

    V režime konfigurátora

Pridajme do konfigurátora objekt konfigurácie zostavy.

Na karte Hlavné: názov zostavy – Register dokumentov Poskytovanie služieb; rozšírený pohľad - Zoznam služieb poskytovaných pre reporting v rozhraní programu. Vytvorme schému zloženia údajov pre zostavu, kliknite na tlačidlo Otvoriť schému zloženia údajov. V dialógovom okne návrhára rozloženia, ktoré sa otvorí, kliknite na tlačidlo Dokončiť. V návrhárovi schém zostavy dát vytvoríme Dátovú množinu – dotaz.

Ryža. 13.1. Zaúčtovanie faktúry v dvoch registroch

Potom kliknite na tlačidlo Zostavovač dotazov a vyberte tabuľku objektov dokumentu Poskytovanie služieb ako zdroj údajov pre dotaz. Z tejto tabuľky vyberieme nasledujúce polia:

Na záložke Odbory/Aliasy označujeme, že pole Link bude mať prezývku Dokument. Na záložke objednať označujeme, že výsledok dotazu by mal byť zoradený podľa hodnoty poľa Dokument.

Na záložke nastavenie Vytvorme štandardné nastavenia, ktoré určujú, ako sa budú informácie zobrazovať v prehľade.

Hierarchická štruktúra správy môže obsahovať tri hlavné prvky v rôznych kombináciách:

    Zoskupenie – zobrazenie informácií vo forme pravidelného lineárneho prehľadu.

    Tabuľka – zobrazenie informácií vo forme tabuľky.

    Diagram – zobrazenie informácií vo forme diagramu.

Ak chcete pridať nový prvok, v našom prípade zoskupenie, vyberte koreňový prvok Report v strome štruktúry zostavy a vyvolajte jeho kontextové menu. V okne výberu poľa zoskupenia jednoducho kliknite na tlačidlo OK. V štruktúre zostavy sa zobrazí zoskupenie Podrobné záznamy. Na karte Vybrané polia presuňte myšou zo zoznamu dostupných polí tie polia, ktoré sa zobrazia v zostave:

    dokument,

V dôsledku toho by okno nastavení prehľadu malo vyzerať takto: Tým je vytváranie prehľadu dokončené.

Ryža. 13.2. Vytvorte prehľad

    V okne na úpravu konfiguračného objektu Správa registra dokumentov Poskytovanie služieb prejdite na záložku Subsystémy.

Označme v zozname podsystém Poskytovanie služieb.

    V režime 1C: Enterprise

Spustíme 1C: Enterprise v režime ladenia.

V okne 1C: Enterprise, ktoré sa otvorí, môžete vidieť, že na paneli akcií sekcie Poskytovanie služieb sa v skupine príkazov na vykonávanie správ objavil príkaz na vygenerovanie správy Register dokumentov na poskytovanie služieb. Navyše, ak naň prejdete myšou, zobrazí sa tooltip: Zoznam poskytovaných služieb, ktorý je určený vlastnosťou Rozšírené zobrazenie.

    Spustíme príkaz Register dokumentov pre poskytovanie služieb.

Zobrazí sa nám formulár správy automaticky vygenerovaný systémom.

    Kliknite na tlačidlo Generovať.

Ryža. 13.3. Formulár správy automaticky generovaný systémom

Zobrazí sa vám prehľad obsahujúci register dokumentov Poskytovanie služieb.

Dvojitým kliknutím na pole Dokument môžete otvoriť zdrojový dokument, ako aj vykonať ďalšie „dešifrovacie“ akcie, ktoré poskytuje systém skladania údajov.

TEORETICKÁ ČASŤ