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.
| Tabelle | Rolle | Beziehung |
|---|---|---|
cashregister | Kasse: Unternehmen, Name, Währung, Sachkonto, Status | company |
transaction | Kassenbelege; Saldo (getCashBalances), Löschschutz | Kassen-ID |
Ablauf
- Liste: Filter nach Unternehmensgruppe/Unternehmen, Name und Status, stets auf die erlaubten Unternehmen eingeschränkt (
getCompanyGroupFilter); das Blättern schneidet das Gesamtergebnis in PHP. - 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 ergebenDB: …. - Status:
setStatus()nach der Bereichsprüfung. - Löschen: Bereichsprüfung je Auswahl;
deleteCashregister()löscht nur ohne Verweise, sonsterror_linkedmit der Verweisanzahl und Abbruch.
Berechtigungen
- Funktionsrechte:
list;edit(Formular, Status, auch die Schaltfläche Hinzufügen im Kopf); Speichern übercanSave()– ohneadd-Zeile im Katalog entscheidetedit;delete;debug. Änderungen erfordern Core-Rechtmodify. - Inhaltsbereich: das Unternehmen der Kasse bei jeder Operation. Unternehmensauswahl:
filtercompanies(gemeinsame Auswahl, Rechtlist).
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.