Egyedi jelentések¶
Az Odoo egy erőteljes és könnyen használható jelentéskészítő keretrendszerrel rendelkezik. A motor lehetővé teszi új jelentések létrehozását, mint például adójelentések, mérlegek és eredménykimutatások, 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 következő menüpontra: . Innen hozzon létre egy gyökér jelentést vagy egy változatot.
Javaslat
Fontolja meg a módosított jelentések jelentésváltozatként való mentését, hogy megőrizze a gyökérjelentéseket érintetlenül.
Egy meglévő jelentés kezelőfelületének eléréséhez magából a jelentésből kattintson a (fogaskerekek) ikonra.
Gyökérjelentések¶
A gyökérjelentések általános, semleges számviteli jelentéseknek tekinthetők. Modellként szolgálnak, amelyeken a helyi számviteli verziók épülnek. Ha egy jelentésnek nincs gyökérjelentése, akkor maga is gyökérjelentésnek tekinthető.
Example
Egy belga és egy amerikai adójelentés ugyanazt az általános verziót használná alapként, és azt a hazai szabályozásokhoz igazítaná.
Egy menüpont létrehozása szükséges egy új gyökérjelentés eléréséhez. Ehhez nyissa meg a jelentés konfigurációját, kattintson a Művelet, Menüpont létrehozása, majd frissítse az oldalt. A jelentés most elérhető a következő menüpont alatt: .
Megjegyzés
Azok az esetek, amikor új gyökérjelentés létrehozására van szükség, ritkák, például amikor egy ország adóhatóságai új és specifikus jelentéstípust követelnek meg.
Változatok¶
A változatok ország-specifikus verziói a gyökérjelentéseknek, és ezért mindig egy gyökérjelentésre hivatkoznak. Változat létrehozásához válasszon ki egy általános (gyökér) jelentést a Gyökérjelentés mezőben, amikor új jelentést hoz létre.
Amikor egy gyökérjelentést megnyitnak a Számvitel alkalmazás Jelentések menüjéből, az összes változata megjelenik a jelentésváltozat-választóban a nézet jobb felső sarkában.
Example
ÁFA Jelentés (BE) a gyökér Általános Adójelentés változata.
Sorok¶
Miután létrehozott egy jelentést (akár gyökér, akár változat), a következő lépés az, hogy sorokkal töltse fel. Új sor létrehozásához kattintson a Sor hozzáadása gombra. Egy meglévő sor módosításához kattintson magára a sorra, és szerkessze a felugró ablakot. Minden sornak szüksége van egy Névre, és lehet egy opcionális Kódja, amely lehetővé teszi a sor értékének használatát képletekben.
Kifejezések¶
Minden sor tartalmazhat egy vagy több kifejezést. A kifejezések alváltozókként tekinthetők, amelyek szükségesek egy jelentéssorhoz. Kifejezés létrehozásához kattintson a Sor hozzáadása gombra egy sor felugró ablakában.
Kifejezés létrehozásakor meg kell adnia egy Címkét, amely az adott kifejezésre hivatkozik. A címkének egyedinek kell lennie minden jelentéssor kifejezései között. A Számítási motor és a Képlet mezőket is ki kell tölteni. A számítási motor határozza meg, hogyan értelmeződnek a képlet(ek) és alképlet(ek). Lehetőség van különböző számítási motorokat használó kifejezések keverésére ugyanazon a soron belül, ha szükséges.
Megjegyzés
A motortól függően alképletek is szükségesek lehetnek.
Odoo Domain számítási motor¶
Az Odoo Domain számítási motor használatakor a képlet egy Odoo domain-ként értelmeződik, amely account.move.line objektumokat céloz meg.
Az alképlet lehetővé teszi, hogy meghatározza, hogyan használják a domainnek megfelelő könyvelési sorokat a kifejezés értékének kiszámításához:
sumAz eredmény a megfelelő könyvelési sorok összes egyenlegének összege.
sum_if_posAz eredmény a megfelelő könyvelési sorok összes egyenlegének összege, ha ez az összeg pozitív. Ellenkező esetben
0.sum_if_negAz eredmény az összes egyező könyvelési sor egyenlegének összege, ha ez az összeg negatív. Ellenkező esetben az eredmény
0.count_rowsAz eredmény ennek a kifejezésnek az al-sorainak száma. Ha a szülősornak van group-by értéke, akkor ez az egyező könyvelési sorok különböző csoportosító kulcsainak számának felel meg. Ellenkező esetben az egyező könyvelési sorok számát jelenti.
Javaslat
Az eredmény előjelének megfordításához tegyen egy - jelet az alformula elejére.
Egyéb képletek összesítő számítási motor¶
Az Egyéb képletek összesítő számítási motor aritmetikai műveleteket hajt végre a más kifejezésekből származó összegeken. A képletek itt olyan kifejezések hivatkozásaiból állnak, amelyeket a négy alapvető aritmetikai operátor (összeadás +, kivonás -, osztás /, és szorzás *) egyike választ el. Egy kifejezésre való hivatkozáshoz írja be a szülősor kódját, majd egy pontot . és a kifejezés címkéjét (pl. kód.címke).
Alképletek lehetnek az alábbiak egyike:
if_above(CUR(amount))Az aritmetikai kifejezés értéke csak akkor kerül visszaadásra, ha nagyobb, mint a megadott határ. Ellenkező esetben az eredmény
0lesz.if_below(CUR(amount))Az aritmetikai kifejezés értéke csak akkor kerül visszaadásra, ha kisebb, mint a megadott határ. 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 szigorúan a megadott határok között van. Ellenkező esetben a legközelebbi határra kerül vissza.
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 sor kódja és kifejezés címkéje által jelölt kifejezés értéke nagyobb, mint a megadott határ. 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 sor kódja és kifejezés címkéje által jelölt kifejezés értéke kisebb, mint a megadott határ. Ellenkező esetben az eredmény
0lesz.
CUR a pénznem kódja nagybetűkkel, és amount a határ összege ebben a pénznemben kifejezve.
Használhatja a cross_report alformulát is, hogy egy másik jelentésben található kifejezést illesszen.
Számlakódok előtagjának számítási motorja¶
A Számlakódok előtagja számítási motor a számlákon végzett összegek illesztésére szolgál, az aritmetikai kifejezésben változóként használva ezeknek a számláknak a kódjainak előtagjait.
Example
21Example
21 + 10 - 521 és 10-el kezdődik, és kivonja azok egyenlegét, amelyek 5 előtaggal rendelkeznek.Lehetőség van egyes al-előtagok figyelmen kívül hagyására is.
Example
21 + 10\(101, 102) - 5\(57)101, 102 és 57 előtagokat.Alkalmazhat «al-szűrést» a követelésekre és tartozásokra a C és D utótagok használatával. Ebben az esetben egy számla csak akkor lesz figyelembe véve, ha az előtagja egyezik, és ha a számlán készült könyvelési sorok összegzett egyenlege követelés/tartozás.
Example
A 210001 számla egyenlege -42, és a 210002 számla egyenlege 25. A 21D képlet csak a 210002 számlát egyezteti, ezért 25-öt ad vissza. A 210001 nem egyezik, mivel az egyenlege követelés.
Az előtag kizárások keverhetők a C és D utótagokkal.
Example
21D + 10\(101, 102)C - 5\(57)21 ha az tartozás (D), és 10 ha az követelés (C), de figyelmen kívül hagyja a 101, 102 előtagokat, és kivonja azok egyenlegét, amelyek 5 előtaggal rendelkeznek, figyelmen kívül hagyva a 57 előtagot.Ha egy előtagban a C vagy D betűt szeretné egyeztetni, és nem utótagként használni, használjon üres kizárást ().
Example
21D\()21D-vel kezdődik, függetlenül az egyenlegük előjelétől.A számlák bevonásához a kód előtagok használata mellett számlacímkékkel is egyeztethetők. Ez különösen hasznos, például ha az országában nincs szabványosított számlatükör, ahol ugyanaz az előtag különböző célokra használható a vállalatok között.
Example
tag(25)Ha a hivatkozott címke egy adatfájlban van meghatározva, az ID helyett XMLID is használható.
Example
tag(my_module.my_tag)A címkékkel aritmetikai kifejezéseket is használhat, esetleg kombinálva az előtag kiválasztásokkal.
Example
tag(my_module.my_tag) + tag(42) + 1010 kód előtaggal rendelkező számlák egyenlegeivel.C és D utótagok ugyanúgy használhatók a címkékkel.
Example
tag(my_module.my_tag)CAz előtag kizárása címkékkel is működik.
Example
tag(my_module.my_tag)\(10)10-el kezdődő kóddal rendelkező számlákat egyezteti.Külső érték számítási motor¶
A External Value számítási motor a kézi és átvitt értékek hivatkozására szolgál. Ezek az értékek nem az account.move.line használatával kerülnek tárolásra, hanem az account.report.external.value segítségével. Ezek az objektumok közvetlenül az általuk befolyásolt kifejezésre mutatnak, így nagyon kevés teendő van a kiválasztásukkal kapcsolatban.
Képletek lehetnek az alábbiak egyike:
sumHa az eredménynek az időszak összes külső értékének összegének kell lennie.
legutóbbiHa az eredménynek az időszak legutóbbi külső értékének kell lennie.
Ezenkívül a részformulák kétféleképpen használhatók:
kerekítés=XXszámra való cseréje utasítja az összeget, hogy X tizedesjegyre kerekítse.editableJelzi, 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, hogy ezt a műveletet végrehajtsa.
Megjegyzés
A kézi értékek a jelentésben jelenleg kiválasztott date_to dátumnál jönnek létre.
Mindkét részformula keverhető, ha ;-vel választjuk el őket.
Example
editable;rounding=2Egyedi Python függvény számítási motor¶
A Custom Python Function számítási motor lehetőséget biztosít a fejlesztők számára, hogy egyedi kifejezés-számításokat vezessenek be eseti alapon. A Formula a meghívandó python függvény neve, a Subformula 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 akkor használja, ha egyedi modult készít.
Oszlopok¶
A jelentéseknek korlátlan számú oszlopa lehet megjelenítésre. Minden oszlop az expressziókból kapja értékeit, amelyeket a sorokban deklarálnak. Az oszlop expression_label mezője adja meg az expressziók címkéjét, amelyek értéke megjelenik. Ha egy sornak nincs expressziója ebben a mezőben, akkor semmi sem jelenik meg az adott oszlopban. Ha több oszlop szükséges, különböző expresszió címkéket kell használni.
Amikor az időszak összehasonlítás funkciót használja a Options fül alatt egy könyvelési jelentésben, minden oszlop megismétlődik minden időszakra.
Sorok csoportosítása¶
Nem szabványos csoportosítás lehetséges, ha új mezőket ad hozzá vagy meglévő mezőket használ a Journal Item modellen, feltéve, hogy a mezők kapcsolódóak és nem tároltak.
Megjegyzés
A sorok csoportosítása megköveteli, hogy a jelentésnek legyenek kifejezetten szerkeszthető jelentéssorai. A halasztott jelentések például nem támogatják a sorok csoportosítását, mivel dinamikus sorokat használnak, amelyek generálódnak.
Hozzon létre egy új mezőt a napló tételen¶
Ahhoz, hogy egy nem tárolt, kapcsolódó mezőt hozzon létre a Journal Item modellben, először menjen a következőhöz: , majd kattintson a (bug) ikonra, majd kattintson a Fields lehetőségre. Kattintson a New gombra egy új mező létrehozásához, és töltse ki a következő mezőket:
Field Name: a mező technikai neve
Field Label: a mező megjelenítendő címkéje
Field Type: a mező típusa, amelyre ez a kapcsolódó mező mutat
Stored: Hagyja ezt a mezőt bejelöletlenül, mivel csak a nem tárolt mezők használhatók a 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 alapján csoportosítani szeretne.
Related Field Definition: a mező technikai útvonala, amely alapján csoportosítani szeretne
Example
Ahhoz, hogy a kereskedelmi partner értékesítési csapata alapján csoportosítson, állítsa be 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 fülére, kattintson a csoportosítani kívánt sorra, és szerkessze a Csoportosítás alapja mezőt. Adja meg a mező technikai nevét (Mező neve), amelyet csoportosítási kulcsként kíván használni.
Javaslat
A modell összes mezőjének és technikai neveinek listáját a következő helyen találja: , majd kattintson a (bug) ikonra, és válassza a Mezők lehetőséget. Minden mező technikai neve a Mező neve oszlopban található.