itthon / Windows Leckék / Számított mezők skd 1s 8.3 példában. Adatösszetételi rendszer kifejezési nyelve (1Cv8). Mi az a számított mező

Számított mezők skd 1s 8.3 példában. Adatösszetételi rendszer kifejezési nyelve (1Cv8). Mi az a számított mező

1. Számítás (Eval)- úgy tervezték, hogy egy kifejezést valamilyen csoportosítással összefüggésben értékeljen. A funkció a kompatibilitás érdekében használatos előző verziók platformok. Ehelyett a CalculateExpression függvény használata javasolt.

Szintaxis:
Számítás (kifejezés, csoportosítás, számítási típus)

Lehetőségek :

  • Kifejezés(Vonal). Számított kifejezést tartalmaz;
  • csoportosítás(Vonal). Tartalmazza annak a csoportosításnak a nevét, amelynek kontextusában a kifejezést ki kell értékelni. Ha üres karakterláncot használ a csoportosítás neveként, akkor a számítás az aktuális csoportosítással összefüggésben történik. Ha a GrandTotal karakterláncot használja csoportnévként, a számítás a végösszeg kontextusában történik. Ellenkező esetben a számítás az azonos nevű szülőcsoport környezetében történik.
    Például:
    Sum(Eladás.Össz.Forgalom) / Calculate("Összeg(Eladás.ÖsszegForgalom)", "Összesen").
    Ebben a példában az eredmény a csoportosítási rekord "Sales.AmountTurnover" mezőjében szereplő összeg és a teljes elrendezésben szereplő azonos mező összegének aránya.
  • Számítás típusa(Vonal). Ha ez a paraméter "TotalTotal"-ra van állítva, a kifejezés az összes csoportosítási rekordra kiszámításra kerül. Ha a paraméter értéke "Csoportosítás", akkor az értékek az aktuális csoportosítási csoportrekordhoz kerülnek kiszámításra.
2. Kifejezés értékelése (EvalExpression) - úgy tervezték, hogy egy kifejezést valamilyen csoportosítással összefüggésben értékeljen. A funkció figyelembe veszi a csoportosítások kiválasztását, de nem veszi figyelembe a hierarchikus kijelöléseket. A függvény nem alkalmazható egy csoportra az adott csoport csoportválasztásában.

Szintaxis:
Kifejezés kiszámítása (kifejezés, csoportosítás, számítás típusa, kezdete, vége, rendezése, hierarchikus rendezése, feldolgozásazonos sorrendértékek)

Lehetőségek :

  • Kifejezés(Vonal). Számított kifejezést tartalmaz;
  • csoportosítás(Vonal). Annak a csoportnak a nevét tartalmazza, amelynek kontextusában a kifejezést ki kell értékelni. Ha üres karakterláncot használ a csoportosítás neveként, akkor a számítás az aktuális csoportosítással összefüggésben történik. Ha a GrandTotal karakterláncot használja csoportnévként, a számítás a végösszeg kontextusában történik. Ellenkező esetben a számítás az adott nevű szülőcsoport kontextusában történik;
  • Számítás típusa(Vonal). Ha ez a paraméter "TotalTotal"-ra van állítva, a kifejezés az összes csoportosítási rekordra kiszámításra kerül. Ha a paraméter értéke "Csoportosítás", akkor az értékek az aktuális csoportosítási csoportrekordhoz kerülnek kiszámításra. Ha a paraméter beállítása "Non-Resource Grouping", akkor egy csoportrekord függvényének erőforrásonkénti kiszámításakor a kifejezés az eredeti csoportosítás első csoportrekordjára kerül kiértékelésre. Amikor a CalculateExpression függvényt "GroupingNonResource" értékkel értékeli olyan csoportrekordokhoz, amelyek nem erőforrások szerinti csoportosítások, a függvény ugyanúgy kiértékelésre kerül, mint a "Csoportosítás" paraméter értékével. Az adatösszetétel-elrendezés-készítő az adatösszetétel-elrendezés létrehozásakor egy mező – egy erőforrás, amely csoportosítást hajt végre – kimenetekor az elrendezéshez a CalculateExpression függvény segítségével kiszámított kifejezést ad ki a megadott "GroupingNon-Resource" paraméterrel. Az erőforrások szerint csoportosított egyéb erőforrások esetében a rendszer normál erőforrás-kifejezéseket ad vissza. Ha a paraméter beállítása "Hierarchia", akkor a kifejezést ki kell értékelni a szülő hierarchikus rekordra, ha van, és a teljes csoportosításra, ha nincs szülő hierarchikus rekord. Az elrendezéskészítő, amikor kifejezést generál a % in Hierarchy Group mezőhöz, egy kifejezést hoz létre, amely tartalmazza az erőforrás-kifejezés és a CalculateExpression függvény kapcsolatát az aktuális, Hierarchia számítási típusú csoportosításhoz számítandó erőforrás-kifejezéshez.
  • Rajt. Megadja, hogy melyik rekordban induljon el a töredék, amelyben számítani kell összesített függvények kifejezéseket és azt, hogy melyik rekordból kell lekérni az összesített függvényeken kívüli mezőértékeket. Egy karakterlánc, amely a következők egyikét tartalmazza:
    • "Első" Meg kell szerezni az első csoportosítási rekordot. A zárójelben lévő szó után megadhatunk egy kifejezést, melynek eredményét a rendszer eltolásként használja a csoportosítás elejétől. A kapott értéknek nullánál nagyobb egész számnak kell lennie. Például First(3) – a harmadik rekord fogadása a csoportosítás kezdetétől. Ha az első rekord kívül esik a csoportosításon, akkor úgy kell tekinteni, hogy nincsenek rekordok. Például, ha 3 rekord van, és a First(4-et) szeretné megkapni, akkor a rendszer úgy tekinti, hogy nincsenek rekordok.
    • "Utolsó" Be kell szereznie az utolsó csoportosítási rekordot. A zárójelben lévő szó után megadhatunk egy kifejezést, melynek eredményét a rendszer a csoportosítás végétől eltolásként használjuk. A kapott értéknek nullánál nagyobb egész számnak kell lennie. Például Utolsó(3) - a harmadik rekord lekérése a csoportosítás végétől. Ha az utolsó bejegyzés kívül esik a csoportosításon, akkor úgy tekintjük, hogy nincsenek bejegyzések. Például, ha 3 rekord van, és a Last(4) értéket szeretné megkapni, akkor a rendszer úgy tekinti, hogy nincsenek rekordok.
    • "Előző" Be kell szereznie az előző csoportosítási bejegyzést. A zárójelben lévő szó után megadhat egy kifejezést, aminek az eredményét a rendszer eltolásként használja aktuális bejegyzés csoportok. Például, Previous(2) - az előző felvétele az előző rekordból. Ha az előző rekord kívül esik a csoportosításon (például a második csoportosítási rekordnak Previous(3)-t kell kapnia), akkor a rendszer az első csoportosítási rekordot kapja. Amikor megkapja a csoportosítási összeg előző rekordját, az első rekordot kapja meg.
    • "Következő" Meg kell kapnia a következő csoportosítási bejegyzést. A zárójelben lévő szó után megadhatunk egy kifejezést, aminek az eredményét a rendszer az aktuális csoportosítási bejegyzéshez képest előrefelé eltolásként használja. Például: Következő(2) - a következő felvétel a következő rekordból. Ha a következő rekord túlmutat a csoportosításon, akkor a rendszer úgy tekint, hogy nincsenek rekordok. Például, ha 3 bejegyzés van, és a harmadik a Következőt kapja, akkor a rendszer úgy tekinti, hogy nincsenek bejegyzések. Amikor a következő rekord érkezik a csoportosítási összeghez, akkor a rendszer úgy tekinti, hogy nincs rekord.
    • "Jelenlegi". Be kell szereznie az aktuális bejegyzést. Csoportosítási összeg lekérésekor az első rekord kerül lekérésre.
    • "BoundaryValue". Rekord beszerzésének szükségessége a megadott értékkel. A zárójelben lévő RestrictingValue szó után meg kell adni azt a kifejezést, amelynek értékével szeretné elindítani a töredéket, az első rendezési mezőt. A rekord lesz az első olyan rekord, amelynek a rendezési mező értéke nagyobb vagy egyenlő, mint a megadott érték. Például, ha a Period mezőt használja rendelési mezőként, és értéke 2010.01.01., 2010.02.01., 2010.03.01., és a LimitValue(DateTime(2010) , 1, 15)), akkor 02/01 dátummal rekordot kapunk. 2010.
  • Vége. Megadja, hogy melyik rekordhoz folytassa a töredéket, amelyben kiértékeli az összesített kifejezést. Egy karakterlánc, amely a következők egyikét tartalmazza:
    • "Első".
    • "Utolsó".
    • "Előző".
    • "Következő".
    • "Jelenlegi".
    • "BoundaryValue".
  • Válogatás. Egy karakterlánc, amely felsorolja a vesszővel elválasztott kifejezéseket, hogy milyen irányban kell rendezni a sorozatot. Ha nincs megadva, akkor a rendezés ugyanúgy történik, mint a csoportosításnál, amelyre a kifejezést kiértékeli. Minden kifejezés után megadhatja az Asc kulcsszót, növekvő sorrendben, Csökkenő, csökkenő sorrendben, Autosort, hogy a hivatkozott mezőket azon mezők szerint rendezze, amelyek alapján a hivatkozott objektumot rendezni kívánja. Az AutoOrder szó Növekvő és Csökkenő szavakkal egyaránt használható.
  • Hierarchikus rendezés. Hasonló a válogatáshoz. Hierarchikus rekordok rendezésére szolgál. Ha nincs megadva, az elrendezéskészítő a Rendezés paraméterben megadott sorrendnek megfelelően állít elő rendezést.
  • A rendelés azonos értékeinek feldolgozása. Egy karakterlánc, amely a következők egyikét tartalmazza:
    • "Együtt" – azt jelzi, hogy a rendszer a rendezett rekordok sorozatát használja az előző és a következő rekordok meghatározásához;
    • "Külön" - azt jelenti, hogy az előző és a következő rekordot a rendezési kifejezések értékei alapján határozzák meg;
    Például, ha az eredményül kapott sorozat dátum szerint van rendezve:
    1. 2001. január 01. Ivanov M. 10
    2. 2001. január 2. Petrov S. 20
    3. 2001. január 02. Sidorov R. 30
    4. 2001. január 03. Petrov S. 40
    Ha a "Külön" sorrend azonos értékeinek feldolgozását használja, a 3. rekord előző rekordja a 2. rekord lesz, az "Együtt" használatakor pedig az 1. rekord. És az aktuális rekord töredéke a 2. rekordhoz a "Külön" esetén. a 2. rekord lesz, az „Együtt” pedig a 2. és a 3. rekord. Így a „Külön” aktuális rekord összege 20 lesz, az „Együtt” pedig 50. Ha az „Együtt” van megadva a Start és a 3. Végparaméterek esetén nem adhat meg eltolást az „Első”, „Utolsó”, „Előző”, „Következő” pozíciókhoz. Az alapértelmezett érték a "Külön".
Példa:
Egy csoportosítási rekord "Sales.AmountTurnover" mezőjéhez tartozó összeg és ugyanazon mező összegének arányának megszerzése a teljes elrendezésben:
Sum(Sales.SumForgalom) / CalculateExpression("Összeg(Eladások.ÖsszegForgalom)", "Összesen").

Ez a példa kiszámítja az aktuális hierarchia értékét:
Választás
Amikor a Level() > 0
Ezután EvaluateExpression("Referencia", "Hierarchia")
Ellenkező esetben Null
Vége

Megjegyzések:
A funkció figyelembe veszi a csoportosítások kiválasztását, de nem veszi figyelembe a hierarchikus kijelöléseket. A függvény nem alkalmazható egy csoportra az adott csoport csoportválasztásában. Például a Nómenklatúra csoportosítása során nem használhatja a CalculateExpression("Sum(SumTurnover)", "TotalTotal") > 1000 kifejezést. De egy ilyen kifejezés használható a hierarchikus kijelölésben. Ha a záró rekord megelőzi a kezdő rekordot, akkor a részletező adatok kiszámításához és az összesített függvények kiszámításához nincsenek rekordok. A végösszeg intervallumkifejezéseinek kiszámításakor (a Csoportosítás paraméter értéke "GrossTotal") feltételezhető, hogy nincsenek rekordok a részletes adatok és az összesített függvények kiszámításához. A CalculateExpression függvény kifejezésének generálásakor az elrendezés-összeállító, ha a rendezési kifejezés olyan mezőket tartalmaz, amelyek nem használhatók a csoportosításhoz, a CalculateExpression függvényt NULL-ra cseréli.

3. Kifejezés értékelése csoporttömbbel (EvalExpression csoporttömbbel) - a függvény egy tömböt ad vissza, amelynek minden eleme tartalmazza a megadott mező szerinti csoportosításhoz szükséges kifejezés kiszámításának eredményét.

Szintaxis:
CalculateExpressionWithGroupArray (Expression, GroupFieldExpressions, SelectRecords, SelectGroups)

Lehetőségek :

  • Kifejezés(String) - a kiértékelendő kifejezés. Például: "Amount(AmountTurnover)";
  • FieldExpressionsGroups
  • Rekordok kiválasztása
  • Csoportosítások kiválasztása- csoportrekordokra alkalmazott kijelölés. Például: "Összeg(Összegforgalom) > &Paraméter1".
Példa:
Maximum(CalculateExpressionWithGroupArray("Összeg(Forgalomösszeg)", "Vásárló fél"));


Elrendezés-összeállító a kimeneti kifejezések generálásakor egyéni mező, amelynek kifejezésében csak a CalculateArrayWithGrouping függvény szerepel, egy kimeneti kifejezést generál oly módon, hogy a megjelenített adatok és az adatok sorrendben legyenek.
Például egy egyéni mezőhöz a következő kifejezéssel:
CalculateExpressionWithGroupArray("Összeg(Forgalomösszeg)", "Konferens fél")
Az elrendezéskészítő a következő kifejezést generálja a kimenethez:
ConnectRows(Array(Order(CalculateExpressionWithGroupingValueTable("View(Sum(DataSet.AmountTurnover)), Amount(DataSet.AmountTurnover)", "DataSet.Account"), "2")))

4. Kifejezés kiszámítása GroupValueTable segítségével (EvalExpressionWithGroupValueTable) - a függvény egy értéktáblázatot ad vissza, amelynek minden eleme tartalmazza a megadott mező szerinti csoportosításhoz szükséges kifejezés kiszámításának eredményét.

Szintaxis:
CalculateExpressionWithGroupValueTable (kifejezés, csoportmező-kifejezések, rekordok kiválasztása, csoportkijelölés)

Lehetőségek :

  • Kifejezés(String) - a kiértékelendő kifejezés. Egy sor több, vesszővel elválasztott kifejezést tartalmazhat. Minden kifejezés után lehet egy opcionális AS kulcsszó és az értéktábla oszlopának neve. Például: "Szerződés fél, Összeg (Forgalomösszeg) Értékesítési mennyiségként."
  • FieldExpressionsGroups- csoportosítási mezők kifejezései, vesszővel elválasztva. Például "partner, fél";
  • Rekordok kiválasztása- a részletrekordokra alkalmazott kifejezés. Például: "Törlésjelző = hamis." Ha be ezt a paramétertösszesítő függvényt használunk, hiba lép fel az adatok összeállításakor;
  • Csoportosítások kiválasztása- csoportrekordokra alkalmazott kijelölés. Például: "Összeg(Összegforgalom) > &Paraméter1".
Példa:
Kifejezés kiszámítása értékcsoportosítási táblázattal ("Számla, mint szerződő fél, összeg (összeg forgalom) AS értékesítési mennyiség", "számla")

Ennek a függvénynek az eredménye egy értéktáblázat lesz a Counterparty és Sales Volume oszlopokkal, amely tartalmazza a partnereket az értékesítési volumenükkel.
Az elrendezés-összeállító az elrendezés létrehozásakor a függvényparamétereket adatösszetétel-elrendezési mezőkké alakítja. Például a Fiók mezőt a rendszer DataSet.Account-ra konvertálja.
Például egy egyéni mező a következő kifejezéssel:
CalculateExpressionWithGroupValueTable("Számla, Összeg(Összegforgalom)", "Számla")
Az elrendezéskészítő a következő kifejezést generálja a kimenethez:
ConnectRows(GetPart(Order(CalculateExpressionWithGroupValueTable("DataSet.Account, DataSet.AccountRepresentation, Sum(DataSet.AmountTurnover), View(DataSet.AmountTurnover), DataSet.OrderingField", "Account1"), ""5, "Adatkészlet", 3 ), "2, 4"))

5. Szint - a funkciót az aktuális felvételi szint elérésére tervezték.

Szintaxis:
Szint()

Példa:
Szint()

6. SequenceNumber - kapja meg a következő sorozatszámot.

Szintaxis:
NumberByOrder()

Példa:
NumberByOrder()

7. SequenceNumberInGrouping - az aktuális csoportosítás következő sorszámát adja vissza.

Példa:
NumberByOrderInGroup()

8. Formátum - megkapja az átadott érték formázott karakterláncát.

Szintaxis:
Formátum (érték, formátumkarakterlánc)

Lehetőségek :

  • Jelentése- a formázandó kifejezés;
  • FormatString- a formátum karakterlánc beállítása szerint formátum karakterlánc 1C: Vállalati.
Példa:
Formátum (Fogyófelhasználói számlák. Dokumentum összege, "NPV=2")

9. BeginOfPeriod

Szintaxis:
Kezdési időszak (dátum, időszak típusa)

Lehetőségek :

  • dátum(Időpontja). Meghatározott dátum;
  • Időszak típusa
Példa:
StartPeriod(DátumIdő(2002, 10, 12, 10, 15, 34), "Hónap")
Eredmény: 2002.10.01. 0:00:00

10. EndOfPeriod - a funkció egy adott dátum kiválasztására szolgál egy adott dátumból.

Szintaxis:
Befejezési időszak (dátum, időszak típusa)

Lehetőségek :

  • dátum(Időpontja). Meghatározott dátum;
  • Időszak típusa(Vonal). A következő értékek egyikét tartalmazza: Perc; Óra; Nap; Egy hét; Hónap; Negyed; Év; Évtized; Fél év.
Példa:
EndPeriod(DátumIdő(2002, 10, 12, 10, 15, 34), "Hét")
Eredmény: 2002.10.13. 23:59:59

11. AddKDate (DateAdd) - a funkció célja, hogy egy bizonyos értéket adjon a dátumhoz.

Szintaxis:
AddToDate (kifejezés, növekménytípus, nagyság)

Lehetőségek :

  • Kifejezés(Időpontja). Eredeti dátum;
  • Típus Nagyítás(Vonal). A következő értékek egyikét tartalmazza: Perc; Óra; Nap; Egy hét; Hónap; Negyed; Év; Évtized; Fél év.
  • Nagyságrend(Szám). Mennyivel kell növelni a dátumot, a tört részt figyelmen kívül hagyja.
Példa:
AddToDate(DateTime(2002, 10, 12, 10, 15, 34), "Hónap", 1)
Eredmény: 11/12/2002 10:15:34

12. Dátumkülönbség - a funkciót úgy tervezték, hogy megkapja a különbséget két dátum között.

Szintaxis:
Különbségdátum (1. kifejezés, 2. kifejezés, eltérés típusa)

Lehetőségek :

  • Kifejezés1(Időpontja). Kivont dátum;
  • Kifejezés2(Időpontja). Eredeti dátum;
  • TypeDifference(Vonal). A következő értékek egyikét tartalmazza: Second; Perc; Óra; Nap; Hónap; Negyed; Év.
Példa:
DÁTUM KÜLÖNBSÉG(DÁTUMIDŐ(2002, 10, 12, 10, 15, 34),
DATETIME(2002, 10, 14, 9, 18, 06), "DAY")
Eredmény: 2

13. Alkarakterlánc - ezt a funkciót arra tervezték, hogy egy karakterláncból kivonja a részstringet.

Szintaxis:
Alkarakterlánc (karakterlánc, pozíció, hossz)

Lehetőségek :

  • Vonal(Vonal). A karakterlánc, amelyből az alkarakterlánc ki lett bontva;
  • Pozíció(Szám). A karakter pozíciója, ahonnan a karakterláncból kinyerendő részkarakterlánc kezdődik;
  • Hossz(Szám). A lefoglalt részkarakterlánc hossza.
Példa:
SUBSTRING (Fiókok. Cím, 1, 4)

14. StringLength - a függvény egy karakterlánc hosszának meghatározására szolgál.

Szintaxis:
Karakterlánchossz (karakterlánc)

Paraméter:

  • Vonal(Vonal). Egy karakterlánc, amelynek hossza meghatározott.
Példa:
Sor (partnerek. Cím)

15. Év- ez a funkció arra szolgál, hogy kivonja az évet a dátum típusú értékből.

Szintaxis:
év (dátum)

Paraméter:

  • dátum(Időpontja). Az év meghatározásának dátuma.
Példa:
ÉV(Költség.Dátum)

16. Negyed - ez a funkció arra szolgál, hogy kivonja a negyed számot egy dátum típusú értékből. A negyedszám általában 1 és 4 között van.

Szintaxis:
negyedév (dátum)

Paraméter:

  • dátum(Időpontja). A negyedév meghatározásának dátuma
Példa:
negyed (Költség.Dátum)

17. Hónap - ezt a funkciót arra tervezték, hogy kivonja a hónap számát a dátum típusú értékből. A hónap száma általában 1 és 12 között van.

Szintaxis:
hónap (dátum)

Paraméter:

  • dátum(Időpontja). A hónap meghatározásának dátuma.
Példa:
HÓNAP (Költség.Dátum)

18. Az év napja (DayOfYear) - ezt a funkciót arra tervezték, hogy a dátum típusú értékből megkapja az év napját. Az év napja általában 1 és 365 (366) között van.

Szintaxis:
Az év napja (dátum)

Paraméter:

  • dátum(Időpontja). Az a dátum, amelyre az év napját meghatározzák.
Példa:
NAP (Költségszámla.Dátum)

19. nap- ez a funkció a hónap napjának a Dátum típusú értékből való lekérésére szolgál. A hónap napja általában 1 és 31 között van.

Szintaxis:
nap (dátum)

Paraméter:

  • dátum(Időpontja). A hónap napjának meghatározásának dátuma.
Példa:
NAP (Költség.Dátum)

20. Hét - ez a funkció arra szolgál, hogy a Dátum típusú értékből megkapja az év hét számát. Az év hetei 1-től kezdődnek.

Szintaxis:
hét (dátum)

Paraméter:

  • dátum(Időpontja). A hétszámok meghatározásának dátuma.
Példa:
HÉT (Költség.Dátum)

21. Hétköznap - ez a funkció a hét napjának a Dátum típusú értékből való lekérésére szolgál. A hét normál napja 1 (hétfő) és 7 (vasárnap) között van.

Szintaxis:
A hét napja (dátum)

Paraméter:

  • dátum(Időpontja). A hét napjának meghatározásának dátuma.
Példa:
A HÉT NAPJA (Költség.Dátum)

22. Óra- ezt a funkciót úgy tervezték, hogy a nap óráját a Dátum típusú értékből lekérje. A nap órája 0 és 23 között van.

Szintaxis:
óra (dátum)

Paraméter:

  • dátum(Időpontja). Az a dátum, amelyre a nap órája meghatározásra kerül.
Példa:
ÓRA (Költség.Dátum)

23. Perc - ezt a funkciót úgy tervezték, hogy a Dátum típusú értékből megkapja az óra percét. Az óra perce 0 és 59 között mozog.

Szintaxis:
perc (dátum)

Paraméter:

  • dátum(Időpontja). Az óra percének meghatározásának dátuma.
Példa:
PERC (Költség.Dátum)

24. Második - ezt a funkciót úgy tervezték, hogy a Dátum típusú értékből lekérje a perc másodpercét. A perc másodperce 0 és 59 között mozog.

Szintaxis:
Második (dátum)

Paraméter:

  • dátum(Időpontja). A dátum, amelyre a perc másodpercei meghatározásra kerülnek.
Példa:
MÁSODIK(költség.dátum)

25. Öntött - ez a funkció arra szolgál, hogy kivonjon egy típust egy olyan kifejezésből, amely tartalmazhat összetett típust. Ha a kifejezés a szükséges típustól eltérő típust tartalmaz, a NULL értéket adja vissza.

Szintaxis:
Expressz (kifejezés, típusjelzés)

Lehetőségek :

  • Kifejezés- konvertálandó kifejezés;
  • Típusjelzés(Vonal). Típus karakterláncot tartalmaz. Például: "Szám", "Karakterlánc" stb. A primitív típusok mellett adott sor tartalmazhatja a táblázat nevét. Ebben az esetben megkísérlik a megadott táblára való hivatkozást kifejezni.
Példa:
Express(Data.Props1, "Szám(10,3)")

26. IsNull (IsNull) - ez a függvény a második paraméter értékét adja vissza, ha az első paraméter értéke NULL. Ellenkező esetben az első paraméter értéke kerül visszaadásra.

Szintaxis:
IsNull(1. kifejezés, 2. kifejezés)

Lehetőségek :

  • Kifejezés1- ellenőrizendő érték;
  • Kifejezés2- visszatérési érték, ha az 1. kifejezés NULL.
Példa:
IgenNULL(összeg(értékesítés.összegforgalom), 0)

27.ACos- kiszámolja az ív koszinuszát radiánban.

Szintaxis:
ACos (kifejezés)

Paraméter:

  • Kifejezés(Szám). Az a koszinusz érték (a -1 ... 1 tartományban), amellyel a szöget meghatározzák.
28.ASin- kiszámítja az arcszinust radiánban.

Szintaxis:
ASin (kifejezés)

Paraméter:

  • Kifejezés(Szám). Az a szinuszérték (a -1 ... 1 tartományban), amellyel a szöget meghatározzák.
29. ATan- kiszámítja az arctangenst radiánban.

Szintaxis:
ATan (kifejezés)

Paraméter:

  • Kifejezés(Szám). Az érintőérték, amellyel a szöget meghatározzák.
30. Cos- koszinusz számít.

Szintaxis:
Cos (kifejezés)

Paraméter:

  • Kifejezés
31. Exp- az e szám hatványra emelése.

Szintaxis:
Exp (kifejezés)

Paraméter:

  • Kifejezés(Szám). A fokozat jelentése.
32.Napló- kiszámítja a természetes logaritmust.

Szintaxis:
Napló (kifejezés)

Paraméter:

  • Kifejezés
33.Napló10- kiszámolja X logaritmusát 10-es alapra.

Szintaxis:
Log10 (kifejezés)

Paraméter:

  • Kifejezés(Szám). Az eredeti szám nagyobb, mint 0.
34. Pow- hatványozás.

Szintaxis:
Pow (bázis, jelző)

Lehetőségek :

  • Bázis(Szám). A hatványozás műveletének alapja.
  • Index(Szám). Kitevő.
35. Bűn- kiszámolja a szinust.

Szintaxis:
Bűn (kifejezés)

Paraméter:

  • Kifejezés(Szám). Radiánban van megadva.
36. Sqrt- kiszámolja a négyzetgyököt.

Szintaxis:
Sqrt (kifejezés)

Paraméter:

  • Kifejezés(Szám). Nem negatív szám.
37. Tan- kiszámolja az érintőt.

Szintaxis:
barna (kifejezés)

Paraméter:

  • Kifejezés(Szám). Az a szinuszérték, amellyel a szöget meghatározzák.
38. Okr (kerek)- az eredeti számot a kívánt bitmélységre kerekíti. A kerekítési mód szabványos (1,5 mint 2).

Szintaxis:
Env (kifejezés, bitmélység)

Lehetőségek :

  • Kifejezés(Szám). Eredeti szám;
  • Bit mélység(Szám). A kerekítendő tizedesjegyek száma.
39. Int- levágja a szám tört részét.

Szintaxis:
Objektum (kifejezés)

Paraméter:

  • Kifejezés(Szám). Törtszám.
40. Közös modulok funkciói

Az adatösszeállítási motor kifejezése tartalmazhat globális közös konfigurációs modulok függvényeinek hívását. Az ilyen függvények meghívásához nincs szükség további szintaxisra.

Példa:
Rövidített név (Dokumentumok.Link, Dokumentumok.Dátum, Dokumentumok.Szám)

Ebben a példában a "ShortName" függvény innen lesz meghívva közös modul konfigurációk.
Vegye figyelembe, hogy a közös modulfunkciók használata csak akkor engedélyezett, ha a megfelelő adatösszetétel-feldolgozó paraméter meg van adva.
Ezenkívül a közös modulok funkciói nem használhatók egyéni mezőkifejezésekben.

41. Reszentáció - ez a függvény egy nem primitív típus átadott értékének karakterlánc reprezentációját adja vissza. Primitív típusú értékek esetén magát az értéket adja vissza.

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

Példa:
Bemutatás (partner)

42. Húr - ez a függvény az átadott értéket karaktersorozattá alakítja.

Ha egy tömböt vagy egy értéktáblázatot használunk paraméterként, a függvény egy karakterláncot ad vissza, amely a tömb összes elemének karakterlánc-ábrázolását tartalmazza, „;” karakterekkel elválasztva. Ha bármely elemnek üres karakterlánc-ábrázolása van, akkor a "<Пустое значение>".

Példa:
sor (eladási dátum)

43. ValueIsFilled

NULL értékek esetén az Undefined mindig False értéket ad vissza.
Logikai értékek esetén mindig igaz értéket ad vissza.
Más típusok esetén igazat ad vissza, ha az érték eltér az adott típus alapértelmezett értékétől.

Példa:
ValueFilled (Szállítási dátum)

44. LevelInGroup - ez a funkció az aktuális felvételi szintet kapja a csoportosításhoz képest.

Használható egy rekord beágyazási szintjének megszerzésére hierarchikus csoportosításban.

Példa:
LevelInGroup()

45. ValueType

Szintaxis:
ValueType (kifejezés)

Paraméter:

  • Kifejezés(Vonal). Karakterlánc érték típusa.
Típus típusú értéket ad vissza, amely a függvényparaméter értéktípusát tartalmazza.

A közelgő 8.2.14-es kiadás fényében megpróbálom leírni az adatösszetétel rendszer néhány új funkcióját.

Nyissa meg az adatelrendezési diagramot, lehetőleg egy külső jelentésben, hogy megkönnyítse a szerkesztést.

Hozzáadunk egy lekérdezési típusú adatkészletet, és manuálisan vagy a lekérdezéstervező segítségével írunk egy egyszerű lekérdezést:

1. Állítson be egy kérést a beléptető rendszerben.

2. Állítsa be a számított mezőket az ACS-ben

3. A beállítások fülön konfiguráljuk az adatelrendezést

4. Elindítjuk az 1C Enterprise 8.2.14-et. Nyissa meg a jelentést. Formálunk, kapunk.

Maguk az új funkciók leírása:

1. Az aktuális dátum()

Visszaadja a rendszer dátumát. Elrendezési elrendezés összeállításakor az elrendezésben szereplő összes kifejezésben a CurrentDate() függvényt az aktuális dátum értékével helyettesítjük.

2. SZÁMÍTÁSI KIFEJEZÉS()

Szintaxis:

CalculateExpression(<Выражение>, <Группировка>, <ОбластьВычисления>, <Начало>, <Конец>, <Сортировка>, <ИерархическаяСортировка>, <ОбработкаОдинаковыхЗначенийПорядка>)

Leírás:

A függvény arra szolgál, hogy egy kifejezést valamilyen csoportosítással összefüggésben értékeljen.

A funkció figyelembe veszi a csoportosítások kiválasztását, de nem veszi figyelembe a hierarchikus kijelöléseket.

A függvény nem alkalmazható egy csoportra az adott csoport csoportválasztásában. Például a Nómenklatúra csoport kiválasztásakor nem használhatja a CalculateExpression("Sum(SumTurnover)", "TotalTotal") > 1000 kifejezést. De egy ilyen kifejezés használható hierarchikus kijelölésben.

Ha a záró rekord megelőzi a kezdő rekordot, akkor a részletező adatok kiszámításához és az összesített függvények kiszámításához nincsenek rekordok.

A végösszeg intervallumkifejezéseinek kiszámításakor (a Csoportosítás paraméter beállítása GrandTotal) azt feltételezzük, hogy nincsenek rekordok a részletes adatok és az összesített függvények kiszámításához.

A CalculateExpression függvény kifejezésének generálásakor az elrendezés-összeállító, ha a rendezési kifejezés olyan mezőket tartalmaz, amelyek nem használhatók a csoportosításhoz, a CalculateExpression függvényt NULL-ra cseréli.

Lehetőségek

<Выражение>

Típus: String. A kiértékelendő kifejezés.

<Группировка>

Típus: String. Annak a csoportnak a nevét tartalmazza, amelynek kontextusában a kifejezést ki kell értékelni. Ha üres karakterláncot használ a csoportosítás neveként, akkor a számítás az aktuális csoportosítással összefüggésben történik. Ha a GrandTotal karakterláncot használja csoportnévként, a számítás a végösszeg kontextusában történik. Ellenkező esetben a számítás az azonos nevű szülőcsoport környezetében történik.

Például:

Összeg(Eladás.Össz.Forgalom)/Számítás(“Összeg(Eladás.Összforgalom)”, „Összesen”)

Ebben a példában az eredmény a csoportosítási rekord Sales.SumTurnover mezőjének összegének és a teljes elrendezésben szereplő azonos mező összegének aránya lesz;

<ОбластьВычисления>

Típus: String. A paraméter a következő értékeket veheti fel:

  • GeneralTotal – a kifejezés az összes csoportosítási rekordra kerül kiszámításra.
  • Hierarchia – A kifejezés a szülő hierarchikus rekordra vonatkozik, ha van ilyen, és a teljes csoportosításra, ha nincs szülő hierarchikus rekord.
  • Csoportosítás – a kifejezés az aktuális csoportosítási csoportosítási rekordhoz kerül kiértékelésre.
  • Nem erőforrás csoportosítás – amikor egy függvényt erőforrásonként számítunk ki egy csoportrekordhoz, a kifejezés az eredeti csoportosítás első csoportrekordjára kerül kiértékelésre.

A függvény kiszámításakor Kifejezés kiszámítása() a Nem erőforrás-csoportosítás értékkel olyan csoportrekordokhoz, amelyek nem erőforrás-csoportosítások, a függvény kiszámítása ugyanúgy történik, mint ha a paraméter értéke egyenlő lenne a Csoportosítás értékével.

Az adatösszetétel-elrendezés-készítő az adatösszetétel-elrendezés generálásakor az erőforrásmező kiadásakor, amellyel az elrendezés csoportosítása történik, egy kifejezést helyez el az elrendezésben, amelyet a függvény segítségével számít ki. Kifejezés kiszámítása(), amely a Nem erőforrás csoportosítás paramétert jelzi. Más erőforrások esetében a szokásos erőforrás-kifejezések kerülnek az erőforrás-csoportosításba.

<Начало>

Típus: String. Azt jelzi, hogy melyik rekordból kell kezdődnie a töredéknek, melyik összesített kifejezési függvényeket kell kiszámítani, és melyik rekordból kell az aggregált függvényeken kívüli mezőértékeket nyerni. Az érték a következők egyike lehet:

<Конец>

Típus: String. Azt jelzi, hogy a töredéket melyik rekordra kell folytatni, amelyben a kifejezés összesített függvényeit kell kiszámítani. Az érték a következők egyike lehet:

  • Első (Első). Meg kell szerezni az első csoportosítási rekordot. A zárójelben lévő szó után megadhatunk egy kifejezést, melynek eredményét a rendszer eltolásként használja a csoportosítás elejétől. A kapott értéknek nullánál nagyobb egész számnak kell lennie. Például First(3) – a harmadik rekord fogadása a csoportosítás kezdetétől.

Ha az első rekord kívül esik a csoportosításon, akkor úgy kell tekinteni, hogy nincsenek rekordok. Például, ha 3 rekord van, és a First(4-et) szeretné megkapni, akkor a rendszer úgy tekinti, hogy nincsenek rekordok.

  • Utolsó (Utolsó). Be kell szereznie az utolsó csoportosítási rekordot. A zárójelben lévő szó után megadhatunk egy kifejezést, melynek eredményét a rendszer a csoportosítás végétől eltolásként használjuk. A kapott értéknek nullánál nagyobb egész számnak kell lennie. Például Last(3) – a harmadik rekord fogadása a csoport végétől.

Ha az utolsó bejegyzés kívül esik a csoportosításon, akkor úgy tekintjük, hogy nincsenek bejegyzések. Például, ha 3 rekord van, és szeretné megkapni az Utolsó(4) értéket, akkor a rendszer úgy tekinti, hogy nincsenek rekordok.

  • Előző. Be kell szereznie az előző csoportosítási bejegyzést. A zárójelben lévő szó után megadhat egy kifejezést, amelynek eredménye az aktuális csoportosítási rekordtól való eltolás lesz. Például, Previous(2) - az előző felvétele az előző rekordból.

Ha az előző rekord túlmutat a csoportosításon (például a második csoportosítási rekordhoz meg kell kapnia az Előző(3) értéket), akkor a rendszer az első csoportosítási rekordot kapja.

A csoportosítási összeg előző rekordjának lekérésekor a rendszer az első rekordot kapja meg.

  • Következő (Next). Meg kell kapnia a következő csoportosítási bejegyzést. A zárójelben lévő szó után megadhatunk egy kifejezést, aminek az eredményét a rendszer az aktuális csoportosítási bejegyzéshez képest előrefelé eltolásként használja. Például: Következő(2) - a következő felvétel a következő rekordból.

Ha a következő rekord túlmutat a csoportosításon, akkor a rendszer úgy tekint, hogy nincsenek rekordok. Például, ha 3 rekord van, és a harmadik rekordhoz Next() érkezik, akkor a rendszer úgy tekinti, hogy nincsenek rekordok.

Amikor a következő rekord érkezik a csoportosítási összeghez, akkor a rendszer úgy tekinti, hogy nincs rekord.

  • Aktuális (Current). Be kell szereznie az aktuális bejegyzést.

Csoportosítási összeg lekérésekor az első rekord kerül lekérésre.

  • BoundaryValue. Rekord beszerzésének szükségessége a megadott értékkel. A zárójelben lévő LimitingValues ​​szó után meg kell jelölni azt a kifejezést, amelynek értékével a töredéket el kívánja indítani, az első rendezési mezőt.

A rekord lesz az első olyan rekord, amelynek a rendezési mező értéke nagyobb vagy egyenlő, mint a megadott érték. Például, ha a Period mezőt használja rendelési mezőként, és értéke 2010.01.01., 2010.02.01., 2010.03.01., és a LimitValue(DateTime(2010) , 1, 15)), akkor 02/01 dátummal rekordot kapunk. 2010.

<Сортировка>

Típus: String. Vesszővel elválasztva felsorolja azokat a kifejezéseket, amelyek leírják a rendezési szabályokat. Ha nincs megadva, akkor a rendezés ugyanúgy történik, mint a csoportosításnál, amelyre a kifejezést kiértékeli. Az egyes kifejezések után megadhatja a Növekvő (növekvő sorrendben), Csökkenő (csökkenő sorrendben), és AutoOrder (a referenciamezők azon mezők szerinti rendezéséhez, amelyek alapján a hivatkozott objektumot szeretné rendezni) kulcsszavakat. Az AutoOrder szó Növekvő és Csökkenő szavakkal egyaránt használható.

<ИерархическаяСортировка>

Típus: String. Ugyanaz, mint a Rendezés opciónál. Hierarchikus rekordok rendezésére szolgál. Ha nincs megadva, az elrendezéskészítő a Rendezés paraméterben megadott sorrendnek megfelelően állít elő rendezést.

<ОбработкаОдинаковыхЗначенийПорядка>

Típus: String. Megadja az előző vagy a következő rekord meghatározásának szabályát abban az esetben, ha több rekord is van ugyanaz az érték rendelés:

  • A külön azt jelenti, hogy a rendszer a rendezett rekordok sorozatát használja az előző és a következő rekordok meghatározására. Alapértelmezett érték.
  • Az együtt azt jelenti, hogy az előző és a következő rekordot a rendezési kifejezések értékei alapján határozzák meg.

Például, ha az eredményül kapott sorozat dátum szerint van rendezve:

dátum Teljes név Jelentése
1 2001. január 01 Ivanov M. 10
2 2001. január 02 Petrov S. 20
3 2001. január 03 Sidorov R. 30
4 2001. január 04 Petrov S. 40

Ha a paraméter értéke Külön, akkor:

§ a 3. bejegyzés korábbi bejegyzése a 2. bejegyzés lesz.

§ ha a számítási töredéket Current, Current (illetve a Start és End paraméterek) határozzuk meg, akkor a 2. rekord esetében ez a töredék egy 2. rekordból áll. A CalculateExpression(“Összeg (Érték)”, Current, Current) kifejezés egyenlő legyen 20-al.

Ha a paraméter értéke Együtt, akkor:

§ a 3. bejegyzés korábbi bejegyzése az 1. bejegyzés lesz.

§ ha a számítási töredéket Current, Current (illetve a Start és End paraméterek) definiáljuk, akkor a 2. rekord esetében ez a töredék a 2. és 3. rekordból áll. egyenlő lesz 50-nel.

Az Együtt értékkel egyenlő paraméterérték megadásakor a Kezdő és Vége paraméterekben nem adható meg eltolás az Első, Utolsó, Előző, Következő pozíciókhoz.

Kifejezés kiszámítása ("Összeg(Összegforgalom)", "Első", "Jelenlegi"

Ha az előző sorban lévő csoportosítási értéket szeretné megkapni, használja a következő kifejezést:

CalculateExpression ("Arány", "Előző")

Lista új jellemzők:

CalculateExpressionWithGroupArray(<Выражение>, <ВыражениеПолейГруппировки>, <ОтборЗаписей>, <ОтборГруппировок>) –

A függvény egy tömböt ad vissza, amelynek minden eleme tartalmazza egy kifejezés kiértékelésének eredményét a megadott mező alapján történő csoportosításhoz.

CalculateExpressionWithGroupValueTable(<Выражения>, <ВыражениеПолейГруппировки>, <ОтборЗаписей>, <ОтборГруппировок>) –

A függvény egy értéktáblázatot ad vissza, amelynek minden sora tartalmazza a kifejezések kiértékelésének eredményét a megadott mező alapján történő csoportosításhoz

ValueFilled(<Выражение>) – Igazat ad vissza, ha az érték eltér ennek a típusnak az alapértelmezett értékétől, amely nem NULL, és nem üres hivatkozás, és nem definiált. A logikai értékeket NULL-ra ellenőrzik. A karakterláncok ellenőrzik, hogy nincsenek-e szóközöktől eltérő karakterek

Formátum(<Выражение>, <Форматная строка>) – Az átadott érték formázott karakterláncának fogadása. A formátum karakterlánc beállítása az 1C:Enterprise rendszer formátum karakterláncának megfelelően történik.

Alkarakterlánc(<Выражение>, <Начальные символ>, <ДлинаПодстроки>) – Ez a funkció célja, hogy kivonja a karakterláncból egy részkarakterláncot.

Húr hossza(<Выражение>) – A függvény egy karakterlánc hosszának meghatározására szolgál. Paraméter - karakterlánc kifejezés

Vonal(<Выражение>) – Ha egy tömböt adunk át paraméterként, akkor a függvény egy karakterláncot ad vissza, amely az összes tömbelem karakterlánc-reprezentációját tartalmazza, „” karakterekkel elválasztva; “. Ha egy értéktáblázatot adunk át paraméterként, a függvény egy karakterláncot ad vissza, amely tartalmazza az értéktáblázat összes sorának karakterlánc-reprezentációját, az egyes sorok cellaábrázolásait „” karakterekkel elválasztva; “, és a vonalak soremelés szimbólumok. Ha bármely elemnek üres karakterlánc-ábrázolása van, akkor a karakterlánc jelenik meg az ábrázolása helyett<Пустое значение>.

A közelgő 8.2.14-es kiadás fényében megpróbálom leírni az adatösszetétel rendszer néhány új funkcióját.

Nyissa meg az adatelrendezési diagramot, lehetőleg egy külső jelentésben, hogy megkönnyítse a szerkesztést.

Hozzáadunk egy lekérdezési típusú adatkészletet, és manuálisan vagy a lekérdezéstervező segítségével írunk egy egyszerű lekérdezést:

1. Állítson be egy kérést a beléptető rendszerben.

2. Állítsa be a számított mezőket az ACS-ben

3. A beállítások fülön konfiguráljuk az adatelrendezést

4. Elindítjuk az 1C Enterprise 8.2.14-et. Nyissa meg a jelentést. Formálunk, kapunk.

Maguk az új funkciók leírása:

1. Az aktuális dátum()

Visszaadja a rendszer dátumát. Elrendezési elrendezés összeállításakor az elrendezésben szereplő összes kifejezésben a CurrentDate() függvényt az aktuális dátum értékével helyettesítjük.

2. SZÁMÍTÁSI KIFEJEZÉS()

Szintaxis:

Kifejezés kiszámítása(,)

Leírás:

A függvény arra szolgál, hogy egy kifejezést valamilyen csoportosítással összefüggésben értékeljen.

A funkció figyelembe veszi a csoportosítások kiválasztását, de nem veszi figyelembe a hierarchikus kijelöléseket.

A függvény nem alkalmazható egy csoportra az adott csoport csoportválasztásában. Például a Nómenklatúra csoportosítás kiválasztásakor nem használhatja a kifejezést CalculateExpression("Sum(SumTurnover)", "TotalTotal") > 1000. De egy ilyen kifejezés használható a hierarchikus kijelölésben.

Ha a záró rekord megelőzi a kezdő rekordot, akkor a részletező adatok kiszámításához és az összesített függvények kiszámításához nincsenek rekordok.

A végösszeg intervallumkifejezéseinek kiszámításakor (a Csoportosítás paraméter beállítása GrandTotal) azt feltételezzük, hogy nincsenek rekordok a részletes adatok és az összesített függvények kiszámításához.

Elrendezés linker függvénykifejezés generálásakor Kifejezés kiszámítása, ha a rendezési kifejezés olyan mezőket tartalmaz, amelyek nem használhatók a csoportosításhoz, lecseréli a függvényt Kifejezés kiszámítása tovább NULLA.

Lehetőségek

Típus: Vonal. A kiértékelendő kifejezés.

Típus: Vonal. Annak a csoportnak a nevét tartalmazza, amelynek kontextusában a kifejezést ki kell értékelni. Ha üres karakterláncot használ a csoportosítás neveként, akkor a számítás az aktuális csoportosítással összefüggésben történik. Ha a GeneralTotal karakterláncot használja csoportnévként, a számítás a végösszeggel összefüggésben történik. Ellenkező esetben a számítás az azonos nevű szülőcsoport környezetében történik.

Például:

Összeg(értékesítés.Össz.Forgalom)/Számítás("Összeg(Eladás.Össz.Forgalom)", "Összesen")

Ebben a példában az eredmény az összeg mezőnkénti aránya lesz Értékesítés.ÖsszegForgalom a rekordok csoportosítása ugyanazon mező összegére a teljes elrendezésben;

Típus: Vonal. A paraméter a következő értékeket veheti fel:

· teljes összeg— a kifejezés minden csoportosító rekordra kiszámításra kerül.

· Hierarchia— a kifejezés kiértékelésre kerül a szülő hierarchikus rekordra, ha van ilyen, és a teljes csoportosításra, ha nincs szülő hierarchikus rekord.

· csoportosítás— a kifejezés az aktuális csoportcsoportosítási rekordhoz kerül kiértékelésre.

· GroupingNonResource— amikor egy függvényt egy csoportrekordhoz erőforrás szerint számítanak ki, a kifejezés az eredeti csoportosítás első csoportrekordjára kerül kiszámításra.

A függvény kiszámításakor Kifejezés kiszámítása() jelentéssel GroupingNonResource az erőforrások szerint nem csoportosított csoportrekordok esetében a függvény kiszámítása ugyanúgy történik, mint ha a paraméter értéke egyenlő lenne az értékkel csoportosítás.

Az adatösszetétel-elrendezés-készítő az adatösszetétel-elrendezés generálásakor az erőforrásmező kiadásakor, amellyel az elrendezés csoportosítása történik, egy kifejezést helyez el az elrendezésben, amelyet a függvény segítségével számít ki. Kifejezés kiszámítása() , jelzi a paramétert GroupingNonResource. Más erőforrások esetében a szokásos erőforrás-kifejezések kerülnek az erőforrás-csoportosításba.

Típus: Vonal. Azt jelzi, hogy melyik rekordból kell kezdődnie a töredéknek, melyik összesített kifejezési függvényeket kell kiszámítani, és melyik rekordból kell az aggregált függvényeken kívüli mezőértékeket nyerni. Az érték a következők egyike lehet:

· Első

· Utolsó (utolsó)

· Előző

· Következő (Következő)

· Jelenlegi

· LimitingValue(BoundaryValue) LimitingValue

Típus: Vonal. Azt jelzi, hogy a töredéket melyik rekordra kell folytatni, amelyben a kifejezés összesített függvényeit kell kiszámítani. Az érték a következők egyike lehet:

· Első. Meg kell szerezni az első csoportosítási rekordot. A zárójelben lévő szó után megadhatunk egy kifejezést, melynek eredményét a rendszer eltolásként használja a csoportosítás elejétől. A kapott értéknek nullánál nagyobb egész számnak kell lennie. Például First(3) - a harmadik rekord fogadása a csoportosítás kezdetétől.

Ha az első rekord kívül esik a csoportosításon, akkor úgy kell tekinteni, hogy nincsenek rekordok. Például, ha 3 rekord van, és a First(4-et) szeretné megkapni, akkor a rendszer úgy tekinti, hogy nincsenek rekordok.

· Utolsó (utolsó). Be kell szereznie az utolsó csoportosítási rekordot. A zárójelben lévő szó után megadhatunk egy kifejezést, melynek eredményét a rendszer a csoportosítás végétől eltolásként használjuk. A kapott értéknek nullánál nagyobb egész számnak kell lennie. Például Last(3) - a harmadik rekord fogadása a csoport végétől.

Ha az utolsó bejegyzés kívül esik a csoportosításon, akkor úgy tekintjük, hogy nincsenek bejegyzések. Például, ha 3 rekord van, és a Last(4) értéket szeretné megkapni, akkor a rendszer úgy tekinti, hogy nincsenek rekordok.

· Előző. Be kell szereznie az előző csoportosítási bejegyzést. A zárójelben lévő szó után megadhat egy kifejezést, amelynek eredménye az aktuális csoportosítási rekordtól való eltolás lesz. Például, Previous(2) - az előző lekérése az előző rekordból.

Ha az előző rekord túlmutat a csoportosításon (például a második csoportosítási rekordhoz meg kell kapnia az Előző(3)-t), akkor az első csoportosítási rekordot kapja meg.

A csoportosítási összeg előző rekordjának lekérésekor a rendszer az első rekordot kapja meg.

· Következő (Következő). Meg kell kapnia a következő csoportosítási bejegyzést. A zárójelben lévő szó után megadhatunk egy kifejezést, aminek az eredményét a rendszer az aktuális csoportosítási bejegyzéshez képest előrefelé eltolásként használja. Például, Next(2) – a következő felvétel a következő rekordból.

Ha a következő rekord túlmutat a csoportosításon, akkor a rendszer úgy tekint, hogy nincsenek rekordok. Például, ha 3 bejegyzés van, és a harmadik bejegyzés a Next() -t kapja, akkor a rendszer úgy tekinti, hogy nincsenek bejegyzések.

Amikor a következő rekord érkezik a csoportosítási összeghez, akkor a rendszer úgy tekinti, hogy nincs rekord.

· Jelenlegi. Be kell szereznie az aktuális bejegyzést.

Csoportosítási összeg lekérésekor az első rekord kerül lekérésre.

· LimitingValue(BoundaryValue). Rekord beszerzésének szükségessége a megadott értékkel. A szó után LimitingValue zárójelben meg kell jelölni azt a kifejezést, amelynek értékével a töredéket el akarjuk kezdeni, az első rendezési mezőt.

A rekord lesz az első olyan rekord, amelynek a rendezési mező értéke nagyobb vagy egyenlő, mint a megadott érték. Például, ha az Időszak mezőt használja rendelési mezőként, és értéke 2010.01.01., 2010.02.01., 2010.03.01. Határérték(DátumIdő(2010, 1, 15)), akkor 2010. 02. 01. dátumú rekord érkezik.

Típus: Vonal. Vesszővel elválasztva felsorolja azokat a kifejezéseket, amelyek leírják a rendezési szabályokat. Ha nincs megadva, akkor a rendezés ugyanúgy történik, mint a csoportosításnál, amelyre a kifejezést kiértékeli. Minden kifejezés után megadhat egy kulcsszót Kor(növekvő sorrendben történő rendelés esetén), Csökkenő(csökkenő sorrendben történő rendelés esetén) és Automatikus rendelés(a referenciamezők sorrendbe állítása azon mezők szerint, amelyek alapján a hivatkozott objektumot rendezni szeretné). Szó Automatikus rendelés szóhoz hasonlóan használható Kor, így a szóval Csökkenő.

Típus: Vonal. Ugyanaz, mint a paraméter Válogatás. Hierarchikus rekordok rendezésére szolgál. Ha nincs megadva, az elrendezés készítője a paraméterben megadott sorrendnek megfelelően generálja a rendezést Válogatás.

Típus: Vonal. Megadja az előző vagy a következő rekord meghatározásának szabályát abban az esetben, ha több rekord van azonos rendezési értékkel:

· Külön azt jelzi, hogy a rendszer a rendezett rekordok sorozatát használja az előző és a következő rekordok meghatározásához. Alapértelmezett érték.

· Együtt azt jelzi, hogy az előző és a következő rekordot a rendezési kifejezések értékei határozzák meg.

Például, ha az eredményül kapott sorozat dátum szerint van rendezve:

dátum Teljes név Jelentése
1 2001. január 01

Ivanov M.

10
2 2001. január 02 Petrov S. 20
3 2001. január 03 Sidorov R. 30
4 2001. január 04 Petrov S. 40

Külön, Ez:

§ a 3. bejegyzés korábbi bejegyzése a 2. bejegyzés lesz.

Aktuális, Aktuális(ennek megfelelően a paraméterek RajtÉs Vége), akkor a 2. rekord esetében ez a töredék egy 2. rekordból áll. A kifejezés 20 lesz.

Ha a paraméter értéke Együtt, Ez:

§ a 3. bejegyzés korábbi bejegyzése az 1. bejegyzés lesz.

§-a szerint, ha a számítási töredéket úgy határozzuk meg Aktuális, Aktuális(ennek megfelelően a paraméterek RajtÉs Vége), akkor a 2. rekord esetében ez a töredék a 2. és 3. rekordból áll. Kifejezés CalculateExpression("Összeg(érték)", Aktuális, Aktuális) egyenlő lesz 50-nel.

A paraméter értékének megadásakor egyenlő Együtt, paraméterekben RajtÉs Vége pozíciókhoz nem lehet eltolást megadni Első, Utolsó, Előző, Következő.

CalculateExpression("Összeg(Összegforgalom)", "Első", "Jelenlegi")

Ha az előző sorban lévő csoportosítási értéket szeretné megkapni, használja a következő kifejezést:

CalculateExpression("Arány", "Előző")

Lista új funkciók:

CalculateExpressionWithGroupArray(,) -

A függvény egy tömböt ad vissza, amelynek minden eleme tartalmazza egy kifejezés kiértékelésének eredményét a megadott mező alapján történő csoportosításhoz.

CalculateExpressionWithGroupValueTable(,) -

A függvény egy értéktáblázatot ad vissza, amelynek minden sora tartalmazza a kifejezések kiértékelésének eredményét a megadott mező alapján történő csoportosításhoz

ValueFilled() - Igazat ad vissza, ha az érték eltér ennek a típusnak az alapértelmezett értékétől, kivéve a NULL-t, és nem egy üres hivatkozás, nem pedig a Undefined. A logikai értékeket a rendszer NULL értékekre ellenőrzi. A karakterláncok ellenőrzik, hogy nincsenek-e szóközöktől eltérő karakterek

Formátum(, ) - Az átadott érték formázott karakterláncának fogadása. A formátum karakterlánc beállítása az 1C:Enterprise rendszer formátumkarakterláncának megfelelően történik.

Alkarakterlánc(, , ) - Ez a funkció arra szolgál, hogy egy karakterláncból kivonjon egy részkarakterláncot.

Húr hossza() - A függvény egy karakterlánc hosszának meghatározására szolgál. A paraméter egy karakterlánc kifejezés

Vonal() - Ha egy tömböt adunk át paraméterként, a függvény egy karakterláncot ad vissza, amely az összes tömbelem karakterlánc-reprezentációját tartalmazza, "; " karakterekkel elválasztva. Ha egy értéktáblázatot adunk át paraméterként, a függvény egy karakterláncot ad vissza, amely az értéktáblázat összes sorának karakterlánc-reprezentációit tartalmazza, az egyes sorok cellaábrázolásait ";" karakterekkel, a sorokat pedig újsorral elválasztva. karakter. Ha egy elem karakterlánc-reprezentációja üres, akkor az ábrázolás helyett egy karakterlánc jelenik meg.

Adatösszetételi rendszer kifejezési nyelve

Az adatkompozíciós rendszer kifejezési nyelve a rendszer különböző részeiben használt kifejezések írására szolgál.

A kifejezések a következő alrendszerekben használatosak:

  • adatelrendezési diagram - kiszámított mezők, összes mezők, kapcsolódási kifejezések stb. leírásához;
  • adatelrendezési beállítások – egyéni mezőkifejezések leírására;
  • adatelrendezési elrendezés - adathalmazok összekapcsolására szolgáló kifejezések leírására, elrendezési paraméterek leírására stb.

Szó szerint

A kifejezés tartalmazhat literálokat. A következő típusú literálok lehetségesek:

  • Vonal;
  • Szám;
  • Időpontja;
  • Boolean.

Vonal

A karakterlánc-literál „” karakterekkel van írva, például:

„String literal”

Ha a „” karaktert kell használnia egy string literálon belül, akkor két ilyen karaktert kell használnia.

Például:

"Szó szerinti ""idézőjelben"""

Szám

A szám szóközök nélkül, decimális formátumban kerül felírásra. Töredék"." karakterrel elválasztva. Például:

10.5 200

dátum

A dátum literált a DATETIME kulcsliterál használatával írjuk. Ezt követően kulcsszó, zárójelben, vesszővel elválasztva, az év, hónap, nap, óra, perc, másodperc szerepel. Időpont megadása nem szükséges.

Például:

DATETIME(1975, 1, 06) – 1975. január 6. DATETIME(2006, 12, 2, 23, 56, 57) – 2006. december 2., 23 óra 56 perc 57 másodperc, 23 óra 56 perc 57 másodperc

Boolean

A logikai értékeket a True (Igaz), False (False) literálokkal írhatjuk fel.

Jelentése

Más típusú literálok megadásához (rendszerfelsorolások, előre definiált adatok) az Érték kulcsszót kell használni, amelyet a literál neve követ zárójelben.

Érték (Számlatípus. Aktív)

Műveletek a számokkal

Unáris –

Ennek a műveletnek az a célja, hogy egy szám előjelét az ellenkező előjelre változtassa. Például:

Értékesítés. Mennyiség

Unary +

Ez a művelet nem hajt végre műveletet a számon. Például:

Értékesítés. Mennyiség

Bináris -

Ez a művelet két szám különbségének kiszámítására szolgál. Például:

Maradék és Forgalom. Kezdeti maradék – Maradék és Forgalom. Végső Maradék és Forgalom. Kezdeti maradék - 100 400 – 357

Bináris +

Ez a művelet két szám összegének kiszámítására szolgál. Például:

Fennmaradó és Forgalom.Kezdeti Fennmaradó + Fennmaradó és Forgalom.ForgalommaradékokÉs Forgalom.Kezdeti Fennmaradó + 100 400 + 357

Munka

Ez a művelet két szám szorzatának kiszámítására szolgál. Például:

Nómenklatúra.Ár * 1,2 2 * 3,14

Osztály

Ezt a műveletet úgy tervezték, hogy megkapja az egyik operandus másikkal való osztásának eredményét. Például:

Nómenklatúra.Ár / 1,2 2 / 3,14

A hadosztály maradéka

Ezt a műveletet úgy tervezték, hogy megkapja a maradékot, amikor egy operandust osztanak egy másikkal. Például:

Nómenklatúra Ár % 1,2 2 % 3.14

String műveletek

Összefűzés (bináris +)

Ez a művelet két karakterlánc összefűzésére szolgál. Például:

Nómenklatúra.Cikk + “: ”+ Nómenklatúra.Név

Mint

Ez a művelet ellenőrzi, hogy a karakterlánc egyezik-e az átadott mintával.

A LIKE operátor értéke TRUE, ha az érték<Выражения>megfelel a mintának, egyébként pedig HAMIS.

A következő karakterek a<Строке_шаблона>jelentése más, mint egy másik karakter a sorban:

  • % - százalék: nulla vagy több tetszőleges karaktert tartalmazó sorozat;
  • _ - aláhúzás: egy önkényes karakter;
  • […] - egy vagy több karakter szögletes zárójelben: egy karakter, a szögletes zárójelben szereplő karakterek bármelyike. A felsorolás tartalmazhat tartományokat, például a-z, ami egy tetszőleges karaktert jelent a tartományban, beleértve a tartomány végeit is;
  • [^...] - szögletes zárójelben egy tagadó ikon, amelyet egy vagy több karakter követ: bármely karakter, kivéve a tagadó ikon után felsoroltakat;

Minden más szimbólum önmagát jelenti, és nem hordoz semmilyen további terhelést. Ha a felsorolt ​​karakterek közül egyet önmagának kell írni, akkor ezt meg kell előznie<Спецсимвол>, a SPECIAL CHARACTER kulcsszó (ESCAPE) után van megadva.

Például sablon

„%ABV[abvg]\_abv%” KÜLÖNLEGES KARAKTER „\”

egy részstringet jelent, amely karaktersorozatból áll: az A betű; B betűk; B betűk; egy számjegy; az a, b, c vagy d betűk egyike; aláhúzás; a betűk; b betűk; betűk v. Sőt, ez a sorozat a sorban tetszőleges pozícióból kiindulva elhelyezhető.

Összehasonlító műveletek

Egyenlő

Ez a művelet két operandus összehasonlítására szolgál az egyenlőség érdekében. Például:

Sales.Counterparty = Sales.NomenclatureMainSupplier

Nem egyenlő

Ez a művelet két operandus összehasonlítására szolgál az egyenlőtlenség szempontjából. Például:

Értékesítés. Ügyfél<>Értékesítés.NómenklatúraFőszállító

Kevésbé

Ez a művelet annak ellenőrzésére szolgál, hogy az első operandus kisebb-e, mint a második. Például:

Sales Current.Amount< ПродажиПрошлые.Сумма

Több

Ez a művelet annak ellenőrzésére szolgál, hogy az első operandus nagyobb-e, mint a második. Például:

SalesCurrent.Sum > SalesPast.Sum

Kisebb vagy egyenlő

Ez a művelet annak ellenőrzésére szolgál, hogy az első operandus kisebb vagy egyenlő-e a másodiknál. Például:

Sales Current.Amount<= ПродажиПрошлые.Сумма

Több vagy egyenlő

Ez a művelet annak ellenőrzésére szolgál, hogy az első operandus nagyobb vagy egyenlő-e a másodiknál. Például:

SalesCurrent.Amount >= SalesPast.Amount

B művelet

Ez a művelet ellenőrzi, hogy van-e érték az átadott értéklistában. A művelet eredménye True lesz, ha az értéket megtalálja, vagy hamis máskülönben. Például:

B tétel (&Termék1, &Termék2)

Egy érték adathalmazban való meglétének ellenőrzésének művelete

A művelet ellenőrzi, hogy van-e érték a megadott adatkészletben. Az érvényesítési adatkészletnek egy mezőt kell tartalmaznia. Például:

Értékesítés. Partner a szerződő feleknek

NULL érték ellenőrzésének művelete

Ez a művelet igazat ad vissza, ha az érték NULL. Például:

Értékesítés. Az ügyfél NULL

A NULL egyenlőtlenség értékének ellenőrzési művelete

Ez a művelet igazat ad vissza, ha az érték nem NULL. Például:

Értékesítés. A partner NEM NULL

Logikai műveletek

A logikai műveletek elfogadják a Boolean típusú kifejezéseket operandusként.

Művelet NEM

A NOT művelet igaz értéket ad vissza, ha az operandusa hamis, és hamis, ha az operandusa igaz. Például:

NOT Document.Consignee = Dokumentum.Feladó

I. művelet

Az ÉS művelet True értéket ad vissza, ha mindkét operandus igaz, és False értéket, ha az egyik operandus hamis. Például:

Document.Consignee = Dokumentum.Feladó ÉS Dokumentum.Címzett = &Szerződéses fél

VAGY művelet

Az VAGY művelet igazat ad vissza, ha az egyik operandusa igaz, és hamis, ha mindkét operandus hamis. Például:

Document.Consignee = Dokumentum.Feladó VAGY Document.Consignee = &Személyes fél

Összesített függvények

Az összesítő függvények bizonyos műveleteket hajtanak végre egy adathalmazon.

Összeg

A Sum aggregate függvény az összes részletrekord argumentumaként átadott kifejezések értékeinek összegét számítja ki. Például:

Összeg(Eladás.Összegforgalom)

Mennyiség

A Count függvény kiszámítja a NULL-on kívüli értékek számát. Például:

Mennyiség (értékesítés. Ügyfél)

Különbözőek száma

Ez a függvény kiszámítja a különböző értékek számát. Például:

Mennyiség (különböző értékesítések. Ügyfél)

Maximális

A függvény a maximális értéket kapja. Például:

Maximum (fennmaradó. Mennyiség)

Minimális

A függvény megkapja minimális érték. Például:

Minimális (fennmaradó. Mennyiség)

Átlagos

A függvény a nem NULL értékek átlagát kapja. Például:

Átlag (fennmaradó. Mennyiség)

Egyéb műveletek

Művelet KIVÁLASZTÁS

A Select művelet célja, hogy bizonyos feltételek teljesülése esetén egyet válasszon több érték közül. Például:

Válassza a Amikor Összeg > 1000 Akkor Összeg egyébként 0 Vége lehetőséget

Két érték összehasonlításának szabályai

Ha az összehasonlított értékek típusai eltérnek egymástól, akkor az értékek közötti kapcsolatokat a típusok elsőbbsége alapján határozzuk meg:

  • NULL (legalacsonyabb);
  • logikai;
  • Szám;
  • Időpontja;
  • Vonal;
  • Referencia típusok

A különböző hivatkozási típusok közötti kapcsolatokat az adott típushoz tartozó táblázatok hivatkozási számai alapján határozzuk meg.

Ha az adattípusok megegyeznek, akkor az értékeket a következő szabályok szerint hasonlítják össze:

  • a logikai típusnál az IGAZ érték nagyobb, mint a FALSE;
  • a Szám típus a számokra vonatkozó szokásos összehasonlítási szabályokkal rendelkezik;
  • a Dátum típusnál a korábbi dátumok kisebbek, mint a későbbiek;
  • a String típus esetében - a karakterláncok összehasonlítása az adatbázis megállapított nemzeti jellemzői szerint;
  • a referenciatípusokat értékeik (rekordszám stb.) alapján hasonlítják össze.

NULL értékkel dolgozik

Minden olyan művelet, amelyben az egyik operandus NULL, NULL eredményt ad.

Vannak kivételek:

  • Az ÉS művelet csak akkor ad NULL értéket, ha egyik operandus sem hamis;
  • A VAGY művelet csak akkor ad vissza NULL értéket, ha egyik operandusa sem igaz.

Működési prioritások

A műveletek a következő prioritásokkal rendelkeznek (az első sor a legalacsonyabb prioritású):

  • B, IS NULL, NEM NULL;
  • =, <>, <=, <, >=, >;
  • Bináris +, Bináris – ;
  • *, /, %;
  • Unary +, Unary -.

Adatösszetételi rendszer kifejezési nyelvi függvényei

Kiszámítja

A Calculate funkció egy kifejezés kiszámítására szolgál egy bizonyos csoportosítással összefüggésben. A függvény a következő paraméterekkel rendelkezik:

  • Kifejezés. Írja be a String. Számított kifejezést tartalmaz;
  • Csoportosítás. Írja be a String. Annak a csoportnak a nevét tartalmazza, amelynek kontextusában a kifejezést ki kell értékelni. Ha üres karakterláncot használ a csoportosítás neveként, akkor a számítás az aktuális csoportosítással összefüggésben történik. Ha a GrandTotal karakterláncot használja csoportnévként, a számítás a végösszeg kontextusában történik. Ellenkező esetben a számítás az azonos nevű szülőcsoport környezetében történik. Például:
Összeg(értékesítés.ÖsszegForgalom) / Számítás("Összeg(Eladás.Össz.Forgalom)", "Összesen")

Ebben a példában az eredmény a csoportosítási rekord "Sales.AmountTurnover" mezőjében szereplő összeg és a teljes elrendezésben szereplő azonos mező összegének aránya.

Szint

A funkció az aktuális felvételi szint elérésére szolgál.

Szint()

NumberInOrder

Szerezze meg a következő sorszámot.

NumberByOrder()

NumberInOrderInGrouping

Az aktuális csoport következő sorszámát adja vissza.

NumberByOrderInGroup()

Formátum

Szerezze be az átadott érték formázott karakterláncát.

A formátum karakterlánc beállítása az 1C:Enterprise formátum karakterláncának megfelelően történik.

Lehetőségek:

  • Jelentés;
  • Karakterlánc formázása.

Formátum (Számlák.Dokumentum összege, "NPV=2")

Az időszak kezdete

Lehetőségek:

    • Perc;
    • Nap;
    • Egy hét;
    • Hónap;
    • Negyed;
    • Évtized;
    • Fél év.

StartPeriod(DátumIdő(2002, 10, 12, 10, 15, 34), "Hónap")

Eredmény:

01.10.2002 0:00:00

Időszak vége

A funkció célja, hogy egy adott dátumot kivonjon egy adott dátumból.

Lehetőségek:

  • Időpontja. Írja be a dátumot. Meghatározott dátum;
  • Időszak típusa. Írja be a String. A következő értékek egyikét tartalmazza:
    • Perc;
    • Nap;
    • Egy hét;
    • Hónap;
    • Negyed;
    • Évtized;
    • Fél év.

EndPeriod(DátumIdő(2002, 10, 12, 10, 15, 34), "Hét")

Eredmény:

13.10.2002 23:59:59

AddToDate

A funkció célja, hogy egy bizonyos értéket adjon egy dátumhoz.

Lehetőségek:

  • Nagyítás típusa. Írja be a String. A következő értékek egyikét tartalmazza:
    • Perc;
    • Nap;
    • Egy hét;
    • Hónap;
    • Negyed;
    • Évtized;
    • Fél év.
  • Összeg – mennyivel kell növelnie a dátumot. Írja be a számot. A tört részt figyelmen kívül hagyja.

AddToDate(DateTime(2002, 10, 12, 10, 15, 34), "Hónap", 1)

Eredmény:

12.11.2002 10:15:34

Dátumkülönbség

A funkciót úgy tervezték, hogy meghatározza két dátum közötti különbséget.

Lehetőségek:

  • Kifejezés. Írja be a dátumot. Eredeti dátum;
  • Kifejezés. Írja be a dátumot. Kivont dátum;
  • Különbség típusa. Írja be a String. A következő értékek egyikét tartalmazza:
    • Második;
    • Perc;
    • Nap;
    • Hónap;
    • Negyed;

DÁTUM KÜLÖNBSÉG(DÁTUMIDŐ(2002, 10, 12, 10, 15, 34), DÁTUMIDŐ(2002, 10, 14, 9, 18, 06), "NAP")

Eredmény:

Alkarakterlánc

Ezt a funkciót arra tervezték, hogy kivonja a karakterláncból egy részkarakterláncot.

Lehetőségek:

  • Vonal. Írja be a String. A karakterlánc, amelyből az alkarakterlánc ki lett bontva;
  • Pozíció. Írja be a számot. A karakter pozíciója, ahonnan a karakterláncból kinyerendő részkarakterlánc kezdődik;
  • Hossz. Írja be a számot. A lefoglalt részkarakterlánc hossza.

SUBSTRING (Fiókok. Cím, 1, 4)

Húr hossza

A függvény egy karakterlánc hosszának meghatározására szolgál.

Paraméter:

  • Vonal. Írja be a String. Egy karakterlánc, amelynek hossza meghatározott.

Sor (partnerek. Cím)

Év

Ez a funkció arra szolgál, hogy kivonja az évet a Dátum típusú értékből.

Paraméter:

  • Időpontja. Írja be a dátumot. Az év meghatározásának dátuma.

ÉV(Költség.Dátum)

Negyed

Ez a funkció arra szolgál, hogy kivonja a negyedszámot a dátum típusú értékből. A negyedszám általában 1 és 4 között van.

Paraméter

  • Időpontja. Írja be a dátumot. A negyedév meghatározásának dátuma
negyed (Költség.Dátum)

Hónap

Ez a funkció arra szolgál, hogy kivonja a hónap számát a dátum típusú értékből. A hónap száma általában 1 és 12 között van.

  • Időpontja. Írja be a dátumot. A hónap meghatározásának dátuma.
HÓNAP (Költség.Dátum)

Az év napja

Ez a funkció arra szolgál, hogy a Dátum típusú értékből megkapja az év napját. Az év napja általában 1 és 365 (366) között van.

  • Időpontja. Írja be a dátumot. Az a dátum, amelyre az év napját meghatározzák.
NAP (Költségszámla.Dátum)

Nap

Ez a funkció a hónap napjának a Dátum típusú értékből való lekérésére szolgál. A hónap napja általában 1 és 31 között van.

  • Időpontja. Írja be a dátumot. A hónap napjának meghatározásának dátuma.
NAP (Költség.Dátum)

Egy hét

Ez a funkció arra szolgál, hogy a Dátum típusú értékből megkapja az év hét számát. Az év hetei 1-től kezdődnek.

  • Időpontja. Írja be a dátumot. A hétszámok meghatározásának dátuma.
HÉT (Költség.Dátum)

A hét napja

Ez a funkció arra szolgál, hogy a hét napját a Dátum típusú értékből lekérje. A hét normál napja 1 (hétfő) és 7 (vasárnap) között van.

  • Időpontja. Írja be a dátumot. A hét napjának meghatározásának dátuma.
A HÉT NAPJA (Költség.Dátum)

Óra

Ez a funkció arra szolgál, hogy a nap óráját a Dátum típusú értékből lekérje. A nap órája 0 és 23 között van.

  • Időpontja. Írja be a dátumot. Az a dátum, amelyre a nap órája meghatározásra kerül.
ÓRA (Költség.Dátum)

Perc

Ez a funkció arra szolgál, hogy a Dátum típusú értékből lekérje az óra percét. Az óra perce 0 és 59 között mozog.

  • Időpontja. Írja be a dátumot. Az óra percének meghatározásának dátuma.
PERC (Költség.Dátum)

Második

Ezt a funkciót úgy tervezték, hogy a Dátum típusú értékből lekérje a perc másodpercét. A perc másodperce 0 és 59 között mozog.

  • Időpontja. Írja be a dátumot. A dátum, amelyre a perc másodpercei meghatározásra kerülnek.
MÁSODIK(költség.dátum)

Expressz

Ez a funkció arra szolgál, hogy egy olyan kifejezésből kinyerjen egy típust, amely tartalmazhat összetett típust. Ha a kifejezés a szükséges típustól eltérő típust tartalmaz, a NULL értéket adja vissza.

Lehetőségek:

  • Konvertálni kívánt kifejezés;
  • Típusjelzés. Írja be a String. Típus karakterláncot tartalmaz. Például: "Szám", "Karakterlánc" stb. Ez a sor a primitív típusokon kívül tartalmazhatja a tábla nevét is. Ebben az esetben megkísérlik a megadott táblára való hivatkozást kifejezni.

Express(Data.Props1, "Szám(10,3)")

Nulla

Ez a függvény a második paraméter értékét adja vissza, ha az első paraméter értéke NULL.

Ellenkező esetben az első paraméter értéke kerül visszaadásra.

IgenNULL(összeg(értékesítés.összegforgalom), 0)

A közös modulok funkciói

Az adatösszeállítási motor kifejezése tartalmazhat globális közös konfigurációs modulok függvényeinek hívását. Az ilyen függvények meghívásához nincs szükség további szintaxisra.

Ebben a példában az "AbbreviatedName" függvényt az általános konfigurációs modulból hívják meg.

Vegye figyelembe, hogy a közös modulfunkciók használata csak akkor engedélyezett, ha a megfelelő adatösszetétel-feldolgozó paraméter meg van adva.

Ezenkívül a közös modulok funkciói nem használhatók egyéni mezőkifejezésekben.

Az adatösszetételi séma (DCS) megfelelő használata lehetővé teszi, hogy:

  • jelentősen csökkenti a jelentés elkészítéséhez szükséges időt;
  • megszabadulni az alkotás szükségességétől ellenőrzött formában processzor;
  • gyönyörű eredményt kaphat a felhasználó további testreszabásának lehetőségével.

De nem minden fejlesztő használja ki a legtöbbet a rendszer képességeiből, mivel nem minden beállítása nyilvánvaló és intuitív. Különösen sokan tudják, hogy az 1C SKD-ben vannak számított mezők, azonban nem értik teljesen a használatuk körét és a velük való munkavégzés módszereit.

Mi az a számított mező

A legtöbb esetben az elrendezési diagram adatforrása egy lekérdezés. Elvileg magán a lekérdezésen belül már használhatunk különféle képleteket, konstrukciókat és kifejezéseket. Felmerül a természetes kérdés: miért van szükségünk duplikált funkcionalitásra?

Az a tény, hogy a beléptető rendszer több, mint egy lekérdezés eredményének megjelenítése, és ez jól látható a diagramkészítési űrlapon (1. ábra).

A számított mezők lehetővé teszik bizonyos műveletek végrehajtását a generált adatkészlettel:

  • Egy kéréssel fogadott adatok tömbjének kiírása egy adott cellába, több sort egyetlen cellába kombinálva;
  • Hozzáférés az általános modul export funkcióihoz;
  • Hajtsa végre az elrendezési nyelvhez elérhető különféle kifejezéseket, és használja a speciális EvaluateExpression függvényeket.

Menjünk végig ezen a listán.

Értékek tömbje egy cellában

Szimuláljunk egy olyan helyzetet, amikor külön cellában kell megkapni az összes bizonylatszámot egy partnerhez:


Így létrehoztunk egy további számítási mezőt a sémánkban;


Amint a fenti példából látható, a számított mezők hozzáadása és feldolgozása nem okoz nehézséget. Két függvényt használtunk: Array() és ConnectRows().

Néhány szó az utóbbiról. A tömb azonosítóját, értékeket vagy értéket jelző első paraméteren kívül további kettő állítható be:

  1. Elemelválasztó – jelzi, hogy melyik karakter választja el az egyik tömbelemet vagy az értéktáblázat egy sorát a másiktól (esetünkben ezt a paramétert kihagytuk, és alapértelmezés szerint sortörést rendeltünk hozzá);
  2. Oszlopelválasztó – az értéktáblázat oszlopainak elválasztására szolgáló karakter (alapértelmezés szerint a pontosvessző használatos).

Egy közös modul export funkcióinak elérése

Egy közös modul funkciói adatforrásként szolgálhatnak egy számított mező kitöltéséhez.

Néhány fontos szempont:

  • A függvénynek exportálhatónak kell lennie;
  • Ha egy függvény egy közös modulban található „Globális” attribútumkészlettel, akkor közvetlenül név szerint hívják meg, ellenkező esetben a függvényt a „Megosztott modulnév” séma szerint kell meghívni. "A meghívandó függvény neve."

Használati példaként ugyanazt az átvételi bizonylatok kérését vesszük, és külön oszlopban jelenítjük meg. Magát a kérést nem írjuk le, térjünk át közvetlenül a számított mezőkre:


Így azt látjuk, hogy szinte bármilyen adatfeldolgozó inicializálható a beléptető rendszerből, ami jelentősen kibővíti a séma felhasználási lehetőségeit.

Elrendezési nyelvi kifejezések

A fejlesztő munkájában gyakran előfordul olyan helyzet, amikor az ACS mezőben meg kell jeleníteni a felosztás eredményét:

  1. Számítsa ki a cikk átlagos költségét;
  2. Mindenféle kamat;
  3. Átlagkereset számítások stb.

A problémák elkerülése érdekében ezekben az esetekben célszerű egy 0-val való osztási tesztet beírni a számított mezőbe.

Ezt a „Válassza ki, mikor….akkor… különben… Vége” konstrukcióval lehet megtenni.

Végül néhány szó az elégről új funkció Kifejezés kiszámítása(). Segítségével különösen kiszámíthatja az aktuális és az előző sorok közötti költségeltéréseket, halmozott egyenleget stb.

Tegyük fel, hogy kérésünk előző sorából megkaphatja a bizonylat összegét, ha a "Kifejezés" mezőben megadja a Kifejezés kiszámítása ("Dokumentum összege", "Előző összeg") értéket.