1c vlastní pole vyjádření celkových záznamů. Jednoduchý příklad použití vlastních polí v sestavě DCS

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í. Konečná tabulka 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. Tedy 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, hranaté závorky nejsou nutné. 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. Proto všechno číselné hodnoty 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 použít pole 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 asistence programátora.

Věřte mi, můžete ho naučit používat tyto schopnosti, protože je to mnohem jednodušší než psát vzorce tabulky Vynikat.

Zprávy o systém skládání dat(SKD) v moderních konfiguracích 1C se staly standardem. Jsou pohodlné, protože uživatelé mohou upravovat nastavení sami, bez pomoci programátorů. O tom se bude dále diskutovat.

Upravená verze sestavy se snadno uloží do databáze a použije se souběžně s tou původní. Zároveň, pokud se něco pokazí, můžete se vrátit ke standardnímu nastavení. V uživatelském režimu můžete do jakékoli sestavy v systému řízení přístupu přidat další pole, nastavit pro ni výběr, seskupování, řazení nebo podmíněné formátování.

Podívejme se na přidání vlastního pole na příkladu standardní zpráva Míra fluktuace zaměstnanců v konfiguraci 1C: Platy a personální řízení 3.1.

Míru fluktuace ve zprávě lze vypočítat buď pro organizaci jako celek, nebo podle pozice. Předpokládejme, že potřebujeme zjistit míru fluktuace pro personální kategorii, což je seznam pozic.

Pozornost! Ve starších konfiguracích by to vyžadovalo přidání dodatečné rekvizity Kategorie do adresáře Pozice a poté vytvořte svou vlastní verzi sestavy, která tato data zohlední.

Ale s SKD se vše mnohem zjednodušilo.

1. Nejprve pomocí tlačítka uložíme novou verzi přehledu Vyberte možnost zprávy nebo uložte novou – možnost Uložit zprávu:

V okně, které se otevře, vyplňte název nové verze přehledu a klikněte na tlačítko Uložit. Uživatel s právy Správce můžete uložit nastavení pro všechny uživatele.

2. Nyní přidáme naše pole. Přejděte do nabídky Všechny akce(nebo Více v rozhraní 1C 8.3) — Jiné — Změnit verzi zprávy.

Poté přejděte na kartu Vlastní pole v dolní části formuláře pro úpravu možností klikněte na tlačítko Přidat – Nové výběrové pole:

Vyplníme název našeho oboru a přejdeme do spodní části formuláře, kde si rozdělíme pozice do kategorií, které potřebujeme. Klikněte Přidat, vyplňte hodnotu pole a jeho znázornění a poté pokračujte v úpravě výběru kliknutím na „…“ ve sloupci Výběr:

Vyberte pole na levé straně okna Pracovní pozice, poklepáním nebo přetažením jej přesuňte na pravou tabulku. Výběr typu srovnání Na seznamu, poté pokračujte v úpravě seznamu kliknutím na tlačítko „…“ ve sloupci Význam:

Seznam požadovanými pozicemi naplníme ručně nebo pomocí tlačítka Výběr. Například v kategorii Správní přidělme pozici Ředitel A Správce, do kategorie lineární -Prodavač a účetní a do kategorie Bezpečnostní -Vedoucí ochrankya Bezpečnostní stráž.

Pozornost! T typ hodnoty seznamu - Číslo a do pole zadáme název kategorie Výkon. Pokud je hodnotám seznamu okamžitě přiřazen typ Čára, v budoucnu nebudeme moci nastavit správný výběr tímto polem Výběr podle řetězců se konfiguruje pouze podle principu Vyplněno/Nevyplněno.

3. Nyní nastavíme výběr. Přejděte na kartu Výběr. Hledáme složku na konci seznamu vlevo Vlastní pole a v něm je pole Personální kategorie, přesuňte jej na pravou stranu.

Poté klikněte pravým tlačítkem na řádek výběru a vyberte Vlastnosti prvku vlastní nastavení .

Nastavení vlajky Zahrnout do uživatelského nastavení a vyberte režim úprav - Rychlý přístup. To vám umožní spravovat nastavení výběru podle personální kategorie přímo v záhlaví sestavy.

4. Nyní přidáme seskupení podle vlastního pole. Chcete-li to provést, po seskupení podle polí Organizace A Formační období Přidáme seskupení podle personální kategorie a přeneseme do něj seskupení podle pozice. Poté vyberte seskupení Kategorie personál a přejděte na kartu Další nastavení . Nastavení vlajky Současný prvek má svůj vlastní další nastavení , vyhledejte parametr v dolním seznamu Vertikální uspořádání celkových součtů a nastavte jeho hodnotu na Konec.

5. Zkusme vygenerovat zprávu:

Zpráva jako celek je připravena, ale v případě potřeby ji lze trochu vylepšit.

6. Seskupení podle personální kategorie bude řazeno stejným způsobem jako v seznamu, který jsme vyplnili dříve. Pokud chcete řadit jinak, ale např. sestupně, můžeme přejít na záložku Řazení, přidejte kategorii personálu do seznamu polí a nakonfigurujte ji následovně:

Všimněte si, že vlastní pole jsou řazena podle hodnoty, nikoli podle zobrazení.

7. Můžete nakonfigurovat podmíněný vzhled pro pole sestavy. Chcete-li to provést, přejděte na kartu Podmíněné provedení a přidat nový prvek do seznamu. Vyberte kartu Stav, přidejte požadované pole na pravou stranu a nakonfigurujte jej:

Na kartě Výzdoba nastavíme požadovaný design pro pole, která splňují podmínku. Například červená barva písma. Uložíme naše nastavení:

Zpráva nyní vypadá takto:

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á kartě „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ěř úplně se shoduje s standardní nastavení zpráva probíraná v části 1. Podívejme se na všechny karty této sekce 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í sestavy a nedostupné).

Vlastnosti položky vlastní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...

Výběrová pole umožňují vypočítat hodnotu podle daný stav. 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 jsou konfigurována 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, poté 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 prvky podmíněného 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 společné vzhled sestava, umístění polí, seskupení, detaily, zdroje, součty, nastavení grafu, ovládání zobrazení nadpisu, parametrů a výběru, určení polohy zdrojů a oprava záhlaví a seskupení sloupců 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ě upravit podle svých potřeb, ale také uložit svá nastavení a v případě potřeby je použít v budoucnu.

Pro kompetentní management potřebuje každá obchodní organizace rychlý příjem informací o aktuálním stavu zboží, tržeb a zisku. Pokud však vezmeme v úvahu, že organizace často pracují s širokým spektrem zboží a velkým počtem protistran, pak nástroj pro přizpůsobení analytických sestav hraje důležitou roli při získávání potřebných informací. Podívejme se blíže na to, jak pracovat s vlastními poli ve standardních programových sestavách (rev. 11).

Vývoj platformy 1C: Enterprise 8 nabízí uživatelům stále více příležitostí. Například ve verzi 8.2 se reporty staly flexibilnějšími, což umožnilo jejich přizpůsobení různým požadavkům bez pomoci kvalifikovaných programátorů.

Změna nastavení přehledu

Chcete-li zobrazit nebo změnit nastavení přehledu, přejděte do nabídky „Všechny akce“ a vyberte příkaz „Změnit možnost“. Poté se před uživatelem otevře okno s nastavením otevřené sestavy.

V horní části okna nastavení vidíte strukturu sestavy, která není ničím jiným než vizuálním odrazem sloupců sestavy a seskupení jejích řádků, což v podstatě umožňuje představit si pořadí, v jakém jsou analytická data zobrazené v tomto přehledu.

V dolní části okna nastavení jsou zobrazeny aktuální informace a nastavení polí, vztahující se buď k sestavě, nebo k prvkům její struktury (sloupce a seskupení řádků).

Vlastní pole

V programu 1C: Řízení obchodu 8 Nastavení přehledů verze 11 poskytuje uživatelům více možností při vytváření.

V okně pro úpravy nastavení a struktury sestavy bychom rádi upozornili uživatele zejména na záložku „Vlastní pole“, která umožňuje vytvářet vlastní pole a přidávat je do sestavy. Je třeba připomenout, že dříve mohl uživatel používat pouze ta pole, která byla implementována vývojářem.

Podívejme se na použití této funkce na příkladu.

Předpokládejme, že vedoucí obchodní společnosti, která prodává zboží v Moskvě a regionech, si chce přizpůsobit sestavu „Historie prodeje“ svým požadavkům a chce v ní zobrazovat údaje o prodeji výrobků v Moskvě a regionech obecně, as i k partnerům. To je velmi snadné pomocí vlastních polí.

Jasný příklad tedy ukazuje, že flexibilní nastavení pro vlastní pole ve standardním programu 1C: Řízení obchodu 8 poskytují uživateli dostatek příležitostí k přizpůsobení sestav, což jim umožňuje rychle získat potřebné informace v pohodlné formě.

Data Composition System Expression Language

Jazyk výrazů systému skládání dat je navržen tak, aby zapisoval výrazy používané v různých částech systému.

Výrazy se používají v následujících podsystémech:

  • diagram rozložení dat - k popisu počítaných polí, celkových polí, výrazů spojení atd.;
  • nastavení rozložení dat - k popisu výrazů vlastních polí;
  • rozložení dat - pro popis výrazů pro spojování datových sad, popis parametrů rozložení atd.

Doslovy

Výraz může obsahovat literály. Jsou možné následující typy literálů:

  • Čára;
  • Číslo;
  • Datum;
  • Boolean.

Čára

Řetězcový literál se zapisuje pomocí znaků „“, například:

"Řetězcový doslovný"

Pokud potřebujete použít znak „“ uvnitř řetězcového literálu, měli byste použít dva takové znaky.

Například:

„Doslovné „“v uvozovkách“““

Číslo

Číslo se zapisuje bez mezer, v desítkovém formátu. Zlomková část se odděluje pomocí symbolu "." Například:

10.5 200

datum

Datumový literál se zapisuje pomocí klíčového literálu DATETIME. Po tomto klíčové slovo, v závorkách, oddělených čárkami, je uveden rok, měsíc, den, hodiny, minuty, sekundy. Časová specifikace není vyžadována.

Například:

DATETIME(1975, 1, 06) – 6. ledna 1975 DATETIME(2006, 12, 2, 23, 56, 57) – 2. prosince 2006, 23 hodin 56 minut 57 sekund, 23 hodin 56 minut 57 sekund

Boolean

Booleovské hodnoty lze zapsat pomocí literálů True (True), False (False).

Význam

Pro specifikaci literálů jiných typů (systémové výčty, předdefinovaná data) se používá klíčové slovo Hodnota a za ním název literálu v závorce.

Hodnota (Typ účtu. Aktivní)

Operace s čísly

Unární –

Tato operace je určena ke změně znaménka čísla na opačné znaménko. Například:

Prodej. Množství

Unární +

Tato operace neprovádí s číslem žádné akce. Například:

Prodej. Množství

binární -

Tato operace je určena k výpočtu rozdílu dvou čísel. Například:

ResidualsAndTurnovers.InitialRemaining – RemainingsAndTurnovers.FinalResidualsRemainingsAndTurnovers.InitialRemaining – 100 400 – 357

Binární +

Tato operace je určena k výpočtu součtu dvou čísel. Například:

RemainingsAndTurnover.InitialRemaining + RemainingAndTurnover.Turnover ResiduesAndTurnover.InitialRemaining + 100 400 + 357

Práce

Tato operace je určena k výpočtu součinu dvou čísel. Například:

Nomenklatura.Cena * 1,2 2 * 3,14

Divize

Tato operace je navržena tak, aby získala výsledek dělení jednoho operandu druhým. Například:

Nomenklatura.Cena / 1,2 2 / 3,14

Zbytek divize

Tato operace je navržena tak, aby získala zbytek, když je jeden operand rozdělen jiným. Například:

Nomenklatura Cena % 1,2 2 % 3.14

Řetězcové operace

Zřetězení (binární +)

Tato operace je navržena pro zřetězení dvou řetězců. Například:

Nomenklatura.Článek + “: ”+ Nomenklatura.Název

Jako

Tato operace zkontroluje, zda řetězec odpovídá předávanému vzoru.

Hodnota operátoru LIKE je TRUE, pokud je hodnota<Выражения>vyhovuje vzoru a jinak FALSE.

Následující znaky v<Строке_шаблона>mají jiný význam než jen jiný znak v řádku:

  • % - procento: sekvence obsahující nula nebo více libovolných znaků;
  • _ - podtržítko: jeden libovolný znak;
  • […] - jeden nebo více znaků v hranaté závorky: jeden znak, kterýkoli ze znaků uvedených v hranatých závorkách. Výčet může obsahovat rozsahy, například a-z, což znamená libovolný znak zahrnutý v rozsahu, včetně konců rozsahu;
  • [^...] - v hranatých závorkách ikona negace následovaná jedním nebo více znaky: jakýkoli znak kromě těch, které jsou uvedeny za ikonou negace;

Jakýkoli jiný symbol znamená sám sebe a nenese žádnou další zátěž. Pokud je třeba jeden z uvedených znaků zapsat jako samotný, pak mu musí předcházet<Спецсимвол>, specifikované za klíčovým slovem SPECIAL CHARACTER (ESCAPE).

Například šablona

„%ABV[abvg]\_abv%“ ZVLÁŠTNÍ CHARAKTER „\“

znamená podřetězec sestávající z posloupnosti znaků: písmeno A; písmena B; písmena B; jedna číslice; jedno z písmen a, b, c nebo d; podtržítko; písmena a; písmena b; písmena v. Navíc může být tato sekvence umístěna od libovolné pozice v řádku.

Srovnávací operace

Rovná se

Tato operace je určena k porovnání dvou operandů pro rovnost. Například:

Sales.Counterparty = Prodej.NomenklaturaHlavní dodavatel

Ne rovné

Tato operace je navržena pro porovnání dvou operandů pro nerovnost. Například:

Prodej. Protistrana<>Prodej.NomenklaturaHlavnídodavatel

Méně

Tato operace je navržena tak, aby zkontrolovala, zda je první operand menší než druhý. Například:

ProdejAktuální.Částka< ПродажиПрошлые.Сумма

Více

Tato operace je navržena tak, aby zkontrolovala, zda je první operand větší než druhý. Například:

Aktuální.součet prodeje >Minulý součet prodeje

Méně nebo stejně

Tato operace je navržena tak, aby zkontrolovala, zda je první operand menší nebo roven druhému. Například:

ProdejAktuální.Částka<= ПродажиПрошлые.Сумма

Více nebo stejné

Tato operace je navržena tak, aby zkontrolovala, zda je první operand větší nebo roven druhému. Například:

ProdejAktuální.Částka >=Minulá Prodej.Částka

Operace B

Tato operace kontroluje přítomnost hodnoty v předávaném seznamu hodnot. Výsledek operace bude True, pokud je hodnota nalezena, nebo False v opačném případě. Například:

Položka B (&Produkt1, &Produkt2)

Operace kontroly přítomnosti hodnoty v souboru dat

Operace zkontroluje přítomnost hodnoty v zadané sadě dat. Ověřovací datová sada musí obsahovat jedno pole. Například:

Prodej protistrany protistranám

Operace kontroly hodnoty pro NULL

Tato operace vrátí hodnotu True, pokud je hodnota NULL. Například:

Prodej. Protistrana JE NULL

Operace kontroly hodnoty pro NULL nerovnost

Tato operace vrátí hodnotu True, pokud hodnota není NULL. Například:

Prodej. Protistrana NENÍ NULL

Logické operace

Logické operace přijímají výrazy typu Boolean jako operandy.

Operace NE

Operace NOT vrátí True, pokud je její operand False, a False, pokud je její operand True. Například:

NOT Document.Consignee = Dokument.Odesílatel

Operace I

Operace AND vrací True, pokud jsou oba operandy True, a False, pokud je jeden z operandů False. Například:

Dokument.Příjemce = Dokument. Odesílatel A Dokument. Příjemce = &Protistrana

NEBO operace

Operace OR vrátí True, pokud je jeden z jejích operandů True, a False, pokud jsou oba operandy False. Například:

Dokument.Příjemce = Dokument. Odesílatel NEBO Dokument. Příjemce = &Protistrana

Agregační funkce

Agregační funkce provádějí nějakou akci na množině dat.

Součet

Agregační funkce Sum vypočítá součet hodnot výrazů, které jí byly předány jako argument pro všechny podrobné záznamy. Například:

Částka (Sales.AmountTurnover)

Množství

Funkce Count vypočítá počet hodnot jiných než NULL. Například:

Množství (prodej. Protistrana)

Počet různých

Tato funkce vypočítá počet různých hodnot. Například:

Množství (různé prodeje. Protistrana)

Maximum

Funkce získá maximální hodnotu. Například:

Maximum (Remaining.Quantity)

Minimální

Funkce získá minimální hodnotu. Například:

Minimum (Zbývající. Množství)

Průměrný

Funkce získá průměr hodnot, které nejsou NULL. Například:

Průměr (Zbývající. Množství)

Jiné operace

Operace SELECT

Operace Select je určena k výběru jedné z několika hodnot, pokud jsou splněny určité podmínky. Například:

Vyberte Když Částka > 1000, Pak Částka Jinak 0 Konec

Pravidla pro porovnávání dvou hodnot

Pokud se typy porovnávaných hodnot od sebe liší, pak se vztahy mezi hodnotami určují na základě priority typů:

  • NULL (nejnižší);
  • Boolean;
  • Číslo;
  • Datum;
  • Čára;
  • Referenční typy

Vztahy mezi různými referenčními typy jsou určeny na základě referenčních čísel tabulek odpovídajících konkrétnímu typu.

Pokud jsou datové typy stejné, pak se hodnoty porovnávají podle následujících pravidel:

  • pro booleovský typ je hodnota TRUE větší než hodnota FALSE;
  • typ Číslo má obvyklá pravidla porovnávání čísel;
  • pro typ Datum jsou dřívější data menší než pozdější;
  • pro typ String - porovnání řetězců v souladu se stanovenými národními charakteristikami databáze;
  • referenční typy jsou porovnávány na základě jejich hodnot (číslo záznamu atd.).

Práce s hodnotou NULL

Jakákoli operace, ve které je jeden z operandů NULL, vytvoří výsledek NULL.

Existují výjimky:

  • Operace AND vrátí hodnotu NULL pouze v případě, že žádný z operandů není False;
  • Operace OR vrátí hodnotu NULL pouze v případě, že žádný z jejích operandů není pravdivý.

Operační priority

Operace mají následující priority (první řádek má nejnižší prioritu):

  • B, IS NULL, IS NOT NULL;
  • =, <>, <=, <, >=, >;
  • Binární +, Binární – ;
  • *, /, %;
  • Unární +, Unární -.

Skládání dat Funkce jazyka výrazů systému

Vypočítat

Funkce Vypočítat je určena k výpočtu výrazu v kontextu určitého seskupení. Funkce má následující parametry:

  • Výraz. Zadejte řetězec. Obsahuje vypočítaný výraz;
  • Seskupování. Zadejte řetězec. Obsahuje název seskupení, v jehož kontextu má být výraz vyhodnocen. Pokud je jako název seskupení použit prázdný řetězec, výpočet bude proveden v kontextu aktuálního seskupení. Pokud je jako název skupiny použit řetězec GrandTotal, bude výpočet proveden v kontextu celkového součtu. Jinak bude výpočet proveden v kontextu nadřazené skupiny se stejným názvem. Například:
Součet(prodej.SoučetObrat) / Vypočítat("Součet(Prodej.SoučetObrat)", "Celkem")

V v tomto příkladu výsledkem bude poměr částky za pole „Sales.SumTurnover“ záznamu seskupení k částce stejného pole v celém layoutu.

Úroveň

Funkce je navržena pro získání aktuální úrovně záznamu.

Úroveň()

NumberInOrder

Získejte další pořadové číslo.

NumberByOrder()

NumberInOrderInGrouping

Vrátí další pořadové číslo v aktuálním seskupení.

NumberByOrderInGroup()

Formát

Získejte formátovaný řetězec předané hodnoty.

Formátovací řetězec je nastaven v souladu s formátovacím řetězcem 1C:Enterprise.

Možnosti:

  • Význam;
  • Formátovat řetězec.

Format (Consumable Invoices.Doc Amount, "NPV=2")

Začátek období

Možnosti:

    • Minuta;
    • Den;
    • Týden;
    • Měsíc;
    • Čtvrťák;
    • Desetiletí;
    • Půl roku.

StartPeriod(DateTime(2002, 10, 12, 10, 15, 34), "Month")

Výsledek:

01.10.2002 0:00:00

Konec období

Funkce je navržena tak, aby extrahovala konkrétní datum z daného data.

Možnosti:

  • Datum. Typ Datum. Specifikované datum;
  • Typ období. Zadejte řetězec. Obsahuje jednu z následujících hodnot:
    • Minuta;
    • Den;
    • Týden;
    • Měsíc;
    • Čtvrťák;
    • Desetiletí;
    • Půl roku.

EndPeriod(DateTime(2002, 10, 12, 10, 15, 34), "Týden")

Výsledek:

13.10.2002 23:59:59

AddToDate

Funkce je navržena tak, aby k datu přidala určitou hodnotu.

Možnosti:

  • Typ zvětšení. Zadejte řetězec. Obsahuje jednu z následujících hodnot:
    • Minuta;
    • Den;
    • Týden;
    • Měsíc;
    • Čtvrťák;
    • Desetiletí;
    • Půl roku.
  • Částka – o kolik potřebujete zvýšit datum. Typ Číslo. Zlomková část je ignorována.

AddToDate(DateTime(2002, 10, 12, 10, 15, 34), "Month", 1)

Výsledek:

12.11.2002 10:15:34

Datum rozdílu

Funkce je navržena tak, aby získala rozdíl mezi dvěma daty.

Možnosti:

  • Výraz. Typ Datum. Původní datum;
  • Výraz. Typ Datum. Odečtené datum;
  • Typ rozdílu. Zadejte řetězec. Obsahuje jednu z následujících hodnot:
    • Druhý;
    • Minuta;
    • Den;
    • Měsíc;
    • Čtvrťák;

DATEDIFFERENCE(DATETIME(2002, 10, 12, 10, 15, 34), DATETIME(2002, 10, 14, 9, 18, 06); "DAY")

Výsledek:

Podřetězec

Tato funkce je navržena tak, aby extrahovala podřetězec z řetězce.

Možnosti:

  • Čára. Zadejte řetězec. Řetězec, ze kterého je podřetězec extrahován;
  • Pozice. Typ Číslo. Pozice znaku, od které začíná podřetězec, který má být z řetězce extrahován;
  • Délka. Typ Číslo. Délka přiděleného podřetězce.

SUBSTRING(Accounts.Address, 1, 4)

Délka čáry

Funkce je určena k určení délky řetězce.

Parametr:

  • Čára. Zadejte řetězec. Řetězec, jehož délka je zadaná.

Řádek (Protistrany.Adresa)

Rok

Tato funkce je navržena tak, aby extrahovala rok z hodnoty typu Datum.

Parametr:

  • Datum. Typ Datum. Datum, do kterého je určen rok.

ROK(výdaj.datum)

Čtvrťák

Tato funkce je navržena k extrahování čísla čtvrtletí z hodnoty typu Datum. Číslo čtvrtletí se obvykle pohybuje od 1 do 4.

Parametr

  • Datum. Typ Datum. Datum, do kterého se určuje čtvrtletí
ČTVRTLETÍ (Datum výdajů)

Měsíc

Tato funkce je navržena k extrahování čísla měsíce z hodnoty typu Datum. Číslo měsíce se obvykle pohybuje od 1 do 12.

  • Datum. Typ Datum. Datum, do kterého je určen měsíc.
MĚSÍC(výdaj.datum)

den v roce

Tato funkce je navržena k získání dne v roce z hodnoty typu Date. Den v roce se obvykle pohybuje od 1 do 365 (366).

  • Datum. Typ Datum. Datum, do kterého je určen den v roce.
DAYYEAR(ExpenseAccount.Date)

Den

Tato funkce je navržena k získání dne v měsíci z hodnoty typu Date. Den v měsíci se obvykle pohybuje od 1 do 31.

  • Datum. Typ Datum. Datum, do kterého je určen den v měsíci.
DAY(Datum výdajů)

Týden

Tato funkce je navržena k získání čísla týdne v roce z hodnoty typu Datum. Týdny v roce se číslují od 1.

  • Datum. Typ Datum. Datum, podle kterého se určují čísla týdnů.
WEEK(Datum výdajů)

Den v týdnu

Tato funkce je navržena k získání dne v týdnu z hodnoty typu Date. Normální den v týdnu se pohybuje od 1 (pondělí) do 7 (neděle).

  • Datum. Typ Datum. Datum, podle kterého je určen den v týdnu.
DEN V TÝDNU (Datum výdajů)

Hodina

Tato funkce je navržena k získání hodiny dne z hodnoty typu Date. Denní hodina se pohybuje od 0 do 23.

  • Datum. Typ Datum. Datum, podle kterého je určena hodina dne.
HODINA (Datum výdajů)

Minuta

Tato funkce je navržena k získání minuty v hodině z hodnoty typu Date. Minuta v hodině se pohybuje od 0 do 59.

  • Datum. Typ Datum. Datum, podle kterého je určena minuta v hodině.
MINUTA (Datum výdajů)

Druhý

Tato funkce je navržena k získání sekundy minuty z hodnoty typu Date. Sekunda minuty se pohybuje od 0 do 59.

  • Datum. Typ Datum. Datum, podle kterého jsou určeny sekundy minuty.
DRUHÝ(Datum výdajů)

Vyjádřit

Tato funkce je navržena tak, aby extrahovala typ z výrazu, který může obsahovat složený typ. Pokud výraz obsahuje jiný než požadovaný typ, bude vrácena hodnota NULL.

Možnosti:

  • Výraz k převodu;
  • Označení typu. Zadejte řetězec. Obsahuje typový řetězec. Například "Číslo", "Řetězec" atd. Kromě primitivních typů může tento řádek obsahovat název tabulky. V tomto případě bude učiněn pokus o vyjádření odkazu na zadanou tabulku.

Express(Data.Props1, "Number(10;3)")

JeNull

Tato funkce vrací hodnotu druhého parametru, pokud je hodnota prvního parametru NULL.

V opačném případě bude vrácena hodnota prvního parametru.

AnoNULL(Částka(Prodej.ČástkaObrat); 0)

Funkce běžných modulů

Výraz modulu pro skládání dat může obsahovat volání funkcí globálních společných konfiguračních modulů. K volání takových funkcí není vyžadována žádná další syntaxe.

V tomto příkladu bude funkce "AbbreviatedName" volána z modulu obecné konfigurace.

Všimněte si, že použití společných funkcí modulu je povoleno pouze tehdy, je-li specifikován příslušný parametr procesoru kompozice dat.

Navíc funkce běžných modulů nelze použít ve výrazech vlastních polí.