Kassen – Systembeschreibung

Datenmodell des Kassenstamms, Speicherregeln, Inhaltsbereich und referenzgeschütztes Löschen.

Kassenstamm je Mandant: Unternehmen, Name, Währung, Sachkonto, Status. Den Inhaltsbereich bestimmt das Unternehmen der Kasse; die Liste berechnet auch Salden aus den Belegen.

Datenmodell

Die Tabellennamen tragen in der Datenbank das eigene Präfix der Installation.

TabelleRolleBeziehung
cashregisterKasse: Unternehmen, Name, Währung, Sachkonto, Statuscompany
transactionKassenbelege; Saldo (getCashBalances), LöschschutzKassen-ID

Ablauf

  1. Liste: Filter nach Unternehmensgruppe/Unternehmen, Name und Status, stets auf die erlaubten Unternehmen eingeschränkt (getCompanyGroupFilter); das Blättern schneidet das Gesamtergebnis in PHP.
  2. Speichern: Unternehmen Pflicht, Name mindestens 2 Zeichen, Währung 3 Großbuchstaben, Sachkonto 1–16 Ziffern; neues und altes Unternehmen müssen im Bereich liegen; saveCashregister(), protokolliert. Datenbankfehler ergeben DB: ….
  3. Status: setStatus() nach der Bereichsprüfung.
  4. Löschen: Bereichsprüfung je Auswahl; deleteCashregister() löscht nur ohne Verweise, sonst error_linked mit der Verweisanzahl und Abbruch.

Berechtigungen

  • Funktionsrechte: list; edit (Formular, Status, auch die Schaltfläche Hinzufügen im Kopf); Speichern über canSave() – ohne add-Zeile im Katalog entscheidet edit; delete; debug. Änderungen erfordern Core-Recht modify.
  • Inhaltsbereich: das Unternehmen der Kasse bei jeder Operation. Unternehmensauswahl: filtercompanies (gemeinsame Auswahl, Recht list).

Bekannte Einschränkungen

Der Schlüssel statusdelete ist als BASE klassifiziert, wird vom Controller aber nicht umgesetzt: Es gibt keinen Papierkorb, nur physisches Löschen.

Related topics: Kasse Berechtigungen