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 Könyvelés ‣ Konfiguráció ‣ Könyvelési jelentések 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 Könyvelés ‣ Jelentések 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.

Jelentésvariáns kiválasztása.

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.

Motorsorok beállításai.

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:

sum

Az eredmény az egyező naplósorok egyenlegeinek összege.

sum_if_pos

Az eredmény az egyező naplósorok egyenlegeinek összege, ha ez az összeg pozitív. Ellenkező esetben 0.

sum_if_neg

Az eredmény az egyező naplósorok egyenlegeinek összege, ha ez az összeg negatív. Ellenkező esetben 0.

count_rows

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

Kifejezéssor 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 adócímkékkel párosul. Ha ilyen címkék nem léteznek a kifejezés létrehozásakor, akkor létrejönnek.

A kifejezés kiértékelésekor a számítás nagyjából a következőképpen fejezhető ki: (a + címkéjű naplósorok összege) - (a - címkéjű naplósorok összege).

Example

Ha a Képlet értéke tag_name, a motor a +tag_name és -tag_name adócímkékkel párosít, szükség esetén létrehozva azokat. További példaként: a képlet két címkével párosul. Ha a képlet értéke A, akkor a +A és -A címkékre lesz szükség (és szükség esetén ezek létrejönnek).

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

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

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

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

21
Az aritmetikai kifejezés lehet egyetlen előtag is, mint ebben az esetben.

Example

21 + 10 - 5
Ez a képlet összeadja a 21-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)
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.

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)
Ez a képlet összeadja az olyan számlákra rögzített könyvelési sorok egyenlegét, amelyek kódja 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\()
Ez a képlet azokra a számlákra illeszkedik, amelyek kódja 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)
Ez a képlet azokra a számlákra illeszkedik, amelyek társított jelölői tartalmazzák a 25 azonosítójú jelölőt.

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)
Ez a képlet azokra a számlákra illeszkedik, amelyek társított jelölői tartalmazzák a my_module.my_tag által jelölt jelölőt.

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) + 10
A my_module.my_tag jelölővel ellátott számlák egyenlegei összeadódnak a 42 azonosítójú jelölőhöz kapcsolódó számlák egyenlegeivel és a 10 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)C
Ez a képlet a my_module.my_tag jelölővel és követel egyenleggel rendelkező számlákra illeszkedik.

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

Example

tag(my_module.my_tag)\(10)
Ez a képlet azokat a számlákat jelöli, amelyek rendelkeznek a my_module.my_tag címkével, és kódjuk nem 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:

sum

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

legutóbbi

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

Az X helyé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=2
Ez az alképlat mutatja be a két viselkedés kombinálásának helyes módját.

Egyé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.

A jelentés oszlopai.

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 Könyvelés ‣ Naplóelemek 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 Könyvelés ‣ Naplóelemek 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ó.