[IMP] l10n_at_hr_payroll: GP9 Company-Stammdaten-UI, Multi-Company-Record-Rules (AP9)

Company-Stammdaten-UI (views/company_views.xml): res.company-Formular-Inherit mit Reiter "Lohnverrechnung (AT)" — BKNR (10-stellig, Pflicht für alle Meldewesen-Läufe), Lohnsteuernummer (9-stellig), Bundesland (DZ-Satz), WKO-Mitglied (DZ-Pflicht), WF-Wien. Sichtbar nur mit hr_payroll.group_hr_payroll_user.

Multi-Company-Record-Rules (security/security_rules.xml): ir.rule-Records für l10n.at.payroll.l16, .l16.line, .kind, .frist — jede:r Payroll-User sieht nur die Daten der Companies, auf die sie/er Zugriff hat (company_ids aus ir.rule-Standard-Mechanik; Muster: hr_payroll-Engine).

19.0.5.1.0. 100/100 grün (Wegwerf-DB).
This commit is contained in:
2026-09-12 20:43:44 +02:00
parent 2f55bfb21a
commit 447a880063
3 changed files with 84 additions and 1 deletions
@@ -0,0 +1,43 @@
<?xml version="1.0" encoding="utf-8"?>
<odoo>
<!-- ============================================================ -->
<!-- GP9/AP9: Multi-Company-Record-Rules für alle AT-Payroll- -->
<!-- Datenmodelle (Muster: hr_payroll-Engine). Jede:r Payroll- -->
--> User sieht nur die Daten der Companies, auf die sie/er Zugriff
<!-- hat (company_ids aus ir.rule-Standard-Mechanik). -->
<!-- ============================================================ -->
<!-- Lohnzettel Finanz (L16) + Zeilen -->
<record id="rule_l16_company" model="ir.rule">
<field name="name">L16: eigene Company</field>
<field name="model_id" ref="model_l10n_at_payroll_l16"/>
<field name="domain_force">[('company_id', 'in', company_ids)]</field>
<field name="groups"
eval="[(4, ref('hr_payroll.group_hr_payroll_user'))]"/>
</record>
<record id="rule_l16_line_company" model="ir.rule">
<field name="name">L16-Zeile: eigene Company</field>
<field name="model_id" ref="model_l10n_at_payroll_l16_line"/>
<field name="domain_force">[('l16_id.company_id', 'in', company_ids)]</field>
<field name="groups"
eval="[(4, ref('hr_payroll.group_hr_payroll_user'))]"/>
</record>
<!-- Kind (FB+-Wartung) -->
<record id="rule_kind_company" model="ir.rule">
<field name="name">Kind: eigene Company</field>
<field name="model_id" ref="model_l10n_at_payroll_kind"/>
<field name="domain_force">[('employee_id.company_id', 'in', company_ids)]</field>
<field name="groups"
eval="[(4, ref('hr_payroll.group_hr_payroll_user'))]"/>
</record>
<!-- Fristenkalender -->
<record id="rule_frist_company" model="ir.rule">
<field name="name">Frist: eigene Company</field>
<field name="model_id" ref="model_l10n_at_payroll_frist"/>
<field name="domain_force">[('company_id', 'in', company_ids)]</field>
<field name="groups"
eval="[(4, ref('hr_payroll.group_hr_payroll_user'))]"/>
</record>
</odoo>