Vlastní pole v přehledech SDS. Jednoduchý příklad použití vlastních polí v sestavě na SCD Vlastní výraz pole 1c

Přidání vlastních sloupců do hotových přehledů.
V sestavách vytvořených pomocí "Data Composition Scheme" z uživatelského režimu můžete přidat vlastní pole, která se zobrazí při generování.
V těchto polích můžete použít aritmetické operace.

Před dlouhou dobou jsem napsal zprávu „Prodej zboží zásilkou“ http://infostart.ru/public/16477/. V této publikaci nebudeme diskutovat o jeho významu a výhodách. Tato zpráva bude použita jako šablona pro experimenty a úpravy. Navíc se v komentářích ptali, jak přidat pole.

Otevřete „Nastavení...“ a přejděte na kartu „Vlastní nastavení“.

2. Přidejte „nový výraz pole“

Přidávání polí zahrnuje zápis aritmetických operací mezi Dostupná pole (ta mohou být označena zeleným čtverečkem). Také prvek, pokud se název takového pole skládá ze dvou nebo více slov, musí být uzavřen v hranatých závorkách. Dopadne to takto - [Částka prodeje].

Po uložení bude toto pole dostupné pro výběr:

Pomocí jednoduchých manipulací získáte hodnotu, kterou potřebujete. Tato funkce umožňuje přidat požadovaná pole. V takových možnostech výpočtu, jaké potřebujete. Ziskovost, účinnost a další hodnoty budou zohledněny ve vaší logice aritmetického výpočtu.

V takovém případě se vaše práce neztratí a můžete ji použít při příštím otevření sestavy.

Funkce používané při psaní polí.

  • Aritmetika „+, -, *, /“ je pochopitelná, myslím, že není třeba vysvětlovat princip jejich fungování.
  • K určení výběrů se používají logické výrazy. « >,< , = , >= , <= , <>, A, NEBO, NE." Tyto výrazy se používají s operací select.
  • Výběrové operace. Používá se k získání jedné z možných hodnot v souladu se zadanými podmínkami

VÝBĚR
KDYŽ< Операция выбора >PAK<Выражение>
V OPAČNÉM PŘÍPADĚ<Выражение>
KONEC
Příklad:
VÝBĚR
KDYŽ Množství > 0 a Částka > 0 PAK „Správně“
ELSE "Chyba"
KONEC

To je dešifrováno následovně: pokud je množství větší než nula a množství větší než nula, zobrazí se text „Správně“ a pokud není splněna alespoň jedna z podmínek, zobrazí se „Chyba“.

  • Vestavěná funkce umožňuje provádět určité transformace s poli.

SUB-STRING („Výraz“, „Počáteční pozice“, „Konečná pozice“) – vybírá část „Výrazu“ omezenou rámečky „Začátek...“ a „Konečná...“.
Jak se to stane, když je hodnota nomenklatury „Čokoládová pasta“, vzorec Substring(Nomenklatura,1,5) zobrazí hodnotu „Vložit“

Pro práci s datem použijte funkce

ROK(<Дата>), ČTVRŤÁK(<Дата>), MĚSÍC(<Дата>), DAYYEAR(<Дата>), DEN(<Дата>), TÝDEN(<Дата>), WEEKDAY(<Дата>),HODINA(<Дата>), MINUTA(<Дата>), DRUHÝ(<Дата>)

Zobrazí se hodnota odpovídající názvu funkce.

ZAČÁTEK OBDOBÍ („Datum“, „Období směny“), KONEC OBDOBÍ („Datum“, „Období směny“). U funkčních dat je hodnota datových výrazů na začátku nebo na konci zadaného data.

ADDCDATE („Datum“, „Období posunu“, „Částka, o kterou chcete zvýšit datum“) - funkce umožňuje zvýšit nebo snížit datum o určitou hodnotu.

DATOVÝ ROZDÍL („Datum1“, „Datum2“, „Období posunu“) - Funkce je navržena pro získání rozdílu mezi dvěma daty.

„Období směny“ je jedno z „minuta, hodina, den, týden, měsíc, čtvrtletí, rok, dekáda, pololetní“.

5.Agregační funkce dotazovacího jazyka se používají při seskupování výsledků a výpočtu součtů

SOUČET (<>) aritmetický součet všech hodnot zahrnutých ve vzorku.
PRŮMĚRNÝ (<>) vypočítá průměrnou hodnotu všech zahrnutých ve vzorku
MINIMÁLNĚ (<>) vypočítá minimální hodnotu ze všech hodnot zahrnutých ve vzorku
MAXIMÁLNĚ (<>) vypočítá maximální hodnotu ze všech hodnot zahrnutých ve vzorku
MNOŽSTVÍ (<>) počítá počet hodnot parametrů zahrnutých ve vzorku. Tato funkce vám umožňuje mít možnosti použití. COUNT(*) - umožňuje spočítat počet řádků ve výsledku. MNOŽSTVÍ (ODLIŠNÝ „Výraz“) - umožňuje spočítat počet různých hodnot zadaného pole.

Částka (volba
When Substring (Nomenklatura, 1, 5) = "Vložit"
Potom Množství *0,2
Jinak Množství *0,35
Konec)

Výsledkem je součet hodnot, když je na začátku názvu nomenklatury uvedeno „Vložit“, v tomto případě se množství zvýší o 0,2, pokud není přítomno, zvýší se o 0,35.

Rok([Document.Date])

Zobrazí se rok, kdy byl dokument zaznamenán/zaúčtován.

Složitější příklad, bez dekódování.

Výběr
When Quarter([Document.Date]) = 1 AND Substring(Nomenklatura, 1, 5) = "Vložit"
Potom Množství * 0,2
Jinak Volba
Když čtvrtletí([Datum dokumentu]) = 2
Potom Množství * 0,3
Jinak Volba
Když čtvrtletí([Datum dokumentu]) = 3
Potom Množství * 0,4
Jinak Volba
Když čtvrtletí([Datum dokumentu]) = 4
Potom Množství * 0,5
Konec
Konec
Konec
Konec

Podrobně jsme prozkoumali nastavení reportů implementovaných na základě systému kontroly přístupu. Nyní se podíváme na jemnější a podrobnější nastavení možností sestavy. Okno pro „pokročilé“ nastavení volby reportu vyvoláme příkazem „Více“ - „Ostatní“ - „Změnit volbu reportu“.

Okno pro změnu verze sestavy je rozděleno na dvě části:

1. Struktura zprávy.

2. Nastavení zpráv.


Sekce struktury možností sestavy je podobná záložce „Struktura“ ve standardním nastavení sestavy. Účel a konfigurace seskupení je podrobně popsána v 1. části článku.

Tabulka struktury variant sestavy kromě skutečného sloupce se seskupeními obsahuje několik dalších sloupců:

Sekce nastavení možností sestavy poskytuje uživateli dostatek příležitostí nakonfigurovat sestavu tak, aby vyhovovala jeho potřebám. Téměř zcela se shoduje se standardním nastavením přehledu uvedeným v části 1. Podívejme se na všechny karty této části a povšimněme si rozdílů.

Sekce nastavení se skládá z následujících záložek:

1. Parametry. Obsahuje parametry ACS dostupné uživateli.

Parametr ACS je hodnota používaná k získání dat sestavy. Může to být hodnota podmínky pro výběr nebo kontrolu dat, stejně jako pomocná hodnota.


Tabulka parametrů je prezentována ve formátu „Parameter“ - „Value“. V případě potřeby můžete změnit hodnoty parametrů. Kliknutím na tlačítko „Vlastnosti prvku uživatelského nastavení“ se otevře vlastní nastavení prvku.


V tomto okně můžete vybrat, zda bude prvek zahrnut do uživatelského nastavení (tj. viditelný pro uživatele při nastavování sestavy), nastavit způsob prezentace prvku a úpravy (rychlý přístup v záhlaví sestavy, normální v nastavení přehledu a nepřístupné).

Vlastnosti položky uživatelského nastavení mají také seskupitelná pole, okraje, výběry a prvky podmíněného vzhledu.

2. Vlastní pole. Obsahuje pole, která jsou generována samotným uživatelem na základě dat vybraných sestavou.


Uživatel může přidat dva typy polí:

  • Nové pole výběru...
  • Nové výrazové pole...

Pole výběru umožňují vypočítat hodnotu na základě zadané podmínky. Editační okno výběrového pole obsahuje název pole a tabulku, ve které je specifikován výběr, hodnota a zobrazení pole. Výběr je podmínkou, podle které bude požadovaná hodnota nahrazena.


Spočítejme si například odhad počtu prodejů. Budeme předpokládat, že pokud se prodá méně než 10 kusů produktu, prodali jsme málo, a pokud více než 10 kusů, prodali jsme hodně. K tomu nastavíme 2 hodnoty pro počítané pole: první bude s výběrem „Počet zboží menší nebo rovno „10“, druhá s výběrem „Počet zboží větší než „10“ “.

Pole výrazů umožňují vypočítat hodnotu pomocí libovolných algoritmů. Mohou využívat funkce dotazovacího jazyka a vestavěného programovacího jazyka 1C. Okno editace pole výrazu obsahuje dvě pole pro vyjádření podrobných a souhrnných záznamů. Celkové záznamy jsou seskupení konfigurovaná v oblasti „Struktura sestavy“, musí používat agregační funkce („Součet“, „Minimum“, „Maximum“, „Množství“).

Spočítejme si například průměrné procento slevy. Průměrné procento slevy se vypočítá pomocí vzorce: [Částka prodeje bez slevy] - [Částka prodeje se slevou] / [Částka prodeje bez slevy]. Je důležité si uvědomit, že prodejní částka bez slevy může být nulová, proto ke kontrole používáme operátor SELECT. Dostaneme následující výrazy:

· Podrobné záznamy:

Výběr

Když [Částka prodeje bez slevy] = 0

Potom 0

Jinak [Částka prodeje bez slevy] - [Částka prodeje se slevou] / [Částka prodeje bez slevy]

Konec

· Pro souhrnné záznamy:

Výběr

Když Částka([Částka prodeje bez slevy]) = 0

Potom 0

Jinak Součet([Částka prodeje bez slevy]) - Součet([Částka prodeje se slevou]) / Součet([Částka prodeje bez slevy])

Konec

Jak již bylo zmíněno, při vyjádření celkových záznamů používáme agregační funkci „Součet“.

3. Seskupitelná pole. Obsahuje pole, podle kterých budou seskupeny výsledky varianty sestavy. Seskupená pole se konfigurují samostatně pro každé seskupení, ale můžete nastavit obecná seskupená pole pro možnost sestavy, pokud ve stromu struktury vyberete kořen „Zpráva“. Můžete přidat pole z výsledku zprávy, vlastní pole nebo vybrat automatické pole, pak systém vybere pole automaticky. Tato karta také umožňuje změnit pořadí seskupených polí.


4. Pole. Obsahuje pole, která budou zobrazena jako výsledek varianty sestavy. Pole se konfigurují samostatně pro každé seskupení, ale můžete nastavit společná pole pro možnost sestavy, pokud ve stromu struktury vyberete kořen „Sestava“. Můžete přidat pole z výsledku zprávy, vlastní pole nebo vybrat automatické pole, pak systém vybere pole automaticky. Tato karta také umožňuje změnit pořadí polí.

Pole lze seskupit, aby bylo možné logicky zvýraznit jakoukoli část sestavy nebo určit zvláštní uspořádání sloupců. Při přidávání skupiny se aktivuje sloupec „Umístění“ a umožňuje vám vybrat jednu z možností umístění:

  • Auto - systém umísťuje pole automaticky;
  • Horizontální - pole jsou umístěna vodorovně;
  • Vertical - pole jsou uspořádána svisle;
  • V samostatném sloupci - pole jsou umístěna v různých sloupcích;
  • Společně - pole jsou umístěna v jednom sloupci.


5. Výběr. Obsahuje výběry použité ve variantě sestavy. Nastavení výběrů bylo podrobně probráno v části 1 tohoto článku. Filtry se konfigurují samostatně pro každé seskupení, ale můžete nastavit obecné filtry pro možnost sestavy, pokud ve stromu struktury vyberete kořen „Zpráva“.


6. Třídění. Obsahuje třídicí pole použitá ve variantě sestavy. Nastavení třídicích polí bylo podrobně popsáno v 1. části tohoto článku. Třídění je nakonfigurováno samostatně pro každé seskupení, ale můžete nastavit obecná třídicí pole pro možnost sestavy, pokud ve stromu struktury vyberete kořen „Sestava“.


7. Podmíněná registrace. Obsahuje podmíněné prvky návrhu použité ve variantě sestavy. Nastavení podmíněného vzhledu bylo podrobně probráno v části 1 tohoto článku. Podmíněný vzhled se konfiguruje samostatně pro každé seskupení, ale můžete nastavit obecné prvky podmíněného vzhledu pro možnost sestavy, pokud ve stromu struktury vyberete kořen „Sestava“.


8. Další nastavení. Obsahuje další nastavení návrhu sestavy. Umožňuje vybrat obecný vzhled sestavy, umístění polí, seskupení, podrobnosti, zdroje, součty, nastavit nastavení grafu, ovládat zobrazení nadpisu, parametrů a výběru, určit polohu zdrojů a opravit záhlaví a seskupení sloupce verze sestavy.


Na závěr bych rád poznamenal, že nastavení sestavy lze nejen uložit jako možnost sestavy, ale také nahrát do souboru (menu „Více“ - „Uložit nastavení“). Chcete-li stáhnout, musíte vybrat „Načíst nastavení“ a vybrat uložený soubor. Můžeme tak přenášet nastavení variant sestav mezi různými databázemi, které mají stejnou konfiguraci.


Na základě toho můžeme shrnout, že uživatel si může sestavu nejen samostatně přizpůsobit tak, aby vyhovovala jeho potřebám, ale také uložit svá nastavení a v případě potřeby je použít v budoucnu.

Výkaz přijímá zůstatky zboží na skladech v různých sekcích (charakteristiky, série, měrné jednotky atd.). Aby se příklad nekomplikoval, ponecháme pouze seskupení podle položek a zobrazení pouze konečného zůstatku k datu vykázání. V konečné tabulce se zobrazí zůstatky položky na skladech.

Ale pak uživatel oznámil, že potřebuje přidat dvě další pole:

  1. Upozornění na množství. Pokud je množství menší nebo rovno 5, pak je upozornění „Nedostatečné“. Pokud je množství větší než 5, pak menší nebo rovno 10, pak je výstraha „Normální“. Pokud je množství větší než 10, pak „Nadměrné množství“.
  2. Vzorec pro výpočet konečného zůstatku. V doplňkovém sloupci chce uživatel vidět, jaké akce program provedl pro získání konečné hodnoty zůstatku. To znamená, že vzorec „Počáteční zůstatek + Obrat = Konečný zůstatek“, kde budou nahrazeny odpovídající hodnoty.

Zde by samozřejmě mohl zasáhnout programátor a změnit požadavek na schéma složení dat a nastavení sestavy, ale úkol dokončíme v uživatelském režimu bez změny sestavy v režimu konfigurátoru.

Další pole

Takže, pojďme začít. Pojďme k nastavení možností přehledu:

Otevře se před námi návrhář nastavení pro možnost sestavy ACS. Přechodem na kartu "Vlastní pole" je začneme vytvářet.

Snímek obrazovky již ukazuje dvě vytvořená vlastní pole, jejichž funkčnost byla popsána výše. Podívejme se na nastavení každého z nich. Začněme polem „Oznámení“.

V nastavení musíme nastavit název pole, které se bude zobrazovat v přehledu, dále nastavit výrazy pro generování hodnoty v poli podrobné záznamy a v součtech pro toto pole. Vzhledem k tomu, že není potřeba upozornění zobrazovat v součtech, napíšeme výraz pouze pro podrobné záznamy.

Syntaxe výrazu je podobná dotazovacímu jazyku 1C:Enterprise. Existují určité rozdíly, ale v tomto článku se jich nebudeme podrobně dotýkat. Výraz používá operátor výběru:

"Volba kdy pak jinak konec"

podobný operátoru v dotazovacím jazyce. Pole ve výrazech vlastních polí jsou specifikována jejich reprezentací. Aby platforma pochopila, že zadaný pohled představuje určité pole, je název pohledu ohraničen hranatými závorkami „“. Pokud je reprezentace pole jedním slovem, pak jsou hranaté závorky volitelné. Ve výše uvedeném příkladu se díváme na pole Konečný zůstatek.

Nastavení pole "Vzorec pro výpočet konečného zůstatku" se nastavuje stejným způsobem:


Zde je třeba zmínit některé nuance:

  1. Vzorec můžeme zobrazit pouze v buňce jako řádek. Všechny číselné hodnoty proto převedeme na řetězec pomocí metody výrazového jazyka SKD „String()“, která převede libovolnou hodnotu na řetězec. Poté provedeme zřetězení řetězců.
  2. Aby se pole zobrazovalo v součtech sestav, doplníme obdobný vzorec do vyjádření součtových záznamů. Stačí přidat agregační funkce "SUM()" pro každou hodnotu podle součtů.

Jste připraveni k použití polí v přehledu!

Nastavení a generování reportu

Do výstupních polí sestavy přidejte pole "Vzorec pro výpočet konečného zůstatku":

Do podrobné evidence položek přidáme výraz „Oznámení“. Chcete-li to provést, přidejte pole výrazu „Oznámení“ do skupiny „Nomenklatura“. Poté bude mít struktura zprávy následující podobu:

Nastavení přehledu je nyní dokončeno. V případě potřeby lze přidaná nastavení uložit pro opětovné použití. Vytvořme report:

Jak vidíme, do sestavy byla přidána pole v souladu s podmínkami úlohy. Zároveň nebylo nutné sestavu upravovat v režimu konfigurátoru. To je hlavní výhoda vlastních polí! Uživatel vyškolený k jejich používání je může použít k vytvoření zprávy o svých požadavcích interně, bez pomoci programátora.

Věřte, že je možné ho vycvičit k používání těchto funkcí, protože je to mnohem jednodušší než psát vzorce do excelových tabulek.