Vypočítané pole v SKD 1s 8.2. SKD. Zobrazenie tabuľkových informácií v jednej bunke. Čo je vypočítané pole

1. Vypočítať (hodnotiť)- je určený na hodnotenie výrazu v kontexte nejakého zoskupenia. Táto funkcia sa používa na zabezpečenie kompatibility s predchádzajúce verzie platformy. Namiesto toho sa odporúča použiť funkciu CalculateExpression.

Syntax:
Vypočítať (výraz, zoskupenie, typ výpočtu)

Možnosti :

  • Výraz(Čiarka). Obsahuje vypočítaný výraz;
  • Zoskupovanie(Čiarka). Obsahuje názov zoskupenia, v kontexte ktorého sa má výraz vyhodnotiť. Ak sa použije názov skupiny prázdny riadok, výpočet sa vykoná v kontexte aktuálneho zoskupenia. Ak sa ako názov skupiny 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 rovnakým názvom.
    Napríklad:
    Súčet(Predaj.SúčetObrat) / Vypočítať("Súčet(Predaj.SúčetObrat)", "Celkom").
    IN v tomto príklade výsledkom bude pomer sumy za pole „Sales.SumTurnover“ záznamu zoskupenia k sume toho istého poľa v celom rozložení.
  • Typ výpočtu(Čiarka). Ak je tento parameter nastavený na "TotalTotal", výraz sa vypočíta pre všetky záznamy zoskupenia. Ak je hodnota parametra "Zoskupenie", hodnoty sa vypočítajú pre aktuálny záznam skupiny zoskupenia.
2. Vyhodnoťte výraz (EvalExpression) - je určený na hodnotenie výrazu v kontexte nejakého zoskupenia. Funkcia berie do úvahy výber zoskupení, ale nezohľadňuje hierarchické výbery. Funkciu nemožno použiť na zoskupenie vo výbere skupiny tohto zoskupenia.

Syntax:
CalculateExpression(Výraz, Zoskupenie, Typ výpočtu, Začiatok, Koniec, Zoradiť, Hierarchické Zoradenie, SpracovanieIdentickéHodnoty objednávky)

Možnosti :

  • Výraz(Čiarka). Obsahuje vypočítaný výraz;
  • Zoskupovanie(Čiarka). 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 skupiny 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;
  • Typ výpočtu(Čiarka). Ak je tento parameter nastavený na "TotalTotal", výraz sa vypočíta pre všetky záznamy zoskupenia. Ak je hodnota parametra "Zoskupenie", hodnoty sa vypočítajú pre aktuálny záznam skupiny zoskupenia. Ak je parameter nastavený na "Zoskupenie bez zdrojov", potom pri výpočte funkcie pre skupinový záznam podľa prostriedku sa výraz vyhodnotí pre prvý skupinový záznam pôvodného zoskupenia. Pri vyhodnocovaní funkcie CalculateExpression s hodnotou "GroupingNonResource" pre skupinové záznamy, ktoré nie sú zoskupeniami podľa zdroja, sa funkcia vyhodnotí rovnako, ako by bola vyhodnotená s hodnotou parametra "Grouping". Zostavovač rozloženia zloženia údajov pri generovaní rozloženia zloženia údajov pri výstupe poľa – zdroja, pomocou ktorého sa vykonáva zoskupovanie, do rozloženia, vygeneruje do rozloženia výraz vypočítaný pomocou funkcie CalculateExpression so zadaným parametrom „GroupingNon-Resource“. Pre ostatné prostriedky zoskupené podľa prostriedku sa vrátia normálne výrazy prostriedkov. Ak je parameter nastavený na "Hierarchy", potom výraz musí byť vyhodnotený pre nadradený hierarchický záznam, ak existuje, a pre celé zoskupenie, ak neexistuje žiadny nadradený hierarchický záznam. Tvorca rozloženia pri generovaní výrazu pre pole % v skupine hierarchie vygeneruje výraz obsahujúci vzťah výrazu zdroja k funkcii CalculateExpression pre výraz zdroja, ktorý sa počíta pre aktuálne zoskupenie s typom výpočtu Hierarchy.
  • Štart. Označuje, ktorým záznamom by sa mal začať fragment, v ktorom sa má počítať agregované funkcie výrazy a z akého záznamu získať hodnoty polí mimo agregovaných funkcií. Reťazec obsahujúci jeden z:
    • "Najprv" Je potrebné získať prvý záznam o zoskupení. Za slovom v zátvorkách môžete zadať výraz, ktorého výsledok sa použije ako posun od začiatku zoskupenia. Výsledná hodnota musí byť celé číslo väčšie ako nula. Napríklad First(3) – príjem tretieho záznamu od začiatku zoskupenia. Ak je prvý záznam mimo zoskupenia, má sa za to, že neexistujú žiadne záznamy. Napríklad, ak existujú 3 záznamy a chcete získať Prvý(4), predpokladá sa, že neexistujú žiadne záznamy.
    • "Posledný" Potrebujete získať posledný záznam o zoskupení. Za slovom v zátvorkách môžete zadať výraz, ktorého výsledok sa použije ako posun od konca zoskupenia. Výsledná hodnota musí byť celé číslo väčšie ako nula. Napríklad Last(3) – príjem tretieho záznamu od konca skupiny. Ak posledný záznam ide nad rámec zoskupenia, má sa za to, že neexistujú žiadne záznamy. Napríklad, ak existujú 3 záznamy a chcete získať Last(4), potom sa predpokladá, že neexistujú žiadne záznamy.
    • "Predchádzajúci" Musíte získať predchádzajúci záznam zoskupenia. Za slovom v zátvorkách môžete zadať výraz, ktorého výsledok sa použije ako spätný posun od aktuálneho záznamu zoskupenia. Napríklad Previous(2) – získanie predchádzajúceho z predchádzajúceho záznamu. Ak je predchádzajúci záznam mimo zoskupenia (napríklad druhý záznam zoskupenia vyžaduje získanie predchádzajúceho(3)), získa sa prvý záznam zoskupenia. Pri prijatí predchádzajúceho záznamu pre súčet zoskupenia sa získa prvý záznam.
    • "Ďalšie" Musíte získať ďalší záznam zoskupenia. Za slovom v zátvorkách môžete zadať výraz, ktorého výsledok sa použije ako posun vpred od aktuálnej položky zoskupenia. Napríklad Next(2) – získanie ďalšieho z nasledujúceho záznamu. Ak ďalší záznam presahuje zoskupenie, má sa za to, že neexistujú žiadne záznamy. Napríklad, ak sú 3 záznamy a tretí záznam dostane Next, potom sa má za to, že neexistujú žiadne záznamy. Keď je prijatý ďalší záznam pre súčet zoskupenia, považuje sa to za neexistujúce žiadne záznamy.
    • "Aktuálny". Potrebujete získať aktuálny záznam. Pri získavaní celkového súčtu zoskupení sa získa prvý záznam.
    • "Hodnota hranice". Potreba získať záznam o zadanej hodnote. Za slovom LimitingValue v zátvorkách musíte uviesť výraz, ktorého hodnotou chcete začať fragment, prvé pole usporiadania. Prvý záznam, ktorého hodnota poľa objednávky je väčšia alebo rovná zadanej hodnote, sa vráti ako záznam. Napríklad, ak sa pole Obdobie používa ako pole objednávky a má hodnoty 01/01/2010, 02/01/2010, 03/01/2010 a chcete získať LimitingValue(DateTime(2010 , 1, 15)), potom sa získa záznam s dátumom 02/01. 2010.
  • Koniec. Označuje, do ktorého záznamu by mal fragment pokračovať, v ktorom by sa mal vypočítať agregovaný výraz. Reťazec obsahujúci jeden z:
    • "Najprv"
    • "Posledný"
    • "Predchádzajúci"
    • "Ďalšie"
    • "Aktuálny".
    • "Hodnota hranice".
  • Triedenie. Reťazec, ktorý uvádza výrazy oddelené čiarkami, v smere ktorých by mala byť sekvencia zoradená. Ak nie je uvedené, zoradenie sa vykoná rovnakým spôsobom ako pri zoskupení, pre ktoré sa výraz vyhodnocuje. Po každom výraze môžete zadať kľúčové slovo Asc, pre zoradenie vo vzostupnom poradí, Descending, pre zoradenie v zostupnom poradí, Auto Order, pre zoradenie referenčných polí podľa polí, podľa ktorých chcete zoradiť objekt, na ktorý sa odkazuje. Slovo Auto Order možno použiť so slovom Ascending aj so slovom Descending.
  • Hierarchické triedenie. Podobne ako pri triedení. Používa sa na organizáciu hierarchických záznamov. Ak nie je zadané, zostavovateľ rozloženia vygeneruje poradie podľa poradia zadaného v parametri Zoradiť.
  • Spracovanie rovnakých hodnôt objednávky. Reťazec obsahujúci jeden z:
    • „Spolu“ znamená, že postupnosť usporiadaných záznamov sa používa na určenie predchádzajúcich a nasledujúcich záznamov;
    • „Samostatne“ znamená, že predchádzajúci a nasledujúci záznam sú určené na základe hodnôt výrazov usporiadania;
    Napríklad, ak je výsledná sekvencia zoradená podľa dátumu:
    1. 1. januára 2001 Ivanov M. 10
    2. januára 2001 Petrov S. 20
    3. 2. januára 2001 Sidorov R. 30
    4. 3. januára 2001 Petrov S. 40
    Pri použití spracovania identických hodnôt objednávky "Oddelene" bude predchádzajúci pre záznam 3 záznam 2 a pri použití "Spolu" - záznam 1. A fragment pre aktuálny záznam pre záznam 2 pre "Oddelene" bude záznam 2 a pre "Spolu" - záznamy 2 a 3. Čiže súčet pre aktuálny záznam pre "Oddelene" bude 20 a pre "Spolu" - 50. Keď je "Spolu" špecifikované v Štart a Koncové parametre, nemôžete určiť posun pre pozície „Prvá“, „Posledná“, „Predchádzajúca“, „Nasledujúca“. Predvolená hodnota je "Oddelené".
Príklad:
Získanie pomeru sumy pre pole „Sales.AmountTurnover“ záznamu zoskupenia k sume v rovnakom poli v celom rozložení:
Súčet(Predaj.SúčetObrat) / VypočítajteVýraz("Súčet(Predaj.SúčetObrat)", "Celkom").

Tento príklad vypočítava hodnotu aktuálnej hierarchie:
Voľba
Keď Level() > 0
Potom EvaluateExpression("Referencia", "Hierarchia")
Inak Null
Koniec

Poznámky:
Funkcia berie do úvahy výber zoskupení, ale nezohľadňuje hierarchické výbery. Funkciu nemožno použiť na zoskupenie vo výbere skupiny tohto zoskupenia. Napríklad pri výbere zoskupenia Nomenklatúra nemôžete použiť výraz CalculateExpression("Sum(SumTurnover)", "TotalTotal") > 1000 . Ale takýto výraz možno použiť pri hierarchickom výbere. Ak koncový záznam predchádza počiatočnému záznamu, potom sa má za to, že neexistujú žiadne záznamy na výpočet podrobných údajov a výpočet súhrnných funkcií. Pri výpočte intervalových výrazov pre celkový súčet (parameter Zoskupenie je nastavený na "GrossTotal") sa predpokladá, že neexistujú žiadne záznamy na výpočet podrobných údajov a výpočet agregovaných funkcií. Pri generovaní výrazu pre funkciu CalculateExpression nahradí zostavovateľ rozloženia, ak výraz usporiadania obsahuje polia, ktoré nemožno použiť pri zoskupovaní, funkciu CalculateExpression hodnotou NULL.

3. Vyhodnoťte výraz so skupinovým poľom (EvalExpression so skupinovým poľom) - funkcia vracia pole, ktorého každý prvok obsahuje výsledok výpočtu výrazu pre zoskupenie podľa zadaného poľa.

Syntax:
CalculateExpressionWithGroupArray (Výraz, GroupFieldExpressions, SelectRecords, SelectGroups)

Možnosti :

  • Výraz(String) – výraz, ktorý sa má vyhodnotiť. Napríklad "Suma(SumaObratu)";
  • FieldExpressionsGroups
  • Výber záznamov
  • Výber skupín- výber aplikovaný na záznamy skupiny. Napríklad: "Suma(SumaObrat) > &Parameter1".
Príklad:
Maximum(CalculateExpressionWithGroupArray("Suma(SumaTurnover)", "Protistrana"));


Tvorca rozloženia pri generovaní výrazov na zobrazenie vlastného poľa, ktorého výraz obsahuje iba funkciu CalculateArrayWithGroup, vygeneruje výraz zobrazenia tak, aby údaje zobrazené zobrazeniami a údaje boli usporiadané.
Napríklad pre vlastné pole s výrazom:
CalculateExpressionWithGroupArray("Suma(SumaTurnover)", "Protistrana")
Tvorca rozloženia vygeneruje pre výstup nasledujúci výraz:
ConnectRows(Array(Order(CalculateExpressionWithGroupingValueTable("View(Sum(DataSet.AmountTurnover)), Amount (DataMet.AmountTurnover)", "DataSet.Account"), "2")))

4. Výpočet výrazu pomocou GroupValueTable (EvalExpressionWithGroupValueTable) - funkcia vracia tabuľku hodnôt, ktorej každý prvok obsahuje výsledok výpočtu výrazu pre zoskupenie podľa zadaného poľa.

Syntax:
CalculateExpressionWithGroupValueTable (výraz, výrazy v poli skupiny, výber záznamov, výber skupiny)

Možnosti :

  • Výraz(String) – výraz, ktorý sa má vyhodnotiť. Riadok môže obsahovať viacero výrazov oddelených čiarkami. Za každým výrazom môže byť voliteľné kľúčové slovo AS a názov stĺpca tabuľky hodnôt. Napríklad: "Protistrana, suma (suma obratu) ako objem predaja."
  • FieldExpressionsGroups- výrazy zoskupení polí, oddelené čiarkami. Napríklad „Protistrana, strana“;
  • Výber záznamov- výraz aplikovaný na podrobné záznamy. Napríklad „Príznak odstránenia = False“. Ak v tento parameter je použitá agregačná funkcia, pri skladaní údajov dôjde k chybe;
  • Výber skupín- výber aplikovaný na záznamy skupiny. Napríklad: "Suma(SumaObrat) > &Parameter1".
Príklad:
Vypočítajte výraz pomocou zoskupovacej tabuľky hodnôt („Účet ako protistrana, suma (obrat sumy) ako objem predaja“, „účet“)

Výsledkom tejto funkcie bude tabuľka hodnôt so stĺpcami Protistrana a Objem predaja, ktorá bude obsahovať protistrany s ich objemami predaja.
Kompozitor rozloženia pri generovaní rozloženia konvertuje parametre funkcií na polia rozloženia kompozície údajov. Napríklad pole Účet sa skonvertuje na DataSet.Account.
Napríklad vlastné pole s výrazom:
CalculateExpressionWithGroupValueTable("účet, čiastka (suma obratu)", "účet")
Tvorca rozloženia vygeneruje pre výstup nasledujúci výraz:
ConnectRows(GetPart(Order(CalculateExpressionWithGroupingValueTable)("DataSet.Account, DataSet.AccountRepresentation, Sum(DataSet.AmountTurnover), View(DataSet.AmountTurnover), DataSet.OrderingField", "ccount"),5Množina. ), "2, 4"))

5. Úroveň - funkcia je určená na získanie aktuálnej úrovne nahrávania.

Syntax:
úroveň()

Príklad:
úroveň()

6. SequenceNumber - získajte ďalšie sériové číslo.

Syntax:
NumberByOrder()

Príklad:
NumberByOrder()

7. SequenceNumberInGrouping - vráti ďalšie poradové číslo v aktuálnom zoskupení.

Príklad:
NumberByOrderInGroup()

8. Formátovať - získať naformátovaný reťazec odovzdanej hodnoty.

Syntax:
Formát (hodnota, reťazec formátu)

Možnosti :

  • Význam- výraz, ktorý je potrebné naformátovať;
  • FormatString- formátovací reťazec je nastavený v súlade s formátovací reťazec 1C: Podnik.
Príklad:
Format(Invoices.Doc Amount, "NPV=2")

9. BeginOfPeriod

Syntax:
StartPeriod (dátum, typ obdobia)

Možnosti :

  • dátum(Dátum). Určený dátum;
  • Typ obdobia
Príklad:
StartPeriod(DateTime(2002, 10, 12, 10, 15, 34), "Mesiac")
Výsledok: 10/01/2002 0:00:00

10. EndOfPeriod - funkcia je určená na výber konkrétneho dátumu z daného dátumu.

Syntax:
EndPeriod (dátum, typ obdobia)

Možnosti :

  • dátum(Dátum). Určený dátum;
  • Typ obdobia(Čiarka). Obsahuje jednu z nasledujúcich hodnôt: Minúta; Hodina; deň; Týždeň; mesiac; štvrťrok; Rok; desaťročie; Polrok.
Príklad:
EndPeriod(DateTime(2002, 10, 12, 10, 15, 34), "Týždeň")
Výsledok: 13.10.2002 23:59:59

11. AddKDate (DateAdd) - funkcia je určená na pridanie určitej hodnoty k dátumu.

Syntax:
AddToDate (výraz, typ prírastku, veľkosť)

Možnosti :

  • Výraz(Dátum). Pôvodný dátum;
  • TypeMagnification(Čiarka). Obsahuje jednu z nasledujúcich hodnôt: Minúta; Hodina; deň; Týždeň; mesiac; štvrťrok; Rok; desaťročie; Polrok.
  • Rozsah(Číslo). O koľko je potrebné dátum zvýšiť, zlomková časť sa ignoruje.
Príklad:
AddToDate(DateTime(2002, 10, 12, 10, 15, 34), "Mesiac", 1)
Výsledok: 11. 12. 2002 10:15:34

12. DateDifference - funkcia je navrhnutá tak, aby získala rozdiel medzi dvoma dátumami.

Syntax:
Dátum rozdielu (Výraz1, Výraz2, Typ rozdielu)

Možnosti :

  • Výraz1(Dátum). Odpočítaný dátum;
  • Výraz2(Dátum). Pôvodný dátum;
  • Typový rozdiel(Čiarka). Obsahuje jednu z hodnôt: Druhá; minúta; Hodina; deň; mesiac; štvrťrok; rok.
Príklad:
DATEDIFFERENCE(DATETIME(2002, 10, 12, 10, 15, 34),
DATETIME(2002, 10, 14, 9, 18, 06); "DAY")
Výsledok: 2

13. Podreťazec - túto funkciu je určený na extrahovanie podreťazca z reťazca.

Syntax:
Podreťazec (reťazec, poloha, dĺžka)

Možnosti :

  • Linka(Čiarka). Reťazec, z ktorého sa extrahuje podreťazec;
  • pozícia(Číslo). Pozícia znaku, od ktorej začína podreťazec, ktorý sa má z reťazca extrahovať;
  • Dĺžka(Číslo). Dĺžka prideleného podreťazca.
Príklad:
SUBSTRING(Accounts.Address, 1, 4)

14. Dĺžka struny - funkcia je určená na určenie dĺžky reťazca.

Syntax:
StringLength(String)

Parameter:

  • Linka(Čiarka). Reťazec, ktorého dĺžka je určená.
Príklad:
Riadok (Protistrany.Adresa)

15. Ročník- táto funkcia je navrhnutá tak, aby extrahovala rok z hodnoty typu Dátum.

Syntax:
rok (dátum)

Parameter:

  • dátum(Dátum). Dátum, do ktorého je určený rok.
Príklad:
ROK(výdavky.dátum)

16. Štvrťrok - táto funkcia je navrhnutá tak, aby extrahovala štvrťročné číslo z hodnoty typu Dátum. Číslo štvrťroka sa zvyčajne pohybuje od 1 do 4.

Syntax:
štvrťrok (dátum)

Parameter:

  • dátum(Dátum). Dátum, do ktorého je určený štvrťrok
Príklad:
ŠTVRŤ(výdavok.dátum)

17. mesiac - táto funkcia je určená na extrahovanie čísla mesiaca z hodnoty typu Dátum. Číslo mesiaca sa zvyčajne pohybuje od 1 do 12.

Syntax:
mesiac (dátum)

Parameter:

  • dátum(Dátum). Dátum, do ktorého je určený mesiac.
Príklad:
MESIAC(výdavky.dátum)

18. Deň v roku (DayOfYear) - táto funkcia je určená na získanie dňa v roku z hodnoty typu Dátum. Deň v roku sa zvyčajne pohybuje od 1 do 365 (366).

Syntax:
Deň v roku (dátum)

Parameter:

  • dátum(Dátum). Dátum, ktorým sa určuje deň v roku.
Príklad:
DAYYEAR(ExpenseAccount.Date)

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

Syntax:
deň (dátum)

Parameter:

  • dátum(Dátum). Dátum, ktorým sa určuje deň v mesiaci.
Príklad:
DAY(Dátum výdavkov)

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

Syntax:
týždeň (dátum)

Parameter:

  • dátum(Dátum). Dátum, podľa ktorého sa určujú čísla týždňov.
Príklad:
WEEK(Dátum výdaja)

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

Syntax:
Deň v týždni (dátum)

Parameter:

  • dátum(Dátum). Dátum, podľa ktorého sa určuje deň v týždni.
Príklad:
DEŇ TÝŽDŇA (dátum faktúry výdavkov)

22. hodina- táto funkcia je určená na získanie hodiny dňa z hodnoty typu Dátum. Hodina dňa sa pohybuje od 0 do 23.

Syntax:
hodina (dátum)

Parameter:

  • dátum(Dátum). Dátum, podľa ktorého je určená hodina dňa.
Príklad:
HODINA (Výdavok. Dátum)

23. Minúta - táto funkcia je určená na získanie minúty v hodine z hodnoty typu Dátum. Minúta hodiny sa pohybuje od 0 do 59.

Syntax:
minúta (dátum)

Parameter:

  • dátum(Dátum). Dátum, podľa ktorého sa určuje minúta hodiny.
Príklad:
MINUTE(dátum.výdavku)

24. Po druhé - táto funkcia je určená na získanie sekundy minúty z hodnoty typu Dátum. Sekunda minúty je v rozsahu od 0 do 59.

Syntax:
Druhý (dátum)

Parameter:

  • dátum(Dátum). Dátum, podľa ktorého sa určujú sekundy minúty.
Príklad:
DRUHÝ(dátum.výdavku)

25. Obsadenie - táto funkcia je určená na extrahovanie typu z výrazu, ktorý môže obsahovať zložený typ. Ak výraz obsahuje iný než požadovaný typ, vráti sa NULL.

Syntax:
Express(expression, TypeIndication)

Možnosti :

  • Výraz- výraz, ktorý sa má previesť;
  • Označenie typu(Čiarka). Obsahuje reťazec typu. Napríklad "Číslo", "Reťazec" atď. Okrem primitívnych typov daný riadok môže obsahovať názov tabuľky. V tomto prípade sa pokúsime vyjadriť odkaz na zadanú tabuľku.
Príklad:
Express(Data.Props1, "Number(10;3)")

26. IsNull (IsNull) - 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.

Syntax:
IsNull(Výraz1, Výraz2)

Možnosti :

  • Výraz1- hodnota, ktorá sa má skontrolovať;
  • Výraz2- návratová hodnota, ak má Výraz1 hodnotu NULL.
Príklad:
ÁnoNULL(Suma(Sales.AmountTurnover), 0)

27.ACos- vypočíta arkus-kosínus v radiánoch.

Syntax:
ACos (výraz)

Parameter:

  • Výraz(Číslo). Hodnota kosínusu (v rozsahu -1 ... 1), podľa ktorej je určený uhol.
28.ASin- vypočíta arcsínus v radiánoch.

Syntax:
ASin (výraz)

Parameter:

  • Výraz(Číslo). Sínusová hodnota (v rozsahu -1 ... 1), podľa ktorej je určený uhol.
29.ATan- vypočíta arkustangens v radiánoch.

Syntax:
ATan (výraz)

Parameter:

  • Výraz(Číslo). Hodnota dotyčnice, podľa ktorej je určený uhol.
30.Cos- vypočíta kosínus.

Syntax:
Cos (výraz)

Parameter:

  • Výraz
31. Exp- zvýšenie čísla e na mocninu.

Syntax:
Exp (výraz)

Parameter:

  • Výraz(Číslo). Význam stupňa.
32.Log- vypočíta prirodzený logaritmus.

Syntax:
Denník (výraz)

Parameter:

  • Výraz
33.Log10- vypočíta logaritmus X so základom 10.

Syntax:
Log10 (výraz)

Parameter:

  • Výraz(Číslo). Pôvodné číslo je väčšie ako 0.
34. Pow- umocňovanie.

Syntax:
Pow (základ, indikátor)

Možnosti :

  • Základňa(Číslo). Základ operácie umocňovania.
  • Index(Číslo). Exponent.
35. Hriech- vypočíta sínus.

Syntax:
hriech (výraz)

Parameter:

  • Výraz(Číslo). Udáva sa v radiánoch.
36. Sqrt- vypočíta druhú odmocninu.

Syntax:
Sqrt (výraz)

Parameter:

  • Výraz(Číslo). Nezáporné číslo.
37. Tan- vypočíta tangens.

Syntax:
Tan (výraz)

Parameter:

  • Výraz(Číslo). Sínusová hodnota, podľa ktorej je uhol určený.
38. Okrúhle- zaokrúhli pôvodné číslo na požadovanú bitovú hĺbku. Režim zaokrúhľovania je štandardný (1,5 ako 2).

Syntax:
Env (výraz, bitová hĺbka)

Možnosti :

  • Výraz(Číslo). Pôvodné číslo;
  • Bitová hĺbka(Číslo). Počet desatinných miest na zaokrúhlenie.
39. Int- odreže zlomkovú časť čísla.

Syntax:
objekt (výraz)

Parameter:

  • Výraz(Číslo). Zlomkové číslo.
40. Funkcie spoločných modulov

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

Príklad:
Skrátený názov (Documents.Link, Documents.Date, Documents.Number)

V tomto príklade bude funkcia "AbbreviatedName" volaná z modulu všeobecnej konfigurácie.
Všimnite si, že používanie spoločných funkcií modulu je povolené len vtedy, ak je špecifikovaný príslušný parameter procesora zloženia údajov.
Okrem toho funkcie bežných modulov nemožno použiť vo výrazoch vlastných polí.

41. Odpor - táto funkcia vracia reťazcovú reprezentáciu odovzdanej hodnoty neprimitívneho typu. Pre hodnoty primitívneho typu vráti samotnú hodnotu.

<Пустое значение>".

Príklad:
Prezentácia (protistrana)

42. Šnúrka - táto funkcia konvertuje odovzdanú hodnotu na reťazec.

Ak sa ako parameter použije pole alebo tabuľka hodnôt, funkcia vráti reťazec obsahujúci reťazec reprezentujúci všetky prvky poľa oddelené znakmi „;“. Ak má akýkoľvek prvok prázdnu reprezentáciu reťazca, potom reťazec "<Пустое значение>".

Príklad:
Riadok (dátum predaja)

43. ValueIsFilled

Pre hodnoty NULL, Undefined vždy vráti False.
Pre boolovské hodnoty vždy vráti hodnotu True.
Pre ostatné typy vráti True, ak sa hodnota líši od predvolenej hodnoty pre tohto typu.

Príklad:
ValueFilled(DeliveryDate)

44. LevelInGroup - táto funkcia získa aktuálnu úroveň nahrávania vzhľadom na zoskupenie.

Môže sa použiť na získanie úrovne vnorenia záznamu v hierarchickom zoskupení.

Príklad:
LevelInGroup()

45. ValueType

Syntax:
ValueType (výraz)

Parameter:

  • Výraz(Čiarka). Typ hodnoty reťazca.
Vráti hodnotu typu Type obsahujúcu typ hodnoty parametra funkcie.

Prihláste sa na stránku ako študent

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

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

Účelom tejto lekcie bude:

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

Vytvorte nový prehľad

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

Typ dokumentu - externá správa:

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

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

Pridanie požiadavky cez konštruktor

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

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

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

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

Dopadlo to takto:

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

Vytváranie nastavení prezentácie zostavy

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

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

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

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

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

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

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

Zmena poradia stĺpcov

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

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

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

Zhrňme si obsah kalórií

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

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

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

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

Uložíme a vygenerujeme prehľad:

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

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

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

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

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

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

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

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

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

Dopadlo to takto:

Uložíme a vygenerujeme prehľad:

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

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

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

Uložíme a vygenerujeme prehľad:

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

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

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

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

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

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

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

Správne používanie schémy zloženia údajov (DCS) vám umožňuje:

Nie všetci vývojári však maximálne využívajú možnosti schémy, pretože nie všetky jej nastavenia sú zrejmé a intuitívne. Najmä veľa ľudí vie, že v 1C SKD sú vypočítané polia, ale úplne nerozumejú rozsahu ich použitia a spôsobu práce s nimi.

Čo je vypočítané pole

Vo väčšine prípadov je zdrojom údajov v diagrame rozloženia dopyt. V zásade už v rámci samotného dotazu môžete použiť rôzne vzorce, konštrukcie a výrazy. Vzniká prirodzená otázka: prečo potrebujeme duplicitné funkcie?

Faktom je, že systém kontroly prístupu je niečo viac ako len zobrazenie výsledku dotazu, čo je jasne viditeľné z formulára na vytvorenie diagramu (obr. 1).

Vypočítané polia vám umožňujú vykonávať určité akcie s vygenerovanou množinou údajov:

  • Výstup poľa údajov prijatých požiadavkou do špecifickej bunky, kombinovaním niekoľkých riadkov do jedného;
  • Prístup k exportným funkciám všeobecného modulu;
  • Spustite rôzne výrazy dostupné pre jazyk rozloženia a použite špeciálne funkcie EvaluateExpression.

Poďme si prejsť tento zoznam.

Pole hodnôt v jednej bunke

Simulujme situáciu, keď je potrebné prijať všetky čísla príjmových dokladov pre protistranu v samostatnej bunke:


Preto sme v našej schéme vytvorili ďalšie pole výpočtu;


Ako vidíte z vyššie uvedeného príkladu, pri pridávaní a spracovaní vypočítaných polí nie sú žiadne ťažkosti. Použili sme dve funkcie: Array() a ConnectRows().

Pár slov o tom druhom. Okrem prvého parametra, ktorý označuje identifikátor poľa, hodnoty alebo hodnotu, je možné v ňom nastaviť ďalšie dva:

  1. Element Separator – označuje, ktorý znak oddelí jeden prvok poľa alebo jeden riadok tabuľky hodnôt od druhého (v našom prípade sme tento parameter vynechali a predvolene bol priradený zlom riadku);
  2. Oddeľovač stĺpcov – znak používaný na oddelenie stĺpcov tabuľky hodnôt (štandardne sa používa bodkočiarka).

Prístup k funkciám exportu spoločného modulu

Funkcie spoločného modulu môžu slúžiť ako zdroj údajov na vyplnenie vypočítaného poľa.

Niektorí dôležité body:

  • Funkcia musí byť exportovateľná;
  • Ak sa funkcia nachádza v spoločnom module s nastaveným atribútom „Global“, volá sa priamo menom, v opačnom prípade sa funkcia musí volať podľa schémy „Názov zdieľaného modulu“. "Názov funkcie, ktorá sa má volať."

Ako príklad použitia si zoberieme rovnakú požiadavku na príjmové doklady a zobrazíme ju v samostatnom stĺpci. Samotnú požiadavku nebudeme popisovať, prejdime priamo k vypočítaným poliam:


Vidíme teda, že zo systému riadenia prístupu je možné inicializovať takmer akýkoľvek dátový procesor, čo výrazne rozširuje možnosti využitia schémy.

Rozloženie jazykových výrazov

Pomerne často v práci vývojára nastáva situácia, keď je potrebné zobraziť výsledok rozdelenia v poli ACS:

  1. Vypočítajte priemernú cenu položky;
  2. Všetky druhy záujmov;
  3. Výpočty priemerného zárobku atď.

Aby sa predišlo problémom, v týchto prípadoch je vhodné zadať do výpočtového poľa test na delenie 0.

Dá sa to urobiť pomocou konštrukcie „Voľba, kedy….Potom… Inak… Koniec“.

Na záver pár slov o dosť Nová funkcia CalculateExpression(). S jeho pomocou môžete vypočítať najmä odchýlky v nákladoch medzi aktuálnym a predchádzajúcim riadkom, kumulatívny zostatok atď.

Povedzme, že môžete získať súčet dokumentov z predchádzajúceho riadku našej požiadavky zadaním hodnoty Vypočítať výraz ("súčet dokumentu", "predchádzajúci súčet") v poli "výraz".

Dobrý deň, milí čitatelia nášho blogu! Dnes vám chcem na skutočnom príklade povedať ako
použite funkcie ACS Array a JoinStrings. V článku o

tam bola malá zmienka o tom, ako pracovať s
na záložke
, tiež už bolo vysvetlené ako
pomocou karty „Zdroje“. Dnes im budeme opäť venovať pozornosť
záložky vo svetle našej témy.

Vzhľad príkladu správy 1C s použitím dvoch funkcií ACS Pole A ConnectRowsĎalšie:

Vyhlásenie problému pri používaní funkcií ACS Array a JoinStrings

Úloha: Do jednej bunky musíte vložiť všetky predajné čísla pre jeden produkt.

Niečo ako: nomenklatúra | množstvo | 001, 002 atď. |

Využijeme požiadavku do akumulačného registra „Realizácia TMZ“.

VYBERTE SI
Implementácia TMZ. registrátor. číslo,
Implementácia TMZ. nomenklatúra,
Implementácia TMZ. registrátor,
Implementácia TMZ. MnožstvoObrat
OD
Akumulačný register. Implementácia TMZ. Revolúcie
(, , Registrátor, ) AKO IMPLEMENTOVAŤ TMZ

Akumulačný register „Realizácia TMZ“ existuje v konfigurácii účtovníctva aj v konfigurácii Trade Enterprise Management (UTP). Zistite, ako nakonfigurovať USP v prvku adresára „Nomenclature“. Preto po stiahnutí môžete tento prehľad spustiť v oboch konfiguráciách a skontrolovať jeho funkčnosť.

Implementácia úlohy pomocou funkcií SKD Array a ConnectRows


Na vytvorenie boli použité rovnaké kroky, ale s niektorými doplnkami
.

Popis funkcie JoinStrings

JoinStrings

Používa sa na zreťazenie reťazcov do jedného reťazca.

Syntax:

ConnectRows (hodnota, oddeľovač položiek, oddeľovač stĺpcov)

Možnosti:

  1. Význam— výrazy, ktoré je potrebné spojiť do jedného riadku.
    Ak ide o pole, prvky poľa sa spoja do reťazca.
    Ak ide o tabuľku hodnôt, všetky stĺpce a riadky tabuľky sa spoja do jedného riadka;
  2. Oddeľovač prvkov- reťazec obsahujúci text, ktorý sa má použiť
    oddeľovač medzi prvkami poľa a riadkami tabuľky hodnôt. Default – znak posunu riadku;
  3. Oddeľovače stĺpcov-reťazec obsahujúci text, ktorý sa má použiť ako oddeľovač
    medzi stĺpcami tabuľky hodnôt. Predvolené ";".

Vo svetle nadchádzajúceho vydania 8.2.14 sa pokúsim popísať niektoré nové funkcie systému skladania údajov.

Otvorte diagram rozloženia údajov, najlepšie v externej správe, aby ste uľahčili úpravy.

Pridáme množinu údajov typu dotazu a napíšeme, buď manuálne alebo pomocou návrhára dotazov, jednoduchý dotaz:

1. Nastavte požiadavku v systéme kontroly prístupu.

2. Nastavte vypočítané polia v systéme riadenia prístupu

3. Na karte nastavení nakonfigurujte rozloženie údajov

4. Spustite 1C Enterprise 8.2.14. Otvorte prehľad. Tvoríme, prijímame.

Popis samotných nových funkcií:

1. Aktuálny dátum ()

Vráti systémový dátum. Pri vytváraní rozloženia rozloženia sa vo všetkých výrazoch, ktoré sa nachádzajú v rozložení, funkcia CurrentDate() nahradí hodnotou aktuálneho dátumu.

2. COMPUTEEXPRESSION()

Syntax:

CalculateExpression(,)

Popis:

Funkcia je určená na vyhodnotenie výrazu v kontexte nejakého zoskupenia.

Funkcia berie do úvahy výber zoskupení, ale nezohľadňuje hierarchické výbery.

Funkciu nemožno použiť na zoskupenie vo výbere skupiny tohto zoskupenia. Napríklad pri výbere zoskupenia Nomenklatúra nemôžete použiť výraz CalculateExpression("Sum(sumTurnover)", "TotalTotal") > 1000. Ale takýto výraz možno použiť pri hierarchickom výbere.

Ak koncový záznam predchádza počiatočnému záznamu, potom sa má za to, že neexistujú žiadne záznamy na výpočet podrobných údajov a výpočet súhrnných funkcií.

Pri výpočte intervalových výrazov pre celkový súčet (parameter Grouping je nastavený na GrandTotal) sa predpokladá, že neexistujú žiadne záznamy na výpočet podrobných údajov a výpočet agregovaných funkcií.

Layout linker pri generovaní funkčného výrazu CalculateExpression, ak objednávací výraz obsahuje polia, ktoré nemožno použiť pri zoskupovaní, nahrádza funkciu CalculateExpression na NULOVÝ.

možnosti

Typ: Linka. Výraz, ktorý sa má vyhodnotiť.

Typ: Linka. 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 skupiny použije reťazec GeneralTotal, 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 rovnakým názvom.

Napríklad:

Súčet(Predaj.SúčetTurnover)/Vypočítať("Súčet(Predaj.SumTurnover)", "Celkom")

V tomto príklade bude výsledkom pomer súčtu podľa polí Predaj.SumaObratu zoskupovanie záznamov podľa súčtu rovnakého poľa v celom rozložení;

Typ: Linka. Parameter môže nadobúdať nasledujúce hodnoty:

· úhrn— výraz sa vypočíta pre všetky záznamy zoskupenia.

· Hierarchia— výraz sa vyhodnotí pre nadradený hierarchický záznam, ak existuje, a pre celé zoskupenie, ak nadradený hierarchický záznam neexistuje.

· Zoskupovanie— výraz sa vyhodnotí pre aktuálny záznam zoskupenia skupín.

· ZoskupenieNonResource— pri výpočte funkcie pre skupinový záznam podľa zdrojov sa výraz vypočíta pre prvý skupinový záznam pôvodného zoskupenia.

Pri výpočte funkcie CalculateExpression() so zmyslom ZoskupenieNonResource pre skupinové záznamy, ktoré nie sú zoskupené podľa zdrojov, sa funkcia vypočíta rovnakým spôsobom, ako by sa vypočítala, keby sa hodnota parametra rovnala hodnote Zoskupovanie.

Tvorca rozloženia zloženia údajov pri generovaní rozloženia zloženia údajov pri výstupe poľa zdroja, podľa ktorého sa zoskupenie vykonáva do rozloženia, umiestni do rozloženia výraz, ktorý sa vypočíta pomocou funkcie CalculateExpression() , označujúci parameter ZoskupenieNonResource. Pre ostatné zdroje sú obvyklé výrazy prostriedkov umiestnené v zoskupení prostriedkov.

Typ: Linka. Označuje, z ktorého záznamu by mal fragment začínať, v ktorých agregovaných výrazových funkciách by sa mali vypočítať a z ktorého záznamu sa majú získať hodnoty polí mimo agregovaných funkcií. Hodnota môže byť jedna z nasledujúcich:

· najprv

· posledný (posledný)

· Predchádzajúce

· Ďalej (Next)

· Aktuálne

· LimitingValue(Hodnota hranice) LimitingValue

Typ: Linka. Označuje, do ktorého záznamu by mal fragment pokračovať, v ktorom by sa mali vypočítať agregované funkcie výrazu. Hodnota môže byť jedna z nasledujúcich:

· najprv. Je potrebné získať prvý záznam o zoskupení. Za slovom v zátvorkách môžete zadať výraz, ktorého výsledok sa použije ako posun od začiatku zoskupenia. Výsledná hodnota musí byť celé číslo väčšie ako nula. Napríklad First(3) - príjem tretieho záznamu od začiatku zoskupenia.

Ak je prvý záznam mimo zoskupenia, má sa za to, že neexistujú žiadne záznamy. Napríklad, ak existujú 3 záznamy a chcete získať Prvý(4), predpokladá sa, že neexistujú žiadne záznamy.

· posledný (posledný). Potrebujete získať posledný záznam o zoskupení. Za slovom v zátvorkách môžete zadať výraz, ktorého výsledok sa použije ako posun od konca zoskupenia. Výsledná hodnota musí byť celé číslo väčšie ako nula. Napríklad Last(3) - príjem tretieho záznamu od konca skupiny.

Ak je posledný záznam mimo zoskupenia, má sa za to, že neexistujú žiadne záznamy. Napríklad, ak existujú 3 záznamy a chcete získať Last(4), potom sa predpokladá, že neexistujú žiadne záznamy.

· Predchádzajúce. Musíte získať predchádzajúci záznam zoskupenia. Za slovom v zátvorkách môžete zadať výraz, ktorého výsledok sa použije ako spätný posun od aktuálneho záznamu zoskupenia. Napríklad Previous(2) - získanie predchádzajúceho z predchádzajúceho záznamu.

Ak predchádzajúci záznam presahuje rámec zoskupenia (napríklad pre druhý záznam zoskupenia musíte získať Predchádzajúci(3)), získa sa prvý záznam zoskupenia.

Pri získavaní predchádzajúceho záznamu pre súčet zoskupenia sa považuje za získaný prvý záznam.

· Ďalej (Next). Musíte získať ďalší záznam zoskupenia. Za slovom v zátvorkách môžete zadať výraz, ktorého výsledok sa použije ako posun vpred od aktuálnej položky zoskupenia. Napríklad Next(2) - získanie ďalšieho z nasledujúceho záznamu.

Ak ďalší záznam presahuje zoskupenie, má sa za to, že neexistujú žiadne záznamy. Napríklad, ak existujú 3 položky a tretia položka dostane Next() , potom sa predpokladá, že neexistujú žiadne položky.

Keď je prijatý ďalší záznam pre súčet zoskupenia, považuje sa to za neexistujúce žiadne záznamy.

· Aktuálne. Potrebujete získať aktuálny záznam.

Pri získavaní celkového súčtu zoskupení sa získa prvý záznam.

· LimitingValue(Hodnota hranice). Potreba získať záznam o zadanej hodnote. Po slove LimitingValue v zátvorkách musíte uviesť výraz, ktorého hodnotou chcete začať fragment, prvé pole usporiadania.

Prvý záznam, ktorého hodnota poľa objednávky je väčšia alebo rovná zadanej hodnote, sa vráti ako záznam. Napríklad, ak sa pole Obdobie používa ako pole objednávky a má hodnoty 01/01/2010, 02/01/2010, 03/01/2010 a chcete získať LimitingValue(DateTime(2010, 1, 15)), potom bude prijatý záznam s dátumom 01.02.2010.

Typ: Linka. Uvádza výrazy oddelené čiarkami, ktoré popisujú pravidlá zoradenia. Ak nie je uvedené, zoradenie sa vykoná rovnakým spôsobom ako pri zoskupení, pre ktoré sa výraz vyhodnocuje. Po každom výraze môžete zadať kľúčové slovo Vek(pre objednávanie vo vzostupnom poradí), Zostupne(pre objednanie v zostupnom poradí) a Automatická objednávka(ak chcete zoradiť referenčné polia podľa polí, podľa ktorých chcete zoradiť referenčný objekt). Slovo Automatická objednávka možno použiť ako so slovom Vek, teda so slovom Zostupne.

Typ: Linka. Rovnaké ako parameter Triedenie. Používa sa na organizáciu hierarchických záznamov. Ak nie je zadané, zostavovateľ rozloženia vygeneruje poradie podľa poradia uvedeného v parametri Triedenie.

Typ: Linka. Určuje pravidlo na určenie predchádzajúceho alebo nasledujúceho záznamu v prípade, že existuje niekoľko záznamov s rovnakou hodnotou poradia:

· Oddelene označuje, že postupnosť usporiadaných záznamov sa používa na určenie predchádzajúcich a nasledujúcich záznamov. Predvolená hodnota.

· Spolu označuje, že predchádzajúce a nasledujúce záznamy sú určené na základe hodnôt výrazov usporiadania.

Napríklad, ak je výsledná sekvencia zoradená podľa dátumu:

dátum Celé meno Význam
1 1. januára 2001

Ivanov M.

10
2 2. januára 2001 Petrov S. 20
3 3. januára 2001 Sidorov R. 30
4 4. januára 2001 Petrov S. 40

Oddelene, To:

§ predchádzajúci záznam k záznamu 3 bude záznam 2.

Aktuálne, aktuálne(podľa toho parametre Štart A Koniec), potom pre záznam 2 bude tento fragment pozostávať z jedného záznamu 2. Výraz sa bude rovnať 20.

Ak je hodnota parametra Spolu, To:

§ predchádzajúci záznam k záznamu 3 bude záznam 1.

§ ak je fragment výpočtu definovaný ako Aktuálne, aktuálne(podľa toho parametre Štart A Koniec), potom pre záznam 2 bude tento fragment pozostávať zo záznamov 2 a 3. Výraz CalculateExpression("Sum(Value)", Current, Current) sa bude rovnať 50.

Pri zadávaní hodnoty parametra rovnajúcej sa Spolu, v parametroch Štart A Koniec nemôžete určiť posun pre pozície Prvý, Posledný, Predchádzajúci, Ďalší.

CalculateExpression("Sum(sumTurnover)", "First", "Current")

Ak chcete získať hodnotu zoskupenia v predchádzajúcom riadku, môžete použiť nasledujúci výraz:

CalculateExpression("Rate", "Previous")

Zoznam Nový funkcie:

CalculateExpressionWithGroupArray(,) -

Funkcia vracia pole, ktorého každý prvok obsahuje výsledok vyhodnotenia výrazu na zoskupenie podľa zadaného poľa.

CalculateExpressionWithGroupValueTable(,) -

Funkcia vracia tabuľku hodnôt, ktorej každý riadok obsahuje výsledok vyhodnotenia výrazov na zoskupenie podľa zadaného poľa

ValueFilled() - Vráti True, ak je hodnota iná ako predvolená hodnota tohto typu, iná ako NULL, iná ako prázdna referencia, iná ako Nedefinované. Booleovské hodnoty sa kontrolujú na hodnoty NULL. Reťazce sa kontrolujú, či neobsahujú znaky bez medzier

Formátovať(, ) - Prijať formátovaný reťazec odovzdanej hodnoty. Formátovací reťazec je nastavený v súlade s formátovacím reťazcom systému 1C:Enterprise.

Podreťazec(, , ) – Táto funkcia je určená na extrahovanie podreťazca z reťazca.

Dĺžka čiary() - Funkcia je určená na určenie dĺžky reťazca. Parameter je reťazcový výraz

Linka() - Ak je pole odovzdané ako parameter, funkcia vráti reťazec obsahujúci reťazcové reprezentácie všetkých prvkov poľa oddelené znakmi ";". Ak je tabuľka hodnôt odovzdaná ako parameter, funkcia vráti reťazec obsahujúci reťazcové reprezentácie všetkých riadkov tabuľky hodnôt, pričom reprezentácie buniek každého riadku sú oddelené znakmi „;“ a riadky novým riadkom. charakter. Ak je reťazcová reprezentácia prvku prázdna, potom sa namiesto jej reprezentácie zobrazí reťazec.