Data Composition System Expression Language (1Cv8). Složení dat systémový výraz jazyk (1Cv8) 1c vlastní výrazové pole

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ěř úplně se shoduje se standardním nastavením přehledu popsaný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 a také 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 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...

Pole výběru umožňují vypočítat hodnotu na základě dané 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 sestav“ a 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, 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 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 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ě upravit podle svých potřeb, ale také uložit svá nastavení a v případě potřeby je použít v budoucnu.

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. Za tímto klíčovým slovem jsou v závorkách uvedeny rok, měsíc, den, hodiny, minuty, sekundy oddělené čárkami. Č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ředané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ých závorkách: 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<Спецсимвол>, zadaný 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 určena k 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 Protistrana Protistranám

Operace kontroly hodnoty pro NULL

Tato operace vrátí 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, výpočet bude 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 tomto příkladu bude výsledkem poměr částky pro pole "Sales.AmountTurnover" záznamu seskupení k částce stejného pole v celém rozložení.

Ú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(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íl

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 určena.

Řá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 je stanoveno č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 (Datum výdajů)

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 Date. 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 v případě, že je specifikován příslušný parametr procesoru pro složení dat.

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

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ě.

Každá organizace, aby mohla přijímat včasná a správná manažerská rozhodnutí, potřebuje operativní informace o dostupnosti zboží ve skladech, jeho nákladech a prodeji. Obchodní organizace pracují s velkým množstvím položek a protistran, což vyžaduje dobré nastavení analytického účetnictví a rychlé získání požadovaných informací z jejich dat. Článek pojednává o základních technikách pro práci se standardními sestavami ve standardním řešení „1C: Trade Management 8“ (vydání 11), postaveném na základě systému skládání dat, a poskytuje užitečná praktická doporučení, která budou užitečná jak pro začínající uživatele. a ti, kteří přešli na nové vydání z předchozích vydání.

Vezměme si například zprávu

  • Analýza dostupnosti produktu;

Nastavení.

Ve sloupci Typ srovnání Nomenklatura

  • Rovná se
  • Ne rovné
  • Na seznamu
  • Není na seznamu
  • Ve skupině Nomenklatura;
  • Ne ve skupině Nomenklatura;
  • Ve skupině ze seznamu Nomenklatura;
  • Není ve skupině ze seznamu Nomenklatura.

Význam

"Rychlý výběr"

Jak se vyvíjí platforma 1C:Enterprise 8 a objevuje se nová verze 8.2, reporty v systémech se stávají flexibilnějšími a uživatelé mají stále více možností přizpůsobit si je svým požadavkům bez pomoci programátorů.

Nové možnosti, které poskytuje systém pro tvorbu dat (DCS), vám umožní zažít výhody funkcí 1C:Enterprise 8 při vytváření sestav jako nikdy předtím. A přestože rozhraní reportů doznalo výrazných změn (oproti vydání 10.3 konfigurace „Trade Management“, dále jen UT), je nastavení reportů stále dostupné běžnému uživateli. Podívejme se na některé základní techniky práce s nimi.

První věc, kterou můžete věnovat pozornost, je rychlý výběr. Umožňují zobrazit data v sestavě na základě určitých hodnot polí sestavy podle přání uživatele.

Vezměme si například zprávu Analýza dostupnosti produktů v UT. Ihned poznamenejme, že celá demonstrace možností hlášení v UT 11 bude probíhat na příkladu dvou hlášení:

  • Analýza dostupnosti produktu;
  • Výnosy a náklady na prodej.

Výběr podle některých polí lze provést buď přímo ve formuláři sestavy nebo pomocí tlačítka Nastavení.

Ve sloupci Typ srovnání uživatel si může vybrat různé podmínky porovnání. Například do terénu Nomenklatura Můžete si vybrat z následujících typů srovnání:

  • Rovná se- sestava bude sestavena pouze pro vybranou položku;
  • Ne rovné- report bude generován pro celý sortiment kromě vybrané položky;
  • Na seznamu- zpráva bude vycházet ze seznamu položek položek;
  • Není na seznamu- report bude postaven na celém sortimentu kromě vybraných položek;
  • Ve skupině- sestava bude vytvořena na celé položce umístěné ve vybrané složce adresáře Nomenklatura;
  • Ne ve skupině- sestava bude postavena na celém sortimentu kromě položek umístěných ve vybrané složce adresáře Nomenklatura;
  • Ve skupině ze seznamu- obdoba srovnání V seznamu jsou jako hodnoty seznamu vybrány pouze složky v adresáři Nomenklatura;
  • Není ve skupině ze seznamu- podobné srovnání Není v seznamu, jako hodnoty seznamu jsou vybrány pouze složky v adresáři Nomenklatura.

Zaškrtávací políčko nalevo od pole výběru označuje, že výběr pro toto pole je „povolen“, tj. je v přehledu zohledněn.

Nezaškrtnutá pole se neberou v úvahu, i když jste pro tato pole vybrali konkrétní hodnoty.

V závislosti na zvoleném typu srovnání ve sloupci Význam je uveden konkrétní prvek nebo složka (skupina) adresáře, případně seznam prvků nebo složek.

„Rychlý výběr“ je dostupný ve všech řešeních na platformě 1C:Enterprise 8.

Příklad jednoduché změny v nastavení přehledu

Chcete-li zobrazit/změnit nastavení přehledu, musíte přejít do nabídky Všechny akce – možnost Změnit.

Otevře se před námi okno nastavení pro vybranou možnost sestavy.

Struktura sestavy je zobrazena v horní části okna. V podstatě se jedná o vizuální zobrazení seskupení řádků a sloupců sestavy, tedy v jakém pořadí budou analytická data zobrazena v sestavě v řádcích a sloupcích.

V dolní části okna jsou zobrazeny informace týkající se sestavy jako celku (pokud je ve struktuře sestavy vybrána nejvyšší úroveň Zpráva), nebo na konkrétní seskupení řádků či sloupců sestavy (pokud je vybráno seskupení na nižší úrovni), nastavení pro zobrazení informací a návrh polí.

Příklad 1

Krok 1. Musíme odstranit seskupení podle vlastností produktu a ponechat pouze seskupení podle produktu. Chcete-li to provést, v horní části okna nastavení přehledu klikněte na pole Názvosloví, charakteristika. Ve spodní části okna přejděte na kartu Skupiny.

Vyberte pole Charakteristický a klikněte na tlačítko Vymazat příkazový panel.

Změny nastavení sestavy potvrďte kliknutím na tlačítko Dokončete úpravy v levém dolním rohu obrazovky.

Krok 2. Po odebrání charakteristiky bude naším úkolem dle podmínek příkladu přidat cenovou skupinu. V podstatě by toto seskupení mělo být na úrovni nižší než seskupení podle skladu, ale na vyšší úrovni než seskupení podle položky. Proto ve struktuře zprávy zvýrazníme seskupení Skladem.

Klepnutím pravým tlačítkem myši na něj vyberte příkaz z kontextové nabídky Nová skupina.

V okně úprav seskupovacího pole, které se otevře, vyberte Nomenklatura.Cenová skupina.

Kliknutím na tlačítko OK, uvidíme, že do sestavy bylo přidáno nové seskupení, podřízené seskupení Skladem.

Nyní vybereme seskupení podle produktu a bez uvolnění pravého tlačítka myši jej přetáhneme dovnitř (tj. níže) seskupení podle cenové skupiny. Dostaneme strukturu uvedenou na obrázku 1. Výsledek nastavení sestavy je uveden na obrázku 2.

Rýže. 1. Výsledná struktura zprávy

Rýže. 2. Výsledek přizpůsobení sestavy

Práce s vlastními poli

Pojďme se nyní blíže podívat na nové možnosti přizpůsobení sestav v programu 1C: Trade Management 8.

V podobě úpravy struktury a nastavení našeho reportu věnujme pozornost záložce Vlastní pole.

Dříve jsme do sestavy přidávali pole, jejichž seznam byl předem specifikován vývojářem. Pomocí této záložky můžeme vytvořit vlastní pole, která potřebujeme - Pole výběru nebo Výrazové pole.

Příklad 2

Upravme si přehled „Historie prodeje“ (možnost přehledu „Příjmy a náklady na prodej“). Zobrazíme údaje o prodeji podle partnerů a sortimentu. Předpokládejme, že naše společnost prodává zboží v Moskvě a v regionech. Každý klient v informační databázi tedy patří do určité geografické oblasti (atribut „Business Region“ v adresáři „Partners“). Údaje o prodeji můžeme snadno seskupit do přehledu podle regionů, ale co když nás zajímají více agregované statistiky, zejména odpověď na otázku „Kolik zboží se prodalo v Moskvě a kolik ve všech ostatních regionech dohromady“? Zde se hodí „vlastní pole“.

Krok 1. Otevřeme zprávu. Pojďme na formulář pro nastavení struktury sestavy ( Všechny akce -> Změnit možnost). Postupně smažeme všechny skupiny dříve vytvořené v přehledu – k tomu vyberte každou z nich a klikněte na tlačítko Vymazat příkazového panelu nebo použijte klávesu DEL.

Stejně jako v předchozím příkladu přidejte do sestavy seskupení podle partnera a poté podle položky. Už víme, jak to udělat, takže to nezabere moc času.

Krok 2. Vytvořme nové vlastní pole. Otevřeme záložku Vlastní pole a provést příkaz Přidat -> Nové výběrové pole.

Pojmenujme naše nové pole - Region obecně.

Klikneme na tlačítko Přidat. V novém řádku klikněte na tlačítko ve sloupci Výběr. V zobrazeném formuláři pro úpravu výběru přidejte výběr podle pole Partner.Obchodní region. Zvolme typ srovnání Rovná se, význam - Moskva.

Klikneme na tlačítko OK, načež se vrátíme do okna úpravy vlastního pole. Dále musíte kliknout na tlačítko ve sloupci Význam a v zobrazeném seznamu pro výběr datových typů vyberte Čára a napište jako hodnotu Moskva.

Zopakujeme operaci. Přidejme do tabulky ještě jeden řádek. Tentokrát pro výběr podle oboru Partner.Obchodní region vyberte typ srovnání Ne rovné.

Návrat do okna úpravy vlastního pole ve sloupci Význam Pojďme psát Ostatní regiony(viz obr. 3).

Rýže. 3. Úprava vlastního pole

Klikneme na tlačítko OK. Naše nové pole je připraveno.

Krok 3 Pojďme přidat naše nové pole do struktury sestavy. Výběr nejvyšší úrovně pomocí myši Zpráva ve struktuře, přidejte nové seskupení. V rekvizitách Pole pojďme si vybrat Region obecně.

Přetáhněte seskupení podle partnera a podřízené seskupení podle položky do nově vytvořeného pomocí myši.

Vygenerujeme zprávu a podíváme se na výsledek (viz obr. 4).

Rýže. 4. Výsledek generování zprávy

Výběr a třídění

Vraťme se do okna pro úpravu struktury a nastavení sestavy a věnujte pozornost záložkám Výběr A Řazení.

Pokud je ve struktuře sestavy vybrán kořenový prvek ( Zpráva), pak se nastavení provedená na těchto kartách použije na celý přehled jako celek. Pokud je vybráno seskupení sestav, nastavení ovlivní pouze toto seskupení.

Příklad 3

V důsledku toho zpráva Historie prodeje Budou zahrnuty pouze ty implementace, kde je uveden správce. Ivanov Ivan Fedorovič.

Příklad 4

Uložte provedené změny

Pokud změníte strukturu sestavy, můžete ji kdykoli uložit pomocí příkazu Všechny akce -> možnost Uložit.

Ve formuláři pro uložení volby lze pomocí přepínače vybrat Uložit do stávající verze přehledu(místo jedné z již dostupných možností), popř Uložit novou verzi přehledu.

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. 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 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, že je možné ho k používání těchto funkcí vycvičit, protože je to mnohem jednodušší než psát vzorce do excelových tabulek.