Rechnungsliste — Funktionsweise und Berechtigungen
Die Abfrage der Rechnungsliste, ihre Filter, der inhaltliche Bereich, gelöschte Zeilen und die Hilfsendpunkte rund um die Liste.
Das Rechnungsmodul ist das zentrale Rechnungsregister des Systems (Eingangs-, Ausgangs-, Zins- und Beitreibungspauschalen-Belege). Dieser Artikel beschreibt die Liste, den Filter und die Hilfsendpunkte.
Überblick
Die Liste liefert die Rechnungen gemäß Filter aus dem Rechnungsmodell, seitenweise (10/25/50/100/alle). Jede Rechnungsanlage läuft über den gemeinsamen Weg addInvoice() → Dlbtinvoice::add(). Andere Module können die Liste einbetten (listembed). Langsame Abfragen werden in ein Leistungsprotokoll geschrieben.
Datenmodell
Die Tabellennamen tragen in der Datenbank das eigene Präfix der Installation.
| Tabelle | Rolle | Hauptfelder |
|---|---|---|
invoice | Rechnungskopf | company_client_id (Eigentümer), status, Beträge HUF/Währung, outstanding_balance_huf |
invoice_item | Rechnungspositionen | Positionsname, Beträge |
company | Partner und Eigentümer | Name, Steuernummer |
transaction_settlement | Begleichungsverknüpfung | Rechnung ↔ Beleg |
doc_link, label_link | Dokument- und Label-Verknüpfungen | Objektverweis |
Filter
Unternehmensgruppe und Unternehmen (nach inhaltlichem Zugriff), Partner, Rechnungsnummer, Rechnungs-ID(s), Art, Zahlungsart, Datumsart und Zeitraum, Schnellauswahl aus dem Stamm masterdata/quickrange, Status, Begleichungsstand, Quelle, Rechnungstyp, Positionsname, Dokument vorhanden. Der Diagnosefilter „left join“ (Partnerverknüpfung) ist nur für Super-Admins sichtbar.
Berechtigungen
- Ebene 1: Grundzugriff auf den Rechnungspfad.
- Ebene 2:
listam Anfang vongetList()undlistembed()(ohne Recht ein Warnhinweis); der Menüpunkt nutztcanSee(list). Der Schlüsseldebugist als SYSTEM eingestuft und öffnet den SQL-Schalter für jeden angemeldeten Benutzer. Die Diagramme (finance/invoice.charts) benötigen den Schlüsselchart; ohne ihn bleibt die Ausgabe leer. - Ebene 3: Der Eigentümer (
company_client_id) muss im Unternehmensbereich des Benutzers liegen; zusätzlich filtern Partner-, Art- und Erstellerbereich. Zeilen mitstatus = 9erscheinen nur mitcanSeeDeleted(); ein Statusfilter in der URL umgeht das nicht.
Hilfsendpunkte
| Endpunkt | Aufgabe | Recht |
|---|---|---|
companiesByGroup, gemeinsame Unternehmensauswahl | Mitgliedsunternehmen einer Gruppe | list + inhaltlicher Bereich |
getBankaccounts | gültige Bankkonten des Partners | list |
peekNumber, getClientBlocks | Vorschau der nächsten Nummer, aktive Belegblöcke des Mandanten (legt einen fehlenden Standardblock an) | list (+ Eigentümerbereich) |
navstructure, navrepair, rawdata | Analyse gespeicherter NAV-Antworten, Korrektur von Kopf-/Positionsfeldern aus NAV-Daten, NAV-Rohdaten | nur Super-Admin |
Die Liste verlinkt auf finance/settlement::list und finance/transaction::list nur, wenn der Benutzer dort sowohl canSee als auch canAction hat.
Bekannte Einschränkungen
In den Seeds ist der Schlüssel list eine nicht eingestufte (UNMAPPED) Listenzeile. Die Beschreibung stammt aus dem Code und ist zur Laufzeit nicht verifiziert.