Použitie výberov v skd. Množina údajov – Dopyt

SKD 1C je skratka pre Data Composition System. SKD 1C je Nová cesta písanie správ v 1C, čo umožňuje používateľovi úplne prispôsobiť správu podľa seba.

Nevýhodou SKD 1C je, že jeho nastavenia sú dosť komplikované a nie všetci používatelia sa ich rýchlo naučia.

Písanie správ ACS vyžaduje schopnosť pracovať s dopytmi v 1C, o ktorých sme diskutovali v.

Aká je technológia na vytvorenie správy SKD 1C:

  • Napíšte požiadavku 1C do 1C SKD, ktorá poskytuje údaje
  • Zadajte úlohu polí SKD 1C (vypočítané polia, zdroje)
  • Zadajte predvolené nastavenia SKD 1C.

Používateľ má možnosť ľubovoľne meniť mnohé nastavenia.

Aká je technológia na vytvorenie správy o predchádzajúcich technológiách:

  • Napíšte požiadavku v programe 1C
  • Vytvorte formulár nastavení (jedinečný pre správu), ktorý vám umožní zmeniť iba N nastavení vybraných programátorom
  • Napíšte kód (program) na vykonanie dotazu a zostavenie tlačená forma správa.

Ako vidíte, SKD 1C má významnú výhodu pre používateľa aj programátora:

  • Programátor - ušetrí vás od písania programu na vykonanie správy a nastavení
  • Používateľ – získa významný prístup k nastaveniam prehľadov.

Vo všetkých nových konfiguráciách 1C sa budú všetky zostavy používať iba na 1C SKD.

Pozrime sa, ako vytvoriť správu o SKD 1C sami od začiatku.

Vytvárame výkaz SKD 1C

V konfigurátore kliknite na tlačidlo nový súbor (menu Súbor/Nový).

Vyberte typ súboru Nová správa.

Vytvorí sa nový prehľad. Zadajte názov - bez medzier pre konfiguráciu, synonymum pre používateľa.

Poďme vytvoriť hlavnú schému ACS 1C.

Vytvárame požiadavku na správu SKD 1C

Zdrojov údajov pre SKD 1C môže byť veľa. Ak chcete použiť napríklad dva samostatné dopyty, najskôr pridajte „Množina údajov – Pripojiť“ a potom niekoľko dopytov.

V našom príklade použijeme jednoduchý dotaz.

Napíšeme dotaz na získanie údajov.

Práca s tvorcom dotazov sa nelíši od bežnej práce, o ktorej sme hovorili v .

V dôsledku požiadavky SKD 1C vytvorí zoznam polí dostupných na použitie a vyplní ním predvolené názvy.

Ak vám názov nevyhovuje, môžete ho zmeniť tu.

Všimnite si, že v dotaze sme použili parameter &StartDate. V SKD 1C je štandardne parameter (dátum) s názvom &Period a môžete ho použiť.

Navyše ho nemusíte špecifikovať priamo v žiadosti – použije sa automaticky. Je tu však jemnosť – vzťahuje sa na všetky tabuľky, vrátane ľavých spojení a iných vecí, ktoré môžu spôsobiť chyby.

Napríklad na začiatku mesiaca získate zostatky a ľavým spojením získate údaje za dnešok. Pri použití sa Period použije na všetky tabuľky rovnako a dotaz nebude fungovať správne.

Nastavenia SKD 1C

Na karte Zdroje zadajte polia, ktoré sa budú sčítavať pre súčty (t. j. čísla). Pre polia môžete zadať funkciu súčtu. V predvolenom nastavení je to Súčet (t. j. spočítajte čísla zo všetkých riadkov a získate súčet) alebo môžete použiť Priemer, Počet, Maximum atď.

Na karte Parametre zakážte tie, ktoré nepotrebujeme, a povoľte tie, ktoré potrebujeme. Tu môžete nastaviť aj ľudské meno parametra.

Hlavné nastavenia sa vykonávajú na karte Nastavenia:


Otvorme ho v režime Enterprise. Upozorňujeme, že sme nerobili žiadne programovanie, kreslenie formulárov a iné veci. Ak chcete nastaviť parameter, kliknite na tlačidlo Nastavenia.

Používateľ vidí takmer rovnakú formu nastavení ako programátor.

Voila. Správa funguje.

Nastavenia SKD 1C

Všetky nastavenia zostavy SKD 1C sa vykonajú stlačením tlačidla Nastavenia. Aspoň v predvolenej šablóne. Formulár správy SKD 1C je možné vytvoriť sami a potom je možné nastavenia preniesť do iných formulárov, ktoré programátor nakreslí samostatne.

Presuňte sklad zo stĺpcov do riadkov.

Nomenklatúru pretiahneme do Skladu.

Kliknite na tlačidlo OK a vytvorte správu. Hurá – práve sme zmenili spôsob fungovania zostavy v režime programovania bez programovania.

Kliknite kliknite pravým tlačidlom myši na Riadky (alebo ktorékoľvek z polí) a vyberte Nové zoskupenie.

Rozbaľte pole Sklad a vyberte jedno z jeho polí, napríklad Typ skladu.

Po premýšľaní sme si spomenuli, že by sme chceli mať naraz zobrazených niekoľko polí v jednom stĺpci. Kliknite na novovytvorené pole dvakrát ľavým tlačidlom myši. Tu môžete pridať polia.

Ak pridáte nové zoskupenie, ale nevyberiete pole, znamená to „Všetky polia“ (zobrazené ako „Podrobné záznamy“). Vyzerá to takto.

Uchopte naše zoskupenie (Sklad / Nomenklatúra) ľavým tlačidlom myši a presuňte ho do nového zoskupenia (Typ skladu).

Výsledok našich nastavení.

Okrem nastavení, ktorých účinok možno ľahko uhádnuť podľa názvu (Výber, Zoradenie atď.), je tu karta „Iné nastavenia“. Umožňuje vám povoliť alebo zakázať také veci, ako je zobrazovanie súčtov, umiestnenie zoskupení v stĺpcoch atď.

Všimnite si, že nastavenia možno nastaviť pre celú zostavu (vybratá je zostava) alebo pre konkrétny riadok polí (vyberte riadok, napríklad Nomenklatúra, a vyberte Nastavenia:Číselník).

V mojom minulom článku som už napísal, že 1C je paradoxná platforma. Systém prepájania údajov je jedným z takýchto paradoxov. SKD je určený na navrhovanie komplexných reportov a zahŕňa nahradenie „manuálneho“ programovania reportov návrhom v multifunkčnej sade nástrojov. Možnosť používať ACS sa objavila už v ôsmej verzii, ale trvalo dlho, kým sa objavila verzia 8.2, aby ju 1C mohla použiť vo svojich štandardných produktoch. Na jednej strane je ACS multifunkčná súprava nástrojov, pomocou ktorej môžete vytvárať veľmi zložité zostavy bez jediného riadku kódu. Systém kontroly prístupu má však dosť vysoký vstupný prah, je veľmi ťažké ho naštudovať a začať ho naplno využívať „z kopa“, pretože rozhranie nie je úplne intuitívne, ale väčšina kompletných sprievodcov použitie sú dostupné len vo forme platenej literatúry.

V priebehu môjho štúdia ŠKD nastal problém. Je potrebné získať údaje z hodnotovej tabuľky tretej strany pomocou dotazovacieho jazyka a následne s týmito údajmi pracovať ako s podobnými údajmi z databázových tabuliek (kontingenčné operácie, zoskupovanie a pod.). V klasickom formáte by sme urobili dotaz, ktorý ako parameter dostane informáciu z tabuľky odovzdanej dotazu.

Žiadosť = Nová požiadavka(
"VYBERTE si
| Tabuľka. Nomenklatúra,
| Stôl.Sklad
| OD
| &TK AS tabuľka");
Request.SetParameter("TK", TK);

Ale s SKD to nie je také jednoduché. Operáciu opísanú vyššie nie je možné vykonať v systéme zostavovania údajov. Napriek tomu je implementovaná možnosť načítania externých tabuliek hodnôt v systéme.

Tu stojí za to urobiť malú lyrickú odbočku a porozprávať sa o Datasetoch. Dátové súbory sú zdroje informácií, z ktorých SKD získava údaje, ktoré neskôr zostavuje do správy. Dátové množiny sú rozdelené do typov, pričom sa používa najmä typ „Request“, v tele ktorého programátor zapíše dotaz do databázy. Typ "Object" sa používa na načítanie údajov z externých objektov. V oboch prípadoch máme na výstupe určitú množinu polí získaných ako výsledok vykonania požiadavky alebo načítania externého objektu. Neskôr je možné tieto polia ovládať na karte „Nastavenia“ spolu s podrobnou konfiguráciou štruktúry prehľadu. Pre prepojenie rôznych sád v ACS je možné špecifikovať prepojenia dátových sád v rovnomennej záložke. Tieto odkazy sú priamym analógom ľavého spojenia v klasickom dopyte. Treba však brať do úvahy, že dopyty v akomkoľvek datasete „nevedia“ o existencii iných datasetov, v konečnom dôsledku vzťahy datasetov ovplyvnia rozloženie dát podľa štruktúry špecifikovanej v záložke „Settings“.

Uvádzame problém na príklade. Existuje štandardná zostava Výkazy zúčtovania organizácie konfigurácie ZiK 8. Je potrebné, aby typy výpočtov v správe boli zoskupené do určitých skupín. Typová skupina výpočtu korešpondencie sú uložené v externej tabuľke hodnôt. Aby sme ho načítali do hlavnej schémy rozloženia údajov, vytvoríme „objekt množiny údajov“ s názvom „Skupiny“ (obrázok 2). Vytvárame spojenie so "súborom údajov žiadosti" - "Časové rozlíšenie" podľa typu výpočtu (obrázok 3). V "súbore údajov žiadosti" - "Časové rozlíšenie" sú informácie o skupinách, všetky výskyty vymažeme. Potom na karte „Nastavenia“ môžeme použiť pole „Skupina“, ktorej hodnota sa načíta z externého zdroja údajov (obrázok 4). Vo funkcii generovania reportov dopĺňame načítanie externých dát.

Funkcia GenerateReport(Result = Nedefinované, DecodeData = Nedefinované, OutputToReportForm = True) Export

//získanie alebo vytvorenie požadovanej tabuľky hodnôt "Group" a jej zápis do premennej s rovnakým názvom

ExternalData = New Structure();//vytvorte a vyplňte externú dátovú štruktúru
ExternalData.Insert(Groups);

UserPanelValue = GenericReports.GetUserPanelSettingsValuesofObject(ThisObject);
DefaultSettings = SettingsComposer.GetSettings();
GenericReports.GetAppliedSetting(ThisObject);
GenericReports.Generate GenericReport(ThisObject, Result, Decrypted Data, OutputToReportForm, ExternalData);
SettingsComposer.LoadSettings(DefaultSetting);
Návratový výsledok;

EndFunctions

Ak by sme zostavu vytvorili od začiatku, počiatočný kód generovania zostavy by vyzeral takto:

ExternalDataSets = nová štruktúra;
ExternalDataSets.Insert("Skupiny", Skupiny); //Skupiny - požadovaná tabuľka hodnôt
DataCompositionSchema = GetLayout("MainDataCompositionSchema"); //naše usporiadanie s rozložením údajov
Settings = DataCompositionSchema.Default Settings;
Layout Layout Builder = Nový Data Layout Layout Builder;
LayoutLayout = LayoutComposer.Run(DataCompositionScheme, Settings);
DataCompositionProcessor = Nový DataCompositionProcessor;
DataCompositionProcessor.Initialize(LayoutLayout, ExternalDataSets);
TabDoc = Nový dokument tabuľky;
OutputProcessor = nový výstupný procesorvýsledku zostavenia údajov na dokument tabuľky;
OutputProcessor.SetDocument(TabDoc);
OutputProcessor.Output(DataCompositionProcessor);

Čítať 9660 raz

Pozor! Tu je skúšobná verzia lekcie, ktorej materiály nemusia byť úplné.

Prihláste sa ako študent

Ak chcete získať prístup k obsahu školy, prihláste sa ako študent

Systém skladania údajov 1C 8.3 pre začiatočníkov: vytvorenie spojenia medzi súbormi údajov

  • Napíšte správu, ktorá zobrazí zákazníkov a ich obľúbené produkty. Každý klient má svoju obľúbenú farbu a každý produkt má svoju farbu – práve na základe týchto farieb musíte určiť „obľúbený“ produkt. Napríklad, ak je Andrejova obľúbená farba červená, potom jedným z jeho obľúbených jedál budú paradajky (sú červené).
  • Na zostavu použite dve sady údajov. Prvým súborom sú údaje z referenčnej tabuľky „Klienti“. Druhá - údaje z tabuľky referenčnej knihy "Potraviny".
  • Implementovať spojenie týchto dvoch súprav aby v prehľade zostali len obľúbené produkty každého zo zákazníkov.

Vytvorenie nového prehľadu

V konfigurátore otvorte databázu „Gastronom“ a cez hlavné menu vytvorte nový report:

Typ dokumentu - "Externá správa":

Vo forme nového prehľadu zadajte názov „Lekcia6“ a kliknite na tlačidlo „Otvoriť schému zloženia údajov“:

Ponechajte predvolený názov schémy:

Pridáva sa prvý súbor údajov

V schéme, ktorá sa otvorí, prejdite na kartu „Množiny údajov“ a pomocou zeleného znamienka plus vyberte „Pridať množinu údajov – dotaz“:

Zavoláme konštruktor dotazu:

Zadajte tabuľku "Zákazníci" a polia, ktoré chcete získať z dotazu:

Pridáva sa druhý súbor údajov

Pridanie druhej množiny údajov:

Vyberte ho (DataSet2) a znova zavolajte konštruktor dotazu:

Uveďte tabuľku referenčnej knihy „Potraviny“ a polia, ktoré chcete získať z požiadavky:

Toto je text žiadosti:

Upozorňujeme, že teraz máme v prehľade dve množiny údajov: DataSet1 a DataSet2. Každý má svoj vlastný text požiadavky a údaje.

Vytváranie popisnejších mien

Pre prehľadnosť premenujme Dataset1 na Clients a Dataset2 na Food.

Urobte to dvojitým kliknutím na každú zo skupín:

V našej správe môžeme použiť údaje každej zo sád. K týmto údajom budeme pristupovať cez polia.

IN tento moment sada "Zákazníci" má tieto polia: "Názov" a "FavoriteFarba" a sada "Jedlo": "Názov" a "Farba".

Vidíme, že názvy sa prelínajú a ľahko sa môžeme pomýliť. Zmeňme teda názvy polí, aby boli popisnejšie.

Vyberte množinu "Klienti" a zmeňte názvy polí takto:

Potom vyberte skupinu „Jedlo“ a zmeňte názvy polí takto:

Volanie konštruktora nastavení

Nakoniec prejdite na kartu „Nastavenia“ a kliknite na tlačidlo Kúzelná palička zavolať konštruktor nastavení:

Typ prehľadu - "Zoznam...":

Vyberte polia pre prehľad z oboch sád:

Vidíte, prečo bolo také dôležité zmeniť názvy polí? Vo fáze nastavenia zloženia údajov nevidíme, z ktorých sád tieto polia pochádzajú. Vidíme len ich mená.

Kontrola prehľadu

Prehľad uložíme a vygenerujeme v užívateľskom režime:

Áno. Dobre, ale nie naozaj. Uskutočnilo sa takzvané krížové spojenie dvoch sád (toto by ste mali poznať zo spojení v dopytoch, ktoré sme študovali v predchádzajúcich moduloch). Každý záznam z tabuľky „Zákazníci“ má zodpovedajúci záznam z tabuľky „Potraviny“.

Zo všetkých týchto záznamov však musíme ponechať iba tie, pre ktoré sa pole „FavoriteCustomerColor“ rovná poľu „FoodColor“:

Prepojenie dvoch súborov údajov

Aby sme to dosiahli, prepojme dve množiny údajov (Zákazníci a Jedlo) podľa polí Obľúbená farba zákazníka a Farba jedla.

Prejdite na kartu „Odkazy na množinu údajov“ a kliknutím na tlačidlo plus pridajte nový odkaz:

Nastavte parametre, ako je uvedené nižšie:

Urobím vysvetlenie.

Komunikačný zdroj a prijímač. Tu je všetko jasné. Zadajte prvú množinu (Zákazníci) a druhú množinu (Potraviny) údajov. Chcem kresliť Osobitná pozornosťže komunikácia bude prebiehať podľa zásady vonkajší ľavý spoj(prešli sme si to v téme žiadostí v predchádzajúcich moduloch). Na základe toho si treba vybrať, ktorá zostava bude zdrojom a ktorý prijímač.

zdrojový výraz. Tu zadajte výraz alebo jednoducho pole zo zdrojovej množiny údajov (zadali sme pole Obľúbená farba klienta z množiny klientov tu).

výraz prijímača. Tu uvádzame výraz alebo len pole zo súboru údajov prijímača (tu sme uviedli pole Farba jedla zo súboru Jedlo).

Tento odkaz teda ponechá z predchádzajúceho zoznamu len tie riadky, ktorých pole FavoriteCustomerColor sa rovná poľu FoodColor.

Uložte prehľad a spustite ho v používateľskom režime:

Skvelé!

Urobím vysvetlenie o poli“ Podmienka komunikácie“, o ktorom začínajúci programátori tak často bijú oštepy.

Podmienka prepojenia je pomocné pole. Môžete tam napísať výrazy. zahŕňajúce polia iba z množiny údajov špecifikovanej v zdroji odkazu.

V tomto prípade pre všetky riadky zo zdroja odkazu bude tento výraz (podmienka odkazu) pred prepojením skontrolovaný. A ak je tento výraz PRAVDA, potom sa uskutoční pokus o prepojenie tohto reťazca s reťazcami z prepadu odkazov. Ak je výraz FALSE, takéto pokusy sa nevykonajú.

Dobrý deň, moji čitatelia! Dnes budeme pokračovať v pohľade na základy dispozičného systému. V tejto sérii článkov ste sa dozvedeli, čo je ŠKD a zoznámili ste sa s hlavnými zložkami ŠKD. Zvážili sme aj vstupné údaje na zostavenie zostavy a naučili sme sa hlavné fázy spustenia zostavy na ACS. Okrem toho si mnohí mali možnosť otestovať svoje vedomosti pri prejdení malej. A teraz sa môžete pozrieť na obsah článku a zistiť, čo sa v ňom bude diskutovať.

Súbor údajov – dotaz.

  1. Na rozdiel od bežného dotazu dotaz na zloženie údajov neobsahuje klauzulu TOTAL. Namiesto toho sa na karte Zdroje generujú súčty. Na tejto karte vyberáte polia, pre ktoré chcete získať konečné výrazy. A na karte „Nastavenia“ je uvedené, v ktorej sekcii sa získajú výsledky, to znamená, že sa tu vytvoria zodpovedajúce zoskupenia a z nich sa vypočítajú zdroje. Viac si o tom môžete prečítať v článku.
  2. Ďalší bod sa týka nastavení výberu. Existujú dve možnosti implementácie.
    1. Cez nastavenia možnosti prehľadu. Môžete to urobiť na karte "Nastavenia" - "Výber". Ak použijeme túto možnosť, potom je najflexibilnejšia, pretože ju môžete špecifikovať odlišné typy porovnania, z ktorých si môže vybrať aj používateľ. Pri použití tejto možnosti sú podmienky filtrovania uložené v samotnom dotaze. Ak je zostava založená na dávkovom dotaze s použitím dočasných tabuliek, potom výber ovplyvní všetky tabuľky dávkového dotazu, kde sa vyskytuje pole filtra.
    2. na úrovni žiadosti. Ak použijeme dotaz, tak nemôžeme použiť nič iné ako operáciu rovnosti.
      Výnimkou je prípad, keď potrebujeme vykonať „tvrdé“ filtrovanie údajov podľa nejakej hodnoty. Povedzme podľa výpočtovej hodnoty. V záložke „Parametre“ môžeme nastaviť podmienku. Ak zapneme príznak „Obmedziť prístupnosť“, používateľ nebude môcť túto podmienku zrušiť.
  3. Radenie je tiež správnejšie uložiť na úrovni nastavení variantu prehľadu.
    1. Ak v požiadavke zadáte triediace pole, používateľ pri nastavovaní možnosti prehľadu určí iné pole, potom bude mať naše nastavenie vykonané na úrovni požiadavky najnižšiu prioritu. Najprv sa vykoná triedenie nastavené používateľom v nastavení variantu zostavy. Ak teda potrebujete nastaviť triedenie „štandardne“, tak použite nastavenie variantu zostavy v Konfigurátore.
    2. A ak potrebujete v prehľade nastaviť „tvrdé“ triedenie, aby ho používateľ nemohol zmeniť? Potom nastavíme triedenie na úrovni požiadavky a na karte „Súbory údajov“ nastavíme obmedzenie poľa. Vyberte požadovaný súbor údajov a v stĺpci „Obmedzenie poľa“ - „Objednávanie“ začiarknite políčko.

Možnosti virtuálneho stola.

  • Konštrukcia virtuálnych tabuliek účtovných registrov, akumulačných registrov, informačných registrov závisí od zadaného dátumu. Môže to byť buď jeden dátum alebo interval, ako napríklad pri tabuľke zostatkov a obratov. ACS je navrhnutý tak, že ak je zostava založená na virtuálnej tabuľke, potom je potrebné nechať používateľa, aby si vybral, za aký interval alebo v akom dátume sa má zostava vygenerovať. ACS automaticky pridá potrebné parametre obdobia do schémy rozloženia.
  • Ak sa v dotaze vyberie virtuálna tabuľka zostatkov alebo virtuálna tabuľka informačných registrov, automaticky sa pridá parameter s názvom „Obdobie“.
  • Ak je v dopyte zvolená virtuálna tabuľka zostatkov a obratov alebo virtuálna tabuľka obratov, automaticky sa pridajú parametre „Začiatok obdobia“ a „Koniec obdobia“.
  • Čo robiť, ak potrebujete získať zostatky na konci obdobia? Existujú dva spôsoby:
    1. Prejdeme na kartu „Parametre“ a do parametra „Obdobie“ v stĺpci „Výrazy“ napíšeme nasledovné:
      &EndPeriod. Povoľte tiež príznak „Obmedziť prístupnosť“.
    2. Úplne sa zbavíme parametra "Period" a nahradíme ho parametrom "EndPeriod". Nastavte voliteľný parameter virtuálny stôl:
      • Prejdite na záložku "Datasets" a kliknite na tlačidlo "Query Builder...".
      • Na karte „Zloženie údajov“ v ľavom hornom rohu kliknutím na tlačidlo otvorte dialógové okno „Možnosti virtuálnej tabuľky“ (ide o sivé štvorcové tlačidlo s ozubeným kolieskom na pozadí malého stola).
      • Do poľa „Obdobie“ v dialógovom okne napíšte: &Koniec obdobia.
      • Teraz v texte dotazu na množinu údajov v parametroch virtuálnej tabuľky sa tento parameter zobrazí obklopený zloženými zátvorkami:
RegisterAkumulácia. Zvyšky Tovaru. Zostáva(((&Koniec obdobia) ), ) AS Zostáva

Zložené zátvorky označujú rozšírenie dopytovacieho jazyka na zloženie údajov. Označuje tiež, že tento parameter je voliteľný. To znamená, že ak to nie je definované v schéme zloženia údajov, zostatky budú prijaté k aktuálnemu dátumu.

Rozšírenie jazyka dopytu.

Ide o špeciálne pokyny, ktoré sú vložené do zložených zátvoriek v tele žiadosti. Tieto pokyny špecifikujú polia a parametre, s ktorými je možné pracovať pri nastavovaní variantu zostavy. Údaje v zložených zátvorkách budú v rozložení prítomné, aj keď je začiarkavacie políčko Automatické dokončovanie vypnuté.

Keď sa vytvorí množina údajov dotazu, štandardne sa dostupné polia schémy zloženia údajov automaticky vyplnia na základe vytvoreného dotazu (zaškrtávacie políčko „Automatické dopĺňanie“ je začiarknuté na karte „Množiny údajov“).

Ako funguje automatické dopĺňanie dostupných polí schém zloženia údajov?

    1. Sprístupnia sa polia z výberového zoznamu dotazov a ich podriadené polia.
    2. Ak vyberieme z akumulačného registra, tak aj polia registra, ktoré nie sú zahrnuté v požiadavke, sa sprístupnia v poliach zloženia údajov. Tieto polia sú však dostupné iba na výber (v podmienených výrazoch)
      a nemožno ich použiť ako výstupné polia.
    3. Parametre virtuálnych tabuliek „Period“, „StartPeriod“ a „EndPeriod“ sa stanú
      k dispozícii na výber.
    4. Ak je v texte požiadavky uvedená podmienka "tvrdá", potom sa tento parameter pridá aj na záložku "Parametre".

Ak nie je začiarknuté políčko Automatické dokončovanie, polia schémy zloženia údajov sa vymažú, ale parametre uzavreté v zložených zátvorkách v tele dotazu zostanú.

Ako môžem sám vyplniť polia schémy zloženia údajov?

Zrušte začiarknutie políčka "Automatické dopĺňanie" na karte "Množiny údajov".

Kliknite na tlačidlo "Tvorca dotazov...". Vytvorme nasledujúci dotaz:

VYBRAŤ Zostáva. Nomenklatúra AS Nomenklatúra, pozostatky. Množstvo AS Register akumulácie množstva. Zvyšky Tovaru. Zostáva(((&Koniec obdobia) ), ) AS Zostáva

Na záložke "Tabuľky" môžeme nastaviť parametre virtuálnych tabuliek pre všetky tabuľky.

Teraz na karte "Zloženie údajov" vyberte kartu "Polia". Tu nastavíme výberové polia, ktoré
budú zobrazené v schéme rozloženia.

Pole "A..." znamená, že do výberu budú zahrnuté podradené záznamy
polia komplexného typu, ako sú adresáre a dokumenty atď. Ak je pole , napríklad číslo, potom nebude možné vložiť príznak do poľa „AND...“.

Vyberte dve polia „Nomenklatúra“ a „Množstvo“. Pre pole "Nomenklatúra" nastavte príznak "A ..",
na výber detských záznamov. Získajte nasledujúci dotaz:

VYBRAŤ Zostáva. Nomenklatúra AS Nomenklatúra, pozostatky. Množstvo AS Množstvo (SELECT Nomenklatúra. * , Množstvo) Akumulačný register. Zvyšky Tovaru. Zostáva(((&Koniec obdobia) ), ) AS Zostáva

V novom dotaze je v zložených zátvorkách ešte jedna sekcia SELECT - toto je text rozšírenia, ktorý označuje polia, ktoré budú dostupné v rozložení. Pole „Nomenclature.*“ označuje, že pole „Nomenklatúra“ a jeho podriadené podrobnosti, ako napríklad „Kód“, „Názov“ atď., budú dostupné. Polia rozloženia sme teda vyplnili sami.

Ale práve teraz nemôžeme použiť okraje v podmienkach rozloženia. Ak prejdete na kartu „Nastavenia“ a vyberiete kartu „Výber“, nemôžete nastaviť podmienky pre žiadne z polí, ktoré sme vybrali v predchádzajúcom odseku. prečo?

Uloženie podmienok na parametre virtuálnej tabuľky musí byť špecifikované aj na karte Zloženie údajov nástroja Query Builder. Kliknutím na tlačidlo v ľavom hornom rohu otvoríte dialógové okno „Možnosti virtuálnej tabuľky“.
(ide o sivé štvorcové tlačidlo s ozubeným kolieskom na pozadí malého stolíka). Do poľa „Podmienka“ dialógového okna napíšte: Nomenklatúra. Teraz v texte dotazu na súbor údajov v parametroch virtuálnej tabuľky sa tento parameter „Nomenklatúra“ zobrazí obklopený zloženými zátvorkami:

RegisterAkumulácia. Zvyšky Tovaru. Zostáva(((&Koncové obdobie) ), ((Nomenklatúra) )) AKO Zostáva

V bežnom dopytovacom jazyku vyzerá zadanie parametra takto: Nomenklatúra = &Nomenklatúra. Ale v rozšírení dopytovacieho jazyka je to napísané inak. Zadaný je iba názov poľa. Tu nešpecifikujeme operáciu rovnosti, nerovnosti alebo v hierarchii, pretože používateľ si sám vyberie požadovanú operáciu vo svojich nastaveniach.

Na karte Zloženie údajov nástroja Query Builder vidíme ďalšiu kartu Podmienky. Je potrebné špecifikovať podmienky pre klauzulu WHERE v rozšírení dopytovacieho jazyka. Vyberte pole „Suma“. Teraz je toto pole dostupné v podmienkach na karte "Nastavenia" - "Výber". A v texte žiadosti sa objavili nové riadky v zložených zátvorkách.

(KDE zostáva. Množstvo)

Ak je zadaný výber podľa poľa množstva, potom sa táto veta vloží do záverečného dotazu. Kde sa typ podmienky a porovnávacia hodnota určí nastavením variantu zostavy.

Takže si myslím, že materiálu na dnes stačí. Ak máte stále nejasné body, neváhajte sa opýtať, pretože práve na to je zabezpečená možnosť pripomienkovania. Čoskoro bude pripravený na konsolidáciu tohto materiálu, takže sa prihláste na odber aktualizácií na našej webovej stránke, aby ste to nezmeškali!

A v tejto sérii lekcií sa pozrieme na funkcie výrazového jazyka SKD, porozprávame sa o vlastnostiach systému rozloženia a tiež analyzujeme základné nastavenia pre polia rozloženia. Veľa šťastia pri pochopení tohto ťažkého materiálu!

Na konci článku vám chcem poradiť zadarmo od Anatolija Sotnikova. Ide o kurz od skúseného programátora. Na samostatnom základe vám ukáže, ako zostavovať zostavy v ACS. Musíte len pozorne počúvať a pamätať si! Dostanete odpovede na otázky ako:
  • Ako vytvoriť jednoduchý zoznamový prehľad?
  • Na čo slúžia stĺpce Pole, Cesta a Názov na karte Polia?
  • Aké sú obmedzenia pre polia rozloženia?
  • Ako správne nastaviť roly?
  • Aké sú úlohy pre polia rozloženia?
  • Kde nájdem kartu rozloženia údajov v dopyte?
  • Ako nakonfigurovať parametre v SKD?
  • Ďalšie zaujímavé...
Pravdepodobne by ste sa nemali pokúšať surfovať po internete pri hľadaní potrebné informácie? Navyše je všetko pripravené na použitie. Len začnite! Všetky podrobnosti o tom, čo je v bezplatných video tutoriáloch na stránke autora mäkký tvorca http://www..pngmäkký tvorca 2015-12-07 14:51:12 2018-06-12 13:14:13 Systém skladania údajov (SKD). Časť 2.

Rozšírenie dopytovacieho jazyka pre systém skladania údajov

Rozšírenie dopytovacieho jazyka pre systém skladania údajov sa vykonáva pomocou špeciálnych syntaktických inštrukcií uzavretých v zložených zátvorkách a umiestnených priamo v texte dopytu.

Zloženie údajov Prvky syntaxe rozšírenia systému dotazovania

VYBERTE SI

Táto veta popisuje polia, ktoré bude môcť používateľ vybrať na výstup. Po tomto kľúčové slovo aliasy polí z hlavného výberového zoznamu dotazov, ktoré budú k dispozícii na prispôsobenie, sú uvedené oddelené čiarkami.

Napríklad:

(SELECT nomenklatúra, sklad)

Za aliasom poľa môže nasledovať kombinácia znakov ".*", ktorá označuje možnosť použitia podradených polí z tohto poľa.

Napríklad položka Nomenclature.* označuje možnosť použitia podradených polí poľa "Nomenklatúra" (napríklad pole "Nomenklatúra.Kód"). Element SELECT môže byť prítomný iba v prvom pripájacom dotaze.

KDE

Popisuje polia, na ktoré môže používateľ použiť výber. Tento návrh používa polia tabuľky. Použitie aliasov polí zoznamu nie je povolené. Každá časť zväzku môže obsahovať svoj vlastný prvok WHERE.

(Nomenklatúra WHERE.*, Sklad)

Jednoduchý príklad

Potrebujete získať tržby za obdobie + zobraziť celý sortiment bez ohľadu na to, či boli tržby alebo nie. To znamená, že je potrebné vybrať údaje z tabuľky obratu registra tržieb, údaje z nomenklatúrneho adresára. Vynechajme otázku, prečo potrebujeme celú nomenklatúru.

Na vyriešenie problému môžete vytvoriť dotaz spájajúci položku a tabuľku obratu predaja s ľavým spojením, výsledkom čoho je, že pre položku, ktorá sa vo vybranom období nepredala, získame hodnoty polí protistrana, zmluvy, Množstvo, Sum= Null. Takáto žiadosť:

Vyberte si sprnome -ponuka Dink ako nomenklatúra, predajné náklady Kontrola, predaj, zmluvy, predaj, predaj Aktuálne ako množstvo, predaj, náklady ako náklad z referenčnej knihy Nomenklatúra ako spinálna - zabalené spojenie registra. Vývoj ako predaj sprnies.

Tu je výsledok:

protistrana zmluvy Nomenklatúra Množstvo Sum
nulový nulový _Test1 nulový nulový
LLC "Rohy a kopytá" Dohoda1 Papuče 10 1200
"Gazprom" cool dohoda Čižmy 5 13000
nulový nulový Galoše nulový nulový
nulový nulový Bridlice nulový nulový

V tomto príklade nedošlo k predaju položky: „Galoše“ a „Bridlice“

A všetko by bolo v poriadku, ak by sme výber zoskupili podľa protistrany, tak všetky nepredajné položky budú spadať do samostatného zoskupenia, kde Protistrana = Nula, ale klient chce mať v prehľade svojvoľný výber podľa poľa protistrany (z to znamená protistranu z evidencie tržieb). Ako byť? Koniec koncov, v skutočnosti potrebujeme iba filtrovať tabuľku Predaj. Ak v konštruktore ACS použijeme automatické dopĺňanie, dostupné polia výberu budú zahŕňať pole protistrana, všetko sa zdá byť v poriadku, ale pri vykonávaní hlásenia s výberom protistranou stratíme všetky záznamy zo spojenia s nomenklatúrou. Nastavme napríklad výber: protistrana = LLC Rohy a kopytá. Výsledok bude vyzerať takto:

Nie je to presne to, čo potrebujeme, však?

Na vyriešenie problému môžete samozrejme do dotazu pridať parameter, napríklad do parametrov virtuálnej tabuľky Predajné obraty, no zároveň sa stráca flexibilita nastavenia typu porovnávania.

Existuje riešenie: na to v tvorca dotazov tab Rozloženie údajov => tabuľky pridajte pole podmienky k podmienkam virtuálnej tabuľky Predajné obraty a zmeniť jeho prezývku na Výber protistrany

Aby ste používateľa nemýlili výberovými poľami, zakážte pole podmienky protistrana a zmeňte názov poľa Výber protistrany


V dôsledku vykonania tejto schémy so zapnutým filtrovaním podľa poľa protistrany bude mať výsledný dotaz tvar:

Vyberte sprnome.Dink ako nomenklatúra, tržby z obratu Dodávateľ ako protistrana, predaj, zmluva ako zmluva -zmluva, predaj. Aktuálne.Dokončenie ako> množstvo, predajné náklady ako náklad, reprezentácia (tržby z obratu. Zmluvná zmluva) ako zmluvný personál, zastupovanie, zastupovanie (kontrola predaja. RefNomenclature.Representation AS NomenclatureRepresentation FROM Directory.Nomenclature AS ReferenceNomenclature LEFT JOIN Akumulačný register.Sales.Turnovers(&P , , , Protistrana = &P3 ) ASNomenklatúraReferenciaReferenciaTurnovers = PredajObraty.Nomenklatúra

A zodpovedajúci výsledok:

protistrana zmluvy Nomenklatúra Množstvo Sum
nulový nulový _Test1 nulový nulový
LLC "Rohy a kopytá" Dohoda1 Papuče 10 1200
nulový nulový Čižmy nulový nulový
nulový nulový Galoše nulový nulový
nulový nulový Bridlice nulový nulový

Test1 je skupina v adresári Nomenclature, v ktorej všetko leží

K publikácii je pripojená schéma XML zostavy použitej v publikácii. Vytvoril som schému v integrovanej automatizácii, ale myslím si, že všetko bude fungovať v SCP aj UT 10

Zhrnutie

Tento príklad ukazuje, ako vytvoriť vlastné nastavenia výberu v ACS a zakázať automaticky vytvorené nastavenia, ak navrhujete schému so zapnutým príznakom Automatické dopĺňanie.

Ak máte dostatok skúseností na vytváranie obvodov bez použitia Automatické dopĺňanie- potom táto rada nedáva zmysel.

Použitý softvér

  • Program na snímanie obrazovky SnapOK!
  • Editor súborov XML


Načítava...
Hore