Kontoblatt und Sammel-Umbuchung — Funktionsweise
Abfrage und Anfangssaldo des Kontoblatts, Schutz des Rücksprungs sowie Transaktion, Protokoll, Zielprüfung und Rechte der Sammel-Umbuchung.
ledger/card liefert die Buchungen eines Sachkontos chronologisch, seitenweise, mit laufendem Saldo. Ein eigenes Lesemodell gibt es nicht, genutzt wird das Modell ledger/trialbalance; die Umbuchung schreibt das Modell ledger/card.
Kontoblatt (list)
- Filter: Unternehmensgruppe, Mandant, Lieferant, Kunde, Sachkonto, Datum; die Kontoauswahl ist der Endpunkt
ledger/card.accounts(Rechtlist). - Anfangssaldo vor der aktuellen Seite (
getCardOpeningAtOffset), laufender Saldo je Zeile. - Die Schaltfläche Zurück führt zum Ziel des Parameters
back, aber nur zu einer internen URL des Systems.
Sammel-Umbuchung (repost)
- Ersetzt das Sachkonto der markierten Beine (
entry_item_id:net|gross) durch das Ziel; Betrag und Soll/Haben-Richtung bleiben. - Das Ziel muss existieren und aktiv sein (
validateTarget:error_target_not_found,error_target_inactive); Auswahl und Ziel sind Pflicht (error_no_selection,error_target_required). - Die beiden UPDATEs (
entry_item.ledger_net,entry_item.ledger_gross) laufen in einer Datenbanktransaktion, nur auf Beinen der erlaubten Mandanten (Bereich im WHERE). - Das Protokoll (
dlbtlog) hält auch den vorherigen Zustand fest (before). - Bei 0 Änderungen eine Warnung, kein Erfolg.
Datenmodell
Die Tabellennamen tragen in der Datenbank das eigene Präfix der Installation: entry_item (ledger_net, ledger_gross), account, gl_account_ext.
Berechtigungen
list(UNMAPPED,gl_card_v1.sql): Kontoblatt, Kontoauswahl, gemeinsame Unternehmensauswahl (companiesByGroup).repost(nur alte Rechtetabelle): für die Umbuchung —listgenügt nicht.debug; inhaltlicher Bereich auf die Mandanten.