Ako vypočítať súčty pre konkrétne zoskupenie v dotaze. Príklady použitia funkcie SKD - výpočet výrazu

Zdá sa, že nič nie je jednoduchšie, no je tu problém s jasnou definíciou.
Takže.

Skupina (zoskupenie) - kolaps záznamy v skupina Autor: skupina poliach(polia s rovnakou hodnotou).
Príklad. Potrebujeme vedieť celkový počet produktov pre istý sklad (...spolu 999 ton..). Každý pohyb je zaznamenaný v registri a aj jednoduchá požiadavka z dvoch polí (Sklad a Množstvo) vygeneruje výber z mnohých záznamov s rovnakou hodnotou poľa Sklad a rôznymi hodnotami poľa Množstvo.
Zbaliť (zoskupiť) zostatky podľa poľa Sklad – ide o získanie celkového množstva tovaru v tomto sklade.
Z toho vyplýva potreba (pre náš príklad, ale nie nevyhnutne všeobecne) počítať agregát funkcie (vytvoriť jednu hodnotu pre špecifickú skupinu polí tabuľky) podľa skupinového poľa (v podmienkach nástroja na tvorbu dopytov - Pole súčtu).
V našom príklade- zoskupte pole Sklad, a vypočítajte agregovanú funkciu pomocou poľa Množstvo - dostaneme SPOLU MNOŽSTVO všetkého tovaru na sklade.
Pretože Keďže jednoduché dotazy sú veľmi zriedkavé, vo všetkých ostatných prípadoch pri použití zoskupovania budú zoskupené Všetky polia dotazu (okrem Summarizable) a výber sa zredukuje (zbalí) len na tých záznamoch, v ktorom sú všetky polia skupiny rovnaké (rovnaký sklad, rovnaký produkt, rovnaká veľkosť produktu - tieto záznamy sú zbalené, ak je aspoň niečo iné, nie sú).

Výsledky(tzv sú bežné)- ďalšie riadky v dôsledku žiadosti obsahujúcejsúčty pre špecifikované polia a zoskupenia (tzv. medzisúčty).
Všeobecné výsledky- riadok ako výsledok dotazu s hodnotou súčtu pre všetky záznamy.

Výsledky podľa skupín - hodnoty agregovaných funkcií podľa skupinové polia (polia s rovnakou hodnotou).

Rozdiely žiadosť odfrakcie(GROUP BY) od žiadosť odvýsledky podľa skupín.

V prvom prípade sa vo výsledku dotazu zobrazia iba celkové riadky. V príklade je pole skupiny nomenklatúra:

Druhá obsahuje výsledky a počiatočné záznamy. Dôvod je v definícii (výsledky "nezrútiť sa"údaje a pridať riadky) V príklade je pole skupiny nomenklatúra:

Dôležité! Vo svojom dopyte nie je potrebné používať zoskupovanie aj súčty! Všetko závisí od toho, čo potrebujeme...

Poradie zoskupení v dotaze so súčtom zoskupení je dôležité, pretože výsledky sú vypočítané v poradí.

Zhrnutie hierarchie. Ak je pole zoskupenia odkazom na adresár, potom na výpočet súčtu podľa skupín adresára (alebo rodičovských prvkov, ak adresár nemá žiadne skupiny), musíte zadať kľúčové slovo HIERARCHY. V tomto prípade sa k výsledku pridajú záznamy so súčtom pre úrovne hierarchie adresárov.

Dôležité! Jazyk dotazu umožňuje použitie rôznych súčtov spolu v jednom dotaze (všeobecnom, zoskupení a hierarchickom).

Syntax pre prácu so súčtami vo výbere z výsledku dotazu

metóda RecordType().
Príklad:
Ak Ukážka . PostType() = RequestRecordType. TotalByGrouping Potom

Ďalej;
koniec Ak;

Prihláste sa na stránku ako študent

Ak chcete získať prístup k školským materiálom, prihláste sa ako študent

Systém skladania údajov 1C 8.3 pre začiatočníkov: počítanie výsledkov (zdroje)

Účelom tejto lekcie bude:

  • Napíšte správu, ktorá zobrazí zoznam produktov (adresár potravín), ich obsah kalórií a chuť.
  • Zoskupte produkty podľa farby.
  • Získajte informácie o sumarizácii (zdrojoch) a vypočítaných poliach.

Vytvorte nový prehľad

Rovnako ako v predchádzajúcich lekciách otvárame databázu " Lahôdky"v konfigurátore a cez menu vytvorte nový report" Súbor"->"Nový...":

Typ dokumentu - externá správa:

Vo formulári nastavenia prehľadu napíšte názov " Lekcia 3"a stlačte tlačidlo" Diagram zloženia otvorených údajov":

Ponechajte predvolený názov schémy a kliknite na tlačidlo " Pripravený":

Pridanie požiadavky cez konštruktor

Na karte " Súbor údajov"kliknite zelená znamienko plus a vyberte " Pridať množinu údajov – dotaz":

Namiesto manuálneho písania textu požiadavky ho spustíme znova konštruktor dotazov:

na "karte" Tabuľky"pretiahnuť stôl" Jedlo"z prvého stĺpca do druhého:

Vyberte si z tabuľky" Jedlo"polia, ktoré si vyžiadame. Ak to chcete urobiť, potiahnite a pustite polia" názov", "Ochutnajte", "Farba"A" Obsah kalórií“ z druhého stĺpca do tretieho:

Dopadlo to takto:

Stlač tlačidlo " OK" - text požiadavky bol vygenerovaný automaticky:

Vytváranie nastavení prezentácie zostavy

Prejdite na kartu " nastavenie“ a kliknite na Kúzelná palička, zavolať návrhár nastavení:

Vyberte typ prehľadu " Zoznam..." a stlačte tlačidlo " Ďalej":

Presuňte z ľavého stĺpca doprava polia, ktoré sa zobrazia v zozname, a kliknite na „ Ďalej":

Potiahnite z ľavého stĺpca do pravého poľa " Farba" - stane sa to zoskupenie riadkov v prehľade. Kliknite na " OK":

A tu je výsledok práce dizajnéra. Hierarchia našej správy:

  • správa ako celok
  • zoskupenie "Farba"
  • podrobné záznamy - riadky s názvami jedál

Uložiť prehľad (tlačidlo disketa) A bez zatvárania Ihneď otvoríme konfigurátor v užívateľskom režime. Dopadlo to takto:

Zmena poradia stĺpcov

Ale poďme zmeňme poradie stĺpce (šípky nahor a nadol), aby to vyzeralo ako na obrázku nižšie:

Uložíme zostavu a znova ju otvoríme v používateľskom režime:

Skvelé, je to oveľa lepšie.

Zhrňme si obsah kalórií

Bolo by pekné zhrnúť obsah kalórií v potravinách podľa skupín. Ak chcete vidieť súčet obsahu kalórií všetkých produktov, povedzme, biele alebo žlté. Alebo zistite celkový obsah kalórií všetkých produktov v databáze.

Na tento účel existuje mechanizmus na výpočet zdrojov.

Prejdite na kartu " Zdroje"a potiahnite pole" Obsah kalórií"(ideme to zhrnúť) z ľavého stĺpca doprava.

V tomto prípade v poli vyberte výraz z rozbaľovacieho zoznamu " Množstvo (kalórie)", keďže súčet bude súčtom všetkých prvkov zahrnutých do súčtu:

Uložíme a vygenerujeme prehľad:

Teraz máme výsledky pre každú zo skupín a pre správu ako celok.

Zhrňme si to (priemerne) z hľadiska kalórií

Teraz ho zobrazme v inom stĺpci priemer obsah kalórií vo výrobkoch podľa skupín a v správe ako celku.

Nemôžete sa dotknúť existujúceho stĺpca „Kalórie“ - súčet je v ňom už zobrazený, takže vytvoríme ďalšie pole, čo bude presná kópia poľa „Kalórie“.

Na vytvorenie takéhoto „virtuálneho“ poľa použijeme mechanizmus vypočítané polia.

Prejdite na kartu " Vypočítané polia“ a stlačte zelená znamienko plus:

V stĺpci" Dátová cesta"napíšeme názov nového poľa ( bezproblémovo, bez medzier). Nech sa volá" Priemerný obsah kalórií“ a v stĺpci „ Výraz"napíšeme názov existujúceho poľa, na základe ktorého sa vypočíta nové pole. Napíšeme tam" Obsah kalórií". Stĺpec" Smerovanie“ sa vyplní automaticky.

Pridali sme nové pole (" Priemerný obsah kalórií“), ale v prehľade sa neobjaví sám od seba – musíte buď zavolať znova návrhár nastavení("čarovná palička") alebo pridajte toto pole manuálne.

Poďme na to druhý spôsobom. Ak to chcete urobiť, prejdite na kartu " nastavenie", vyberte " správa"(napokon chceme do prehľadu pridať pole ako celok), vyberte záložku v spodnej časti" Vybrané polia"a potiahnite pole" Priemerný obsah kalórií"z ľavého stĺpca doprava:

Dopadlo to takto:

Uložíme a vygenerujeme prehľad:

Pole sa objavilo a vidíme, že jeho hodnoty sú hodnoty poľa „Kalórie“. Skvelé!

Na to opäť použijeme mechanizmus, ktorý je nám už známy zdrojov(zhrnutie). Prejdite na kartu " Zdroje"a potiahnite pole" Priemerný obsah kalórií"z ľavého stĺpca doprava:

Navyše v stĺpci " Výraz"vybrať" Priemerná (priemerná kalória)":

Uložíme a vygenerujeme prehľad:

Vidíme, že pre skupiny, teda pre každú farbu a pre zostavu ako celok, bola priemerná hodnota vypočítaná absolútne správne. Ale sú prítomné extra záznamy pre jednotlivé produkty (nie skupiny), ktoré by som chcel z prehľadu odstrániť.

Viete, prečo sa objavili (hodnoty nie podľa skupiny)? Pretože keď sme pridali pole " Priemerný obsah kalórií"v nastaveniach prehľadu sme v druhom kroku vybrali celú správu a toto nové pole skončilo v prvku " Podrobné záznamy".

Opravme chybu. Ak to chcete urobiť, vráťte sa na kartu " nastavenie", vyberte " Podrobné záznamy"najprv zhora (krok 2) a potom " Podrobné záznamy"zospodu (krok 3), prejdite na záložku" Vybraný poliach"a v jeho pravom stĺpci uvidíme prvok" Auto".

Element " Auto" - toto nie je jedno pole. Toto je niekoľko polí, ktoré sem spadajú automaticky na základe nastavení vyššej úrovne.

Ak chcete vidieť, čo sú tieto polia, kliknite na prvok " Auto" správny tlačidlo a zvoľte " Rozbaliť":

Element " Auto" sa rozbalí do nasledujúcich polí:

A tu je naše pole" Priemerný obsah kalórií"ktorý sem prišiel z bodu" správa" keď sme ho tam ťahali. Len poďme odstrániť začiarknutím políčka vedľa tohto poľa odstránite jeho výstup.

V zložení údajov nastavenie súčtov vyzerá trochu inak ako v žiadostiach. Definujme súbor údajov „Query“ v systéme na zostavovanie údajov.

V samotnej žiadosti nekonfigurujeme súčty, ale prejdeme na kartu „Zdroje“ zloženia údajov. Na úrovni schémy zloženia údajov sme určiť zdroje. Toto sú polia, ktoré je potrebné počítať na úrovni zoskupenia. Kliknite na tlačidlo „>>“ a systém sám prenesie všetky číselné polia a zadefinuje ich ako zdroje.

V zdrojoch môžete zadať aj nečíselné polia. Ak napríklad vyberiete atribút „Odkaz“, systém spočíta počet dokumentov v našich skupinách. Tieto informácie môžu byť tiež užitočné. takže, v layout diagrame definujeme len zdroje a samotné zoskupenia sú nakonfigurované na úrovni variantu zostavy. Používateľ môže tiež vytvoriť zoskupenia, ktoré chce vidieť v nastaveniach možností prehľadu.

Vytvorme štandardné nastavenie zloženia údajov.
Kliknite na tlačidlo „Otvoriť návrhára nastavení“.

Vyberieme typ prehľadu – zoznam. Kliknite na tlačidlo „Ďalej“.

Označme všetky polia a pole protistrany presuňte na najvyššiu pozíciu. Kliknite na tlačidlo „Ďalej“.

Označme všetky polia a pole protistrany presuňte na najvyššiu pozíciu. Kliknite na tlačidlo „OK“.

Výsledkom je nasledujúce nastavenie:

Ako vidíte, pri nastavovaní možnosti zostavy sú zdroje zvýraznené zelenou ikonou, aby sa dali rýchlo odlíšiť od ostatných polí.

Ak otvoríme náš prehľad v režime 1C:Enterprise a vygenerujeme ho, uvidíme, že konečné údaje sa generujú na úrovni zoskupenia. Výsledky podľa položky a podľa protistrán.

Nastavenie zdrojov v schéme zloženia údajov 1C

Teraz obráťme svoju pozornosť na nastavenia, ktoré existujú pre zdroje. V poli „Výraz“ môžeme špecifikovať súhrnnú funkciu, ktorú možno použiť na získanie hodnoty zdroja. V rozbaľovacom zozname môžete vidieť množstvo štandardných funkcií, ale nie všetky. Napríklad neexistujú žiadne funkcie.

Tu do poľa „Výraz“ môžeme napísať vlastný výraz.

V poli „Výraz“ máme prístup aj k funkciám bežných modulov.

Okrem toho môžete v poli „Vypočítať podľa...“ určiť, podľa ktorých zoskupení má byť zdroj vypočítaný. Ak pole „Vypočítať podľa...“ nie je vyplnené, bude výsledná hodnota zdroja vypočítaná na všetkých úrovniach zoskupenia, ktoré sú definované v nastaveniach voľby zostavy. V našom prípade musíme vyplniť pole „Vypočítať podľa...“ zdroja „Množstvo“, pretože môžeme predávať tovar s rôznymi mernými jednotkami. Napríklad: olej v litroch a kolesá v kusoch. Nie je pravda, že by bolo nelogické sčítať množstvá tohto tovaru? Preto musíme ponechať súčet množstva na úrovni položky a na úrovni protistrany
Odstránime súčet.

Ak vygenerujeme zostavu, uvidíme, že súčty množstiev sú vypočítané len podľa položky a súčty množstiev pre dodávateľov sú prázdne.

Možnosti pri popise zdrojov v schéme zloženia údajov 1C

uvažujme množstvo nezrejmých znakov súvisiacich s popisom zdrojov.

  • Každý zdroj môže definovať niekoľkokrát. Ale to má zmysel len vtedy, ak
    zdroj bude vypočítaný na rôznych úrovniach zoskupení. Napríklad, ak množstvo, v jednom prípade
    je sčítaná pre položku a pre protistrany dostaneme minimálnu hodnotu.

Ak vygenerujeme správu, uvidíme, že pre protistranu „Deriya“ je minimálny nákup päť jednotiek z produktovej rady „Samolepiaci papier“.

  • V poli „Výraz“ môžete okrem napísania vzorca použiť aj špeciálna funkcia skladania údajov s názvom „Vypočítať“. Táto funkcia vám umožňuje vypočítať nejakú konečnú hodnotu pomocou určitého vzorca. Napríklad pre každú protistranu je potrebné poznať percento nákupov vo fyzických jednotkách vzhľadom na celkový objem. Ako však získať celkový objem nákupov podľa množstva? Ak to chcete urobiť, použite funkciu „Vypočítať“ a do poľa „Výraz“ napíšte nasledujúci výraz:
Súčet (množstvo)/vypočítať ("Súčet (množstvo)", "celkom spolu")*100

Ako je vidieť, všetky parametre funkcie "Vypočítať" sú reťazce. Aby sa pole množstva krásne zobrazovalo v prehľade, nakonfigurujeme ho na karte „Súbory údajov“. V riadku množstva nájdeme pole „Možnosti úprav“. Otvorme dialógové okno, nájdeme riadok „Formát“ a upravíme v ňom riadok formátu, pričom na karte „Číslo“ nastavíme hodnotu „Presnosť“ na dve.

Spustite prehľad a pozrime sa na výsledok výpočtu percenta nákupov pre protistranu „AUPP KOS LLP“ vzhľadom na
celkový objem:


Na konci článku vám chcem odporučiť jeden bezplatný od Anatolija Sotnikova. Ide o kurz od skúseného programátora. Na samostatnom základe vám ukáže, ako zostaviť zostavy v systéme kontroly prístupu. Musíte len pozorne počúvať a pamätať si! Dostanete odpovede na nasledujúce otázky:
  • 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 nakonfigurovať roly?
  • Aké sú úlohy pre polia rozloženia?
  • Kde nájdem kartu zloženia údajov v dopyte?
  • Ako nakonfigurovať parametre v systéme kontroly prístupu?
  • Stáva sa to ešte zaujímavejšie...
Možno by ste sa nemali pokúšať sami surfovať po internete a hľadať 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 lekciách

Tu je jedna z lekcií o záložkovaní zloženia údajov v dotaze:

Majú rovnakú úlohu – vykonávať matematické alebo štatistické operácie na vzorových údajoch. Existujú však aj významné rozdiely:

  1. Výsledky pridať riadky k vzorovým údajom, zatiaľ čo zoskupenia zbalia výber a bude tam menej riadkov.
  2. Výsledky možno vypočítať pre všetky vzorové údaje alebo pre jednotlivé polia, pričom na rozdiel od zoskupení môžu existovať polia, ktoré nie sú ani súčty, ani zoskupenia.
  3. Výsledky môže brať do úvahy hierarchiu.

Najprv trocha teórie. Súhrnná časť v dopytoch 1C pozostáva z dvoch častí.

Prvý začína kľúčovým slovom VÝSLEDKY a obsahuje súhrnné polia s agregovanou funkciou, ktorá sa na ne vzťahuje. Táto sekcia môže zostať prázdna, potom bude výsledkom dopytu jednoducho zoskupenie podľa polí nasledujúcej sekcie bez výpočtu celkových údajov.

V zoskupeniach sa používa 6 typov agregovaných funkcií:

  1. SUM— sumarizuje hodnoty zoskupeného stĺpca, vzťahuje sa len na číselné hodnoty.
  2. PRIEMER - Vypočíta aritmetický priemer hodnôt zoskupeného stĺpca, ktorý sa vzťahuje len na číselné hodnoty.
  3. MAXIMÁLNE — možno použiť pre akýkoľvek typ hodnoty zoskupeného stĺpca a vráti maximálnu hodnotu všetkých zoskupených stĺpcov. Ak hodnoty nie sú číselné, pri zoradení vo vzostupnom poradí sa vráti posledná.
  4. MINIMÁLNE - možno použiť pre akýkoľvek typ hodnoty zoskupeného stĺpca a vráti minimálnu hodnotu všetkých zoskupených stĺpcov. Ak hodnoty nie sú číselné, pri zoradení vo vzostupnom poradí sa vráti prvá.
  5. MNOŽSTVO— vráti počet hodnôt v zoskupenom stĺpci, dá sa použiť pre akýkoľvek typ hodnoty. Hodnoty typu sa neberú do úvahy NULOVÝ.
  6. RÔZNE MNOŽSTVO – vráti počet odlišných hodnôt v zoskupenom stĺpci, dá sa použiť pre akýkoľvek typ hodnoty. Hodnoty typu sa neberú do úvahy NULOVÝ.

Druhá časť začína kľúčovým slovom BY a obsahuje zoskupenia polí, v kontexte ktorých sa výsledok vypočíta na základe celkových polí. A/alebo slovo SÚ BEŽNÉ, ak potrebujete vypočítať súčty za celú vzorku. Tu je dôležité, v akom poradí sa budú polia nachádzať, závisí to aj od poradia, v ktorom sa vypočítavajú súčty na základe požiadavky.

Ak pole zoskupenia obsahuje údaje, ktoré majú hierarchickú štruktúru (hierarchický adresár), potom môžete vypočítať súčty pozdĺž celého hierarchického reťazca. Na tento účel sa používa kľúčové slovo HIERARCHIA za názvom poľa zoskupenia. Ak je potrebné vypočítať súčty pozdĺž celého hierarchického reťazca, okrem samotného poľa zoskupenia, použije sa kľúčové slovo LEN HIERARCHIA.

Vezmime si ako príklad tabuľku dodávok tovaru.

Úloha 1. Výpočet súčtu pre niekoľko polí.

Musíte zistiť, koľko tovaru bolo celkovo doručených a koľko je tam stolov a stoličiek.

Žiadosť. Text= "VYBERTE si
Supplies.Product AS Product,


OD
Zásoby AKO Zásoby
VÝSLEDKY
SUM(množstvo)
BY
SÚ BEŽNÉ,
produkt"
;

Výsledkom je nasledujúca tabuľka so súčtom (celkové riadky sú zvýraznené žltou farbou).

Úloha 2. Zoskupenie záznamov podľa poľa.

Je potrebné zoskupiť záznamy tabuľky podľa typu produktu.

Žiadosť. Text= "VYBERTE si
Supplies.Product AS Product,
Dodávky. Dodávateľ AS Dodávateľ,
Supplies.Quantity AS Množstvo,
OD
Zásoby AKO Zásoby
VÝSLEDKY

BY
Produkt";

Úloha 3. Výpočet súčtu polí s prihliadnutím na hierarchiu.

Žiadosť. Text= "VYBERTE si
Supplies.Product AS Product,
Dodávky. Dodávateľ AS Dodávateľ,
Supplies.Quantity AS Množstvo,
OD
Zásoby AKO Zásoby
VÝSLEDKY
SUM(množstvo)
BY
HIERARCHIA dodávateľa"
;

V dôsledku toho dostaneme nasledujúcu tabuľku.

Úloha 4. Výpočet súčtu iba podľa hierarchie.

Žiadosť. Text= "VYBERTE si
Supplies.Product AS Product,
Dodávky. Dodávateľ AS Dodávateľ,
Supplies.Quantity AS Množstvo,
OD
Zásoby AKO Zásoby
VÝSLEDKY
SUM(množstvo)
BY
LEN HIERARCHIA dodávateľa"
;

V dôsledku toho dostaneme nasledujúcu tabuľku.

Ako obísť výsledok dotazu so súčtom

Výsledok dotazu so súčtom možno obísť niekoľkými spôsobmi:

  1. Ako bežná žiadosť. V tomto prípade sa budú postupne zobrazovať zoskupenia a podrobné záznamy. Príklad takéhoto obchvatu je uvedený v článku.
  2. Samostatne obíďte zoskupenia a podrobné záznamy.
    Ako príklad si vezmime požiadavku z úlohy 1. Nebudeme však brať do úvahy celkové výsledky.

    SkupinyProdukt = Žiadosť. Spustiť() . Select(BypassQueryResult.ByGrouping, "Product" ) ;
    Kým GroupingsProduct. Next() Slučka
    //tu spracovávame zoskupovacie reťazce výsledku dotazu
    DetailedRecords = SkupinyProdukt. Vyber() ;
    Zatiaľ čo DetailedRecords. Next() Slučka
    //tu spracovávame riadky podrobných záznamov patriacich do skupín
    EndCycle ;
    EndCycle ;

Výsledky musia byť uvedené v každej správe. Napríklad, ak máte polia Názov množstvo cena a množstvo, potom je logické získať súčet z posledných stĺpcov. Dnes sa pozrieme na to, ako to urobiť pomocou DCS (Data Composition System).

Dnes je ACS veľmi široko používaný na vytváranie rôznych reportov. Je to spôsobené tým, že pomocou ACS je možné vytvoriť takmer akúkoľvek správu. Tí, ktorí používali systém skladania dát, vedia, že je to veľmi pohodlné a rýchle, nie je potrebné horúčkovito písať kód, všetko zvládnete v konštruktore.

Napríklad si vezmem správu, ktorú sme vytvorili v predchádzajúcom článku. Takto vyzeral u nás.

Pripočítajme k tomu súčet v stĺpci Suma.

Ako zobraziť súčty pre stĺpec pomocou SKD 1C

A tak spustíme konfigurátor, otvoríme náš prehľad Príjem tovaru a klikneme na Schéma rozloženia dát.

V okne, ktoré sa otvorí, prejdite na kartu Zdroje. V okne dostupných polí vľavo vyberte pole Množstvo a presuňte ho do pravého okna. Nič iné nemeníme.

Poďme spustiť 1C a uvidíme, čo máme. Ak ste urobili všetko správne, stĺpec súčet by sa mal objaviť na konci tabuľky.

Výsledkom je súčet pre všetky stĺpce.

Naučili sme sa, ako zobraziť súčty v stĺpcoch pomocou systému rozloženia údajov.

Podobné články

2024 ap37.ru. Záhrada. Dekoratívne kríky. Choroby a škodcovia.