Egyéni jelentések¶
Az Odoo egy hatékony és könnyen használható jelentéskészítő keretrendszerrel rendelkezik. A motor lehetővé teszi új jelentések létrehozását, például adójelentések, mérlegek és eredménykimutatások készítését meghatározott csoportosításokkal és elrendezésekkel.
Fontos
Aktiválja a fejlesztői módot a könyvelési jelentés konfigurációjának eléréséhez.
Új jelentés létrehozásához lépjen a menüpontra. Innen hozzon létre egy gyökérjelentést vagy egy változatot.
Javaslat
Fontolja meg a módosított jelentések jelentésvariánsként való mentését, hogy az alapjelentések érintetlenek maradjanak.
Egy meglévő jelentés kezelési felületének a jelentésből való eléréséhez kattintson a (fogaskerekek) ikonra.
Alapjelentések¶
Az alapjelentések általános, semleges könyvelési jelentéseknek tekinthetők. Modellként szolgálnak, amelyekre a helyi könyvelési verziók épülnek. Ha egy jelentésnek nincs alapjelentése, akkor maga minősül alapjelentésnek.
Example
Egy belgiumi és egy egyesült államokbeli adójelentés egyaránt ugyanazt az általános verziót használja alapként, és azt igazítja a hazai szabályozáshoz.
Egy új alapjelentés eléréséhez menüelem létrehozása szükséges. Ehhez nyissa meg a jelentés konfigurációját, kattintson a Művelet, majd a Menüelem létrehozása lehetőségre, és frissítse az oldalt. A jelentés ezután elérhető lesz a menüpont alatt.
Megjegyzés
Új alapjelentés létrehozására ritkán van szükség, például akkor, ha egy ország adóhatósága új és speciális jelentéstípust ír elő.
Variánsok¶
A variánsok az alapjelentések országspecifikus verziói, ezért mindig hivatkoznak egy alapjelentésre. Variáns létrehozásához új jelentés létrehozásakor válasszon egy általános (alap) jelentést a Alapjelentés mezőben.
Ha egy alapjelentést a Könyvelés alkalmazás Jelentések menüjéből nyitnak meg, az összes variánsa megjelenik a nézet jobb felső sarkában található jelentésvariáns-választóban.
Example
A ÁFA-jelentés (BE) az Általános adójelentés alapjelentés variánsa.
Sorok¶
Egy jelentés létrehozása (akár alap, akár variáns) után a következő lépés a sorokkal való feltöltése. Új sor létrehozásához kattintson a Sor hozzáadása lehetőségre. Meglévő sor módosításához kattintson a sorra, és szerkessze a felugró ablakot. Minden sorhoz kötelező egy Név, és opcionálisan megadható egy Kód, amely lehetővé teszi a sor értékének képletekben való használatát.
Kifejezések¶
Minden sor egy vagy több kifejezést tartalmazhat. A kifejezések alváltozóknak tekinthetők, amelyekre egy jelentéssornak szüksége van. Kifejezés létrehozásához kattintson a Sor hozzáadása lehetőségre egy sor felugró ablakán belül.
Kifejezés létrehozásakor meg kell adni egy Címkét, amellyel a kifejezésre hivatkozni lehet. A címkének egyedinek kell lennie az egyes jelentéssorok kifejezései között. A Számítási motor és a Képlet mezőket szintén ki kell tölteni. A számítási motor határozza meg, hogy a képlet(ek) és alkeplet(ek) hogyan értelmezendők. Szükség esetén lehetséges különböző számítási motorokat használó kifejezéseket kombinálni ugyanazon a soron belül.
Megjegyzés
A motortól függően alkepletekre is szükség lehet.
Odoo Domain számítási motor¶
Az Odoo Domain számítási motor használatakor a képlet account.move.line objektumokat célzó Odoo domain-ként értelmezendő.
Az alképlet meghatározza, hogy a domainnek megfelelő naplósorokat hogyan kell felhasználni a kifejezés értékének kiszámításához:
sumAz eredmény az egyező naplósorok egyenlegeinek összege.
sum_if_posAz eredmény az egyező naplósorok egyenlegeinek összege, ha ez az összeg pozitív. Ellenkező esetben
0.sum_if_negAz eredmény az egyező naplósorok egyenlegeinek összege, ha ez az összeg negatív. Ellenkező esetben
0.count_rowsAz eredmény a kifejezés alsorainak száma. Ha a szülősornak van group-by értéke, ez az egyező naplósorok különböző csoportosítási kulcsainak számának felel meg. Ellenkező esetben az egyező naplósorok száma lesz.
Javaslat
Az eredmény előjelének megfordításához tegyen - jelet az alképlet elejére.
Egyéb képletek összesítése számítási motor¶
Az Egyéb képletek összesítése számítási motor más kifejezésekből kapott összegeken végez aritmetikai műveleteket. A képletek itt kifejezésekre mutató hivatkozásokból állnak, amelyeket a négy alapvető aritmetikai operátor egyike választ el egymástól (összeadás +, kivonás -, osztás / és szorzás *). Egy kifejezésre hivatkozáshoz írja be a szülősor kódját, amelyet egy pont . követ, majd a kifejezés felirata (pl. kód.felirat).
Az alképletek az alábbiak egyike lehet:
if_above(CUR(amount))Az aritmetikai kifejezés értéke csak akkor kerül visszaadásra, ha az nagyobb a megadott határértéknél. Ellenkező esetben az eredmény
0lesz.if_below(CUR(amount))Az aritmetikai kifejezés értéke csak akkor kerül visszaadásra, ha az kisebb a megadott határértéknél. Ellenkező esetben az eredmény
0lesz.if_between(CUR1(amount1), CUR2(amount2))Az aritmetikai kifejezés értéke csak akkor kerül visszaadásra, ha az szigorúan a megadott határértékek között van. Ellenkező esetben a legközelebbi határértékre kerül korrigálásra.
if_other_expr_above(LINE_CODE.EXPRESSION_LABEL, CUR(amount))Az aritmetikai kifejezés értéke csak akkor kerül visszaadásra, ha a megadott sorkód és kifejezéscímke által jelölt kifejezés értéke nagyobb a megadott határértéknél. Ellenkező esetben az eredmény
0lesz.if_other_expr_below(LINE_CODE.EXPRESSION_LABEL, CUR(amount))Az aritmetikai kifejezés értéke csak akkor kerül visszaadásra, ha a megadott sorkód és kifejezéscímke által jelölt kifejezés értéke kisebb a megadott határértéknél. Ellenkező esetben az eredmény
0lesz.
A CUR a pénznem nagybetűs kódja, az amount pedig az adott pénznemben kifejezett határérték összege.
A cross_report alképletet is használhatja egy másik jelentésben szereplő kifejezés illesztéséhez.
Számlakódok előtagja számítási motor¶
A Számlakódok előtagja számítási motor a számlakódok előtagjait változókként használva aritmetikai kifejezésben illeszti a számlákon keletkezett összegeket.
Example
21Example
21 + 10 - 521-es és 10-es kóddal kezdődő számlák mozgássorainak egyenlegét, és levonja az 5-ös előtaggal rendelkező számlákon lévők egyenlegét.Lehetőség van bizonyos alelőtagok kizárására is.
Example
21 + 10\(101, 102) - 5\(57)101, 102 és 57 előtagokat.Az «alszűrést» alkalmazhatja követelésekre és tartozásokra a C és D utótagok segítségével. Ebben az esetben egy főkönyvi számla csak akkor kerül figyelembevételre, ha az előtagja egyezik, és ha az adott számlán rögzített könyvelési sorok összesített egyenlege követel/tartozik.
Example
A 210001 számla egyenlege -42, a 210002 számláé 25. A 21D képlet csak a 210002 számlára illeszkedik, így 25-öt ad vissza. A 210001 nem illeszkedik, mivel egyenlege követel.
Az előtag-kizárások kombinálhatók a C és D utótagokkal.
Example
21D + 10\(101, 102)C - 5\(57)21-gyel kezdődik, ha az tartozik (D), és 10-zel, ha az követel (C), de figyelmen kívül hagyja a 101 és 102 előtagokat, és kivonja az 5 előtagú számlák egyenlegét, kivéve a 57 előtagot.Ha a C vagy D betűt előtagban szeretné egyeztetni, és nem utótagként kívánja használni, alkalmazzon üres kizárást: ().
Example
21D\()21D-vel kezdődik, az egyenleg előjelétől függetlenül.A számlák kódok előtagjával való belefoglalása mellett számlajelölőkkel is egyeztethet. Ez különösen hasznos például akkor, ha az Ön országában nincs szabványosított számlatükör, ahol ugyanaz az előtag különböző célokra is használható a vállalatok között.
Example
tag(25)Ha a hivatkozott jelölő egy adatfájlban van meghatározva, az azonosító helyett XMLID is használható.
Example
tag(my_module.my_tag)Jelölőkkel aritmetikai kifejezéseket is használhat, amelyeket esetleg előtag-kiválasztásokkal is kombinálhat.
Example
tag(my_module.my_tag) + tag(42) + 1010 kódú előtaggal rendelkező számlákéval.A C és D utótagok ugyanúgy használhatók jelölőkkel is.
Example
tag(my_module.my_tag)CAz előtag-kizárás a címkékkel is működik.
Example
tag(my_module.my_tag)\(10)10-zel kezdődik.Külső érték számítási motor¶
A Külső érték számítási motort manuális és átvitt értékek hivatkozására használják. Ezek az értékek nem account.move.line, hanem account.report.external.value segítségével kerülnek tárolásra. Ezek az objektumok közvetlenül arra a kifejezésre mutatnak, amelyet érintenek, így a kiválasztásukhoz nagyon kevés konfigurációra van szükség.
A képletek az alábbiak egyike lehetnek:
sumHa az eredménynek az időszak összes külső értékének összegét kell képviselnie.
legutóbbiHa az eredménynek az időszak legutóbbi külső értékének értékét kell képviselnie.
Emellett az alképletek kétféleképpen használhatók:
kerekítés=XAz
Xhelyére egy számot írva az összeg X tizedesjegyre történő kerekítését jelöli.szerkeszthetőAzt jelzi, hogy ez a kifejezés manuálisan szerkeszthető, ami egy ikon megjelenítését váltja ki a jelentésben, lehetővé téve a felhasználó számára ennek a műveletnek a végrehajtását.
Megjegyzés
A manuális értékek a jelentésben aktuálisan kiválasztott date_to dátummal jönnek létre.
Mindkét alképletet kombinálni lehet egymással, pontosvesszővel (;) elválasztva őket.
Example
szerkeszthető;kerekítés=2Egyéni Python függvény számítási motor¶
A Egyéni Python függvény számítási motor lehetőséget biztosít a fejlesztőknek, hogy egyedi kifejezés-számítást vezessenek be esetről esetre. A Képlet a meghívandó Python függvény neve, az Alképlat pedig egy kulcs, amelyet a függvény által visszaadott szótárból kell lekérni. Ezt a számítási motort csak egyéni modul készítésekor használja.
Oszlopok¶
A jelentések tetszőleges számú megjelenítési oszlopot tartalmazhatnak. Minden oszlop értékeit a sorokon megadott kifejezésekből veszi. Az oszlop expression_label mezője adja meg a megjelenítendő értékű kifejezések feliratát. Ha egy sornak nincs kifejezése abban a mezőben, akkor az adott oszlopban semmi nem jelenik meg hozzá. Ha több oszlopra van szükség, különböző kifejezés-feliratokat kell használni.
Ha a könyvelési jelentés Beállítások lapján található időszak-összehasonlítás funkciót használja, az összes oszlop minden egyes időszakra megismétlődik.
Sorok csoportosítása¶
Nem szabványos csoportosítás is lehetséges a Naplóelem modell meglévő mezőinek hozzáadásával vagy felhasználásával, feltéve, hogy a mezők kapcsolódóak és nem tárolt mezők.
Megjegyzés
A sorok csoportosításához a jelentésnek szerkeszthető, explicit jelentéssorokkal kell rendelkeznie. A halasztott jelentések például nem támogatják a sorok csoportosítását, mivel dinamikusan generált sorokat használnak.
Új mező létrehozása a naplóelemen¶
A Naplóelem modellben nem tárolt, kapcsolódó mező létrehozásához először lépjen a menüpontra, kattintson a (bug) ikonra, majd kattintson a Mezők lehetőségre. Kattintson az Új gombra egy új mező létrehozásához, és töltse ki az alábbi mezőket:
Field Name: a mező technikai neve
Field Label: a mezőhöz megjelenítendő felirat
Field Type: a mező típusa, amelyre ez a kapcsolódó mező mutat
Stored: Hagyja ezt a mezőt bejelöletlenül, mivel csak nem tárolt mezők használhatók sorok csoportosítására.
Related Model: Ha a mező típusa one2many, many2many vagy many2one, válassza ki az eredeti mező modelljét, amely szerint csoportosítani kíván.
Related Field Definition: a mező technikai elérési útja, amely szerint csoportosítani kíván
Example
A kereskedelmi partner értékesítési csapata szerinti csoportosításhoz állítsa a kapcsolódó mező definícióját
move_id.team_idértékre.
Sorok csoportosítása¶
A sorok csoportosításához lépjen a kívánt jelentés Sorok lapjára, kattintson a csoportosítani kívánt sorra, és szerkessze a Csoportosítás mezőt. Adja meg a csoportosítási kulcsként használni kívánt mező technikai nevét (Field Name).
Javaslat
A modell összes mezőjének és technikai nevének listájához lépjen a menüpontra, kattintson a (bug) ikonra, majd kattintson a Mezők lehetőségre. Az egyes mezők technikai neve a Field Name oszlopban található.