mirror of
http://100.103.83.12:3003/fegger/odoo-at-payroll.git
synced 2026-09-17 08:52:45 +00:00
[IMP] l10n_at_hr_payroll_private: mBGM liest TASY-Katalog (BSGR/ERGB), AT-Abwesenheiten mit hr_holidays (AP0+AP1+AP5)
AP0 — mBGM-Tarifierung aus dem TASY-Katalog: - Katalog vor Hand-Parameter at_mbgm_tarif (quelle katalog/parameter); Company-Feld l10n_at_dienstgebergruppe (Default NBALG), Vertrags-m2m l10n_at_ergaenzung_ids; ERGB wird im T1 real belegt - BSGR-Korrektur nach TASY-Bezeichnern: Lehrlinge Arbeiter->B045 / Angestellte->B044 (invertiert bisher), geringfuegig/fallweise B010/B030 je Personalgruppe - NSchAB-Feld: Falschbezeichnung Schlechtwetter -> Nachtschwerarbeit (3,80 % = NB-Zweig DG ab 2020); Flag nur noch Parameter-Fallback - Tests: Katalog schlaegt manipulierten Parameter, ERGB-Emission, BSGR-Mapping AP1 — M4-Test auf explizit ungemappte Abgangsursache (AGRD 00-Fallback) AP5 — hr_holidays/hr_work_entry_holidays als Pflicht-Dependence: - AT-WETs ATP_URLAUB/ATP_KRANK/ATP_KARENZ (is_leave) + AT-Urlaubsarten (UrlG, Krankenstand mit Krankmeldungspflicht, unbezahlte Karenz) nach Odoo-Lokalisierungsmuster; ATP_AU (Arbeitsunfall) folgt mit AP4 - Test: validierter Krankenstand erzeugt Work Entries mit AT-WET
This commit is contained in:
@@ -0,0 +1,95 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<odoo>
|
||||
<!-- ============================================================ -->
|
||||
<!-- AP5: AT-Abwesenheiten — Work-Entry-Types und Urlaubsarten. -->
|
||||
<!-- -->
|
||||
<!-- hr_holidays (Time Off) ist Pflicht-Dependence des AT- -->
|
||||
<!-- Privatprodukts; hr_work_entry_holidays erzeugt aus validierten -->
|
||||
<!-- Abwesenheiten automatisch Work Entries über das work_entry_ -->
|
||||
<!-- type_id der Urlaubsart (Odoo-Muster der Lokalisierungen). -->
|
||||
<!-- Die AT-Arten sind country-gebunden (base.at) und ergänzen die -->
|
||||
<!-- globalen Standardarten — bewusst additiv, nichts überschrieben. -->
|
||||
<!-- ============================================================ -->
|
||||
|
||||
<!-- Work-Entry-Types -->
|
||||
<record id="wett_atp_urlaub" model="hr.work.entry.type">
|
||||
<field name="name">Urlaub (UrlG)</field>
|
||||
<field name="color">3</field>
|
||||
<field name="display_code">URL</field>
|
||||
<field name="code">ATP_URLAUB</field>
|
||||
<field name="country_id" ref="base.at"/>
|
||||
<field name="is_leave" eval="True"/>
|
||||
</record>
|
||||
<record id="wett_atp_krank" model="hr.work.entry.type">
|
||||
<field name="name">Krankenstand (EFZG)</field>
|
||||
<field name="color">2</field>
|
||||
<field name="display_code">KRK</field>
|
||||
<field name="code">ATP_KRANK</field>
|
||||
<field name="country_id" ref="base.at"/>
|
||||
<field name="is_leave" eval="True"/>
|
||||
</record>
|
||||
<!-- AP4: Arbeitsunfall/Berufskrankheit — eigenes EFZ-Sonderkontingent
|
||||
(§ 8 Abs 2a AngG / § 2 Abs 5 EFZG), getrennter Topf. -->
|
||||
<record id="wett_atp_au" model="hr.work.entry.type">
|
||||
<field name="name">Arbeitsunfall/Berufskrankheit (EFZG)</field>
|
||||
<field name="color">9</field>
|
||||
<field name="display_code">AU</field>
|
||||
<field name="code">ATP_AU</field>
|
||||
<field name="country_id" ref="base.at"/>
|
||||
<field name="is_leave" eval="True"/>
|
||||
</record>
|
||||
<record id="wett_atp_karenz" model="hr.work.entry.type">
|
||||
<field name="name">Unbezahlte Karenz (MSchG/VKG)</field>
|
||||
<field name="color">6</field>
|
||||
<field name="display_code">KAR</field>
|
||||
<field name="code">ATP_KARENZ</field>
|
||||
<field name="country_id" ref="base.at"/>
|
||||
<field name="is_leave" eval="True"/>
|
||||
</record>
|
||||
|
||||
<!-- Urlaubsarten (hr.leave.type) mit WET-Verknüpfung -->
|
||||
<record id="leave_type_at_urlaub" model="hr.leave.type">
|
||||
<field name="name">Urlaub (UrlG)</field>
|
||||
<field name="requires_allocation" eval="True"/>
|
||||
<field name="employee_requests" eval="True"/>
|
||||
<field name="leave_validation_type">both</field>
|
||||
<field name="allocation_validation_type">hr</field>
|
||||
<field name="request_unit">day</field>
|
||||
<field name="company_id" eval="False"/>
|
||||
<field name="country_id" ref="base.at"/>
|
||||
<field name="work_entry_type_id"
|
||||
ref="l10n_at_hr_payroll_private.wett_atp_urlaub"/>
|
||||
</record>
|
||||
<record id="leave_type_at_krankenstand" model="hr.leave.type">
|
||||
<field name="name">Krankenstand</field>
|
||||
<field name="requires_allocation" eval="False"/>
|
||||
<field name="leave_validation_type">hr</field>
|
||||
<field name="request_unit">day</field>
|
||||
<field name="support_document" eval="True"/>
|
||||
<field name="company_id" eval="False"/>
|
||||
<field name="country_id" ref="base.at"/>
|
||||
<field name="work_entry_type_id"
|
||||
ref="l10n_at_hr_payroll_private.wett_atp_krank"/>
|
||||
</record>
|
||||
<record id="leave_type_at_arbeitsunfall" model="hr.leave.type">
|
||||
<field name="name">Arbeitsunfall/Berufskrankheit</field>
|
||||
<field name="requires_allocation" eval="False"/>
|
||||
<field name="leave_validation_type">hr</field>
|
||||
<field name="request_unit">day</field>
|
||||
<field name="support_document" eval="True"/>
|
||||
<field name="company_id" eval="False"/>
|
||||
<field name="country_id" ref="base.at"/>
|
||||
<field name="work_entry_type_id"
|
||||
ref="l10n_at_hr_payroll_private.wett_atp_au"/>
|
||||
</record>
|
||||
<record id="leave_type_at_karenz" model="hr.leave.type">
|
||||
<field name="name">Unbezahlte Karenz</field>
|
||||
<field name="requires_allocation" eval="False"/>
|
||||
<field name="leave_validation_type">hr</field>
|
||||
<field name="request_unit">day</field>
|
||||
<field name="company_id" eval="False"/>
|
||||
<field name="country_id" ref="base.at"/>
|
||||
<field name="work_entry_type_id"
|
||||
ref="l10n_at_hr_payroll_private.wett_atp_karenz"/>
|
||||
</record>
|
||||
</odoo>
|
||||
Reference in New Issue
Block a user