Files
odoo-at-payroll/addons/l10n_at_gemeinde_payroll/views/entlohnung_views.xml
T
fegger 30270f9877 [IMP] l10n_at_gemeinde_payroll: implement AP1 pay scale model (GemBG Bgld.)
Katalogmodell nach Implementierungsplan AP1 (freigegeben 2026-09-09):

- ``gemeinde.payroll.entlohnungsgruppe`` (Code, Schema, §, Bundesland,
  Vorrückungszeitraum je Gruppe; § 66 Abs 2 GemBG: 4 Jahre, abweichend
  2 Jahre für Betreuungspersonen-/Sondergruppen) und
  ``gemeinde.payroll.entlohnungsstufe`` (Stufe, Monatsentgelt, Stichtag,
  unique je Gruppe/Stufe/Stichtag) mit Stichtags-Lookup-Helfern.
- Seed 2026: 35 Entlohnungsgruppen, 433 Werte (Schemata I/gv, II/gh,
  Ia/bv, IIa/bh, kb, av sowie §-Gruppen 150c/151/151c), Werte aus der
  konsolidierten GemBG-Fassung 09.09.2026 (Wert 1.7.2026 gemäß Artikel 4
  RV 0715/XXIII. GP; 2025er-Stichtagsannahme für nicht 2026 angepasste
  Tabellen als AP0-Verifikationspunkt dokumentiert). Generator mit
  Herkunftsnachweis: personalverrechnung/tools/extract_gembg_katalog.py.
- GemBG-Felder auf der Payroll-Version (hr.version) plus Employee-Spiegel
  nach dem Engine-Muster (related/inherited): Entlohnungsgruppe, Stufe,
  Besoldungsdienstalter, Vorrückungstermin — berechnet nach § 66 Abs 2
  (erster Tag des Monats nach Vollendung weiterer n Jahre BDA), manuell
  überschreibbar für Überleitungsfälle (§§ 157a ff).
- Vorrückungs-Wizard (§ 66 Abs 2): fällige Versionen zum Stichtag,
  Stufenerhöhung mit Höchststufen-Schutz und Ergebnis-Notification —
  bewusst kein stilles Mutieren im Lohnlauf (Dokumentationspflicht).
- Views/Menüs (Personalverrechnung Bgld. unter Payroll), Security auf
  hr_payroll-Gruppen, Employee-Form-Anbindung in payroll_group.
- Tests (Rechenfälle AP1): Seed-Werte inkl. Quellenanomalie kb1a/6,
  Stichtags-Lookup, Jahresversionierung, Vorrückungstermin (BDA 15.03.2020
  -> 1.4.2028), Wizard-Anwendung mit Höchststufen-Skip.

Statische Validierung grün (py_compile, XML, Manifest, CSV-Integrität);
Runtime-Testlauf auf dem Dev-Host (gem360_dev) ausständig, wie im
Implementierungsplan M2 vorgesehen.
2026-09-09 11:55:15 +02:00

131 lines
5.5 KiB
XML

<?xml version="1.0" encoding="utf-8"?>
<odoo>
<record id="entlohnungsgruppe_list_view" model="ir.ui.view">
<field name="name">gemeinde.payroll.entlohnungsgruppe.list</field>
<field name="model">gemeinde.payroll.entlohnungsgruppe</field>
<field name="arch" type="xml">
<list string="Entlohnungsgruppen">
<field name="code"/>
<field name="schema"/>
<field name="paragraph"/>
<field name="vorrueckungszeitraum_jahre"/>
<field name="bundesland" column_invisible="1"/>
</list>
</field>
</record>
<record id="entlohnungsgruppe_form_view" model="ir.ui.view">
<field name="name">gemeinde.payroll.entlohnungsgruppe.form</field>
<field name="model">gemeinde.payroll.entlohnungsgruppe</field>
<field name="arch" type="xml">
<form string="Entlohnungsgruppe">
<sheet>
<group>
<group>
<field name="code"/>
<field name="schema"/>
<field name="paragraph"/>
</group>
<group>
<field name="bundesland"/>
<field name="vorrueckungszeitraum_jahre"/>
<field name="active" widget="boolean_toggle"/>
</group>
</group>
<notebook>
<page string="Entlohnungsstufen" name="stufen">
<field name="entlohnungsstufe_ids">
<list editable="bottom">
<field name="stufe"/>
<field name="monatsentgelt"/>
<field name="gueltig_ab"/>
</list>
</field>
</page>
</notebook>
</sheet>
</form>
</field>
</record>
<record id="entlohnungsstufe_list_view" model="ir.ui.view">
<field name="name">gemeinde.payroll.entlohnungsstufe.list</field>
<field name="model">gemeinde.payroll.entlohnungsstufe</field>
<field name="arch" type="xml">
<list string="Entlohnungsstufen" multi_edit="1">
<field name="entlohnungsgruppe_id"/>
<field name="stufe"/>
<field name="monatsentgelt" sum="Summe"/>
<field name="gueltig_ab"/>
</list>
</field>
</record>
<record id="action_entlohnungsgruppe" model="ir.actions.act_window">
<field name="name">Entlohnungsgruppen (GemBG)</field>
<field name="res_model">gemeinde.payroll.entlohnungsgruppe</field>
<field name="view_mode">list,form</field>
</record>
<record id="action_entlohnungsstufe" model="ir.actions.act_window">
<field name="name">Entlohnungsstufen (GemBG)</field>
<field name="res_model">gemeinde.payroll.entlohnungsstufe</field>
<field name="view_mode">list</field>
<field name="context">{'search_default_groupby_entlohnungsgruppe_id': 1}</field>
</record>
<record id="vorrueckung_wizard_form_view" model="ir.ui.view">
<field name="name">gemeinde.payroll.vorrueckung.wizard.form</field>
<field name="model">gemeinde.payroll.vorrueckung.wizard</field>
<field name="arch" type="xml">
<form string="Vorrückungen anwenden">
<group>
<field name="stichtag"/>
</group>
<field name="anzahl" invisible="1"/>
<field name="version_ids">
<list create="0" delete="0">
<field name="employee_id"/>
<field name="entlohnungsgruppe_id"/>
<field name="entlohnungsstufe"/>
<field name="besoldungsdienstalter"/>
<field name="vorrueckungstermin"/>
</list>
</field>
<footer>
<button string="Vorrückungen anwenden" name="action_apply"
type="object" class="btn-primary"/>
<button string="Abbrechen" class="btn-secondary"
special="cancel"/>
</footer>
</form>
</field>
</record>
<record id="action_vorrueckung_wizard" model="ir.actions.act_window">
<field name="name">Vorrückungen anwenden (§ 66 Abs 2)</field>
<field name="res_model">gemeinde.payroll.vorrueckung.wizard</field>
<field name="view_mode">form</field>
<field name="target">new</field>
</record>
<menuitem id="menu_gemeinde_payroll_root"
name="Personalverrechnung (Bgld.)"
parent="hr_work_entry_enterprise.menu_hr_payroll_root"
sequence="90"/>
<menuitem id="menu_gemeinde_payroll_gruppen"
name="Entlohnungsgruppen"
parent="menu_gemeinde_payroll_root"
action="action_entlohnungsgruppe" sequence="10"/>
<menuitem id="menu_gemeinde_payroll_stufen"
name="Entlohnungsstufen"
parent="menu_gemeinde_payroll_root"
action="action_entlohnungsstufe" sequence="20"/>
<menuitem id="menu_gemeinde_payroll_vorrueckung"
name="Vorrückungen anwenden"
parent="menu_gemeinde_payroll_root"
action="action_vorrueckung_wizard" sequence="30"/>
</odoo>