Egyéni mezők a jelentésekben 1s 8.3. Adatösszetételi rendszer kifejezési nyelve (1Cv8)
Olvassa el is
A hozzáértő irányítás érdekében minden kereskedelmi szervezetnek gyorsan információt kell szereznie az áruk aktuális állapotáról, az értékesítésről és a nyereségről. Tekintettel azonban arra, hogy a szervezetek gyakran a legszélesebb termékválasztékkal és nagy mennyiség partnerek számára, akkor az elemző jelentéskészítő eszköz fontos szerepet játszik a szükséges információk megszerzésében. Nézzük meg közelebbről egy tipikus program jelentéseiben szereplő egyéni mezőkkel való munkavégzés menetét (11. rev.).
Az 1C: Enterprise 8 platform fejlesztése egyre több lehetőséget kínál a felhasználóknak. Így például a 8.2-es verzióban a jelentések rugalmasabbá váltak, így képzett programozók segítsége nélkül is testreszabhatók a különféle követelményekhez.
Jelentésbeállítások módosítása
A jelentésbeállítások megtekintéséhez vagy módosításához lépjen az "Összes művelet" menübe, és válassza a "Változat módosítása" parancsot. Ezt követően a felhasználó előtt megnyílik egy ablak a megnyitott jelentés beállításaival.
A beállítási ablak felső részén látható a jelentés szerkezete, amely nem más, mint a jelentés oszlopainak és sorainak csoportosításának vizuális tükrözése, ami lényegében lehetővé teszi, hogy elképzelhető legyen az analitikai adatok megjelenítési sorrendje a jelentésben. ez a jelentés.
A beállítási ablak alján maguk az aktuális információk és mezőbeállítások jelennek meg, amelyek akár a jelentéshez, akár annak szerkezeti elemeihez (oszlopok és sorcsoportok) kapcsolódnak.
Egyéni mezők
Egy programban 1C: Kereskedelmi menedzsment 8 A 11. kiadás jelentésbeállításai több lehetőséget biztosítanak a felhasználóknak az összeállítás során.
A jelentések beállításainak és szerkezetének szerkesztési ablakában szeretném felhívni a felhasználók figyelmét a " Egyéni mezők”, amely lehetővé teszi saját mezők létrehozását és hozzáadását a jelentéshez. Emlékeztetni kell arra, hogy korábban a felhasználó csak azokat a mezőket használhatta, amelyeket a fejlesztő implementált.
Tekintsük ennek a függvénynek a használatát egy példán keresztül.
Tegyük fel, hogy egy Moszkvában és a régiókban árukat értékesítő kereskedelmi vállalat vezetője az értékesítési előzmények jelentést az igényeinek megfelelően szeretné személyre szabni, és adatokat szeretne megjeleníteni a termék Moszkvában és általában a régiókban, valamint a partnerek számára történő eladásáról. . Ez nagyon egyszerű egyéni mezők használatával.
Így a szemléltető példa azt mutatja, hogy a felhasználói mezők rugalmas beállításai egy tipikus programban 1C: Kereskedelmi menedzsment 8 biztosítsa a felhasználót széles lehetőségeket a jelentés beállításaiban, lehetővé téve a szükséges információk gyors és kényelmes megszerzését.
Adatösszetételi rendszer kifejezési nyelve
Az adatösszeállítási rendszer kifejezési nyelve a rendszer különböző részein használt kifejezések rögzítésére szolgál.
A kifejezések a következő alrendszerekben használatosak:
- adatösszetétel séma - számított mezők, összes mezők, linkkifejezések stb. leírásához;
- adatösszetételi beállítások – egyéni mezőkifejezések leírására;
- adatösszetétel elrendezés - adatkészlet-reláció 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ú lehetséges literálok:
- Vonal;
- Szám;
- Időpontja;
- Boolean.
Vonal
Egy string literál a "" karakterekkel van írva, például:
"String literal"
Ha a """ karaktert kell használnia a 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. A tört részt a "." karakter választja el. Például:
10.5 200
dátum
A dátum típusú literál a DATETIME billentyű literál használatával írható. Ezt követően kulcsszó, zárójelben, vesszővel elválasztva, az év, hónap, nap, óra, perc, másodperc szerepel. Időjelzés 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:56:57 másodperc, 23:56:57 másodperc
logikai érték
A logikai értékeket igaz (igaz), hamis (hamis) literálokkal írhatjuk fel.
Jelentése
Más típusú literálok (rendszerfelsorolások, előre definiált adatok) megadásához a Value 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
Unary -
Ez a művelet egy szám előjelének megfordítására szolgál. 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:
Egyenlegek és Forgások. Kezdőegyenleg - Egyenlegek és Forgások. Végegyenlegek és Forgások. Kezdőegyenleg - 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:
Egyenlegek és Forgások. Kezdeti egyenleg + egyenlegek és forgalom. forgalmi egyenlegek és forgalom. kezdeti egyenleg + 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 az egyik operandus másikkal való felosztásának maradékát. Például:
Nómenklatúra Ár % 1,2 2 % 3.14
Műveletek húrokon
Ö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.Cikkely + “:”+ Nómenklatúra.Név
Mint
Ez a művelet ellenőrzi, hogy egy karakterlánc megfelel-e az adott mintának.
A LIKE operátor értéke TRUE, ha az érték<Выражения>egyezik a mintával, egyébként HAMIS.
A következő karakterek a<Строке_шаблона>más jelentéssel bír, mint egy másik karakter a karakterláncban:
- % - százalék: nulla vagy több tetszőleges karaktert tartalmazó sorozat;
- _ - aláhúzás: egy tetszőleges 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 a tartományon belül bármely karaktert jelent, 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, amely nem szerepel a tagadó ikon után;
Minden más szimbólum önmagát jelenti, és nem hordoz semmilyen további terhelést. Ha a felsorolt karakterek valamelyikét önmagának kell írni, akkor ezt meg kell előznie<Спецсимвол>Az ESCAPE kulcsszó után megadott.
Például sablon
„%ABC[abc]\_abc%” KÜLÖNLEGES KARAKTER „\”
egy részstringet jelent, amely karaktersorozatból áll: A betűk; B betűk; B betűk; egy számjegy; az a, b, c vagy d betűk egyike; aláhúzás karakter; a betűk; b betűk; betűk be. Sőt, ez a sorozat a karakterlánc tetszőleges pozíciójából kiindulva is 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. Vállalkozó<>É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.Amount > SalesPast.Amount
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 igaz, ha az értéket megtalálja, vagy hamis, ha nem. Például:
B elem (&item1, &item2)
Művelet annak ellenőrzésére, hogy létezik-e érték az adatkészletben
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. Vállalkozó vállalkozóknak
NULL ellenőrzési művelet
Ez a művelet igazat ad vissza, ha az érték NULL. Például:
Értékesítés. Vállalkozó NULL
Nem NULL érték ellenőrzésének művelete
Ez a művelet igazat ad vissza, ha az érték nem NULL. Például:
Értékesítés. A vállalkozó NEM NULL
Boole-műveletek
A logikai műveletek elfogadják a Boolean típusú kifejezéseket operandusként.
Művelet NEM
A NOT operátor igaz értéket ad vissza, ha az operandusa False, és hamis értéket ad vissza, ha az operandusa True. Például:
NOT Document.Consignee = Dokumentum.Feladó
Művelet ÉS
Az ÉS művelet igazat ad vissza, ha mindkét operandus igaz, és False értéket ad vissza, ha az egyik operandus hamis. Például:
Document.Consignee = Document.Consignor ÉS Document.Consignee = &Vállalkozó
VAGY művelet
Az VAGY művelet True értéket ad vissza, ha az egyik operandus igaz, és False értéket, ha mindkét operandus hamis. Például:
Document.Consignee = Document.Consignor VAGY Document.Consignee = &Vállalkozó
Ö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 a nem nulla értékek számát számolja. Például:
Mennyiség (értékesítés. Vállalkozó)
Különbözőek száma
Ez a függvény kiszámítja a számot különböző jelentések. Például:
Mennyiség (különféle értékesítés. Vállalkozó)
Maximális
A függvény a maximális értéket kapja. Például:
Maximum (Maradék. Mennyiség)
Minimális
A függvény a minimális értéket kapja. Például:
Minimum (egyenleg. Mennyiség)
Átlagos
A függvény a nem nulla értékek átlagát kapja. Például:
Átlagos (Maradék. Mennyiség)
Egyéb műveletek
Művelet KIVÁLASZTÁS
A Select művelet célja, hogy bizonyos feltételek mellett több érték közül egyet válasszon. Például:
Válassza a Amikor összeg > 1000, majd az összeg különben 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 kapcsolatot a típusok elsőbbsége alapján határozzuk meg:
- NULL (legalacsonyabb);
- logikai érték;
- Szám;
- Időpontja;
- Vonal;
- Referencia típusok
A különböző hivatkozási típusok közötti kapcsolatokat az adott típusnak megfelelő táblázatok hivatkozási számai alapján határozzák meg.
Ha az adattípusok egyeznek, akkor az értékeket a következő szabályok szerint hasonlítják össze:
- típusú logikai érték: TRUE nagyobb, mint FALSE;
- típus A szám a szokásos összehasonlítási szabályokkal rendelkezik a számokhoz;
- 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 nemzeti jellemzőivel összhangban;
- a referenciatípusokat értékeik (rekordszám stb.) alapján hasonlítják össze.
Munka a NULL-lal
Minden olyan művelet, amelyben az egyik operandus értéke NULL, NULL eredményt ad.
Vannak kivételek:
- az ÉS művelet csak akkor ad NULL értéket, ha egyik operandus sem hamis;
- az VAGY művelet csak akkor ad NULL értéket, ha egyik operandus 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ó célja egy kifejezés kiszámítása bizonyos csoportosítással összefüggésben. A függvény a következő paraméterekkel rendelkezik:
- Kifejezés. Írja be: String. Számított kifejezést tartalmaz;
- Csoportosítás. Írja be: String. Annak a csoportnak a nevét tartalmazza, amelynek kontextusában a kifejezést ki kell értékelni. Ha a csoport neve üres sor, 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. Például:
BAN BEN ezt a példát ennek eredményeként megkapja a csoportosítási rekord "Eladások.Összegforgalom" mezőjében lévő összeg arányát a teljes elrendezésben ugyanazon mező összegéhez.
Szint
A funkciót az aktuális felvételi szint lekérésére tervezték.
Szint()
NumberInOrder
Szerezze meg a következő sorszámot.
Rendelésszám()
NumberIn OrderInGrouping
Az aktuális csoport következő sorszámát adja vissza.
NumberInOrderInGroup()
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 (Kiadási számlák.AmountDoc, "NPV=2")
Az időszak kezdete
Lehetőségek:
- Perc;
- Nap;
- Egy hét;
- Hónap;
- Negyed;
- Évtized;
- Fél év.
PeriodStart(DátumIdő(2002, 10, 12, 10, 15, 34), "Hónap")
Eredmény:
01.10.2002 0:00:00
EndPeriod
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. Adott dátum;
- Időszak típusa. Írja be: 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
AddDate
A funkció célja, hogy némi értéket adjon a dátumhoz.
Lehetőségek:
- Nagyítás típusa. Írja be: String. A következő értékek egyikét tartalmazza:
- Perc;
- Nap;
- Egy hét;
- Hónap;
- Negyed;
- Évtized;
- Fél év.
- Érték – mennyivel szeretné növelni 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
KülönbségDátum
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: String. A következő értékek egyikét tartalmazza:
- Második;
- Perc;
- Nap;
- Hónap;
- Negyed;
DATEDIFF(DÁTUMIDŐ(2002, 10, 12, 10, 15, 34), DÁTUMIDŐ(2002, 10, 14, 9, 18, 06), "NAP")
Eredmény:
Alkarakterlánc
Ez a funkcióúgy van kialakítva, hogy kivonja a karakterláncból egy részkarakterláncot.
Lehetőségek:
- Vonal. Írja be: 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 kiválasztott 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: String. A karakterlánc, amelynek hosszát meghatározzuk.
Karakterlánc (Fiókok. 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.
YEAR (dátummal együtt)
Negyed
Ez a funkció arra szolgál, hogy a Dátum típus értékéből kivonja a negyedév számát. A blokk száma á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
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.
Az év napja
Ezt a funkciót úgy tervezték, hogy az év napját egy Dátum típusú értékből kapja meg. Az év napja általában 1 és 365 (366) között mozog.
- Időpontja. Írja be a dátumot. Az a dátum, amelyre az év napját meghatározzák.
Nap
Ez a funkció úgy készült, hogy a hónap napját a Dátum típusú értékből kapja meg. A hónap napja általában 1 és 31 között van.
- Időpontja. Írja be a dátumot. A hónap napjainak meghatározásának dátuma.
Egy hét
Ez a funkció arra szolgál, hogy a Dátum típusú értékből megkapja az év hetének 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.
A hét napja
Ez a funkció úgy készült, hogy a hét napját a Dátum típusú értékből kapja meg. A hét napja általában 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.
Ó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.
- Időpontja. Írja be a dátumot. Az a dátum, amelyre a nap órája meghatározásra kerül.
Perc
Ezt a funkciót úgy tervezték, 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.
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.
Expressz
Ez a funkció arra szolgál, hogy egy olyan kifejezésből válasszon ki egy típust, amely tartalmazhat összetett típus. Ha a kifejezés a szükséges típustól eltérő típust tartalmaz, a rendszer NULL értéket ad vissza.
Lehetőségek:
- A konvertálandó kifejezés;
- Típusjelzés. Írja be: String. Típus karakterláncot tartalmaz. Például: "Szám", "Karakterlánc" stb. Kivéve a primitív típusokat adott string táblázatnevet tartalmazhat. Ebben az esetben megkísérlik a megadott táblára való hivatkozást kifejezni.
Express(Adat.Attribútum1, "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.
IsNULL(összeg(értékesítés.összegforgalom), 0)
Közös modulfunkciók
Az adatösszetétel motor kifejezés tartalmazhat függvényhívásokat globális közös konfigurációs modulokhoz. Az ilyen függvények meghívásához nincs szükség további szintaxisra.
Ebben a példában a "ShortName" függvényt az általános konfigurációs modulból hívják meg.
Vegye figyelembe, hogy a megosztott modulfunkciók használata csak akkor engedélyezett, ha a megfelelő adatösszetétel-feldolgozó opció meg van adva.
Ezenkívül a közös modulfüggvények nem használhatók egyéni mezőkifejezésekben.
Részletesen átgondoltuk az ACS alapján megvalósított riportok beállításait. Most nézzük a finomabb és részletes beállításokat jelentési lehetőségek. A „Speciális” jelentésváltozat-beállítások ablakát a „További” – „Egyéb” – „Jelentésváltozat módosítása” parancs hívja meg.
A jelentésváltozat módosítására szolgáló ablak két részre oszlik:
1. A jelentés szerkezete.
2. Jelentésbeállítások.
A jelentésváltozatok szerkezeti része hasonló a standard jelentésbeállítások "Struktúra" lapjához. A csoportosítások célját és konfigurációját a cikk 1. része részletesen tárgyalja.
A jelentésváltozat szerkezeti táblázata a csoportosításokat tartalmazó oszlopon kívül több további oszlopot is tartalmaz:
A jelentésváltozat beállításai szakasz bőséges lehetőséget ad a felhasználónak, hogy igényeinek megfelelően konfigurálja a jelentést. Szinte teljesen egybeesik alapbeállítások Nézzük meg a szakasz összes fülét, és vegyük észre a különbségeket.
A beállítások szakasz a következő lapokból áll:
1. Opciók. Tartalmaz ACS paraméterek a felhasználó rendelkezésére áll.
ACS paraméter – a jelentésadatok lekéréséhez használt érték. Ez lehet adatkiválasztás vagy érvényesítés feltételértéke, valamint segédérték.
A paramétertáblázat "Paraméter" - "Érték" formátumban jelenik meg. Ha szükséges, módosíthatja a paraméterértékeket. A „Felhasználói beállítások elem tulajdonságai” gombra kattintva megnyílik az elem felhasználói beállításai.
Ebben az ablakban kiválaszthatja, hogy az elem szerepeljen-e a felhasználói beállításokban (azaz látható legyen-e a felhasználó számára a jelentés beállításakor), beállíthatja az elem megjelenítési és szerkesztési módját ( gyors hozzáférés a jelentés fejlécében, normál a jelentésbeállításokban és nem érhető el).
Az egyéni beállítások elem tulajdonságaihoz csoportosító mezők, margók, kijelölések és feltételes stíluselemek is tartoznak.
2. Egyéni mezők. Olyan mezőket tartalmaz, amelyeket a felhasználó maga alakít ki a jelentés által kiválasztott adatok alapján.
A felhasználó kétféle mezőt adhat hozzá:
- Új kiválasztási mező...
- Új kifejezésmező...
A Select mezők lehetővé teszik az érték kiszámítását a alapján adott állapot. A kijelölési mező szerkesztő ablaka tartalmazza a mező címét és egy táblázatot, amelyben megadjuk a mező kijelölését, értékét és megjelenítését. A kiválasztás egy feltétel, attól függően, hogy a kívánt érték melyiket helyettesíti.
Például számítsuk ki az eladások számának becslését. Feltételezzük, hogy ha 10 egységnél kevesebb árut adnak el, akkor keveset, ha pedig 10 egységnél többet, akkor sokat. Ehhez a számított mező 2 értékét állítjuk be: az első a "Termékek száma kevesebb, mint "10" vagy egyenlő, a második a "Termékek száma több mint "10" választással lesz. "".
A kifejezésmezők lehetővé teszik az érték kiszámítását tetszőleges algoritmusok segítségével. Használhatják a lekérdező nyelv és a beépített 1C programozási nyelv funkcióit. A kifejezésmező szerkesztő ablaka két mezőt tartalmaz a részletes és összefoglaló rekordok kifejezésére. Az összesítő rekordok a "Jelentés szerkezete" területen konfigurált csoportosítások, összesítő függvényeket kell használniuk ("Összeg", "Minimum", "Maximum", "Mennyiség").
Például számítsuk ki az átlagos kedvezmény százalékát. Az átlagos engedményszázalék kiszámítása a következő képlettel történik: [Eladások összege engedmény nélkül] - [Eladások összege engedménnyel] / [Eladások összege engedmény nélkül]. Emlékeztetni kell arra, hogy a kedvezmény nélküli eladások összege nulla is lehet, ezért a SELECT operátort használjuk az ellenőrzéshez. A következő kifejezéseket kapjuk:
· Részletes bejegyzésekért:
Választás
Amikor [Eladások összege engedmény nélkül] = 0
Aztán 0
Else [Kedvezmény nélküli értékesítés] - [Kedvezményes értékesítés] / [Kedvezmény nélküli értékesítés]
Vége
· Összefoglaló bejegyzésekhez:
Választás
Amikor Összeg([Eladások összege engedmény nélkül]) = 0
Aztán 0
Egyéb esetben Összeg([Eladások összege engedmény nélkül]) - Összeg([Eladások összege engedménnyel]) / Összeg([Eladások összege engedmény nélkül])
Vége
Mint korábban említettük, az összes rekord kifejezésében az "Összeg" összesítő függvényt használjuk.
3. Csoportosított mezők. Olyan mezőket tartalmaz, amelyek alapján a jelentésváltozat eredménye csoportosításra kerül. A csoportosítási mezők mindegyik csoportosításhoz külön vannak konfigurálva, de beállíthat közös csoportosítási mezőket egy jelentésváltozathoz, ha kiválasztja a „Jelentés” gyökerét a szerkezetfában. Hozzáadhat mezőt a jelentés eredményéből, egyéni mezőt, vagy kiválaszthat egy automatikus mezőt, ekkor a rendszer automatikusan kiválasztja a mezőket. Ezen a lapon a csoportosított mezők sorrendjét is módosíthatja.
4. Mezők. A jelentésváltozat eredményében megjelenő mezőket tartalmazza. A mezők mindegyik csoportosításhoz külön vannak konfigurálva, de beállíthat közös mezőket egy jelentésváltozathoz, ha kiválasztja a „Jelentés” gyökerét a szerkezetfában. Hozzáadhat mezőt a jelentés eredményéből, egyéni mezőt, vagy kiválaszthat egy automatikus mezőt, ekkor a rendszer automatikusan kiválasztja a mezőket. Ezen a lapon a mezők sorrendjét is módosíthatja.
A mezők csoportosíthatók a jelentés bármely részének logikus kiemelése érdekében, vagy beállíthat egy adott oszlopelrendezést. Csoport hozzáadásakor a „Hely” oszlop aktívvá válik, és lehetővé teszi a helybeállítások egyikének kiválasztását:
- Auto - a rendszer automatikusan elrendezi a mezőket;
- Vízszintesen - a mezők vízszintesen vannak elrendezve;
- Függőlegesen - a mezők függőlegesen vannak elrendezve;
- Külön oszlopban - a mezők különböző oszlopokban találhatók;
- Együtt - a mezők egy oszlopban vannak elrendezve.
5. Kiválasztás. Tartalmazza a jelentésváltozatban használt szűrőket. A szűrők beállítását a cikk 1. részében tárgyaltuk részletesen. A szűrők mindegyik csoportosításhoz külön vannak konfigurálva, de beállíthat általános szűrőket egy jelentésváltozathoz, ha kiválasztja a „Jelentés” gyökerét a szerkezetfában.
6. Rendezés. Tartalmazza a jelentésváltozatban használt rendezési mezőket. A rendezési mezők beállítását a cikk 1. része részletesen tárgyalja. A rendezés minden egyes csoportosításhoz külön van konfigurálva, de beállíthat közös rendezési mezőket egy jelentésváltozathoz, ha kiválasztja a „Jelentés” gyökerét a szerkezetfában.
7. Feltételes tervezés. A jelentésváltozatban használt feltételes tervezési elemeket tartalmazza. A feltételes formázás beállítását a cikk 1. része részletesen tárgyalja. A feltételes tervezés minden csoporthoz külön van konfigurálva, de beállíthatja a feltételes tervezés közös elemeit egy jelentésváltozathoz, ha kiválasztja a „Jelentés” gyökerét a szerkezetfában.
8. További beállítások. Tartalmaz további beállítások jelentés formázása. Lehetővé teszi egy általános kiválasztását kinézet jelentés, a mezők elhelyezkedése, csoportosítások, attribútumok, erőforrások, összegek, diagrambeállítások beállítása, a cím, a paraméterek és a kijelölés megjelenítésének vezérlése, az erőforrások helyzetének meghatározása, valamint a jelentésváltozat csoportosításának fejlécének és oszlopainak rögzítése.
Végezetül szeretném megjegyezni, hogy a jelentésbeállítások nem csak jelentésváltozatként menthetők, hanem fájlba is feltölthetők ("Tovább" menü - "Beállítások mentése"). A letöltéshez válassza a "Beállítások betöltése" lehetőséget, és válassza ki a mentett fájlt. Így átvihetjük a jelentésváltozat beállításait a különböző, azonos konfigurációjú adatbázisok között.
Ez alapján összefoglalhatjuk, hogy a felhasználó nem csak az igényeinek megfelelően testreszabhatja a riportot, hanem el is mentheti beállításait, és szükség esetén a jövőben is használhatja.
Kész jelentések hozzáadása saját oszlopokkal.
A felhasználói módból az „Adatösszetételi séma” segítségével készített jelentéshez saját Mezőket is hozzáadhat, amelyek a generálás során jelennek meg.
Ezekben a mezőkben megengedett az aritmetikai műveletek alkalmazása.
Nagyon régen írtam az „Áruk szállítása” jelentést http://infostart.ru/public/16477/. Ebben a kiadványban nem tárgyaljuk annak relevanciáját és érdemeit. Ez a jelentés sablonként fog szolgálni a kísérletekhez, módosításokhoz. Sőt, a megjegyzésekben megkérdezték, hogyan lehet mezőket hozzáadni.
Nyissa meg a "Beállítások..." elemet, és lépjen a "Felhasználói beállítások" fülre.
2. Adja hozzá az "Új mező kifejezés"
A mezők hozzáadása azt jelenti, hogy az Elérhető mezők közé számtani műveleteket írunk (ez zöld négyzettel jelölve megengedett). Szintén jellemző, hogy ha egy ilyen mező neve két vagy több szóból áll, akkor azt szögletes zárójelek közé kell tenni. Legyen így - [Eladási összeg].
Mentés után ez a mező lesz kiválasztható:
Itt egyszerű manipulációk segítségével megkapja a szükséges értéket. Ez a lehetőség lehetővé teszi a kötelező mezők hozzáadását. Olyan számítási lehetőségekben, amelyekre szüksége van. Az aritmetikai számítások logikájában figyelembe veszik a jövedelmezőséget, a hatékonyságot és más értékeket.
Ebben az esetben a munkája nem vész el, és a jelentés következő megnyitásakor felhasználhatja azt.
A mezők írásakor használt függvények.
- A " + , - , * , / " aritmetika ezzel egyértelmű, szerintem nem kell magyarázni a cselekvésük elvét.
- Logikai kifejezések-ban a kiválasztások meghatározására szolgálnak. " > ,< , = , >= , <= , <>, ÉS, VAGY, NEM". Ezeket a kifejezéseket a select művelettel használják.
- Kiválasztási műveletek. Jelentkezzen a lehetséges értékek egyikének megszerzéséhez a megadott feltételeknek megfelelően
VÁLASZTÁS
AMIKOR< Операция выбора >AKKOR<Выражение>
MÁSKÉPP<Выражение>
VÉGE
Példa:
VÁLASZTÁS
AMIKOR Mennyiség > 0 és Mennyiség > 0, AKKOR "Helyes"
EGYÉB "Hiba"
VÉGE
Ennek megfejtése a következőképpen történik: feltéve, hogy a mennyiség nagyobb, mint nulla, és az összegek nagyobbak nullánál, akkor a „Helyes” szöveg jelenik meg, és ha legalább egy feltétel nem teljesül, akkor az „Error” felirat jelenik meg.
- Beépített funkció, lehetővé teszi bizonyos átalakítások végrehajtását mezőkkel.
SUBSTRING ("Kifejezés", "Kiinduló helyzet", "Véghelyzet") - kiválasztja a "Kifejezés" azon részét, amelyet a "Kezdő ..." és a "Befejezés ..." keretek határolnak.
Hogyan történik ez a Nomenclature - "Csokoládé paszta" értékkel. A részstring(Nómenklatúra,1,5) a "Paste" értéket fogja megjeleníteni
A függvények a dátumok kezelésére szolgálnak.
ÉV(<Дата>), NEGYED(<Дата>), HÓNAP(<Дата>), DAY(<Дата>), DAY(<Дата>), EGY HÉT(<Дата>),HÉTKÖZNAP(<Дата>),ÓRA(<Дата>), PERC(<Дата>), SEC(<Дата>)
A függvény nevének megfelelő érték jelenik meg.
BEGINNING("Dátum", "Shift periódus"), ENDPERIOD("Dátum", "Shift periódus"). A függvényadatoknál a Dátum kifejezés értéke az adott dátum elején vagy végén van.
ADDDATE ("Dátum", "Shift periódus", "Az összeg, amellyel növelni szeretné a dátumot") - a funkció lehetővé teszi a dátum növelését vagy csökkentését egy bizonyos értékkel.
DIFFERENCEDATE ("Date1", "Date2", "Shift period") – A funkciót úgy tervezték, hogy megkapja a különbséget két dátum között.
A „Shift Period” a „perc, óra, nap, hét, hónap, negyed, év, évtized, fél év” egyike.
5. A lekérdező nyelv összesítő függvényei az összegek számítási eredményeinek csoportosítására szolgálnak.
SUM (<>) a mintában szereplő összes érték számtani összege.
ÁTLAG (<>) kiszámítja a mintában szereplő összes személy átlagértékét
MINIMUM (<>) kiszámítja a mintában szereplő összes érték minimális értékét
MAXIMUM (<>) kiszámítja a mintában szereplő összes érték maximális értékét
MENNYISÉG (<>) számolja a kiválasztásban szereplő paraméterértékek számát. Ez a funkció lehetővé teszi a használati eseteket. SZÁM(*) - lehetővé teszi, hogy megszámolja a sorok számát az eredményben. SZÁM (KÜLÖNBÖZŐ "Kifejezés") - lehetővé teszi, hogy megszámolja a megadott mező különböző értékeinek számát.
Összeg (választható
Amikor a részkarakterlánc(Nómenklatúra, 1, 5) = "Beillesztés"
Ezután Mennyiség *0,2
Egyéb Mennyiség *0,35
vége)
Az értékek összegét ebben az esetben kapjuk meg, ha a „Beillesztés” szerepel a nómenklatúra nevének elején, ebben az esetben a mennyiség 0,2-vel nő, ha nincs jelen, akkor 0,35-tel nő.
Év ([Dokumentum.Dátum])
Megjelenik a dokumentum rögzítésének/feladásának éve.
Több összetett példa, dekódolás nélkül.
Választás
Amikor Quarter([Dokumentum.Dátum]) = 1 ÉS Alkarakterlánc(Nómenklatúra, 1, 5) = "Beillesztés"
Ezután Mennyiség * 0,2
Más választás
Amikor Negyed([Dokumentum.Dátum]) = 2
Ezután Mennyiség * 0,3
Más választás
Amikor Negyed([Dokumentum.Dátum]) = 3
Ezután Mennyiség * 0,4
Más választás
Amikor Negyed([Dokumentum.Dátum]) = 4
Ezután Mennyiség * 0,5
Vége
Vége
Vége
Vége