Postup pre prácu so vstavaným objektom jazykovej požiadavky. Aký je účel konfiguračného objektu "Jazyk"?

Vývoj aplikačného riešenia v systéme 1C: Enterprise pozostáva z dvoch hlavných akcií: vizuálny návrh konfiguračných objektov a popis špecifického správania systému pomocou vstavaného jazyka a dotazovacieho jazyka.

Vstavaný jazyk systému 1C: Enterprise má veľa podobností s inými programovacími jazykmi, ale nie je priamym analógom žiadneho z nich. Jeho najvýznamnejšie vlastnosti:

· mäkké písanie (typ premennej je určený typom hodnoty, ktorú obsahuje a môže sa počas prevádzky meniť);

· chýbajúci softvérový popis typov aplikácií (vytvárajú sa pri pridávaní konfiguračných objektov);

· vstavaný jazyk orientovaný na udalosti;

· všetci operátori majú ruský aj anglický pravopis, ktorý je možné používať súčasne.

Konfiguračné moduly

Moduly aplikačného riešenia sú navrhnuté tak, aby umiestnili text programu do vstavaného jazyka. Tieto moduly sú umiestnené na rôznych miestach v konfigurácii a majú rôzne účely. Väčšina modulov je „viazaná“ na určité konfiguračné objekty alebo na samotné aplikačné riešenie.

Rozlišujú sa tieto typy softvérových modulov:

· Spoločné moduly. Konfigurácia môže mať ľubovoľný počet modulov vrátane žiadneho. Samotné bežné moduly sa počas procesu konfigurácie nevolajú. Slúžia len na to, aby obsahovali texty procedúr a funkcií, ktoré je možné vyvolať z iných modulov aplikačného riešenia. Chýba im preto variabilná časť popisu a hlavná programová časť. To. Bežné moduly obsahujú iba procedúry a funkcie.

· Aplikačný modul. V konfigurácii je vždy jeden aplikačný modul. Vykoná sa, keď sa systém spustí v režime 1C: Enterprise a je určený na vykonanie akcií súvisiacich s pracovnou reláciou koncového používateľa. Hlavné udalosti, ktoré možno spracovať v module aplikácie, sú udalosti spustenia a ukončenia aplikácie. Sekvencia z hovoru je zobrazená v ryža. 1. Udalosť Pred spustením systému Vyskytuje sa, keď sa systém spustí pred otvorením hlavného okna. Vybavovaním tejto udalosti má developer napríklad možnosť odmietnuť kandidovať, ak nie sú splnené nejaké podmienky. Udalosť Pri spustení systému nastane po otvorení hlavného okna. V handleri tejto udalosti môžete napríklad zobraziť informácie o narodeninách atď.

· Externý spojovací modul. V konfigurácii je vždy jeden externý pripojovací modul. Spustí sa, keď sa k aplikácii pristupuje ako k serveru COM (v režime externého pripojenia). V režime externého pripojenia nie je spustená plnohodnotná aplikácia 1C: Enterprise, ale „odľahčená verzia“, v ktorej nie sú k dispozícii všetky funkcie, ktoré tak či onak súvisia s organizáciou používateľského rozhrania.

· Moduly aplikačných objektov. Každý konfiguračný objekt aplikácie (napríklad softvérový dokument alebo adresár), ktorého údaje je možné upravovať v režime 1C: Enterprise, má svoj vlastný modul. Okrem popisu premenných a hlavného programu môže objektový modul obsahovať popis procedúr - obsluhy udalostí spojených s daným konfiguračným objektom. Existujú dve udalosti, ktoré sú vyvolané pre všetky objekty - Pred nahrávaním A Pri nahrávaní.

· Moduly formulárov. Každý formulár má svoj modul, ktorý definuje správanie formulára a akcie z neho vykonávané, napríklad otváranie iných formulárov. Udalosti sú organizované pre všetky formy Pred otvorením, počas otvárania, pred zatvorením A Pri zatváraní.

Kontext

V systéme 1C: Enterprise kontext označuje prostredie modulu, t.j. premenné, objekty, vlastnosti, metódy a udalosti, ktoré má k dispozícii. Môžeme rozlíšiť nasledujúce typy kontextov a podľa toho aj pravidlá viditeľnosti exportovaných premenných, procedúr a funkcií:

· Globálny kontext, dostupný vo všetkých ostatných kontextoch, pozostáva z nasledujúcich častí:

§ vlastnosti, metódy a udalosti globálneho kontextu (napríklad vlastnosť Pracovný dátum);

§ systémové enumerácie a sady systémových hodnôt (napr. Return CodeDialog A Symboly).

· Spoločný kontext modulu tvorený globálnym kontextom a lokálnym kontextom samotného všeobecného modulu (t. j. procedúrami a funkciami definovanými v rámci všeobecného modulu). V kontexte spoločného modulu sú k dispozícii exportované procedúry a funkcie iných spoločných modulov. Exportované premenné, procedúry a funkcie aplikačného modulu nie sú dostupné.

· V kontexte aplikačného modulu alebo externého spojovacieho modulu K dispozícii sú exportované postupy a funkcie bežných modulov.

· V kontexte modulu objektu aplikácie je tu prístup k detailom a tabuľkovým častiam objektu, ako aj jeho metódam a udalostiam. Tu sú k dispozícii exportované premenné, procedúry a funkcie aplikačného modulu (modul externého pripojenia) a spoločné moduly.

· V kontexte modulu formulára k dispozícii sú podrobnosti formulára, ako aj vlastnosti formulára, metódy a udalosti. Ak má formulár priradený hlavný atribút, vlastnosti a metódy objektu aplikácie použitého ako hlavný atribút budú dostupné v module formulára.

Vzťah medzi kontextami je schematicky znázornený v ryža. 2. Zapnuté ryža. 3 znázorňuje možnú interakciu modulu formulára denníka a modulu dokladu.


Postupy a funkcie

Procedúry a funkcie sú programové bloky, ktoré možno volať podľa názvu z iného miesta, napríklad z inej procedúry. Funkcie sa líšia od procedúr iba tým, že majú návratovú hodnotu. Vo verzii 8 nie je dôležité poradie procedúr a funkcií. To znamená, že postup sa môže nachádzať pod miestom, kde sa volá.

Procedúry a funkcie môžu mať parametre, ktoré definujú, aké akcie má robiť s akými objektmi. Parametre procedúry alebo funkcie sa štandardne odovzdávajú odkazom. To znamená, že zmena formálneho parametra v rámci procedúry alebo funkcie zmení skutočný parameter v bode, kde sa volá. Ak chcete zaručiť, že sa parameter odovzdáva hodnotou, musíte pred názov parametra vložiť kľúčové slovo Význam.

Príklad 1:

Procedure Calculate()

Suma=Cena*Množstvo;

Koniec procedúry

Kalkulácia(); // Zavolajte procedúru

Príklad 2:

Perem Glob;

// Popis postupu

Výpočet procedúry (Par1, Par2, ParZ) Export

Glob = Glob + Par1 + Par2 + ParZ;

Koniec procedúry

Výpočet(5, 6, 7); // Zavolajte procedúru

Príklad 3:

Perem Glob;

// Popis funkcie

Funkcia Výpočet(Par1, Par2, ParZ) Export

Lok = Glob + Par1 + Par2 + ParZ;

Zámok návratu;

EndFunction

Res = vypočítané (5, 6, 7); // Volanie funkcie

Typy údajov

Číslo, Reťazec, Dátum, Logická hodnota, Nedefinované, Null (pre nešpecifikované hodnoty v databázových tabuľkách)

Typ. Hodnoty špeciálneho typu „Typ“ sú potrebné na reprezentáciu a porovnanie typov údajov, napríklad:

Deklarovanie premenných

Premenné sa v programe objavia v nasledujúcich prípadoch:

· po ich deklarovaní pomocou operátora Variable.

Perem<Имя_переменной>[Export];

premenná A, B;

· po prvom umiestnení názvu premennej na ľavej strane operátora priradenia.

Príklad:

· pri určovaní názvov identifikátorov editovaných prvkov dialógu;

· pri stanovovaní formálnych parametrov postupov.

Obsadenie

Pretypovanie môže byť explicitné alebo implicitné.

Pre explicitné pretypovanie existujú nasledujúce funkcie: číslo, reťazec, dátum, logická hodnota. Implicitné pretypovanie vykoná systém automaticky pri vyhodnocovaní výrazov.

Príklad: Hodnota číselnej premennej MonthNumber sa implicitne skonvertuje na reťazec a pripojí sa k inému reťazcu:

A = „Mesiac“ + Číslo mesiaca;

Adresáre

Práca s adresármi sa vykonáva pomocou nasledujúcich objektov:

· DirectoriesManager. Poskytuje prístup ku všetkým konfiguračným referenčným knihám. Vlastnosti tohto objektu sa zhodujú s názvami adresárov a obsahujú objekty typu DirectoryManager.

· DirectoryManager. Poskytuje prístup k operáciám v adresári ako množine prvkov. Pomocou metód tohto objektu môžete vyhľadávať, získavať výber, vytvárať nové prvky a pristupovať k adresárovým formulárom a rozloženiam.

· DirectoryLink. Jednoznačne identifikuje prvok (skupinu) adresára a umožňuje vám k nemu pristupovať v režime len na čítanie. Prostredníctvom vlastností a metód tohto objektu môžete čítať podrobnosti o prvku (skupine) a pristupovať k jeho tabuľkovým častiam. Hodnota tohto typu je uložená v atribútoch, ktoré odkazujú na prvky tohto adresára, napríklad v atribúte zamestnanec dokument Nábor je uložený odkaz na konkrétny prvok adresára Zamestnanci.

· DirectoryObject. Poskytuje zapisovateľný prístup k prvku. Tento objekt obsahuje metódy, ktoré ovplyvňujú prvok v databáze, napríklad metódy Zapíšte si A Odstrániť.

· DirectorySelection. Poskytuje možnosť iterácie cez prvky adresára. Vzorkovanie môže byť priame alebo hierarchické.

· DirectoryList. Objekt na správu zoznamu prvkov v poli tabuľky. Umožňuje spravovať stĺpce, výber a triedenie v zozname.

V systéme 1C:Enterprise?

1. Konfiguračné a databázové texty sú uložené vo formáteUNICODE

3. Neexistuje správna odpoveď

6.75 Na aký účel sa vo formáte ukladajú konfiguračné a databázové textyUNICODE?

1. Formát UNICODE zabezpečuje nemennosť (nezávislosť od softvérovej platformy operačného systému) prezentácie informácií

2. FormátovaťUNICODE umožňuje podporovať rôzne jazyky v systéme 1C:Enterprise

3. Neexistuje správna odpoveď

6.76 Stanovené mechanizmy internacionalizácie. ..

1. technologická platforma 1C:Enterprise

2. aplikované roztoky

3. Odpovede 1 a 2 sú správne

4. neexistuje správna odpoveď

6.77 Čo je to lokalizačný kód?

1. Reťazec pozostávajúci z kódu jazyka a kódu krajiny, ktorý identifikuje určitý región sveta

2. Kód softvérového produktu (uvedený v registračnom formulári, dokumentácia je súčasťou dodávky)

3. Možnosť formátovania reťazca na konverziu

4. Jej odpoveď je správna

6.78 Je pravda, že v 1C:Enterprise 8 môže akákoľvek textová informácia súčasne obsahovať znaky z rôznych jazykov?

1. Áno, pretože všetky konfiguračné a databázové texty sú uložené vo formáteUNICODE

2. V závislosti od nastavení zadaných pri vytváraní infobázy

3. Iba ak to umožňuje konfigurácia

6.79 Aký je účel konfiguračného objektu "Jazyk"?

1. Na vytvorenie programového rozhrania v rôznych jazykoch

2. Vytvárať textové dokumenty v rôznych jazykoch

3. Takýto objekt v 1C: Enterprise 8 neexistuje

6.80 Ako môžem zmeniť jazyk pre prezeranie (úpravu) konfigurácie?

1. Pomocou tlačidla na výber jazyka umiestneného v stavovom riadku napravo od tlačidla „NUM“.

2. Cez položku ponuky "Konfigurácia - Jazyk úpravy konfigurácie"

3. V 1 C: Enterprise táto možnosť neexistuje

4. Verpa odpovedá 1 a 2

6.81 Aký je pravopis vstavaných jazykových operátorov?

1. Iba ruské písmo

3.

6.82 Je možné použiť vstavané jazykové operátory v ruskom a anglickom písaní v jednom zdrojovom texte?

1. Len so špeciálnymi nastaveniami konfigurátora

2. Áno, toto nevyžaduje zmenu nastavení konfigurátora

3. Nie, pretože možnosť vstavaného jazyka je nastavená vo vlastnostiach konfigurácie

6.83 Aký je účel vstavaného jazyka?

1. Určenie predvoleného rozhrania programu

2. Popísať (v štádiu vývoja konfigurácie) algoritmy pre fungovanie aplikovanej úlohy

3. Neexistuje správna odpoveď

6.84 Aký je pravopis vstavaných jazykových funkcií?

1. Iba ruské písmo

2. Iba anglický pravopis

3. Ruské a anglické písanie

4. V závislosti od nastavení konfigurátora

6.85 Čo znamená parameter L?(L) vo formátovacom reťazci funkcie formátovania NumberInWriting()?

1. Podpíšte „vypíšte zlomkovú časť číslami/slovami“

2. Počet desatinných miest

3. Lokalizačný kód

7. Tabuľkový model aplikačného riešenia

7.1 Pri nastavovaní obmedzení prístupu k údajom môžete nastaviť niekoľko obmedzení (podľa počtu polí):

1. Pre právo „Čítať“.

2. Pre správnu "Zmenu"

3. Pre právo "Pridať".

4. Pre právo "Vymazať".

5. Pre všetky vyššie uvedené práva

6. Za všetky možné práva

7.2 Pri nastavovaní obmedzení prístupu k údajom sa môžu ako hodnoty, ktorými sa vykonávajú obmedzenia prístupu k údajom, použiť nasledovné:

1. Iba hodnoty parametrov relácie

2. Iba údaje z tabuliek (dopytov)

3. Hodnoty parametrov relácie a údaje z tabuliek (dotazy)

4. Iba hodnoty s typmi: Number, String, Boolean, Date

7.3 Ktorú z vyššie uvedených metód možno použiť, aby sa kód a názov adresára zobrazili v časti „Polia“ dizajnéra dotazov?

1. Najprv vyplňte sekciu „Tabuľky“ a potom výberom požadovaných objektov z tejto sekcie ich presuňte do sekcie „Polia“ dvojitým kliknutím ľavým tlačidlom myši.

2. Bez vypĺňania sekcie „Tabuľky“ okamžite vyberte potrebné objekty z tabuliek - zdrojov údajov sekcie „Databáza“ a preneste ich do sekcie „Polia“ pomocou technológie Drag & Drop. Sekcia "Tabuľky" sa vypĺňa automaticky

3. Najprv vyplňte sekciu "Tabuľky" a potom po výbere potrebných objektov z tejto sekcie ich preneste do sekcie "Polia" pomocou tlačidiel vo formulári ">" """

4. Odpovede I a 3 sú správne

5. Odpovede I, 2 a 3 sú správne

7.4 Ak chcete zvýšiť rýchlosť vykonávania požiadavky, musíte:

1. Nastavte parametre pre väčšinu skutočných tabuliek

2. Nastavte parametre pre väčšinu virtuálnych tabuliek

3. Namiesto zadávania parametrov pre skutočnú alebo virtuálnu tabuľku použite výber špecifikovaný konštruktom jazyka dotazovania „WHERE“

4. Odpovede I a 2 sú správne

7.5 Je možné priradiť jej nový názov (alias) pri výbere zdrojovej tabuľky v časti „Tabuľky“ návrhára dotazov?

1. Áno môžeš

2. Áno, môžete, ale iba ak je zdrojom údajov vnorený dotaz

3. Áno, môžete, ale iba ak je zdrojom údajov virtuálna tabuľka

4. Odpovede 1 a 2 sú správne

5. Odpovede 1 a 3 sú správne

7.6 Vnorený dotaz možno použiť:

1. Ako tabuľku zdroja údajov

2. Ako operand porovnávacích operácií “B” alebo “NOT B” pri nastavovaní parametrov virtuálnej tabuľky

3. Ako operand porovnávacích operácií „B“ alebo „NOT B“ pri špecifikovaní konštrukcie dopytovacieho jazyka „WHERE“

4. Verpa odpovedá 1, 2 a 3

7.7 Je možné získať súčty podľa hierarchie pomocou návrhára dotazov?

1. Je to možné, ak zadáte celkový typ „Prvky a hierarchia“ pre pole zoskupenia

2. Je to možné, ak pre pole zoskupenia zadáte celkový typ „Len hierarchia“.

3. Verpa odpovedá 1 a 2

7.8 Na karte „Podmienky“ návrhára dotazov je možné vygenerovať samostatný riadok zoznamu podmienok:

1. Dvakrát kliknite ľavým tlačidlom myši na požadované pole v zozname dostupných polí

2. Presunutím požadovaného poľa do zoznamu pomocou technológie Drag & Drop

3. Kliknite na tlačidlo "Pridať". Ak je podmienka ľubovoľná, text podmienky možno zadať „ručne“

4. Vyvolajte kontextové menu a vyberte z neho „Pridať“. Je možné použiť ľubovoľný výraz

5. Všetky vyššie uvedené odpovede sú správne

7.9 Na karte „Odkazy“ v návrhárovi dotazov môžete definovať:

1. Prepojenie tabuliek zdrojov údajov a vzťahy medzi nimi

2. Kombinovanie tabuliek zdrojov údajov a spojení medzi nimi

3. Vzťahy medzi poliami tabuľky získané ako výsledok dotazu

4. Vzťahy medzi poliami tabuľky zdroja údajov a tabuľkou získanou ako výsledok dotazu

7.10 Pri spájaní tabuliek zdrojov údajov v návrhárovi dotazov môžete:

1. Priraďte pripojenie bez zadania podmienky pripojenia

2. Priraďte pripojenie označujúce podmienku pripojenia, pričom táto podmienka môže byť iba jedna

3. Priraďte spojenie označujúce stav spojenia, pričom tento stav môže byť len jednoduchý

4. Priraďte požadovaný počet spojení s uvedením požadovaného počtu komunikačných podmienok, pričom tieto podmienky môžu byť jednoduché alebo ľubovoľné

7.11 Vytvorenie spojenia medzi tabuľkami zdroja údajov v návrhárovi dotazov umožňuje:

1. Spojenie iba dvoch tabuliek zdroja údajov

2. Pripojenie požadovaného počtu tabuliek zdroja údajov

3. Prepojenie iba dvoch tabuliek zdroja údajov a začiarkavacie políčko „Všetky“ musí byť začiarknuté aspoň pre jednu z tabuliek

Basic, ktorý uľahčuje začínajúcim vývojárom učenie. Nejde však o priamu obdobu žiadneho z uvedených jazykov.

Tu sú len niektoré z najvýznamnejších funkcií vstavaného jazyka:

  • predkompilácia; pred spustením sa moduly obsahujúce text vo vstavanom jazyku prevedú do interného kódu;
  • ukladanie kompilovaných modulov do pamäte;
  • mäkké písanie - typ premennej je určený typom hodnoty, ktorú obsahuje a môže sa počas prevádzky meniť;
  • nedostatok softvérového popisu konfiguračných objektov; vývojár môže použiť buď objekty zabudované do platformy alebo objekty vytvorené systémom ako výsledok vizuálneho návrhu aplikačného riešenia.

Vstavaný jazyk orientovaný na udalosti. Účel vstavaného jazyka v systéme 1C:Enterprise je určený ideológiou vytvárania aplikačných riešení. Aplikačné riešenia v 1C:Enterprise 8.0 nie sú úplne kódované. Väčšinu aplikačného riešenia vytvára vývojár prostredníctvom vizuálneho dizajnu – vytváraním nových konfiguračných objektov, nastavovaním ich vlastností, prezentačných foriem, vzťahov atď. Zabudovaný jazyk slúži len na určenie správania objektov aplikačného riešenia, ktoré sa líši od štandardný a vytvoriť si vlastné algoritmy spracovania údajov.

Z tohto dôvodu sú moduly obsahujúce text vo vstavanom jazyku systémom využívané v špecifických, vopred známych situáciách, ktoré môžu nastať pri prevádzke aplikačného riešenia. Takéto situácie sa nazývajú udalosti. Udalosti môžu byť spojené s fungovaním objektov aplikačného riešenia alebo so samotným aplikačným riešením ako takým.

Napríklad s fungovaním objektu riešenia aplikácie Directory je spojených množstvo udalostí, medzi ktoré patrí aj udalosť BeforeWrite. Táto udalosť nastane tesne pred zápisom údajov položky adresára do databázy. Vývojár môže pomocou vstavaného jazyka opísať algoritmus, ktorý napríklad skontroluje správnosť údajov zadaných používateľom. Umiestnením tohto algoritmu do príslušného modulu vývojár zabezpečí, že vždy, keď používateľ zaznamená položku adresára, systém spustí algoritmus vytvorený vývojárom a skontroluje, či používateľ nezabudol vyplniť požadované údaje v adresári.

Môžeme teda povedať, že vstavaný jazyk je skriptovací jazyk na programovanie obchodnej logiky a použitie modulov v zabudovanom jazyku je závislé od udalosti, t.j. moduly sa spustia, keď počas prevádzky aplikačného riešenia nastanú určité udalosti.

Preddefinované typy údajov

Platforma 1C:Enterprise 8.0 umožňuje vývojárom využívať rôzne typy údajov.

Existuje veľké množstvo dátových typov, ktoré sú definované na úrovni samotnej platformy. Napríklad toto primitívne dátové typy, ako je reťazec, číslo, dátum atď.


Popis primitívne dátové typy:

  • NULOVÝ- chýbajúca hodnota. Používa sa napríklad v dopytoch.
  • Nedefinované- prázdna, nedefinovaná hodnota. Používa sa napríklad pri vyhodnocovaní odovzdávania parametrov, ak je tento parameter vynechaný pri volaní procedúry alebo funkcie. Podrobnosti, ktoré majú zložený dátový typ, sú štandardne typu "Nedefinované".
  • Boolean- obsahuje dve hodnoty: True alebo False. Používa sa napríklad v logických výrazoch - logický výraz je typu "Boolean".
  • dátum- obsahuje dátum a čas. Predvolená hodnota je 01/01/01 00:00:00 dátum začiatku našej éry. Čas sa meria od začiatku dňa. Výraz, ktorý má doslovný typ "dátum", je napísaný takto - "00010101000000". Najprv sa zapíše rok, potom mesiac, potom dátum a potom čas. Je možný nasledujúci záznam: "20041031". Predvolený čas je začiatok dňa.
  • Linka- môže byť variabilná, pevná alebo neobmedzená dĺžka. Vo všeobecnosti sa odporúča používať reťazce s premenlivou dĺžkou.
  • číslo- bitová hĺbka čísla bola zvýšená na 38 bitov.
  • Typ- slúži na určenie typov hodnôt. Používa sa napríklad na porovnávanie typov údajov. Nemá žiadne literály a je vrátený funkciami Type(<Имя типа>) alebo TypeValue(<Значение>).

Okrem toho je ich viac komplexné dátové typy. Platforma napríklad podporuje množstvo typov, ktoré sú univerzálnymi kolekciami hodnôt: pole, štruktúra, zoznam hodnôt, strom hodnôt atď.


Dátové typy "Univerzálne kolekcie" - zoznam (množina) dátových objektov akéhokoľvek typu, ku ktorým hodnotám možno pristupovať hrubou silou alebo zadaným indexom (kľúčom). Číslovanie prvkov kolekcie začína od 0. Všetky špecifikované dátové typy sú vytvorené iba programovo.

Pole. Predstavuje očíslovanú zbierku hodnôt ľubovoľného typu. K prvku poľa je možné pristupovať pomocou jeho indexu. Prvky poľa môžu byť najmä iné polia. To vám umožňuje vytvárať viacrozmerné polia.

Štruktúra. Predstavuje pomenovanú kolekciu pozostávajúcu z párov kľúč – hodnota. Kľúčom môže byť iba reťazec, hodnota môže byť ľubovoľného typu. K prvku štruktúry je možné pristupovať podľa hodnoty jeho kľúča, t.j. podľa názvu. Zvyčajne sa používa na uloženie malého počtu hodnôt, z ktorých každá má jedinečný názov.

Korešpondencia. Rovnako ako Structure, je to zbierka párov kľúč – hodnota. Na rozdiel od štruktúry však môže byť kľúč takmer akéhokoľvek typu.

Zoznam hodnôt. Zvyčajne sa používa na riešenie problémov s rozhraním. Umožňuje vytvárať dynamické sady hodnôt a manipulovať s nimi (pridávať, upravovať, mazať prvky, triediť). Môže obsahovať hodnoty akéhokoľvek typu, navyše typy uložených hodnôt v jednom zozname sa môžu líšiť.

Tabuľka hodnôt. Tabuľka hodnôt vám umožňuje vytvárať dynamické množiny hodnôt a manipulovať s nimi. Môže byť naplnený hodnotami akéhokoľvek typu a v jednej tabuľke môžu byť typy uložených hodnôt rôzne.

Strom hodnôt. Strom hodnôt je dynamicky generovaná množina hodnôt akéhokoľvek typu, podobná tabuľke hodnôt. Na rozdiel od tabuľky hodnôt môžu riadky stromu hodnôt tvoriť hierarchické štruktúry: každý riadok v strome môže mať množinu podriadených riadkov, každý z podriadených riadkov môže mať zase množinu podriadených riadkov atď. V tomto prípade sa vyhľadávanie hodnôt, triedenie a získavanie výsledkov môže vykonávať buď podľa aktuálnej úrovne hierarchie, alebo vrátane všetkých podriadených.

COMSafeArray. Predstavuje obal objektu cez viacrozmerné pole SAFEARRAY

Procedure SelectFromFileClick(Element) // Výber súboru pomocou viewingFileSelectionDialog = NewFileSelectionDialog(FileSelectionDialogMode.Open); FileSelectionDialog.Directory = ""; FileSelectDialog.Preview = True; FileSelectionDialog.FilterIndex = 0; If FileSelectDialog.Select() Then File = New File(FileSelectDialog.FullFileName); Obrázok = NewValueStorage(NewImage(FileSelectionDialog.FullFileName)); DisplayImage(); koniec Ak; Koniec procedúry

THIS_KEYWORD
<Это конструкция языка>,
<Это конструкция языка>
THIS_FUNCTION(<Это конструкция языка>)

V pravidlách popisujúcich dopytovací jazyk sú jazykové konštrukcie označené v lomených zátvorkách. Kľúčové slová a názvy funkcií sú popísané veľkými písmenami.

Jazykové konštrukcie môžu obsahovať voliteľné prvky – kľúčové slová atď. V pravidlách popisujúcich jazyk dopytu sú voliteľné prvky uzavreté v hranatých zátvorkách „[“ a „]“:

[TO JE VOLITEĽNÉ SLOVO] [<Это необязательная конструкция>]

V niektorých prípadoch môže jazykový dizajn používať jeden z niekoľkých alternatívnych prvkov. Takéto prvky v pravidlách sú uvedené cez zvislú čiaru „|“:

EITHER_THIS_WORD | ALEBO THIS_WORD
<Либо эта конструкция> | <Либо эта конструкция>

Popisy všetkých konštruktov sú doplnené príkladmi, ktoré vysvetľujú, ako sa používajú v dopytovacom jazyku.

Komentáre v jazyku dopytu

Orgán žiadosti môže zahrnúť pripomienky. Komentár sa považuje za časť riadku, ktorý začína sekvenciou znakov // a pokračuje až do konca riadku:

// Toto je komentár.

Pri vykonávaní požiadavky sú komentáre ignorované.

Dvojjazyčné znázornenie kľúčových slov

Jednou z významných vlastností jazyka dotazov 1C: Enterprise je, že rovnako ako vo vstavanom jazyku majú všetky kľúčové slová dva pravopisy: v ruštine a angličtine. Ďalej v tejto kapitole sú uvedené ruské hláskovanie kľúčových slov. Nižšie je uvedená tabuľka znázorňujúca korešpondenciu medzi ruským a anglickým jazykom a možnosti pravopisu pre kľúčové slová v jazyku dopytu...... (vynechané)

Hlavné časti textu žiadosti

Text žiadosti možno opísať nasledujúcim pravidlom:

<Описание запроса>
[<Объединение запросов>]
[<Упорядочивание результатов>]
[AUTO OBJEDNÁVKA]
[<Описание итогов>]

Ako je zrejmé z tohto pravidla, text žiadosti pozostáva z niekoľkých častí alebo častí:

V sekcii<Упорядочивание результатов>Môžete definovať podmienky zoradenia pre riadky vo výsledku dotazu. Usporiadanie výsledku dotazu je popísané na strane 324.

AUTOMATICKÉ ORDER umožňuje povoliť automatické zoradenie riadkov vo výsledku dotazu. Tento režim je popísaný na strane 331.

V sekcii<Описание итогов>V dotaze môžete určiť, ktoré súčty sa majú vypočítať. Táto časť je popísaná na strane 332.

Popis žiadosti

Ako už bolo spomenuté, text žiadosti musí nevyhnutne obsahovať časť popisu požiadavky, ktorá definuje:

Polia, ktoré budú obsiahnuté vo výsledku žiadosti;

Zdroje údajov dotazu – zdrojové tabuľky;

Podmienky ovplyvňujúce výber údajov v žiadosti;

Poradie, v ktorom sú výsledky dotazu zoskupené.

Časť s popisom požiadavky pozostáva z niekoľkých vzájomne súvisiacich viet:

VYBERTE [DIFFERENT] [PRVÝ<Количество>]
<Список полей выборки>
[OD<Список источников>]
[KDE<Условие отбора>]
[GROUP BY<Поля группировки>]
[MAJÚCE<Условие отбора>]
[ZA ZMENU [<Список таблиц верхнего уровня>]]

Popis požiadavky začína požadovaným kľúčovým slovom VYBERTE SI.

Ponuka KDE<Условие отбора> umožňuje filtrovať výsledok dotazu. Výsledok zahŕňa iba tie záznamy, pre ktoré platí zadaná podmienka. Pravidlá pre popis podmienok výberu sú uvedené na strane 315.

Ponuka PRE ZMENU je určený na označenie potreby blokovania údajov načítaných v transakcii.

Ponuka SKUPINA umožňuje opísať poradie, v ktorom sú výsledky dotazu zoskupené. Zoskupovanie je podrobne popísané na strane 316.

Ponuka MAJÚCE umožňuje klásť podmienky na výsledky zoskupovania. Popísané na strane 318.

Všetky príklady dotazov v tejto kapitole poskytujú text dotazu a výsledok dotazu. Predpokladá sa, že text požiadavky je odovzdaný ako parameter metóde Execute objektu Request.

Uveďme príklad celkom jednoduchého dotazu pozostávajúceho z jedného príkazu SELECT a zoznamu výberových polí.

//V prehľade je potrebné zobraziť zoznam faktúr.

Výsledok dotazu:

Použitie slova INÝ

V mnohých situáciách je žiaduce, aby sa rovnaké riadky v prehľade neopakovali.

// Je potrebné zistiť, ktoré protistrany vo všeobecnosti
// tovar bol odoslaný za obdobie.
Vyberte položku Dokument.Faktúra.Protistrana

Výsledok dotazu:

Je vidieť, že výsledok dotazu obsahuje veľa opakovaných riadkov, čo znižuje jeho prehľadnosť. Aby sa predišlo opakovaniu, kľúčové slovo DIFFERENT by malo byť špecifikované v popise dotazu.

Vyberte položku Rôzne dokumenty. Faktúra. Protistrana

Výsledok dotazu:

Použitie slova PRVÝ

V niektorých prípadoch je potrebné v prehľade zobraziť obmedzený počet riadkov. Ak to chcete urobiť, v popise dotazu by ste mali zadať kľúčové slovo FIRST a po ňom - ​​požadovaný počet riadkov.

// Je potrebné vybrať päť najdrahších tovarov.
// Výber by sa mal vykonať v zostupnom poradí podľa ceny produktu.
Vyberte Prvých 5
Directory.Nomenclature.Name,
Adresár.Nomenklatúra.Nákupná cena
Zoradiť podľa Directory.Nomenclature.PurchasePrice zostupne

Výsledok dotazu:

Popis polí výberu

Po povinnom kľúčovom slove SELECT (a opravných slovách DIFFERENT a FIRST) je v texte požiadavky špecifikovaný zoznam výberových polí. Tieto polia budú spracované pri získavaní údajov v žiadosti. Výsledok dotazu bude mať tiež množinu polí definovaných v tomto zozname. Polia výberu sú opísané podľa nasledujúcich pravidiel:

<Описание поля>[ [AKO]<Псевдоним поля>]

<Выражение>[.<Группа полей>]

Zoznam polí výberu pozostáva z jedného alebo viacerých prvkov oddelených čiarkami. Každý<Поле выборки>pozostáva z popisu výberového poľa a voliteľného aliasu poľa.

Namiesto uvádzania polí vo výberovom zozname môžete zadať hviezdičku „*“. To bude znamenať, že výsledok dotazu musí obsahovať všetky polia, ktoré sú v zdrojových tabuľkách – zdroje údajov dotazu popísané v zozname zdrojov.

Komentujte! Pri zadaní hviezdičky „*“ v zozname polí výberu nebudú virtuálne polia zdrojových tabuliek zahrnuté do výsledku.

<Описание поля>definuje, ako sa majú generovať hodnoty polí. V najjednoduchšom prípade je výberové pole odkazom na pole v zdrojovej tabuľke. Odkaz je možné zadať zadaním tabuľky obsahujúcej toto pole alebo bez zadania samotnej tabuľky. O dereferencovaní poľa sa diskutuje na.

Vo všeobecnosti môže byť výberové pole nielen odkazom na pole v zdrojovej tabuľke, ale aj niektoré<Выражение>. Výrazy sú podrobne popísané na strane 344.

Výsledky dotazov možno zoskupiť pomocou agregačných funkcií špecifikovaných ako výrazy vo vybraných poliach. Výsledky dotazov na zoskupenie sú uvedené na strane 316. Súhrnné funkcie sú popísané na strane 345.

Každému výberovému poľu je možné priradiť alias. V budúcnosti môže slúžiť na pohodlnejší prístup do tohto poľa. Použitie aliasov polí je popísané nižšie.

<Группа полей>možno zadať iba vtedy, keď pole výberu ukazuje na vnorenú tabuľku. V tomto prípade môžete určiť, ktoré polia sa majú spracovať vo výbere vnorenej tabuľky. Ak nie je zadaná skupina polí, vo výbere sa spracujú všetky polia vnorenej tabuľky. Prístup k vnoreným tabuľkám je popísaný v .

Aliasy polí vo výberovom zozname

Ak k poľu výberu priradíte alias, neskôr sa na toto pole môžete odvolávať pomocou jeho aliasu v klauzulách ORDER BY a TOTAL, ako aj pri práci s výsledkom dotazu. Takáto liečba môže byť pohodlnejšia a vizuálnejšia a v niektorých prípadoch jediná možná.

Kľúčové slovo AKO môže predchádzať alias poľa. Toto slovo nemusí byť špecifikované vôbec, ale ak je špecifikované, zvyšuje sa viditeľnosť a čitateľnosť textu požiadavky.

Aliasy polí sú nastavené v súlade s pravidlami pre prideľovanie identifikátorov premenných. Aliasy v žiadosti nemôžu byť rovnaké.

Samotné priradenie aliasov k poliam neovplyvňuje výber údajov v dotaze.

// Musí byť vybratý z adresára produktu
// názvy tovarov a názvy skupín.
Vyberte si
Adresár. Nomenklatúra. Názov ako produkt,
Adresár. Nomenclature.Parent.Name As Group
od
Adresár.Nomenklatúra

Výsledok dotazu:

Všimnite si, že polia vo výsledku dotazu poľa sú pomenované "Položka" a "Skupina". Ak neboli zadané aliasy polí, polia vo výsledku dopytu by sa volali „Názov“ a „Názov1“ (názvy polí vo výsledku dopytu sa nemôžu zhodovať, takže k názvu druhého poľa sa automaticky pridá „1“). čo je oveľa menej jasné.

Vnorené tabuľky v zozname polí výberu

Pole vo výberovom zozname môže odkazovať na vnorenú tabuľku v zdroji údajov dotazu. V tomto prípade bude pole výsledku dotazu typu Výsledok dotazu, to znamená, že bude obsahovať vnorený výsledok dotazu vygenerovaný na základe vnorenej zdrojovej tabuľky.

V predvolenom nastavení sú do vnoreného výsledku zahrnuté všetky polia vnorenej tabuľky – zdroja údajov. Je možné explicitne definovať skupinu polí, ktoré by mali byť obsiahnuté vo vnorenom výsledku dotazu. Skupina vnorených výsledkových polí je opísaná podľa nasledujúceho pravidla:

(<Список вложенных полей>) | *

<Вложенное поле [, <Вложенное поле>[, ...] ]

<Список вложенных полей>pozostáva z jedného alebo viacerých prvkov oddelených čiarkami. Ak zoznam pozostáva z jedného prvku, nie je potrebné ho uzatvárať do zátvoriek.

Namiesto uvádzania vnorených polí môžete zadať hviezdičku „*“; to bude znamenať, že výsledok vnoreného dotazu musí obsahovať všetky polia, ktoré sú vo vnorenej tabuľke.

<Выражение>[[AKO]<Псевдоним поля>]

<Вложенное поле>môže predstavovať nejaký výraz. V najjednoduchšom prípade<Выражение>je odkaz na pole vo vnorenej tabuľke. Výrazy sú podrobne popísané na strane 344.

Každému vnorenému poľu možno priradiť alias. Ďalej<Псевдоним поля>možno použiť na pohodlnejší prístup do tohto poľa, podobne ako aliasy pre polia vo výberovom zozname - pozri časť „Prezývky polí vo výberovom zozname“ na

Aliasy možno priradiť vnoreným poliam bez ohľadu na to, či je alias priradený k samotnej vnorenej tabuľke.

//V prehľade je potrebné zobraziť špecifikáciu faktúr,
// samotný doklad, nomenklatúra a množstvo.
Vyberte si

Dokument.Faktúra.Zloženie. (Nomenklatúra ako produkt, množstvo)

Výsledok dotazu:

Link Zlúčenina
Produkt Množstvo
Džínsy pre ženy 4
Džínsy pre ženy 5
Tričko "Cowgirl" 5
Faktúra 00005 zo dňa 24.02.2002 0:00:00 Džínsy pre ženy 1
Džínsy pre ženy 1
Moydodyr "Akvárium" 5
Umývadlo "Lily" 8
Mixér "Ultra" 10

Upozorňujeme, že pole „Zloženie“ vo výsledku dopytu je vnorená tabuľka, ktorá obsahuje polia „Nomenklatúra“ a „Množstvo“.

//Zobrazenie všetkých polí tabuľkovej časti faktúry do zostavy.
Vyberte si
Document.Invoice.Link,
Dokument.Faktúra.Zloženie.*

Účelom klauzuly IZ je určiť zoznam zdrojových tabuliek – zdrojov údajov použitých v danom príkaze SELECT.

Treba poznamenať, že klauzula IZ v jazyku dopytu je voliteľná. Možno ho vynechať, ak sú zdroje údajov plne kvalifikované v popise zoznamu výberových polí v klauzule SELECT. Upozorňujeme, že niekoľko príkladov v predchádzajúcich častiach neobsahovalo klauzulu IZ.

Po kľúčovom slove IZ je uvedený zoznam zdrojov. Vo všeobecnosti je zoznam zdrojov opísaný nasledujúcim súborom pravidiel:

<Источник>[, <Источник>[, ...]]

Zdroje údajov dopytu sú uvedené v zozname zdrojov oddelené čiarkami. Každý<Источник>zoznam zdrojov musí obsahovať popis zdroja; navyše sa dá špecifikovať<Перечень соединений>- pravidlá pre pripojenie zdroja k iným zdrojom. Špecifikácie pripojenia sú popísané.

<Описание источника> [ <Перечень соединений> ]

Ak je zdrojom údajov informačná tabuľka,<Описание источника>obsahuje<Имя таблицы>.

<Таблица>[ [AKO]<Псевдоним источника>]

Ak je zdrojová tabuľka virtuálna, môžete určiť<Параметры>jeho formovanie. Parametre virtuálnej tabuľky sú podrobne popísané v časti „Zdroje údajov dotazu“.

<Имя таблицы> [(<Параметры>)] | <Описание запроса>

Poddotaz môže fungovať aj ako zdroj údajov dotazu; v tomto prípade obsahuje popis zdroja<Описание запроса>. Použitie vnorených dopytov je popísané na.

Popis zdroja údajov môže tiež priradiť jeho alias. Ďalej<Псевдоним источника>možno použiť na pohodlnejší prístup k tomuto zdroju. O použití aliasov zdroja údajov sa diskutuje na.

Špecifikácie pripojenia

Pri definovaní viacerých zdrojov v zdrojovom zozname sa pre každý záznam z prvej zdrojovej tabuľky vykoná výber z druhej zdrojovej tabuľky atď. Výsledkom dotazu sú teda všetky možné kombinácie všetkých záznamov zo všetkých špecifikovaných zdrojov.

Výsledok dotazu:

Protistrana breh
Dodávatelia JSCB InvestBank
Dodávatelia JSCB PromStroyBank
Pletená továreň "Zarya" JSCB InvestBank
Pletená továreň "Zarya" JSCB PromStroyBank
Továreň na džínsové odevy JSCB InvestBank
Továreň na džínsové odevy JSCB PromStroyBank
kupujúcich JSCB InvestBank
kupujúcich JSCB PromStroyBank
Veľtrh oblečenia JSCB InvestBank
Veľtrh oblečenia JSCB PromStroyBank
Obchodný dom "Budenovský" JSCB InvestBank
Obchodný dom "Budenovský" JSCB PromStroyBank
Pavilón 45 na veľkoobchodnom trhu JSCB InvestBank
Pavilón 45 na veľkoobchodnom trhu JSCB PromStroyBank
Bavorsko - porcelán JSCB InvestBank
Bavorsko - porcelán JSCB PromStroyBank
Továreň na džínsové odevy JSCB InvestBank
Továreň na džínsové odevy JSCB PromStroyBank
JSCB PromStroyBank JSCB InvestBank
JSCB PromStroyBank JSCB PromStroyBank

Výsledok dotazu obsahuje kombinácie všetkých protistrán so všetkými bankami. Takýto výsledok sám o sebe spravidla nedáva zmysel. Kombinácie záznamov z rôznych zdrojových tabuliek musia byť zvyčajne obmedzené niektorými podmienkami. V dotazovacom jazyku je možné opísať takúto kombináciu zdrojov špecifikovaním samotných zdrojov a definovaním podmienok, za ktorých je potrebné kombinácie záznamov z týchto zdrojov zahrnúť do výsledku dotazu.

Existuje niekoľko typov spojení, ktoré sú opísané nasledujúcimi pravidlami:

<Соединение> [<Перечень соединений>]

Všeobecne<Перечень соединений>môže obsahovať a popisovať nielen jedno spojenie (dvoch zdrojov), ale aj viacero spojení viacerých zdrojov naraz.

[INTERNÉ] PRIPOJTE SA<Описание источника>BY<Условие отбора> |

ĽAVÉ [VONKAJŠIE] PRIPOJTE SA<Описание источника>BY<Условие отбора> |

SPRÁVNE [VONKAJŠIE] PRIPOJTE SA<Описание источника>BY<Условие отбора> |

ÚPLNÉ (VONKAJŠIE) PRIPOJTE SA<Описание источника>BY<Условие отбора>

<Условие отбора>obsahuje podmienky, podľa ktorých musí výber kombinovať údaje z pôvodných tabuliek – zdrojov dotazu. Pravidlá pre popis podmienok v dotazovacom jazyku sú uvedené na strane 357.

Kľúčové slová LEFT, RIGHT a FULL objasňujú charakter spojenia. Slová INTERNAL alebo EXTERNAL nemusia byť uvedené vôbec, zvyšujú prehľadnosť a čitateľnosť textu požiadavky.

Zdroje, ktoré sa spájajú, nie sú navzájom ekvivalentné a v niektorých prípadoch závisí výsledok od toho, ktorá tabuľka je uvedená ako prvá pred kľúčovým slovom JOIN (vľavo od neho) a ktorá tabuľka je uvedená ako druhá (vpravo).

[INTERNAL] JOIN znamená, že z oboch zdrojových tabuliek - dátových zdrojov musia byť vo výsledku dotazu zahrnuté len tie kombinácie záznamov, ktoré spĺňajú zadanú podmienku. Zvyšné záznamy nie sú zahrnuté vo výsledku.

// Treba zistiť, ktoré banky sú súčasne
// protistrany (sú prítomné rovnaké mená
//v adresári Protistrany aj v adresári Banky).
Vyberte si

Banks.Link How to Bank
Od

Vnútorné spojenie
Adresár.Banky Ako banky
Autor:

Výsledok dotazu:

Protistrana breh
JSCB PromStroyBank JSCB PromStroyBank

LEFT [OUTER] JOIN znamená, že výsledok dotazu musí obsahovať kombinácie záznamov z oboch zdrojových tabuliek, ktoré spĺňajú zadanú podmienku. Ale na rozdiel od interného spojenia musí výsledok dotazu obsahovať aj záznamy z prvého zdroja (uvedené naľavo od slova JOIN), pre ktoré neboli nájdené žiadne záznamy z druhého zdroja, ktoré by vyhovovali podmienke.

Týmto spôsobom bude výsledok dotazu zahŕňať všetky záznamy z prvého zdroja; ak je splnená zadaná podmienka, zlúčia sa so záznamami z druhého zdroja. Riadky výsledkov dotazu, pre ktoré neboli nájdené žiadne záznamy z druhého zdroja, ktoré zodpovedajú podmienke, budú obsahovať NULL v poliach vygenerovaných na základe záznamov z tohto zdroja.

//V prehľade je potrebné zobraziť všetky protistrany a pre tie
// kto je tiež banka - uveďte odkaz na banku.
Vyberte si
Counterparties.Link Ako protistrana,
Banks.Link How to Bank
Od
Adresár Protistrany Ako Protistrany
Ľavý vonkajší spoj
Adresár.Banky Ako banky
Autor:
Protistrany.Názov = Banky.Názov

Výsledok dotazu:

RIGHT [OUTER] JOIN znamená, že výsledok dotazu musí obsahovať kombinácie záznamov z oboch zdrojových tabuliek, ktoré spĺňajú špecifikovanú podmienku. Okrem toho musí výsledok dopytu obsahovať aj záznamy z druhého zdroja (uvedené napravo od slova CONNECTION), pre ktoré neboli nájdené žiadne záznamy z prvého zdroja, ktoré by vyhovovali podmienke.

Výsledok dotazu teda bude zahŕňať všetky záznamy z druhého zdroja; ak je splnená špecifikovaná podmienka, zlúčia sa so záznamami z prvého zdroja. Riadky výsledkov dotazu, pre ktoré neboli nájdené žiadne záznamy z prvého zdroja, ktoré zodpovedajú podmienke, budú obsahovať NULL v poliach vygenerovaných na základe záznamov z tohto zdroja.

//V prehľade je potrebné zobraziť všetky banky a pre tie
// kto je zároveň protistranou - uveďte prepojenie na protistranu.
VYBERTE SI
Counterparties.Link Ako protistrana,
Banks.Link Like Bank
OD
Adresár Protistrany Ako Protistrany
Pravé vonkajšie spojenie
Adresár.Banky Ako banky
Autor:
Protistrany.Názov = Banky.Názov

Výsledok dotazu:

Protistrana breh
NULOVÝ JSCB InvestBank
JSCB PromStroyBank JSCB PromStroyBank

FULL [OUTER] JOIN znamená, že výsledok dotazu musí obsahovať kombinácie záznamov z oboch zdrojových tabuliek, ktoré spĺňajú zadanú podmienku. Okrem toho musí výsledok dopytu obsahovať aj tie záznamy z oboch zdrojov, pre ktoré neboli nájdené žiadne zhody.

Týmto spôsobom bude výsledok dotazu zahŕňať všetky záznamy z oboch zdrojov; budú navzájom prepojené, keď bude splnená zadaná podmienka. Riadky výsledkov dotazu, pre ktoré neboli nájdené žiadne záznamy zo žiadneho zdroja, ktoré zodpovedajú podmienke, budú obsahovať NULL v poliach vygenerovaných na základe záznamov z tohto zdroja.

// V prehľade je potrebné zobraziť všetky protistrany a všetky banky,
// a tí, ktorí sú obaja - vytlačte v jednom riadku.
Vyberte si
Counterparties.Link Ako protistrana,
Banks.Link How to Bank
Od
Adresár Protistrany Ako Protistrany
Úplné vonkajšie spojenie
Adresár.Banky Ako banky
Autor:
Protistrany.Názov = Banky.Názov

Výsledok dotazu:

Aliasy zdroja údajov

Ak zdroju údajov priradíte alias, v budúcnosti bude možné k tomuto zdroju pristupovať pomocou tohto aliasu (a už k nemu nebude možné pristupovať zadaním názvu tabuľky). Takáto liečba môže byť pohodlnejšia a vizuálnejšia a v niektorých prípadoch jediná možná.

Alias ​​je nastavený v súlade s pravidlami pre prideľovanie identifikátorov premenných. Aliasy v žiadosti nemôžu byť rovnaké.

Kľúčové slovo AKO môže predchádzať zdrojový alias. Toto slovo nemusí byť špecifikované vôbec, ale ak je špecifikované, zvyšuje sa viditeľnosť a čitateľnosť textu požiadavky.

Samotné priradenie aliasov k zdrojom neovplyvňuje výber údajov v dotaze.

// Tento príklad demonštruje použitie
// v zozname polí výberu aliasu Produkt,
// priradená k zdrojovej tabuľke Directory.Nomenclature
Vyberte si
Meno Produktu,
Produkt.Rodič
Od
Adresár.Nomenklatúra.Produkt

Vnorené tabuľky v zdrojovom zozname

Zoznam zdrojov môže obsahovať aj vnorené tabuľky - tabuľkové časti príručiek a dokumentov.

//V prehľade je potrebné zobraziť špecifikáciu faktúr -
// zobrazí samotný doklad, nomenklatúru a množstvo.
//Zoznam zdrojov obsahuje vnorenú tabuľku „Composition“ -
// tabuľková časť faktúry.
// Výber je obmedzený na osem záznamov, aby sa príklad nepreťažil.
Vyberte Prvých 8
Odkaz, nomenklatúra, množstvo
Od
Dokument.Faktúra.Zloženie

Výsledok dotazu:

Link Nomenklatúra Množstvo
Faktúra 00007 zo dňa 25.02.2002 21:03:21 Džínsy pre ženy 4
Faktúra 00006 zo dňa 25.02.2002 0:00:00 Džínsy pre ženy 5
Faktúra 00006 zo dňa 25.02.2002 0:00:00 Tričko "Cowgirl" 5
Faktúra 00005 z 03.01.2002 20:58:28 Džínsy pre ženy 1
Faktúra 00004 zo dňa 03.01.2002 20:50:40 Džínsy pre ženy 1
Faktúra 00003 zo dňa 23.02.2002 0:00:00 Moydodyr "Akvárium" 5
Faktúra 00003 zo dňa 23.02.2002 0:00:00 Umývadlo "Lily" 8
Faktúra 00003 zo dňa 23.02.2002 0:00:00 Mixér "Ultra" 10

Upozorňujeme, že pri zadávaní vnorenej tabuľky v zozname zdrojov je možné pristupovať k poliam samotnej vnorenej tabuľky aj k poliam tabuľky najvyššej úrovne (tej, ktorá obsahuje vnorenú tabuľku). V tomto prípade sa sprístupní pole „Odkaz“ samotného dokumentu.

Poddotazy v zozname zdrojov

V zozname zdrojov dotazov možno ako zdrojovú tabuľku použiť poddotaz. V tomto prípade popis zdroja obsahuje popis poddotazu. Popis vnoreného dotazu je zostavený presne rovnakým spôsobom ako bežný dotaz: viď

Použitie vnoreného dotazu ako zdroja údajov sa nelíši od používania informačnej tabuľky. Všetky polia opísané v zozname polí výberu poddotazu sú dostupné ako polia takéhoto zdroja.

Výsledok bude úplne rovnaký ako v predchádzajúcom príklade.

Generovanie správ

Práca so žiadosťami

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

Dopyt na zdroje údajov

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: skutočné a virtuálne.

Skutočné tabuľky zase môžu byť objektové (referenčné) alebo neobjektové (nereferenčné):

Charakteristickým rysom reálnych tabuliek je, že obsahujú údaje z jednej reálnej tabuľky uloženej v databáze. Napríklad skutočné tabuľky sú tabuľka „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álnou tabuľkou je napríklad tabuľka „Register akumulácie. Zostatky materiálu. Zostatky a obraty“, vytvorená z niekoľkých tabuliek registra akumulácie „Zostatky materiálu“. Niekedy môžu byť virtuálne tabuľky vytvorené z jednej skutočnej tabuľky (napríklad virtuálna tabuľka „Prices.SliceLast“ je vytvorená na základe tabuľky informačného registra „Ceny“). Všetky virtuálne tabuľky však majú spoločné to, že im môže byť pridelených množstvo parametrov, ktoré určia, aké údaje sú v týchto virtuálnych tabuľkách 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.

Objektové (referenčné) tabuľky poskytujú informácie o referenčných dátových typoch (adresáre, dokumenty, plány pre typy charakteristík atď.). A v neobjektovom (nereferenčnom) - všetky ostatné dátové typy (konštanty, registre atď.).

Charakteristickým znakom objektových (referenčných) tabuliek je, že obsahujú pole „Link“ obsahujúce prepojenie na aktuálny záznam. Navyše pre takéto tabuľky je možné získať vlastnú reprezentáciu objektu, tieto tabuľky môžu byť hierarchické a polia takýchto tabuliek môžu obsahovať vnorené tabuľky (časti tabuľky).

Jazyk dopytu

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

    objednávanie výsledkov,

    automatické objednávanie,

    popis výsledkov.

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

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

Zlučovanie dopytov určuje, ako sa budú kombinovať výsledky viacerých dopytov.

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

Automatická objednávka umožňuje povoliť automatické zoraďovanie riadkov výsledkov dotazu.

Popis výsledkov určuje, ktoré súčty sa majú vypočítať v dotaze a ako zoskupiť výsledky.

Správa Register dokumentov Poskytovanie služieb

Prvou zostavou, na základe ktorej sa začneme oboznamovať s dopytovacím jazykom, bude zostava „Register dokumentov pre poskytovanie služieb“. Táto správa jednoducho zobrazí zoznam dokumentov „Poskytovanie služieb“ existujúcich v databáze v poradí ich dátumov a čísel.

V konfigurátore vytvoríme nový konfiguračný objekt: Výkaz „Register dokumentov Poskytovanie služieb“. Prejdeme na kartu "Rozloženie" a spustíme návrhára výstupného formulára.

Ako zdroj údajov pre požiadavku vyberieme objektovú (referenčnú) tabuľku dokumentov „Poskytovanie služieb“. Z tejto tabuľky vyberieme nasledujúce polia:

  • "Majster",

    "Zákazník":

Upozorňujeme, že pri výbere polí „Sklad“, „Master“ a „Zákazník“ sa v zozname vybratých polí vyberú aj polia „Zobrazenie skladu“, „Hlavné zobrazenie“ a „Zobrazenie zákazníka“. Faktom je, že vo všeobecnom prípade sa predpokladá, že tieto polia budú zobrazené v bunkách tabuľkového dokumentu. Keďže zodpovedajúce polia „Sklad“, „Master“ a „Zákazník“ sú referenčné polia, ak sa referenčná hodnota odovzdá ako hodnota parametra pre výstup, systém vykoná dodatočnú požiadavku na získanie reprezentácie tohto poľa (ktorá bude zobrazené v dokumente), výsledkom čoho je pomalší výstup správy. Preto pri výbere referenčných polí systém ponúka okamžité zaradenie reprezentácií referenčných polí do zoznamu vybraných polí v očakávaní, že budú použité na výstup do dokumentu.

Potom prejdime na kartu „Objednávka“ a označme, že výsledok požiadavky by sa mal najskôr zoradiť podľa hodnoty poľa „Dátum“ a potom podľa hodnoty poľa „Poskytovanie služby. Odkaz“:

Poďme na kartu Prehľad a resetujeme príznak "Použiť nástroj na tvorbu prehľadov":

Obnovme príznak „Použiť nástroj na tvorbu prehľadov“...

Kliknite na „OK“. Návrhár vygeneruje formulár správy a rozloženie. Otvorme si modul formulára a nájdeme v ňom postup „Register dokumentov Poskytovanie služieb“. V tomto postupe sa vygeneruje text požiadavky, ktorý sa použije na získanie údajov, ktoré nás zaujímajú:

Query.Text = „SELECT

Poskytovanie služieb. Dátum AS Dátum,

Poskytovanie služieb Číslo AS Číslo,

Poskytovanie služieb.Sklad,

Poskytovanie služieb. Sklad. Prezentácia,

Poskytovanie služieb. Majster,

Poskytovanie služieb. Master. Prezentácia,

Poskytovanie služieb Klient,

Poskytovanie služieb.Klient.Zastupovanie

Dokument.Poskytovanie Služieb AKO PoskytovaťSlužby

TRIEDIŤ PODĽA

Text žiadosti začína, ako sme uviedli vyššie, časťou popisu žiadosti:

I Poskytovanie Služby. Dátum AS Dátum,

I Poskytovanie služieb Číslo AS Číslo,

I Poskytovanie služieb.Sklad,

I Poskytovanie služieb. Sklad. Prezentácia,

I Poskytovanie služieb. Majster,

I Poskytovanie služieb. Master. Prezentácia,

I Poskytovanie služieb Klient,

1 Poskytovanie služieb Klienti Zastupovanie

I Dokument Poskytovanie služieb AKO na poskytovanie služieb

Popis požiadavky začína požadovaným kľúčovým slovom VYBERTE SI. Potom nasleduje zoznam vybraných polí, ktorý popisuje polia, ktoré by mali byť obsiahnuté vo výsledku dotazu. Tento zoznam môže obsahovať samotné polia aj niektoré výrazy vypočítané na základe hodnôt polí.

Po kľúčovom slove IZ sú uvedené zdroje údajov - pôvodné tabuľky dotazov, ktorých obsah je spracovaný v dotaze. V tomto prípade ide o objektovú (referenčnú) tabuľku „Dokument.Poskytovanie služby“. Po kľúčovom slove AKO uvedené pseudonym Zdroj dát. V našom prípade ide o „Poskytovanie služieb“. V budúcnosti je možné k tomuto zdroju údajov pristupovať v tele žiadosti pomocou aliasu.

Toto volanie vidíme v popise polí výberu:

| Poskytovanie služieb. Dátum AS Dátum,

| Poskytovanie služieb Číslo AS Číslo,

| Poskytovanie služieb.Sklad,

| Poskytovanie služieb. Sklad. Prezentácia,

| Poskytovanie služieb. Majster,

| Poskytovanie služieb. Master. Prezentácia,

| Poskytovanie služieb Klient,

| Poskytovanie služieb.Klient.Zastupovanie

Polia výberu môžu mať aj aliasy, ktoré možno použiť na odkazovanie na toto pole neskôr v texte požiadavky. V našom prípade sú to aliasy „Dátum“ a „Číslo“.

Po popisnej časti dotazu v našom príklade nasleduje časť na usporiadanie výsledku:

|OBJEDNÁVKA PODĽA

| Dátum, | Číslo";

Ponuka TRIEDIŤ PODĽA umožňuje triediť riadky vo výsledku dotazu. Za touto kľúčovou klauzulou je objednávkový výraz, ktorý je vo všeobecnosti zoznamom polí (výrazov) a výstupným poradím. V našom prípade sa objednávanie vykoná najskôr výberovým poľom, ku ktorému sa dostanete cez alias – „Kód“ a následne poľom – „Číslo“. V oboch prípadoch bude poradie zoradenia vzostupné, čo je predvolené poradie.

Teraz venujme pozornosť tomu, ako sa výsledok dotazu zobrazuje v tabuľkovom dokumente.

Postup Register dokumentov Poskytovanie služieb (TabDoc) Export

//((CONSTRUCTOR_OUTPUT_FORM(Register dokumentov Poskytovanie služieb)// Tento fragment vytvoril konštruktér.// Pri opätovnom použití konštruktora,// zavedené manuálne zmeny sa stratí!!!

Layout = GetLayout("Register dokumentov poskytujúcich služby"); Žiadosť = Nová požiadavka;

Vysledok = Query.Run();

HeaderArea = Layout.GetArea("Header"); Plocha Suterén =

Layout.GetArea("TableFooter"); DetailRecordsArea =

TabDoc.Output(TableHeadArea); TabDoc.StartAutogruttingRows();

SelectDetails = Result.Select();

Počas cyklu SelectDetails.NextFunctions()

AreaDetailRecords.Parameters.Fill(SelectionDetails);

TabDoc.Output(RecordsDetailsArea,DetailsSelection.Level()); EndCycle;

/L)CONSTRUCTOR_OUTPUT_FORM EndProcedure

Formulár správy obsahuje ovládací prvok TabularDocumentField s názvom „TabDoc“, ktorý je naplnený údajmi na základe rozloženia vygenerovaného dizajnérom.

Na začiatku postupu získame rozloženie zostavy, z ktorého potom získame oblasti v nej existujúce do zodpovedajúcich premenných:

HeaderArea = Layout.GetArea("Header"); Plocha Suterén =

Layout.GetArea("Suterén"); TableHeaderArea =

Layout.GetArea("TableHeader"); TableFooter Area =

Layout.GetArea("TableFooter"");DetailRecordsArea =

Layout.GetArea("Detaily");

Potom vymažeme tabuľkový dokument a zobrazíme tie oblasti, ktoré neobsahujú údaje získané z výsledku dotazu:

TabDoc.Clear(); TabDoc.Output(AreaHeader);

TabDoc.Output(TableHeadArea); TabDoc.StartAutoGroupingRows();

V poslednom riadku dizajnér pridal začiatok automatického zoskupovania riadkov. V tomto príklade nemáme riadky, ktoré je potrebné zoskupovať, ale v predvolenom nastavení návrhár vždy navrhuje zoskupenie riadkov v dokumente tabuľky. Toto volanie neovplyvní rýchlosť výstupu zostavy, takže text konštruktora ponecháme nezmenený.

Potom dostaneme výber z výsledku dotazu, ktorý prechádzame v slučke:

V každej iterácii cyklu vyplníme parametre predtým získanej oblasti rozloženia hodnotami získanými z nasledujúceho vzorového záznamu výsledku dotazu a zobrazíme túto oblasť v tabuľkovom dokumente.

Na konci postupu zobrazíme posledné oblasti rozloženia v tabuľkovom dokumente:

TabDoc.FinishAutoGroupingRows();

TabDoc.Output(TableFooterArea);

TabDoc.Output(AreaFooter);

Teraz spustíme 1C:Enterprise v režime ladenia a pozrieme sa na výsledok našej správy:

Na príklade tejto správy sme teda ukázali, ako používať návrhár výstupných formulárov, a oboznámili sme sa s niektorými základnými konštrukciami dotazovacieho jazyka.

Správa „Hodnotenie služby“ bude obsahovať informácie o tom, ktoré služby priniesli Master of All Trades LLC v uvedenom období najväčší zisk. Na príklade prehľadu „Hodnotenie služby“ si ukážeme, ako vybrať údaje v určitom období, ako nastaviť parametre dotazu a ako použiť údaje z niekoľkých tabuliek v dotaze a zahrnúť všetky údaje z jedného zo zdrojov do výsledok dotazu.

Vytvorme nový konfiguračný objekt Správa „Hodnotenie služby“. Prejdeme na kartu „Rozloženia“ a zavoláme konštruktor výstupného formulára.

Vyberieme si objektovú (referenčnú) tabuľku adresára „Nomenklatúra“ a virtuálnu tabuľku akumulačného registra „Predaj.Obrat“. Aby sme odstránili nejednoznačnosť názvov v dopyte, premenujeme tabuľku „Nomenklatúra“ na „SprNomenklatúra“ (kontextové menu po kliknutí pravým tlačidlom myši).

Potom umiestnite kurzor na tabuľku „SalesTurnover“ a vyvolajte dialóg na zadanie parametrov virtuálnej tabuľky:

Otvorte dialógové okno pre zadanie parametrov virtuálnej tabuľky

Označme, že začiatok a koniec obdobia sa prenesie v zodpovedajúcich parametroch „StartDate“ a „EndDate“ (symbol „&“ pred názvom znamená, že ide o parameter požiadavky):

Potom vyberte z tabuliek polia „SprNomenclature.Link“ a „SalesTurnover.RevenueTurnover“:

SprNomenklatúra.Prezentácia

PredajTurnoverVýnosyObrat

Prejdeme na záložku „Links“ a uvidíme, že dizajnér už vytvoril prepojenie medzi dvoma vybranými tabuľkami – hodnota zmeny registra „Nomenclature“ by sa mala rovnať odkazu na prvok adresára „Nomenclature“.

Jediné, čo nám zostáva, je resetovať príznak „Všetko“ pre tabuľku registrov a nastaviť ho pre tabuľku adresárov.

Vyberieme všetky prvky z adresára „Nomenclature“.

Nastavenie príznaku „Všetko“ pri tabuľke adresárov bude znamenať, že z adresára sa vyberú všetky prvky a týmto prvkom bude priradená hodnota obratu tržieb z registra. 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é.

Prejdeme na kartu „Podmienky“ a nastavíme podmienky pre výber prvkov z adresára „Nomenklatúra“. Pri nastavovaní podmienok výberu opäť použijeme parametre dotazu. Prvou podmienkou musí byť, že vybratý prvok nie je skupinou (ak to chcete urobiť, prepnite sa do režimu „Vlastná podmienka“).

Druhou podmienkou musí byť, že vybraná položka je služba (toto je „Jednoduchá podmienka“):

V budúcnosti pred vykonaním požiadavky odošleme zodpovedajúcu hodnotu enumerácie do parametra „Typ nomenklatúry“.

Poďme na kartu „Asociácie/Aliasy“ a určme, že zobrazenie položky adresára bude mať alias „Služba“ a pole registra bude mať alias „Výnosy“:

Poďme na kartu "Objednávka" a označme, že výsledok dotazu by mal byť zoradený v zostupnom poradí podľa hodnoty poľa "Výnosy".

Na karte „Súčty“ určíme, že musíme zobraziť všeobecné súčty a mali by byť súčtom hodnôt v poli „Výnosy“:

Na karte Prehľad zrušte označenie "Použiť nástroj na tvorbu prehľadov".

Teraz prejdeme na kartu "Výstupný formulár". Označme, že parametre „Dátum ukončenia“ a „Dátum začiatku“ sa budú upravovať vo formulári vo vstupných poliach typu „Dátum“. Pre parameter „Typ nomenklatúry“ naopak odstránime príznak úpravy vo formulári:

Kliknite na „OK“. Platforma vygeneruje rozloženie a formulár správy Otvorte modul formulára a nájdite v ňom procedúru „Hodnotenie služby“.

V tomto postupe v časti, kde sa nastavujú parametre dopytu, určíme hodnotu parametra „Typ nomenklatúry“ (opravy sú zvýraznené tučným písmom):

| ĽAVÉ PRIPOJENIE RegisterAccumulation.Sales,Turnover(&StartDate,

| &Dátum spotreby,)

| AKO PREDAJObrat

|OBJEDNÁVKA PODĽA | ZNÍŽENIE príjmu

|SUMA VÝSLEDKOV (Príjmy) PODĽA | SÚ BEŽNÉ“;

RequestSetParameterC"Typ ​​nomenklatúry",

Prevody. Druhy nomenklatúry.Služba);

Query.SetParameter("StartDate",StartDate); Request.SetParameterC"EndDate", EndDate);

Teraz sa pozrime na text požiadavky vygenerovaný konštruktorom:

| SprNomenclature.Representation AS Reprezentácia,

|TržbyObrat.VýnosyObrat AS Výnosy

| Adresár.Nomenklatúra AS RefNomenklatúra

ĽAVÉ PRIPOJENIE RegisterAccumulations.Sales.Turnover(&StartDate,

| AKO PREDAJObrat

| Predaj softvéruTurnover.Nomenclature = SprNomenclature.Link

| (RefNomenclature.ThisGroup = False) A

| SprNomenclature.Type of Nomenclature = &Typ nomenclature

|OBJEDNÁVKA PODĽA

| ZNÍŽENIE príjmu

| SUMA VÝSLEDKOV (Príjmy) PODĽA

Najprv, ako obvykle, prichádza časť s popisom požiadavky a obsahuje konštrukcie, ktoré sú pre nás nové.

Pri popise zdrojov požiadaviek (za kľúčovým slovom IZ) bola použitá možnosť definovať niekoľko zdrojov požiadaviek:

| Adresár.Nomenklatúra AS RefNomenklatúra

|&Dátum ukončenia,)

| AKO PREDAJObrat

| Predaj softvéruTurnover.Nomenclature = SprNomenclature.Link

V tomto prípade sa záznamy vyberajú z dvoch zdrojov: „SprNomenklatura“ a „SalesTurnover“ s kľúčovou vetou ĽAVÉ PRIPOJENIE... BY popisuje spôsob, akým budú záznamy z týchto dvoch zdrojov kombinované.

ĽAVÉ PRIPOJENIE znamená, že výsledok dotazu musí obsahovať kombinácie záznamov z oboch zdrojov, ktoré zodpovedajú podmienke špecifikovanej za kľúčovým slovom BY. Okrem toho musí výsledok dopytu obsahovať aj záznamy z prvého (uvedené naľavo od slova COMPOUND) zdroj, pre ktorý neboli nájdené žiadne záznamy zodpovedajúce podmienke z druhého zdroja.

V popise prvého zdroja a podmienky pripojenia pre nás nie je nič nové, no pri popise druhého zdroja využívame možnosť nastavenia parametrov virtuálnej tabuľky dotazu:

| RegisterAccumulations.Sales.Turnover(&StartDate, &EndDate,)

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í. Tu by ste mali vždy pamätať na to, že ak zadáme dátum ako tieto parametre (a v našom prípade to tak bude), potom dátum obsahuje aj čas s presnosťou na sekundu.

Ak je vopred známe, že používateľa nebudú zaujímať výsledky správy v periódach určených s presnosťou na sekundy, potom je potrebné vziať do úvahy nasledujúcu vlastnosť: predvolene je čas v dátume nastavený na 00 :00:00. Ak teda neprijmete špeciálne opatrenia, ukáže sa, že keď používateľ nastaví obdobie vykazovania od 3.1.2004 do 31.3.2004, súčty registra sa budú počítať od začiatku dňa 3.1. 2004 00:00:00 do začiatku dňa 31.03.2004 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í.

Na odstránenie tejto situácie je potrebné urobiť dve veci.

Najprv vo formulári prehľadu obmedzte možnosť používateľa zadať dátum začiatku a dátum ukončenia nastavením zloženia dátumu pre príslušné vstupné polia ako „Dátum“:

Poďme určiť zloženie rande...

Po druhé, pri odovzdávaní parametrov použite vstavanú funkciu Koniec dňa(). Ak to chcete urobiť, vráťte sa do modulu formulára správy a vykonajte potrebné zmeny (doplnky sú zvýraznené tučným písmom):

ProcedureFormActionsRatingServicesGenerate(Button) //((CONSTRUCTOR_WEEKEND_FORM_PROCEDURE_CALL(RatingServices) //Tento fragment vytvoril konštruktor. // Pri opätovnom použití konštruktora sa // manuálne vykonané zmeny stratia!!!

TabDoc = FormElements.TableField;

//))CONSTRUCTOR_OUTPUT_FORM_CALL_PROCEDURE

Co. netPostupy

Pozrime sa ďalej na text žiadosti. V rámci popisu dotazu je pre nás nová aj ďalšia konštrukcia - nastavenie podmienok pre výber údajov zo zdrojových tabuliek:

| SprNomenclature.Representation AS Reprezentácia,

| SalesTurnover.RevenueTurnover AS Revenue

| Adresár.Nomenklatúra AS RefNomenklatúra

| ĽAVÉ PRIPOJENIE RegisterAccumulations.Sales.Turnover(&StartDate,

| &Dátum spotreby,

| AKO PREDAJObrat

| Predaj softvéruTurnover.Nomenclature = SprNomenclature.Ssshka

| SprNomenclature.ThisGroup = False AND

| SprNomenclature.Type of Nomenclature = &Typ nomenclature

Pred výberovou podmienkou je vždy kľúčové slovo KDE. Potom je opísaný samotný stav. Upozorňujeme, že polia zdrojových tabuliek, na ktoré sa podmienka vzťahuje, nemusia byť zahrnuté vo výberovom zozname (ako v našom prípade). Naša podmienka navyše používa parameter dopytu „Typ nomenklatúry“.

VÝSLEDKY SUMA (Výnosy) PO

Vždy to začína kľúčovým slovom VÝSLEDKY, nasleduje popis toho, aké súčty budú prítomné vo výsledku dotazu. Hneď po slove VÝSLEDKY popisuje agregované funkcie, ktoré je potrebné vypočítať vo výsledkoch. V našom prípade sa vypočíta suma v poli „Výnosy“. Nasleduje kľúčové slovo PO, za ktorým sú opísané zoskupenia, v ktorých sa majú počítať súčty. V našom prípade chýbajú a používa sa iba kľúčové slovo SÚ BEŽNÉ,čo znamená, že súčty sa vypočítajú pre celú tabuľku ako celok.

Teraz, keď sme sa zoznámili s textom žiadosti, spustíme 1C:Enterprise v režime ladenia a uvidíme, ako naša správa funguje.

Nastavme obdobie vykazovania od 3.1.2004 do 30.4.2004. Výsledok bude vyzerať takto:

Teraz zmeňte dátum ukončenia na 31. 3. 2004 a uistite sa, že v prehľade sú zahrnuté údaje za 31. marec: