Domov / Prehliadače / 1c 8.3 hlási výpočet vo vlastných poliach. Data Composition System Expression Language (1Cv8). Operácia na kontrolu, či v množine údajov existuje hodnota

1c 8.3 hlási výpočet vo vlastných poliach. Data Composition System Expression Language (1Cv8). Operácia na kontrolu, či v množine údajov existuje hodnota

Data Composition System Expression Language

Jazyk výrazov systému skladania údajov je navrhnutý tak, aby zaznamenával výrazy používané v rôznych častiach systému.

Výrazy sa používajú v nasledujúcich podsystémoch:

  • schéma zloženia údajov - na popis vypočítaných polí, súčtových polí, výrazov odkazov atď.;
  • nastavenia zloženia údajov - na popis vlastných výrazov polí;
  • rozloženie kompozície dát - na popis výrazov vzťahovej množiny dát, popis parametrov rozloženia atď.

Doslovy

Výraz môže obsahovať literály. Možné literály nasledujúcich typov:

  • Linka;
  • číslo;
  • Dátum;
  • Boolean.

Linka

Reťazcový literál je napísaný v znakoch """, napríklad:

"Stringový doslov"

Ak potrebujete použiť znak """ vo vnútri reťazcového literálu, mali by ste použiť dva takéto znaky.

Napríklad:

"doslovné ""v úvodzovkách"""

číslo

Číslo sa zapisuje bez medzier, v desiatkovom formáte. Zlomok oddelené znakom ".". Napríklad:

10.5 200

dátum

Literál typu dátumu sa zapisuje pomocou kľúčového literálu DATETIME. Po tomto kľúčové slovo, v zátvorkách, oddelených čiarkami, je uvedený rok, mesiac, deň, hodiny, minúty, sekundy. Označenie času sa nevyžaduje.

Napríklad:

DATETIME(1975, 1, 06) – 6. január 1975 DATETIME(2006, 12, 2, 23, 56, 57) – 2. december 2006, 23:56:57 sekúnd, 23:56:57 sekúnd

boolovská hodnota

Booleovské hodnoty je možné zapísať pomocou literálov True (True), False (False).

Význam

Na špecifikovanie literálov iných typov (systémové enumerácie, preddefinované údaje) sa používa kľúčové slovo Value, za ktorým nasleduje názov literálu v zátvorkách.

Hodnota (Typ účtu. Aktívne)

Operácie s číslami

Unary -

Táto operácia je navrhnutá tak, aby obrátila znamienko čísla. Napríklad:

Predaj. Množstvo

Unárne +

Táto operácia nevykonáva žiadne operácie s číslom. Napríklad:

Predaj. Množstvo

binárne -

Táto operácia je určená na výpočet rozdielu dvoch čísel. Napríklad:

BalancesAndTurnovers.InitialBalance - BalancesAndTurnovers.EndBalance BalancesAndTurnovers.InitialBalance - 100 400 - 357

Binárne +

Táto operácia je určená na výpočet súčtu dvoch čísel. Napríklad:

BalancesAndTurnovers.InitialBalance + BalancesAndTurnovers.Turnover BalancesAndTurnovers.InitialBalance + 100 400 + 357

Práca

Táto operácia je určená na výpočet súčinu dvoch čísel. Napríklad:

Nomenklatúra.Cena * 1,2 2 * 3,14

divízie

Táto operácia je určená na získanie výsledku delenia jedného operandu druhým. Napríklad:

Nomenklatúra.Cena / 1,2 2 / 3,14

Zvyšok divízie

Táto operácia je určená na získanie zvyšku delenia jedného operandu druhým. Napríklad:

Nomenklatúra Cena % 1,2 2 % 3,14

Operácie na strunách

Reťazenie (binárne +)

Táto operácia je navrhnutá na zreťazenie dvoch reťazcov. Napríklad:

Nomenklatúra.Článok + “: ”+ Nomenklatúra.Názov

Páči sa mi to

Táto operácia skontroluje, či sa reťazec zhoduje s daným vzorom.

Hodnota operátora LIKE je TRUE, ak je hodnota<Выражения>sa zhoduje so vzorom a v opačnom prípade je FALSE.

Nasledujúce znaky v<Строке_шаблона>majú iný význam ako len iný znak v reťazci:

  • % - percento: sekvencia obsahujúca nula alebo viac ľubovoľných znakov;
  • _ - podčiarknutie: jedna svojvoľný charakter;
  • […] - jeden alebo viac znakov v hranatých zátvorkách: jeden znak, ktorýkoľvek zo znakov uvedených v hranatých zátvorkách. Enumerácia môže obsahovať rozsahy, ako napríklad a-z, čo znamená akýkoľvek znak v rozsahu, vrátane koncov rozsahu;
  • [^…] - v hranatých zátvorkách ikona negácie nasledovaná jedným alebo viacerými znakmi: akýkoľvek znak iný ako tie, ktoré sú uvedené za ikonou negácie;

Akýkoľvek iný symbol znamená sám seba a nenesie žiadnu dodatočnú záťaž. Ak je potrebné napísať jeden z uvedených znakov ako samotný, potom mu musí predchádzať<Спецсимвол>Zadané za kľúčovým slovom ESCAPE.

Napríklad šablóna

„%ABC[abc]\_abc%“ ŠPECIÁLNY CHARAKTER „\“

znamená podreťazec pozostávajúci zo sekvencie znakov: písmen A; písmená B; písmená B; jedna číslica; jedno z písmen a, b, c alebo d; znak podčiarknutia; písmená a; písmená b; písmená v. Okrem toho môže byť táto sekvencia umiestnená od ľubovoľnej pozície v reťazci.

Porovnávacie operácie

Rovná sa

Táto operácia je navrhnutá na porovnanie dvoch operandov na dosiahnutie rovnosti. Napríklad:

Sales.Counterparty = Predaj.NomenklatúraHlavnýdodávateľ

Nerovná sa

Táto operácia je navrhnutá na porovnanie dvoch operandov pre nerovnosť. Napríklad:

Predaj.Dodávateľ<>Predaj.NomenklatúraHlavnýdodávateľ

Menej

Táto operácia je určená na kontrolu, či je prvý operand menší ako druhý. Napríklad:

PredajAktuálna.Suma< ПродажиПрошлые.Сумма

Viac

Táto operácia je určená na kontrolu, či je prvý operand väčší ako druhý. Napríklad:

Aktuálny predaj > Suma minulého predaja

Menej alebo rovnaké

Táto operácia je určená na kontrolu, či je prvý operand menší alebo rovný druhému. Napríklad:

PredajAktuálna.Suma<= ПродажиПрошлые.Сумма

Viac alebo rovnaké

Táto operácia je určená na kontrolu, či je prvý operand väčší alebo rovný druhému. Napríklad:

TržbyAktuálna.Suma >=Minulá.Suma predaja

Operácia B

Táto operácia skontroluje prítomnosť hodnoty v odovzdanom zozname hodnôt. Výsledok operácie je True, ak je hodnota nájdená, alebo False v opačnom prípade. Napríklad:

Položka B (&Položka1, &Položka2)

Operácia na kontrolu, či v množine údajov existuje hodnota

Operácia skontroluje prítomnosť hodnoty v špecifikovanom súbore údajov. Validačný súbor údajov musí obsahovať jedno pole. Napríklad:

Predaj Dodávateľ Dodávateľom

Operácia kontroly NULL

Táto operácia vráti hodnotu True, ak je hodnota NULL. Napríklad:

Sales.Contractor IS NULL

Operácia kontroly hodnoty, ktorá nie je NULL

Táto operácia vráti hodnotu True, ak hodnota nie je NULL. Napríklad:

Sales.Contractor NIE JE NULL

Booleovské operácie

Logické operácie akceptujú ako operandy výrazy typu Boolean.

Operácia NIE

Operátor NOT vráti True, ak je jeho operand False, a vráti False, ak je jeho operand True. Napríklad:

NIE Dokument.Príjemca = Dokument.Odosielateľ

Prevádzka AND

Operácia AND vráti True, ak sú oba operandy True, a vráti False, ak jeden z operandov je False. Napríklad:

Document.Consignee = Document.Consignor AND Document.Consignee = &Dodávateľ

ALEBO operácia

Operácia OR vráti True, ak je jeden z operandov True, a False, ak sú oba operandy False. Napríklad:

Document.Consignee = Dokument.Odosielateľ ALEBO Document.Consignee = &Dodávateľ

Súhrnné funkcie

Agregačné funkcie vykonávajú určitú akciu na množine údajov.

Sum

Agregačná funkcia Sum vypočítava súčet hodnôt výrazov, ktoré jej boli odovzdané ako argument pre všetky podrobné záznamy. Napríklad:

Suma(Sales.AmountTurnover)

Množstvo

Funkcia Count počíta počet hodnôt, ktoré nie sú nulové. Napríklad:

Množstvo (predaj. Dodávateľ)

Počet rôznych

Táto funkcia počíta počet odlišných hodnôt. Napríklad:

Množstvo (rôzny predaj. Dodávateľ)

Maximálne

Funkcia získa maximálnu hodnotu. Napríklad:

Maximum (zvyšky. Množstvo)

Minimum

Funkcia prijíma minimálna hodnota. Napríklad:

Minimum (Zostatok. Množstvo)

Priemerná

Funkcia získa priemer pre nenulové hodnoty. Napríklad:

Priemer (zvyšky. Množstvo)

Iné operácie

Operácia SELECT

Operácia Select je určená na výber jednej z niekoľkých hodnôt za určitých podmienok. Napríklad:

Vyberte Keď súčet > 1000 Potom súčet inak 0 Koniec

Pravidlá pre porovnávanie dvoch hodnôt

Ak sa typy porovnávaných hodnôt navzájom líšia, potom sa vzťah medzi hodnotami určuje na základe priority typov:

  • NULL (najnižšia);
  • boolean;
  • číslo;
  • Dátum;
  • Linka;
  • Referenčné typy

Vzťahy medzi rôznymi typmi odkazov sú definované na základe referenčných čísel tabuliek zodpovedajúcich konkrétnemu typu.

Ak sa typy údajov zhodujú, hodnoty sa porovnávajú podľa nasledujúcich pravidiel:

  • typ Boolean TRUE je väčší ako FALSE;
  • typ Číslo má obvyklé porovnávacie pravidlá pre čísla;
  • pre typ Dátum sú skoršie dátumy menšie ako neskoršie;
  • pre typ String - porovnania reťazcov v súlade so stanovenými národnými znakmi databázy;
  • referenčné typy sa porovnávajú na základe ich hodnôt (číslo záznamu atď.).

Práca s NULL

Akákoľvek operácia, v ktorej je hodnota jedného z operandov NULL, vytvorí výsledok NULL.

Existujú výnimky:

  • operácia AND vráti NULL iba vtedy, ak žiadny z operandov nie je False;
  • operácia OR vráti hodnotu NULL iba vtedy, ak žiadny z operandov nie je pravdivý.

Operačné priority

Operácie majú nasledujúce priority (prvý riadok má najnižšiu prioritu):

  • B, JE NULL, NIE JE NULL;
  • =, <>, <=, <, >=, >;
  • Binárne +, Binárne – ;
  • *, /, %;
  • Unary +, Unary -.

Zloženie údajov Funkcie jazyka výrazov systému

Vypočítajte

Funkcia Vypočítať je určená na výpočet výrazu v kontexte nejakého zoskupenia. Funkcia má nasledujúce parametre:

  • Výraz. Zadajte reťazec. Obsahuje vypočítaný výraz;
  • Zoskupovanie. Zadajte reťazec. Obsahuje názov zoskupenia, v kontexte ktorého sa má výraz vyhodnotiť. Ak sa ako názov zoskupenia použije prázdny reťazec, výpočet sa vykoná v kontexte aktuálneho zoskupenia. Ak sa ako názov zoskupenia použije reťazec GrandTotal, výpočet sa vykoná v kontexte celkového súčtu. V opačnom prípade sa výpočet vykoná v kontexte nadradeného zoskupenia s týmto názvom. Napríklad:
Suma(Sales.AmountTurnover) / Calculate("Amount(Sales.AmountTurnover)", "TotalTotal")

IN tento príklad v dôsledku toho získate pomer sumy v poli "Tržby.SumaObrat" záznamu zoskupenia k sume toho istého poľa v celom rozložení.

úroveň

Funkcia je určená na získanie aktuálnej úrovne nahrávania.

úroveň()

NumberInOrder

Získajte ďalšie poradové číslo.

Číslo objednávky()

NumberIn OrderInGrouping

Vráti ďalšie poradové číslo v aktuálnom zoskupení.

NumberInOrderInGroup()

Formátovať

Získajte formátovaný reťazec odovzdanej hodnoty.

Formátovací reťazec je nastavený podľa formátovací reťazec 1C: Enterprise.

Možnosti:

  • Význam;
  • Formátovať reťazec.

Format(Expenditure Invoices.AmountDoc, "NPV=2")

Začiatok obdobia

Možnosti:

    • minúta;
    • deň;
    • Týždeň;
    • mesiac;
    • štvrťrok;
    • desaťročie;
    • Pol roka.

PeriodStart(DateTime(2002, 10, 12, 10, 15, 34), "Mesiac")

výsledok:

01.10.2002 0:00:00

EndPeriod

Funkcia je navrhnutá tak, aby extrahovala konkrétny dátum z daného dátumu.

Možnosti:

  • Dátum. Typ Dátum. Daný dátum;
  • Typ obdobia. Zadajte reťazec. Obsahuje jednu z nasledujúcich hodnôt:
    • minúta;
    • deň;
    • Týždeň;
    • mesiac;
    • štvrťrok;
    • desaťročie;
    • Pol roka.

EndPeriod(DateTime(2002, 10, 12, 10, 15, 34), "Týždeň")

výsledok:

13.10.2002 23:59:59

AddDate

Funkcia je navrhnutá tak, aby pridala k dátumu určitú hodnotu.

Možnosti:

  • Typ zväčšenia. Zadajte reťazec. Obsahuje jednu z nasledujúcich hodnôt:
    • minúta;
    • deň;
    • Týždeň;
    • mesiac;
    • štvrťrok;
    • desaťročie;
    • Pol roka.
  • Hodnota - o koľko chcete zvýšiť dátum. Typ Číslo. Zlomková časť sa ignoruje.

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

výsledok:

12.11.2002 10:15:34

Dátum rozdielu

Funkcia je navrhnutá tak, aby získala rozdiel medzi dvoma dátumami.

Možnosti:

  • Výraz. Typ Dátum. pôvodný dátum;
  • Výraz. Typ Dátum. Odpočítaný dátum;
  • Typ rozdielu. Zadajte reťazec. Obsahuje jednu z nasledujúcich hodnôt:
    • Po druhé;
    • minúta;
    • deň;
    • mesiac;
    • štvrťrok;

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

výsledok:

Podreťazec

Táto funkcia je navrhnutý tak, aby extrahoval podreťazec z reťazca.

Možnosti:

  • Linka. Zadajte reťazec. Reťazec, z ktorého sa extrahuje podreťazec;
  • pozícia. Typ Číslo. Pozícia znaku, od ktorej začína podreťazec, ktorý sa má z reťazca extrahovať;
  • Dĺžka. Typ Číslo. Dĺžka vybratého podreťazca.

SUBSTRING(Accounts.Address, 1, 4)

Dĺžka reťazca

Funkcia je určená na určenie dĺžky reťazca.

Parameter:

  • Linka. Zadajte reťazec. Reťazec, ktorého dĺžka sa určuje.

Reťazec(Accounts.Address)

rok

Táto funkcia je navrhnutá tak, aby extrahovala rok z hodnoty typu Dátum.

Parameter:

  • Dátum. Typ Dátum. Dátum, do ktorého je určený rok.

YEAR(Inc.Date)

Štvrťrok

Táto funkcia je určená na extrahovanie čísla štvrťroka z hodnoty typu Dátum. Číslo bloku sa zvyčajne pohybuje od 1 do 4.

Parameter

  • Dátum. Typ Dátum. Dátum, do ktorého je určený štvrťrok
ŠTVRŤ(Faktúra.dátum)

mesiac

Táto funkcia je určená na extrahovanie čísla mesiaca z hodnoty typu Dátum. Číslo mesiaca je zvyčajne v rozsahu od 1 do 12.

  • Dátum. Typ Dátum. Dátum, do ktorého je určený mesiac.
MESIAC (faktúra.dátum)

deň v roku

Táto funkcia je navrhnutá na získanie dňa v roku z hodnoty typu Dátum. Deň v roku sa zvyčajne pohybuje od 1 do 365 (366).

  • Dátum. Typ Dátum. Dátum, ktorým sa určuje deň v roku.
DEŇ V ROKU (Exp.Inc.Date)

deň

Táto funkcia je určená na získanie dňa v mesiaci z hodnoty typu Dátum. Deň v mesiaci sa zvyčajne pohybuje od 1 do 31.

  • Dátum. Typ Dátum. Dátum, podľa ktorého sa určujú dni v mesiaci.
DAY (Exp.Inc.Date)

Týždeň

Táto funkcia je určená na získanie čísla týždňa v roku z hodnoty typu Dátum. Týždne v roku sú očíslované od 1.

  • Dátum. Typ Dátum. Dátum, podľa ktorého sa určujú čísla týždňov.
WEEK(Exp.Inc.Date)

Deň v týždni

Táto funkcia je určená na získanie dňa v týždni z hodnoty typu Dátum. Deň v týždni sa zvyčajne pohybuje od 1 (pondelok) do 7 (nedeľa).

  • Dátum. Typ Dátum. Dátum, podľa ktorého sa určuje deň v týždni.
DEŇ TÝŽDŇA (Exp.Inc.Date)

hodina

Táto funkcia je navrhnutá tak, aby získala hodinu dňa z hodnoty typu Dátum. Hodina dňa sa pohybuje od 0 do 23.

  • Dátum. Typ Dátum. Dátum, podľa ktorého je určená hodina dňa.
HODINA (Dátum platnosti)

Minúta

Táto funkcia je navrhnutá na získanie minúty v hodine z hodnoty typu Dátum. Minúta hodiny sa pohybuje od 0 do 59.

  • Dátum. Typ Dátum. Dátum, podľa ktorého sa určuje minúta hodiny.
MINUTA (Dátum platnosti)

Po druhé

Táto funkcia je navrhnutá tak, aby získala sekundu minúty z hodnoty typu Dátum. Sekunda minúty je v rozsahu od 0 do 59.

  • Dátum. Typ Dátum. Dátum, podľa ktorého sa určujú sekundy minúty.
SEC(Exp.Inc.Date)

expresné

Táto funkcia je navrhnutá tak, aby extrahovala typ z výrazu, ktorý môže obsahovať zložený typ. Ak výraz obsahuje typ odlišný od požadovaného typu, vráti sa NULL.

Možnosti:

  • Výraz, ktorý sa má previesť;
  • Označenie typu. Zadajte reťazec. Obsahuje reťazec typu. Napríklad "Číslo", "Reťazec" atď. Okrem primitívnych typov môže tento reťazec obsahovať názov tabuľky. V tomto prípade sa pokúsime vyjadriť sa k odkazu na zadanú tabuľku.

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

Nulový

Táto funkcia vráti hodnotu druhého parametra, ak je hodnota prvého parametra NULL.

V opačnom prípade sa vráti hodnota prvého parametra.

IsNULL(Suma(Sales.AmountTurnover), 0)

Spoločné funkcie modulu

Výraz nástroja na zostavovanie údajov môže obsahovať volania globálnych funkcií. spoločné moduly konfigurácia. Na volanie takýchto funkcií nie je potrebná žiadna ďalšia syntax.

V tomto príklade bude funkcia "ShortName" volaná z modulu všeobecnej konfigurácie.

Všimnite si, že používanie funkcií zdieľaného modulu je povolené len vtedy, keď je špecifikovaná zodpovedajúca voľba procesora kompozície údajov.

Vo výrazoch vlastných polí sa tiež nedajú použiť bežné funkcie modulu.

Podrobne sme zvážili nastavenia reportov implementovaných na báze ACS. Teraz sa pozrime na jemnejšie a podrobné nastavenia možnosti prehľadu. Okno "pokročilých" nastavení variantu zostavy vyvoláme príkazom "Viac" - "Iné" - "Zmeniť variant zostavy".

Okno pre zmenu variantu zostavy je rozdelené na dve časti:

1. Štruktúra správy.

2. Nastavenia správy.


Sekcia štruktúry variantu prehľadu je podobná karte Štruktúra v štandardných nastaveniach prehľadu. Účel a konfigurácia zoskupení je podrobne diskutovaná v časti 1 článku.

Tabuľka štruktúry variantu zostavy okrem stĺpca so zoskupeniami obsahuje niekoľko ďalších stĺpcov:

Sekcia nastavení variantu zostavy poskytuje používateľovi dostatočnú príležitosť nakonfigurovať zostavu tak, aby vyhovovala jeho potrebám. Takmer úplne sa zhoduje so štandardnými nastaveniami prehľadov, o ktorých sa hovorí v 1. časti. Pozrime sa na všetky karty tejto časti a všimnime si rozdiely.

Sekcia nastavení pozostáva z nasledujúcich kariet:

1. Možnosti. Obsahuje parametre ACS dostupné používateľovi.

Parameter ACS – nejaká hodnota používaná na získanie údajov prehľadu. Môže to byť hodnota podmienky pre výber alebo overenie údajov, ako aj pomocná hodnota.


Tabuľka parametrov je prezentovaná vo formáte "Parameter" - "Hodnota". V prípade potreby môžete zmeniť hodnoty parametrov. Kliknutím na tlačidlo „Vlastnosti položky používateľských nastavení“ sa otvoria používateľské nastavenia položky.


V tomto okne si môžete zvoliť, či bude prvok zahrnutý do užívateľských nastavení (teda viditeľný pre užívateľa pri nastavovaní zostavy), nastaviť spôsob prezentácie prvku a úpravy (rýchly prístup v hlavičke zostavy, normálny v nastaveniach zostavy a neprístupný).

Vlastnosti prvku vlastných nastavení majú tiež zoskupovacie polia, okraje, výbery a prvky podmieneného štýlu.

2. Vlastné polia. Obsahuje polia, ktoré si používateľ sám vytvorí na základe údajov vybraných v zostave.


Používateľ môže pridať dva typy polí:

  • Nové pole výberu...
  • Nové výrazové pole...

Polia výberu vám umožňujú vypočítať hodnotu na základe špecifikovanej podmienky. Editačné okno výberového poľa obsahuje názov poľa a tabuľku, v ktorej je špecifikovaný výber, hodnota a zobrazenie poľa. Výber je podmienkou, podľa ktorej bude požadovaná hodnota nahradená.


Vypočítajme si napríklad odhad počtu predajov. Budeme predpokladať, že ak sa predá menej ako 10 kusov tovaru, predá sa málo a ak viac ako 10 kusov, predá sa veľa. Za týmto účelom nastavíme 2 hodnoty počítaného poľa: prvá bude s výberom "Počet produktov Menší alebo rovný "10" a druhá s výberom "Počet produktov Viac ako "10"".

Polia výrazov vám umožňujú vypočítať hodnotu pomocou ľubovoľných algoritmov. Môžu využívať funkcie dopytovacieho jazyka a vstavaného programovacieho jazyka 1C. Okno úpravy poľa výrazu obsahuje dve polia pre výrazy podrobných a súhrnných záznamov. Súhrnné záznamy sú zoskupenia nakonfigurované v oblasti "Štruktúra zostavy", musia používať agregačné funkcie ("Súčet", "Minimum", "Maximum", "Množstvo").

Vypočítajme si napríklad priemerné percento zľavy. Priemerné percento zľavy sa vypočíta pomocou vzorca: [Výška predaja bez zľavy] - [Výška predaja so zľavou] / [Výška predaja bez zľavy]. Treba pamätať na to, že výška predaja bez zľavy môže byť nulová, preto na kontrolu používame operátor SELECT. Dostaneme nasledujúce výrazy:

· Podrobné záznamy:

Voľba

Keď [Súčet predajov bez zľavy] = 0

Potom 0

Else [Predaj bez zľavy] – [Predaj so zľavou] / [Predaj bez zľavy]

Koniec

· Pre súhrnné záznamy:

Voľba

Keď Suma([Suma predaja bez zľavy]) = 0

Potom 0

Inak Suma([Suma predaja bez zľavy]) - Suma([Suma predaja so zľavou]) / Suma([Suma predaja bez zľavy])

Koniec

Ako už bolo spomenuté, vo vyjadrení celkových záznamov používame agregátna funkcia"Súčet".

3. Zoskupené polia. Obsahuje polia, podľa ktorých bude zoskupený výsledok variantu zostavy. Polia zoskupovania sa konfigurujú samostatne pre každé zoskupenie, ale môžete nastaviť spoločné polia zoskupovania pre variant zostavy, ak v strome štruktúry vyberiete koreň „Správa“. Môžete pridať pole z výsledku správy, vlastné pole alebo vybrať automatické pole, potom systém vyberie polia automaticky. Táto karta tiež umožňuje zmeniť poradie zoskupených polí.


4. Polia. Obsahuje polia, ktoré sa zobrazia vo výsledku variantu zostavy. Polia sa konfigurujú samostatne pre každé zo zoskupení, ale môžete nastaviť spoločné polia pre variant zostavy, ak v strome štruktúry vyberiete koreň „Správa“. Môžete pridať pole z výsledku správy, vlastné pole alebo vybrať automatické pole, potom systém vyberie polia automaticky. Táto karta vám tiež umožňuje zmeniť poradie polí.

Polia môžu byť zoskupené, aby sa logicky zvýraznila akákoľvek časť zostavy alebo aby sa nastavilo konkrétne usporiadanie stĺpcov. Pri pridávaní skupiny sa stĺpec „Umiestnenie“ stane aktívnym a umožní vám vybrať jednu z možností umiestnenia:

  • Auto - systém usporiada polia automaticky;
  • Horizontálne - polia sú usporiadané horizontálne;
  • Vertikálne - polia sú usporiadané vertikálne;
  • V samostatnom stĺpci - polia sú umiestnené v rôznych stĺpcoch;
  • Spolu - polia sú usporiadané v jednom stĺpci.


5. Výber. Obsahuje filtre použité vo variante zostavy. Nastavenie filtrov bolo podrobne diskutované v časti 1 tohto článku. Filtre sa konfigurujú samostatne pre každé zo zoskupení, ale môžete nastaviť všeobecné filtre pre variant zostavy, ak v strome štruktúry vyberiete koreň „Prehľad“.


6. Triedenie. Obsahuje polia triedenia použité vo variante zostavy. Nastavenie triediacich polí bolo podrobne diskutované v časti 1 tohto článku. Triedenie sa konfiguruje samostatne pre každé zo zoskupení, ale môžete nastaviť spoločné polia triedenia pre variant zostavy, ak v strome štruktúry vyberiete koreň „Správa“.


7. Podmienený dizajn. Obsahuje podmienené prvky návrhu použité vo variante zostavy. Nastavenie podmieneného formátovania bolo podrobne diskutované v časti 1 tohto článku. Podmienený dizajn sa konfiguruje samostatne pre každé zo zoskupení, ale môžete ho nastaviť spoločné prvky podmienený vzhľad pre variant zostavy, ak v strome štruktúry vyberiete koreň „Výkaz“.


8. Ďalšie nastavenia. Obsahuje ďalšie nastavenia návrhu zostavy. Umožňuje vybrať všeobecné vzhľad zostavy, umiestnenie polí, zoskupení, atribútov, zdrojov, súčtov, nastavenie grafu, ovládanie zobrazenia nadpisu, parametrov a výberu, určenie polohy zdrojov a oprava hlavičky a stĺpcov zoskupení variantu zostavy.


Na záver by som rád poznamenal, že nastavenia zostavy je možné nielen uložiť ako variant zostavy, ale aj nahrať do súboru (menu "Viac" - "Uložiť nastavenia"). Pre stiahnutie zvoľte "Načítať nastavenia" a vyberte uložený súbor. Môžeme teda prenášať nastavenia variantov zostavy medzi rôznymi databázami, ktoré majú rovnakú konfiguráciu.


Na základe toho môžeme zhrnúť, že používateľ si môže zostavu nielen prispôsobiť svojim potrebám, ale aj uložiť svoje nastavenia a v prípade potreby ich použiť v budúcnosti.

Správy o systém skladania údajov(SKD) v moderných konfiguráciách 1C sa stali štandardom. Sú pohodlné v tom, že používatelia môžu upravovať nastavenia sami bez pomoci programátorov. O tom sa bude diskutovať ďalej.

Upravená verzia správy sa jednoducho uloží do databázy a používa sa súbežne s pôvodnou verziou. Zároveň, ak sa niečo pokazilo, môžete sa vrátiť k predvolené nastavenia. V užívateľskom režime môžete do ľubovoľnej zostavy na ACS pridať ďalšie pole, nastaviť na nej výber, zoskupovanie, triedenie alebo podmienené formátovanie.

Zvážte pridanie vlastného poľa s príkladom štandardná správa Miera fluktuácie zamestnancov v konfigurácii 1C: Mzdový a personálny manažment 3.1.

Miera fluktuácie v správe môže byť vypočítaná buď pre organizáciu ako celok, alebo podľa pozície. Predpokladajme, že potrebujeme zistiť mieru fluktuácie pre kategóriu personálu, čo je zoznam pozícií.

Pozor! V starších konfiguráciách by to vyžadovalo pridanie dodatočné rekvizity Kategória do adresára pozície a potom vytvorte vlastnú verziu prehľadu, ktorá by tieto údaje zohľadnila.

Ale s SKD je všetko oveľa jednoduchšie.

1. Najprv kliknutím na tlačidlo uložte novú verziu správy Vyberte variant prehľadu alebo uložte nový — Uložiť variant prehľadu:

V okne, ktoré sa otvorí, vyplňte názov novej verzie prehľadu a potom kliknite na tlačidlo Uložiť. Používateľ s právami správca môžete uložiť nastavenie pre všetkých používateľov.

2. Teraz pridajme naše pole. Prejdite do ponuky Všetky akcie(alebo Viac v rozhraní 1C 8.3) — Iné — Zmeniť variant správy.

Potom prejdite na kartu Vlastné polia v spodnej časti formulára na úpravu variantu kliknite na tlačidlo Pridať – Nové pole výberu:

Vyplníme názov nášho odboru a prejdeme do spodnej časti formulára, kde si rozdelíme príspevky do kategórií, ktoré potrebujeme. Kliknite Pridať, vyplňte hodnotu poľa a jeho zobrazenie a potom pokračujte v úprave výberu kliknutím na "..." v stĺpci Výber:

V ľavej časti okna vyberte pole Názov práce, dvakrát kliknite alebo presuňte myšou a presuňte ju do pravej tabuľky. Vyberte typ porovnania Uvedené, potom pokračujte v úprave zoznamu kliknutím na tlačidlo "..." v stĺpci Význam:

Vyplňte zoznam potrebnými pozíciami ručne alebo pomocou tlačidla Výber. Napríklad v kategórii administratívne priradiť pozíciu riaditeľ A správca, do kategórie Lineárne -Predavač a účtovník a v kategórii bezpečnosť -Šéf bezpečnostia Bezpečnostná stráž.

Pozor! T typ hodnoty zoznamu - číslo a do poľa zadáme názov kategórie Výkon. Ak je hodnotám zoznamu okamžite priradený typ Linka, v budúcnosti nebudeme môcť pre toto pole nakonfigurovať správne filtrovanie Filtrovanie podľa polí reťazcov sa konfiguruje iba podľa princípu Vyplnené / Nevyplnené.

3. Teraz nastavíme výber. Prejdite na kartu Výber. Hľadáme priečinok na konci zoznamu vľavo Vlastné polia, a v ňom je pole Personálna kategória, presunieme na pravú stranu.

Potom kliknite pravým tlačidlom myši na riadok výberu a vyberte položku Vlastnosti položky používateľských nastavení.

Nastavenie vlajky Zahrnúť do používateľských nastavení a vyberte režim úprav Rýchly prístup . To vám umožní spravovať nastavenia výberu podľa personálnej kategórie priamo v hlavičke zostavy.

4. Teraz pridajme zoskupenie podľa vlastného poľa. Ak to chcete urobiť, po zoskupení podľa polí Organizácia A Formačné obdobie pridať zoskupenie podľa personálnej kategórie a preniesť do neho zoskupenie podľa pozície. Potom vyberte zoskupenie Kategória personál a prejdite na kartu Ďalšie nastavenia . Nastavenie vlajky Aktuálny prvok má svoje vlastné dodatočné nastavenia, hľadáme parameter v dolnom zozname Umiestnenie celkových súčtov vertikálne a nastavte jej hodnotu na Koniec.

5. Skúsme vygenerovať prehľad:

Správa ako celok je hotová, no v prípade potreby sa dá mierne vylepšiť.

6. Zoskupenie podľa kategórie personálu bude zoradené rovnakým spôsobom ako v zozname, ktorý sme vyplnili predtým. Ak chcete triediť iným spôsobom, ale napríklad zostupne, môžeme prejsť na kartu Triedenie, pridajte kategóriu personálu do zoznamu polí a nakonfigurujte ju nasledovne:

Všimnite si, že vlastné polia sú zoradené podľa hodnoty, nie podľa zobrazenia.

7. Pre polia správy je možné nakonfigurovať podmienené formátovanie. Ak to chcete urobiť, prejdite na kartu Podmienený vzhľad a pridať do zoznamu nový prvok. Vyberte kartu Podmienka, pridajte požadované pole na pravú stranu a nakonfigurujte ho:

Na karte Dekor nastavíme požadovaný dizajn pre polia, ktoré spĺňajú podmienku. Napríklad farba písma je červená. Uložte naše nastavenie:

Správa teraz vyzerá takto:

Pridávanie hotových prehľadov s vlastnými stĺpcami.
Do výkazov vytvorených pomocou „Schémy skladania údajov“ môžete pridávať vlastné polia z používateľského režimu, ktoré sa zobrazia počas generovania.
V týchto poliach je povolené používať aritmetické operácie.

Už dávno som napísal správu „Predaj tovaru zásielkou“ http://infostart.ru/public/16477/. V tejto publikácii nebudeme diskutovať o jej význame a výhodách. Tento prehľad bude braný ako vzor pre experimenty, úpravy. Okrem toho sa v komentároch pýtali, ako pridať polia.

Otvorte „Nastavenia...“ a prejdite na kartu „Nastavenia používateľa“.

2. Pridajte "Výraz nového poľa"

Pridávanie polí znamená zapisovanie aritmetických operácií medzi dostupné polia (toto je povolené označené zeleným štvorcom). Tiež vlastnosť, ak názov takéhoto poľa pozostáva z dvoch alebo viacerých slov, musí byť uzavretý v hranatých zátvorkách. Získať takto - [Suma predaja].

Po uložení bude toto pole dostupné na výber:

Tu pomocou jednoduchých manipulácií získate hodnotu, ktorú potrebujete. Táto príležitosť nechaj pridať povinné políčka. V takých možnostiach výpočtu, aké potrebujete. Ziskovosť, efektívnosť a ďalšie hodnoty budú zohľadnené vo vašej logike aritmetických výpočtov.

V tomto prípade sa vaša práca nestratí a pri ďalšom otvorení zostavy ju môžete použiť.

Funkcie používané pri písaní polí.

  • Aritmetika " + , - , * , / " je s tým jasná, myslím, že nie je potrebné vysvetľovať princíp ich činnosti.
  • Na definovanie výberov sa používajú boolovské výrazy. " > ,< , = , >= , <= , <>, A, ALEBO, NIE“. Tieto výrazy sa používajú s operáciou select.
  • Výberové operácie. Použite na získanie jednej z možných hodnôt v súlade so špecifikovanými podmienkami

VOĽBA
KEDY< Операция выбора >POTOM<Выражение>
INAK<Выражение>
KONIEC
Príklad:
VOĽBA
KEĎ Množstvo > 0 a Množstvo > 0 POTOM "Správne"
ELSE "Chyba"
KONIEC

Dešifruje sa to takto: za predpokladu, že množstvo je väčšie ako nula a sumy sú väčšie ako nula, zobrazí sa text „Správne“ a ak nie je splnená aspoň jedna z podmienok, zobrazí sa „Chyba“.

  • Vstavaná funkcia umožňuje vykonávať určité transformácie s poľami.

SUBSTRING ("Výraz", "Počiatočná pozícia", "Koncová pozícia") - vyberie časť "Výrazu", ohraničenú rámami "Začiatok ..." a "Koniec ...".
Ako sa to stane s hodnotou Nomenklatúra - vzorec "Čokoládová pasta" Podreťazec (Nomenklatúra,1,5) zobrazí hodnotu "Prilepiť"

Funkcie slúžia na prácu s dátumami.

ROK(<Дата>), ŠTVRŤ(<Дата>), MESIAC(<Дата>), DAY(<Дата>), DAY(<Дата>), TÝŽDEŇ(<Дата>),WEEKDAY(<Дата>),HODINA(<Дата>), MINUTE(<Дата>), SEC(<Дата>)

Zobrazí sa hodnota zodpovedajúca názvu funkcie.

ZAČIATOK("Dátum", "Obdobie posunu"), ENDPERIOD ("Dátum", "Obdobie posunu"). V prípade funkčných údajov je hodnota výrazu dátumu na začiatku alebo na konci daného dátumu.

ADDDATE ("Dátum", "Obdobie posunu", "Suma, o ktorú chcete zvýšiť dátum") - funkcia umožňuje zvýšiť alebo znížiť dátum o určitú hodnotu.

DIFFERENCEDATE ("Dátum1", "Dátum2", "Obdobie posunu") - Funkcia je navrhnutá tak, aby získala rozdiel medzi dvoma dátumami.

"Obdobie zmeny" je jedno z "minúta, hodina, deň, týždeň, mesiac, štvrťrok, rok, desaťročie, polrok".

5.Agregačné funkcie dopytovacieho jazyka sa používajú pri zoskupovaní výsledkov výpočtu súčtov

SUM (<>) aritmetický súčet všetkých hodnôt vo vzorke.
PRIEMERNÝ (<>) vypočíta priemernú hodnotu všetkých vo vzorke
MINIMÁLNE (<>) vypočíta minimálnu hodnotu všetkých hodnôt vo vzorke
MAXIMÁLNE (<>) vypočíta maximálnu hodnotu všetkých hodnôt vo vzorke
MNOŽSTVO (<>) spočíta počet hodnôt parametrov zahrnutých do výberu. Táto funkcia vám umožňuje mať prípady použitia. NUMBER(*) - umožňuje spočítať počet riadkov vo výsledku. ČÍSLO(ODLIŠNÝ "Výraz") - umožňuje spočítať počet rôznych hodnôt zadaného poľa.

Množstvo (Výber
Keď podreťazec (nomenklatúra, 1, 5) = "Prilepiť"
Potom Množstvo *0,2
Ostatné množstvo *0,35
Koniec)

Súčet hodnôt sa získa v tomto prípade, keď sa na začiatku názvu nomenklatúry nachádza „Vložiť“, v tomto prípade sa množstvo zvýši o 0,2; ak nie je prítomné, zvýši sa o 0,35.

Rok ([Document.Date])

Zobrazí sa rok, kedy bol dokument zaznamenaný/zaúčtovaný.

Zložitejší príklad bez dekódovania.

Voľba
When Quarter([Document.Date]) = 1 AND Substring(Nomenclature, 1, 5) = "Paste"
Potom Množstvo * 0,2
Iná voľba
Keď štvrťrok([Dátum dokumentu]) = 2
Potom Množstvo * 0,3
Iná voľba
Keď štvrťrok([Dátum dokumentu]) = 3
Potom Množstvo * 0,4
Iná voľba
Keď štvrťrok([Dátum dokumentu]) = 4
Potom Množstvo * 0,5
Koniec
Koniec
Koniec
Koniec

Výkaz prijíma zostatok tovaru na skladoch v rôznych sekciách (charakteristiky, série, merné jednotky atď.). Aby sme príklad nekomplikovali, ponecháme len zoskupenie podľa položiek a zobrazenie len konečného zostatku k dátumu zostavy. V záverečnej tabuľke sa zobrazia stavy zásob podľa položiek na skladoch.

Potom však používateľ povedal, že musí pridať dve ďalšie polia:

  1. Oznámenie o množstve. Ak je množstvo menšie alebo rovné 5, upozornenie je „Nedostatočné“. Ak je číslo väčšie ako 5, potom menšie alebo rovné 10, potom je upozornenie „Normálne“. Ak je množstvo väčšie ako 10, potom "Nadmerné množstvo".
  2. Vzorec na výpočet konečného zostatku. V dodatočnom stĺpci chce používateľ vidieť, aké akcie program vykonal, aby získal hodnotu konečného zostatku. To znamená, že vzorec „Počiatočný zostatok + Obrat = Konečný zostatok“, kde budú nahradené zodpovedajúce hodnoty.

Tu samozrejme mohol zasiahnuť programátor a zmeniť požiadavku na schému zloženia dát a nastavenia reportu, ale úlohu dokončíme v užívateľskom režime bez zmeny reportu v režime konfigurátora.

Ďalšie polia

A tak, začnime. Poďme na nastavenia možnosti prehľadu:

Pred nami sa otvorí konštruktor nastavení možností. správa SKD. Začnime ich vytvárať tak, že prejdeme na kartu „Vlastné polia“.

Snímka obrazovky už zobrazuje dve vytvorené vlastné polia, ktorých funkčnosť bola popísaná vyššie. Zvážte nastavenia každého z nich. Začnime s poľom Alert.

V setupe musíme nastaviť názov poľa, ktoré sa bude zobrazovať v prehľade, ako aj nastaviť výrazy pre generovanie hodnoty v poli podrobných záznamov a v súčtoch pre toto pole. Keďže upozornenie nie je potrebné zobrazovať v súčtoch, napíšeme výraz len pre podrobné záznamy.

Syntax výrazu je podobná dotazovaciemu jazyku 1C:Enterprise. Existujú určité rozdiely, ale v tomto článku sa ich nebudeme podrobne dotýkať. Výraz používa operátor výberu:

"Choice When Then Inse End",

podobne ako operátor v dopytovacom jazyku. Polia vo výrazoch vlastných polí sú špecifikované ich reprezentáciou. Aby platforma pochopila, že zadaný pohľad označuje určité pole, názov zobrazenia je ohraničený hranatými zátvorkami „“. Ak má reprezentácia poľa jedno slovo, hranaté zátvorky sú voliteľné. Vo vyššie uvedenom príklade odkazujeme na pole „Konečný zostatok“.

Nastavenia poľa "Vzorec na výpočet konečného zostatku" sú nastavené podobne:


Tu je potrebné spomenúť niektoré nuansy:

  1. Vzorec môžeme zobraziť iba v bunke ako reťazec. Preto všetky číselné hodnoty konvertujeme na reťazec pomocou metódy „String()“ výrazového jazyka ACS, ktorá prevedie ľubovoľnú hodnotu na reťazec. Potom vykonáme zreťazenie reťazcov.
  2. Aby sa pole zobrazovalo v súčtoch výkazov, dodajme podobný vzorec aj do vyjadrenia súčtových záznamov. Stačí pridať agregačné funkcie "SUM()" pre každú hodnotu podľa súčtu.

Všetko je pripravené na použitie polí v prehľade!

Nastavenie a generovanie reportu

Do výstupných polí výkazu sa pridá pole „Vzorec pre výpočet konečného zostatku“:

Pridá sa výraz „Upozornenie“. podrobné záznamy nomenklatúry. Ak to chcete urobiť, pridajte pole výrazu „Upozornenie“ do skupiny „Nomenklatúra“. Potom bude mať štruktúra správy nasledujúcu formu:

Nastavenie prehľadu je teraz dokončené. V prípade potreby je možné pridané nastavenia uložiť na opätovné použitie. Vytvorme prehľad:

Ako vidíme, do zostavy boli pridané polia v súlade s podmienkami úlohy. Zároveň nebolo potrebné upravovať zostavu v režime konfigurátora. Toto je hlavná výhoda vlastných polí! Používateľ, ktorý bol zaškolený na ich používanie, si pomocou nich môže vytvoriť report vlastných požiadaviek sám, bez účasti programátora.

Verte mi, môžete ho naučiť používať tieto funkcie, pretože je to oveľa jednoduchšie ako písanie vzorcov v excelovských tabuľkách.