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 (Recht list).
  • 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)

  1. Ersetzt das Sachkonto der markierten Beine (entry_item_id:net|gross) durch das Ziel; Betrag und Soll/Haben-Richtung bleiben.
  2. 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).
  3. Die beiden UPDATEs (entry_item.ledger_net, entry_item.ledger_gross) laufen in einer Datenbanktransaktion, nur auf Beinen der erlaubten Mandanten (Bereich im WHERE).
  4. Das Protokoll (dlbtlog) hält auch den vorherigen Zustand fest (before).
  5. 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 — list genügt nicht.
  • debug; inhaltlicher Bereich auf die Mandanten.