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: Számvitel ‣ Konfiguráció ‣ Számviteli jelentések. 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: Számvitel ‣ Jelentések.

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.

Jelentésváltozat kiválasztása.

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.

Motor sorok opciói.

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:

sum

Az eredmény a megfelelő könyvelési sorok összes egyenlegének összege.

sum_if_pos

Az eredmény a megfelelő könyvelési sorok összes egyenlegének összege, ha ez az összeg pozitív. Ellenkező esetben 0.

sum_if_neg

Az 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_rows

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

Kifejezés sor egy sorjelentésen belül

Adócímke számítási motor

Az Adócímkék számítási motor használatakor a Képlet mező tartalma az adócímkékhez illeszkedik. Ha ilyen címkék nem léteznek a kifejezés létrehozásakor, akkor létre lesznek hozva.

A kifejezés kiértékelésekor a kifejezés számítása nagyjából így fejezhető ki: (a könyvelési sorok összege + címkével) - (a könyvelési sorok összege - címkével).

Example

Ha a Képlet tag_name-re van állítva, a motor az +tag_name és -tag_name adócímkéket illeszti, szükség esetén létrehozva azokat. További példaként: a képlet két címkét illeszt. Ha a képlet A, akkor szüksége lesz (és létrehozza, ha szükséges) az +A és -A címkéket.

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 0 lesz.

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 0 lesz.

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 0 lesz.

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 0 lesz.

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

21
Az aritmetikai kifejezések lehetnek egyetlen előtagok is, mint itt.

Example

21 + 10 - 5
Ez a képlet összeadja azoknak a könyvelési soroknak az egyenlegét, amelyek olyan számlákon készültek, amelyek kódja 21 é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)
Ez a képlet ugyanúgy működik, mint az előző példa, de figyelmen kívül hagyja a 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)
Ez a képlet összeadja azoknak a könyvelési soroknak az egyenlegét, amelyek olyan számlákon készültek, amelyek kódja 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\()
Ez a képlet azokat a számlákat egyezteti, amelyek kódja 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)
Ez a képlet azokat a számlákat egyezteti, amelyekhez kapcsolódó címkék tartalmazzák a 25 azonosítójú címkét.

Ha a hivatkozott címke egy adatfájlban van meghatározva, az ID helyett XMLID is használható.

Example

tag(my_module.my_tag)
Ez a képlet azokat a számlákat egyezteti, amelyekhez kapcsolódó címkék tartalmazzák a my_module.my_tag címkét.

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) + 10
Az my_module.my_tag címkével ellátott számlák egyenlegei össze lesznek vonva a 42 azonosítójú címkéhez kapcsolódó számlák és a 10 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)C
Ez a képlet az my_module.my_tag címkével ellátott és hitel egyenlegű számlákat egyezteti.

Az előtag kizárása címkékkel is működik.

Example

tag(my_module.my_tag)\(10)
Ez a képlet az my_module.my_tag címkével ellátott és nem 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:

sum

Ha az eredménynek az időszak összes külső értékének összegének kell lennie.

legutóbbi

Ha 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=X

X számra való cseréje utasítja az összeget, hogy X tizedesjegyre kerekítse.

editable

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, 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=2
Ez az alformula bemutatja a helyes módját a két viselkedés keverésének.

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

Jelentés oszlopai.

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: Accounting ‣ Journal Items, 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: Számvitel ‣ Napló tételek, majd kattintson a (bug) ikonra, és válassza a Mezők lehetőséget. Minden mező technikai neve a Mező neve oszlopban található.