dbxapp 4.5.3
Technische API-Referenz der dbxapp-Plattform
Lade ...
Suche ...
Keine Treffer
dbxReport Klassenreferenz

Zentrale Listen-, Such-, Auswahl- und Reportpipeline von dbxapp. Mehr ...

Klassendiagramm für dbxReport:

Öffentliche Methoden

 clear ()
 Löscht den kompletten Report-Zustand und setzt saubere Defaultwerte.
 set_table_tpl ($tid, $tpl)
 Überschreibt ein Tabellen-Template gezielt.
 set_table_action_options ($type, array $options)
 Passt eine Standardaktion an, ohne dafür ein fast identisches Template im Fachmodul anlegen zu müssen.
 set_table_actions (array $actions, bool $reset=true)
 Konfiguriert die Standardaktionen eines Tabellenreports deklarativ.
 set_pagination (bool $enabled=true, int $buttons=3)
 Schaltet die Pagination ein oder aus und setzt die Anzahl der Buttons.
 set_page_size (int $rows)
 Setzt die maximale Zeilenzahl einer Reportseite.
 set_report_fields (array $fields)
 Setzt die sichtbaren Spalten eines Tabellenreports.
 set_report_result (array $rows, int $position=0, ?int $total=null)
 Übergibt das Ergebnisfenster eines Reports samt Position und Gesamtzahl.
 set_report_tpl ($tpl)
 Setzt bewusst ein individuelles Haupttemplate für diesen Report.
 set_report_bar_tpl ($tpl)
 Setzt die Reportleiste; ein leerer Wert deaktiviert sie.
 set_report_footer_tpl ($tpl)
 Setzt den Reportfooter; ein leerer Wert deaktiviert ihn.
 enable_delete_tab ($dd, $label=null)
 Aktiviert den Template-Platzhalter {db:delete_tab}.
 get_record ()
 set_record (array $record)
 get_record_val (string $name, mixed $default=null)
 set_record_val (string $name, mixed $value)
 set_callback_owner ($owner)
 Setzt ein explizites Owner-Objekt für Callback-Aufrufe.
 set_report_header_callback (string $callback)
 set_page_header_callback (string $callback)
 set_header_callback (string $callback)
 set_body_callback (string $callback)
 set_footer_callback (string $callback)
 set_page_footer_callback (string $callback)
 set_report_footer_callback (string $callback)
 set_next_record_callback (string $callback)
 forward_run_report_header ($content)
 forward_run_page_header ($content)
 forward_run_page_footer ($content)
 run_report_header ($content)
 run_page_header ($content)
 run_page_footer ($content)
 forward_run_report_footer ($content)
 run_report_footer ($content)
 run_header ($content)
 run_body ($content)
 run_footer ($content)
 forward_run_header ($content)
 forward_get_footer_page ()
 forward_get_header_page ()
 get_footer_page ()
 get_header_page ()
 forward_run_body ($content)
 forward_run_footer ($content)
 set_class_header ($key, $class='')
 set_style_header ($key, $style)
 init ($fid, $tpl='', $first_page_lines=-1, $next_page_lines=-1, $current_line=-1)
 run ()
 Rendert den Report mit bereits gesetzten Properties.
Öffentliche Methoden geerbt von dbxForm
 __construct ($id='', $tpl='')
 Initialisiert Validator, TPL und DB-Service.
 __destruct ()
 Destruktor.
 clear_sys ()
 Leert nur den Sysdata-Bereich.
 _forward_clear ()
 Setzt den internen Formularzustand zurück.
 set_editor_class_file (string $file)
 Merkt sich die geladene Modul-/Include-Class für den Frontend-Editor.
 set_form_callback_owner ($owner)
 set_init_callback (string $callback)
 set_submit_callback (string $callback)
 set_run_callback (string $callback)
 set_data_source (string $dd, string $fd='')
 Setzt DD und optionale FD gemeinsam als lesbare Datenquelle.
 set_data_definition (string $dd)
 Setzt die DD-Datenquelle.
 set_field_definition (string $fd)
 Setzt die optionale FD-Felddefinition.
 get_data_definition ()
 Liefert die konfigurierte DD-Datenquelle.
 get_field_definition ()
 Liefert die konfigurierte FD-Felddefinition.
 set_fd_messages (array $messages)
 Ersetzt den sprachabhängigen FD-Meldungskatalog.
 get_fd_messages ()
 Liefert den sprachabhängigen FD-Meldungskatalog.
 set_action (string $action)
 Setzt die Ziel-URL des Formulars oder Reports.
 get_action ()
 Liefert die konfigurierte Ziel-URL.
 set_mode (string $mode)
 Setzt den Render-Modus.
 get_mode ()
 Liefert den Render-Modus.
 set_template (string $template)
 Setzt bewusst ein individuelles Haupttemplate.
 get_template ()
 Liefert das aktuell konfigurierte Haupttemplate.
 set_data (array $data)
 Ersetzt die aktuellen Form-/Reportdaten vollständig.
 merge_data (array $data)
 Ergänzt oder überschreibt einzelne Form-/Reportdaten.
 set_data_value (string $key, mixed $value)
 Setzt einen einzelnen Datenwert.
 unset_data_value (string $key)
 Entfernt einen einzelnen Datenwert.
 get_data (?string $key=null, mixed $default=null)
 Liefert alle Daten oder einen einzelnen Wert.
 set_rid (int $rid)
 Setzt die aktuelle Record-ID ohne Request- oder View-Auflösung.
 current_rid ()
 Liefert die aktuelle Record-ID ohne den Zustand aus dem Request zu verändern.
 set_post_value (string $key, mixed $value)
 Setzt einen bereits validierten/geänderten POST-Wert.
 unset_post_value (string $key)
 Entfernt einen bereits validierten/geänderten POST-Wert.
 has_post_value (string $key)
 Prüft, ob ein validierter/geänderter POST-Wert vorliegt.
 post_value (string $key, mixed $default=null)
 Liefert einen validierten/geänderten POST-Wert.
 validated_post ()
 Liefert alle validierten/geänderten POST-Werte.
 forward_init ($fid, $tpl='')
 Initialisiert den Form-Kontext.
 get_quartal ($datum)
 Platzhalter-Helfer.
 php_date_usr ($value)
 Wandelt Datumswerte in deutsches Format um.
 php_datetime_usr ($value)
 Wandelt Datums-/Zeitwerte in deutsches Format um.
 php_date ($value)
 Wandelt Datumswerte in DB-Format um.
 forward_submit ()
 Gibt zurück, ob das Formular abgesendet wurde.
 get_rid ()
 Liest die aktuelle RID, optional view-synchronisiert.
 view_sync ($rid)
 Synchronisiert eine RID in den View-State.
 wait ()
 Historischer Wait-Check.
 set_post ($key, $val)
 Setzt einen _post-Wert manuell.
 save_post ($dd, $rid, $pv='', $reread=1)
 Speichert _post über dbxDB.
 next_i ($add=1)
 Liefert oder erzeugt die laufende Formularinstanz-ID.
 set_fld_val ($fld_name, $fld_val)
 Setzt einen Feldwert direkt im Feldzustand.
 check_try_count ($submit, $errors, $allways=1)
 Prüft Fehlversuche und baut ggf.
Öffentliche Methoden geerbt von dbxObj
 set_callback_id (string $id)
 Setzt den Namenspräfix für konventionelle Callback-Methoden.
 set_callback (string $event, string $callback)
 Ordnet einem Event einen konkreten Methodennamen zu.
 set_property ($name, $value, $section='', $modul='modul')
 Speichert eine Objekt- oder Session-Property.
 get_property ($name, $default='', $section='', $modul='modul')
 Liest eine Objekt- oder Session-Property.
 del_property ($name, $section='', $modul='modul')
 Löscht eine Objekt- oder Session-Property.
 dbx_next_process ($content, $process='', $mode='append')
 Fügt den nächsten dbxProcess-Schritt in eine Ausgabe ein.

Öffentliche Attribute

 $_tpl_report = 'dbx|report-default'
 Standardtemplate für normale Tabellenreports.
 $_tpl_report_bar = 'dbx|report-bar-default'
 Einheitliche Filter-/Aktionsleiste eines Reports.
 $_tpl_report_footer = 'dbx|report-footer'
 Einheitlicher Footer für Mehrfachaktionen.
 $_ajax = 1
 AJAX-Linkklasse für klassische Report-Buttons.
 $_current_page = 0
 Aktuelle logische Report-Seite.
 $_current_report_ln = 0
 Aktuelle Report-Zeile insgesamt.
 $_current_page_ln = 0
 Aktuelle Zeile auf aktueller Seite.
 $_first_page_lines = 9999
 Maximale Zeilen auf erster Seite.
 $_next_page_lines = 9999
 Maximale Zeilen auf Folgeseiten.
 $_fld_header = ''
 Historischer Header-Name.
 $_header_report = ''
 Report-Header außerhalb der eigentlichen Seiten.
 $_footer_report = ''
 Report-Footer außerhalb der eigentlichen Seiten.
 $_header_page = ''
 Seiten-Header.
 $_footer_page = ''
 Seiten-Footer.
 $_header_next_page = ''
 Header für Folgeseiten.
 $_footer_next_page = ''
 Footer für Folgeseiten.
 $_page_break = '<div class="page-break printMe"> </div><br>'
 Seitenumbruch-Markup.
 $_header = ''
 Interner Bereich: Header.
 $_body = ''
 Interner Bereich: Body.
 $_footer = ''
 Interner Bereich: Footer.
 $_record = array()
 Aktueller Datensatz im Body-Lauf.
 $_rdata = array()
 Report-Daten.
 $_rdata_inline = false
 Inline-Modus: Daten werden nur einmal in Body eingefügt.
 $_body_inline = ''
 Inline-Body.
 $_rcount = 0
 Gesamtanzahl Datensätze.
 $_count_all = -1
 Gesamtanzahl ohne Report-Filter; -1 = nicht separat gesetzt.
 $_rpos = 0
 Offset.
 $_rrows = 20
 Datensätze pro Seite.
 $_rwhere_placeholder = '#search_for#'
 Platzhaltertext für Suchfeld.
 $_pages = 0
 Pagination aktiv.
 $_pagelink = ''
 Pagination-Link.
 $_auto_flds = ''
 Automatische Feldliste.
 $_auto_mode = ''
 Automatischer Ausgabemodus.
 $_rflds = ''
 Report-Feldliste.
 $_tpl_pagination = 'dbx|pagination'
 Pagination-Template.
 $_but_pagination = 3
 Anzahl sichtbarer Pagination-Buttons.
 $_add_action = ''
 Zusatzparameter an Row-Aktionen.
 $_create_sel_flds = 0
 Selektionsfelder erstellen.
 $_create_row_select = 0
 Zeilen-Select aktiv.
 $_create_row_edit = 0
 Zeilen-Edit aktiv.
 $_create_row_copy = 0
 Zeilen-Copy aktiv.
 $_create_row_delete = 0
 Zeilen-Delete aktiv.
 $_create_row_download = 0
 Zeilen-Download aktiv.
 $_create_row_show = 0
 Zeilen-Show aktiv.
 $_create_row_export = 0
 Zeilen-Export aktiv.
 $_create_row_import = 0
 Zeilen-Import aktiv.
 $_create_row_undo = 0
 Zeilen-Undo aktiv.
 $_create_row_print = 0
 Zeilen-Print aktiv.
 $_rpt_format = array()
 Feldformatierungen.
 $_options_rsort = array()
 Sortieroptionen.
 $_options_rrows = array()
 Seitenlängenoptionen.
 $_options_rdesc = array()
 ASC/DESC Optionen.
 $_options_rselect = array()
 Auswahloptionen.
 $_table_tpls = array()
 Tabellen-Templates.
 $_table_col_count = 0
 Anzahl sichtbarer Tabellen-Spalten.
 $_multi_page_select = 0
 Multi-Select seitenübergreifend.
 $_multi_select_work = ''
 Interner Multi-Select-Arbeitsmodus.
 $_table_buttons = 'left'
 Buttons links oder rechts.
 $_data_table = 0
 Daten-Tabellen-/Expander-Schalter.
 $_scroll_table = 0
 Scrollbare Tabelle.
 $_class_header = array()
 Header-Klassen.
 $_style_header = array()
 Header-Styles.
 $_class_body = array()
 Body-Klassen.
 $_count_selects = -1
 Caching für Anzahl ausgewählter Datensätze.
 $_msg_confirm_delete = 'Datensatz löschen ?'
 Confirm-Text für Delete.
 $_msg_confirm_delete_tab = 'Datenbank-Tabelle wirklich leeren ?'
 Confirm-Text für Tabellenleerung.
 $_msg_confirm_copy = 'Datensatz kopieren ?'
 Confirm-Text für Copy.
 $_delete_tab_dd = ''
 DD der Tabelle, die über {db:delete_tab} geleert werden darf.
 $_delete_tab_label = 'Tabelle leeren'
 Button-Label für {db:delete_tab}.
 $_grid_read_url = ''
 Read-URL für Grid.
 $_grid_save_url = ''
 Save-URL für Grid.
 $_grid_delete_url = ''
 Delete-URL für Grid.
 $_grid_insert_url = ''
 Insert-URL für Grid.
 $_grid_sort_url = ''
 Sort-URL für Grid.
 $_grid_sync_url = ''
 Sync-URL für Grid.
 $_grid_print_url = ''
 Print-URL für Grid/Shell.
 $_grid_export_url = ''
 Export-URL.
 $_grid_schema = ''
 Schema-Name für Grid.
 $_grid_id = ''
 Grid-ID.
 $_grid_cols = ''
 Grid-Spalten-Definition.
 $_grid_layout = 'fitColumns'
 Grid-Layout.
 $_grid_headerfilter = 1
 Headerfilter für Grid.
 $_grid_headersort = 1
 Headersort für Grid.
 $_grid_allow_delete = 1
 Delete im Grid erlaubt.
 $_grid_allow_edit = 1
 Edit im Grid erlaubt.
 $_grid_allow_insert = 1
 Insert im Grid erlaubt.
 $_grid_synctime = '2'
 Grid-Synctime.
Öffentliche Attribute geerbt von dbxForm
 $o_validator
 Zentraler Validator.
 $o_tpl
 Zentrale Template-Engine.
 $o_db
 Zentraler DB-/DD-Service.
 $_dbx_view = ''
 Optionaler View-Schlüssel.
 $_view_sync = ''
 Optionaler View-Sync-Status.
 $_view_mode = ''
 Optionaler View-Modus.
 $_ajax = true
 AJAX-fähiges Formular.
 $_store_mode = 'session'
 Aktueller Sysdata-Speichermodus.
 $_dbx_modul_id = 0
 Aktive Modul-ID.
 $_dbx_modul = 'modul'
 Aktives Modul.
 $_dbx_lng = ''
 Aktive Sprache.
 $_dbx_design = ''
 Aktives Design.
 $_dbx_action = ''
 Aktive DBX-Aktion.
 $_dbx_work = ''
 Optionaler Work-Kontext.
 $_dbx_page = ''
 Aktive Seite.
 $_fid = ''
 Formular-ID.
 $_next_i = 0
 Laufende Formularinstanz-ID.
 $_editor_files = array()
 Dateien, die für den Frontend-Editor markiert werden.
 $_editor_class_file = ''
 Modul-/Include-Class-Datei für den Frontend-Editor.
 $_sys = array()
 Form-interne Zustände / Sysdata.
 $_obj = array()
 Platzhalter-Objekte.
 $_js = array()
 JS-Code-Blöcke.
 $_css = array()
 CSS-Dateien oder Marker.
 $_flds = array()
 Felddefinitionen.
 $_infos = array()
 Info-Meldungen.
 $_errors = array()
 Feld-/Formfehler.
 $_warnings = array()
 Warnungen.
 $_replaces = array()
 Allgemeine Replace-Werte.
 $_general_error = ''
 Allgemeiner Fehlertext.
 $_msg_info = '#form_msg_info#'
 Standard-Infotext.
 $_msg_success = '#form_msg_success#'
 Standard-Erfolgstext.
 $_msg_error = '#form_msg_error#'
 Standard-Fehlertext.
 $_msg_warning = '#form_msg_warning#'
 Standard-Warntext.
 $_tpl_form_info = 'alert-info'
 Template für Info-Meldungen.
 $_tpl_form_success = 'alert-success'
 Template für Erfolgsmeldungen.
 $_tpl_form_error = 'alert-danger'
 Template für Fehlermeldungen.
 $_tpl_form_warning = 'alert-warning'
 Template für Warnmeldungen.
 $_tpl_fld_info = 'fld-alert-info'
 Template für Feld-Info.
 $_tpl_fld_success = 'fld-alert-success'
 Template für Feld-Erfolg.
 $_tpl_fld_error = 'fld-alert-danger'
 Template für Feld-Fehler.
 $_tpl_fld_warning = 'fld-alert-warning'
 Template für Feld-Warnung.
 $_tpl_max_try = 'form-alert-maxtry'
 Template für Max-Try-Sperre.
 $_tpl_form_bar = 'dbx|form-bar-default'
 Gemeinsame Formularleiste; das Modul bestimmt nur Inhalt und Aktionen.
 $_tpl_form_footer = 'dbx|form-footer-default'
 Gemeinsamer Formularabschluss unterhalb des individuellen Layouts.
 $_try_reset = 120
 Sekunden bis Try-Reset.
 $_try_count_reset = 600
 Sekunden ohne Fehlversuch, nach denen Try-Zähler und Sperrstufe neu beginnen.
 $_try_max = 20
 Maximale Fehlversuche.
 $_try_msg = 'Max {try_count} try. Suspend for {sec} seconds'
 Sperr-Text.
 $_create_flds = 1
 1 = Felder sollen erzeugt werden
 $_reload_record = 1
 1 = Datensatz nach Save neu lesen
 $_reload_run = 0
 1 = Reload wurde ausgeführt
 $_reload_transform = 0
 Historischer Reload-Transform-Flag.
 $_form_help_enabled = 1
 1 = automatische Formularhilfe rendern; 0 = Hilfe kommt aus der umgebenden Bereichsleiste.
 $_ui_state_persist = 0
 1 = Felder mit FD-Flag data=ui_persist=1 merken ihren Wert dauerhaft im Browser (dbx.uiGet/uiSet, siehe core.js) und stellen ihn beim nächsten Laden automatisch wieder her.
 $_reload_suffix = '_rlo'
 Historischer Reload-Suffix.
 $_fld_change_state = 'fld'
 Feldmodus für die Changed-Logik: fld oder *.
 $_fld_changes = -1
 Gecachter Changed-Wert.
 $_form_submit = -1
 -1 = unbekannt, 0 = nein, 1 = ja
 $_form_validate = -1
 -1 = noch nicht ausgewertet, 1 = ausgewertet
 $_editor_fld = ''
 Optionales Editor-Feld.
 $_page_reset = 1
 Historischer Page-Reset-Flag.
 $_confirm_delete = ''
 Optionaler Lösch-Bestätigungstext.
 $_confirm_copy = ''
 Optionaler Copy-Bestätigungstext.
 $_activ_id = 0
 Optional aktive ID.
 $_fld_id = 'id'
 Primärschlüsselfeld.
 $_workflow_scope = ''
 Workflow-Scope für Remember-State.
 $_workflow_state = array()
 Remember-basierter Form-Status.
Öffentliche Attribute geerbt von dbxObj
Public $_properties =array()
Public $_section =''
Public $_process =''

Geschützte Methoden

 default_tpl (string $fid)
 Eine Report-ID beschreibt Zustand und Callback-Namespace, nicht das Layout.
 get_report_action_url ()
 Liefert die Basis-Action-URL des aktuellen Reports.
 get_delete_tab_button ()
 Rendert den Button für {db:delete_tab}.
 merge_db_placeholders ($content)
 Ersetzt DB-spezifische Report-Platzhalter.
 get_record_rid ($record, $default=-1)
 Liefert die sauber ermittelte Record-ID eines Datensatzes.
Geschützte Methoden geerbt von dbxForm
 resolve_init_callback_owner ()
 Ermittelt den aufrufenden Modul-/Service-Owner für Callback-Defaults.
Geschützte Methoden geerbt von dbxObj
 normalize_callback_id (string $id)
 Normalisiert Callback-IDs auf gültige PHP-Methodenbestandteile.
 get_callback_name (string $event)
 Liefert den Methodennamen für ein Event.
 get_callback_owner ()
 Liefert das aktuelle Owner-Objekt für Callback-Aufrufe.
 callback (string $event, mixed $value)
 Führt einen Callback aus und gibt dessen Rückgabewert zurück.

Geschützte Attribute

 $_report_state_flds
 Interne Report-State-Werte ohne sichtbares Formularfeld.
 $_table_render_tpl_cache = array()
 vorbereitete einfache Tabellen-Templates
 $_table_action_options = array()
 $_mode = 'table'
 Report-Modus: table|tpl|tabulator.
 $_report_multi_actions = array()
 Registrierte Report-Mehrfachaktionen für Footer-Select.
 $_delete_tab_label_from_fd = false
 Verwendet für die Delete-Tab-Aktion die Meldungsschlüssel der aktiven FD.
Geschützte Attribute geerbt von dbxForm
 $_mode = 'mix'
 tpl|php|mix
 $_rid = 0
 Aktuelle Record-ID.
 $_action = ''
 Formular-Action.
 $_tpl = 'dbx|form-default'
 Standardtemplate; die Form-ID bleibt davon unabhängige State-Identität.
 $_dd = ''
 Zugeordnetes DD.
 $_fd = ''
 Optionale FD-Felddefinitionsquelle.
 $_data = array()
 Aktuelle Formulardaten / Record-Daten.
 $_post = array()
 Validierte/geänderte POST-Werte.
 $_messages = array()
 Meldungen der aktuell geladenen FD.
 $_validation_results = array()
 Strukturierte Validator-Ergebnisse, indiziert nach Feldname.
 $_module_bar_form_actions = array()
 Optionen für Standard-Aktionen in der Modul-Bar.
 $_form_help_button = ''
 Help-Button des aktuellen Formulars für Templates ohne eigenen Help-Slot.
 $_form_bar_actions = ''
 Bereits gerenderte Standardaktionen für die gemeinsame Formularleiste.
Geschützte Attribute geerbt von dbxObj
 $_callback_owner = null
 $_callback_id = ''
 $_callbacks = array()

Ausführliche Beschreibung

Zentrale Listen-, Such-, Auswahl- und Reportpipeline von dbxapp.


DBX REPORT SYSTEM (dbxReport)

Überblick

dbxReport ist die zentrale Listen- und Reportklasse von DBX.

Die Klasse erweitert dbxForm um Mehrdatensatz-Ausgaben und deckt die typischen Report-Fälle des Systems ab:

  • klassische Tabellenreports
  • freie Template-/Record-Reports
  • Sortierung, Suche, Filter und Pagination
  • Row-Aktionen wie edit, copy, delete, show, print, export, import
  • Remember-basierten Multi-Select
  • Grid-/Tabulator-Shells

Grundprinzip

dbxReport arbeitet zustandsbehaftet.

Das Modul setzt den Report-Kontext:

  • DD
  • Template
  • Feldliste
  • Datenmenge
  • Count
  • optionale Row-Aktionen / Selektionsfelder / Grid-URLs

Danach rendert dbxReport den gewünschten Ausgabemodus.

Neuer empfohlener Ablauf

  1. init(...)
    • lädt den Formular-/Reportzustand aus der Session
  2. create_selection_fields(...)
    • erzeugt Selektionsfelder aus FD/DD
    • legt FD-Defaults in _data ab
  3. Modul liest Reportwerte am Reportobjekt:
    • $oReport->get_fld_val('dbx_rsort', 'id', 'parameter')
    • $oReport->get_fld_val('dbx_rpos', 0, 'int')
  4. Report-Kontext setzen:
    • _tpl
    • _rflds
    • _rdata
    • _rcount
    • _rrows
    • _rpos
  5. optional:
    • Optionen / Actions / Select-Felder / Grid-Daten setzen
  6. run()

Wichtige Selektions-Regel

Report-Selektionen sind Formular-/Reportzustand. Sichtbare Felder und interne Werte wie dbx_rpos werden über dbxForm::get_fld_val() gelesen und in _sys gespeichert.

Request-Werte aus POST/GET gewinnen, sonst wird der gespeicherte Formularzustand verwendet. Dadurch bleiben Reportzustände nach F5 erhalten, ohne dass dbxReport Werte nach dbx()->get_modul_var(...) spiegeln muss.

Modi

table Klassischer HTML-Tabellenreport mit automatischem Header/Body/Footer.

tpl Freier Mehrdatensatz-Report auf Template-Basis.

tabulator Shell-/Container-Modus für Grid/Tabulator-artige Oberflächen. Hier ist dbxReport primär Kontext- und URL-Lieferant.

Multi-Select

Multi-Select wird reportbezogen über Remember gespeichert.

Dadurch bleibt die Auswahl erhalten:

  • über Reloads
  • über Pagination
  • über klassische Report-Workflows

Wichtige Regel:

  • Die Header-Checkbox bezieht sich immer auf die aktuell sichtbaren Zeilen.
  • Die Gesamtauswahl bleibt trotzdem reportweit gespeichert.

Select-ID / RID

dbxReport verwendet als Record-ID grundsätzlich:

  • zuerst $_fld_id
  • falls dort nichts gefunden wird, fallback auf typische Felder wie rid / id / recnum

Damit bleiben sowohl klassische DBX-Tabellen als auch Reports mit abweichendem Primärschlüssel verwendbar.

Template-Hinweis

Header-Select-Template:

  • erwartet typischerweise {checked}

Row-Select-Template:

  • bekommt sowohl {value} als auch {rid}
  • beide enthalten absichtlich dieselbe ermittelte Record-ID

Row-Actions:

  • bekommen konsistent Daten über get_tpl($file, $dat)
  • insbesondere {rid} und {action}

Callback-Modell

init() übernimmt den direkten Aufrufer als Owner. Modulmethoden nach {fid}_{event} werden dadurch ohne Registrierung gefunden; Bindestriche der Report-ID werden zu Unterstrichen. Für invoice-report heißt der Record-Callback beispielsweise invoice_report_next_record().

Berechnete Felder und Summen werden dort aufgebaut. Ein während des Record-Laufs per add_rep() aktualisierter Wert steht beim Footerlauf zur Verfügung. {rpt:col_count} liefert alle Tabellenspalten, {rpt:colspan} alle Spalten außer der letzten Wertespalte. Explizite Owner- und Callback-Setter bleiben nur für bewusst abweichende Namen nötig.

Wichtige Regel

Im Modus 'tabulator' ist dbxReport kein klassischer HTML-Record-Renderer. Dort liefert die Klasse primär Shell, URLs, Grid-Replaces und optional JSON-kompatible Row-Daten.

Dokumentation der Elementfunktionen

◆ clear()

dbxReport::clear ( )

Löscht den kompletten Report-Zustand und setzt saubere Defaultwerte.

Wichtig

dbxReport erweitert dbxForm. Deshalb muss zuerst der Formularlauf über _forward_clear() zurückgesetzt werden. Danach werden alle reportbezogenen Laufzustände und Options-/Renderflags zurückgesetzt, damit bei wiederverwendeten Systemobjekten keine Werte aus einem vorherigen Reportlauf durchrutschen.

Der Workflow-Scope wird bewusst nicht zurückgesetzt. Er gehört zur dbxForm-Workflow-Logik und darf sich in zusammenhängenden Abläufen fachlich weitervererben.

Rückgabe
void

Erneute Implementation von dbxForm.

Benutzt $table und dbxForm\_forward_clear().

◆ default_tpl()

dbxReport::default_tpl ( string $fid)
protected

Eine Report-ID beschreibt Zustand und Callback-Namespace, nicht das Layout.

Spezialreports können ihr Modul-Template weiterhin über init() oder set_report_tpl() setzen.

◆ enable_delete_tab()

dbxReport::enable_delete_tab ( $dd,
$label = null )

Aktiviert den Template-Platzhalter {db:delete_tab}.

Parameter
string$ddDD-Name der zu leerenden Tabelle
string | null$labelOptionales festes Button-Label. Ohne Angabe verwendet dbxReport automatisch delete_tab_label aus der aktiven sprachabhängigen FD.
Rückgabe
void

Benutzt get_delete_tab_button().

◆ forward_get_footer_page()

dbxReport::forward_get_footer_page ( )

Wird benutzt von get_footer_page().

◆ forward_get_header_page()

dbxReport::forward_get_header_page ( )

Wird benutzt von get_header_page().

◆ forward_run_body()

◆ forward_run_footer()

dbxReport::forward_run_footer ( $content)

Wird benutzt von run_footer().

◆ forward_run_header()

dbxReport::forward_run_header ( $content)

Wird benutzt von run_header().

◆ forward_run_page_footer()

dbxReport::forward_run_page_footer ( $content)

Wird benutzt von run_page_footer().

◆ forward_run_page_header()

dbxReport::forward_run_page_header ( $content)

Wird benutzt von run_page_header().

◆ forward_run_report_footer()

dbxReport::forward_run_report_footer ( $content)

Wird benutzt von run_report_footer().

◆ forward_run_report_header()

dbxReport::forward_run_report_header ( $content)

Wird benutzt von run_report_header().

◆ get_delete_tab_button()

dbxReport::get_delete_tab_button ( )
protected

Rendert den Button für {db:delete_tab}.

Rückgabe
string

Benutzt get_report_action_url().

Wird benutzt von enable_delete_tab() und merge_db_placeholders().

◆ get_footer_page()

dbxReport::get_footer_page ( )

Benutzt forward_get_footer_page().

Wird benutzt von forward_run_body().

◆ get_header_page()

dbxReport::get_header_page ( )

Benutzt forward_get_header_page().

Wird benutzt von forward_run_body().

◆ get_record()

dbxReport::get_record ( )

Benutzt if.

◆ get_record_rid()

dbxReport::get_record_rid ( $record,
$default = -1 )
protected

Liefert die sauber ermittelte Record-ID eines Datensatzes.

Reihenfolge:

  1. $_fld_id
  2. rid
  3. id
  4. recnum
  5. Default
Parameter
mixed$record
mixed$default
Rückgabe
mixed

◆ get_record_val()

dbxReport::get_record_val ( string $name,
mixed $default = null )

Benutzt if.

◆ get_report_action_url()

dbxReport::get_report_action_url ( )
protected

Liefert die Basis-Action-URL des aktuellen Reports.

Primär wird $_action verwendet. Falls diese leer ist, wird eine Basis-URL aus dem aktuellen Modul-/Run-Kontext aufgebaut.

Rückgabe
string

Wird benutzt von get_delete_tab_button().

◆ init()

dbxReport::init ( $fid,
$tpl = '',
$first_page_lines = -1,
$next_page_lines = -1,
$current_line = -1 )

◆ merge_db_placeholders()

dbxReport::merge_db_placeholders ( $content)
protected

Ersetzt DB-spezifische Report-Platzhalter.

Parameter
string$content
Rückgabe
string

Benutzt get_delete_tab_button().

Wird benutzt von run().

◆ run()

dbxReport::run ( )

Rendert den Report mit bereits gesetzten Properties.

Wichtiger neuer Ablauf:

  • run() arbeitet nur noch mit dem internen Objektzustand
  • keine Feldliste / kein Modus / keine Pages mehr als Parameter
  • Module setzen _rflds, _mode, _pages, _rdata, _rcount, _rrows, _rpos vorher
Rückgabe
string

Benutzt $count, dbxForm\$o_db, apply_report_count_replaces(), build_grid_bar_obj(), build_report_footer_obj(), build_report_form_msg_html(), cleanup_report_bar_slots(), inject_report_footer(), merge_db_placeholders(), prepare_report_chrome_replaces(), prepare_report_frame_replaces(), run_page_footer(), run_page_header(), run_report_footer() und run_report_header().

◆ run_body()

◆ run_footer()

dbxReport::run_footer ( $content)

◆ run_header()

dbxReport::run_header ( $content)

◆ run_page_footer()

dbxReport::run_page_footer ( $content)

Benutzt dbxObj\callback() und forward_run_page_footer().

Wird benutzt von run().

◆ run_page_header()

dbxReport::run_page_header ( $content)

Benutzt dbxObj\callback() und forward_run_page_header().

Wird benutzt von run().

◆ run_report_footer()

dbxReport::run_report_footer ( $content)

Benutzt dbxObj\callback() und forward_run_report_footer().

Wird benutzt von run().

◆ run_report_header()

dbxReport::run_report_header ( $content)

Benutzt dbxObj\callback() und forward_run_report_header().

Wird benutzt von run().

◆ set_body_callback()

dbxReport::set_body_callback ( string $callback)

◆ set_callback_owner()

dbxReport::set_callback_owner ( $owner)

Setzt ein explizites Owner-Objekt für Callback-Aufrufe.

Wird vor allem genutzt, wenn Hilfsobjekte Methoden des aufrufenden Moduls aufrufen sollen, ohne selbst dessen Klasse zu kennen.

Parameter
object$ownerObjekt, auf dem Callback-Methoden gesucht werden.
Rückgabe
void

Erneute Implementation von dbxObj.

Benutzt if.

◆ set_class_header()

dbxReport::set_class_header ( $key,
$class = '' )

◆ set_footer_callback()

dbxReport::set_footer_callback ( string $callback)

◆ set_header_callback()

dbxReport::set_header_callback ( string $callback)

◆ set_next_record_callback()

dbxReport::set_next_record_callback ( string $callback)

◆ set_page_footer_callback()

dbxReport::set_page_footer_callback ( string $callback)

◆ set_page_header_callback()

dbxReport::set_page_header_callback ( string $callback)

◆ set_page_size()

dbxReport::set_page_size ( int $rows)

Setzt die maximale Zeilenzahl einer Reportseite.

Benutzt $rows.

◆ set_pagination()

dbxReport::set_pagination ( bool $enabled = true,
int $buttons = 3 )

Schaltet die Pagination ein oder aus und setzt die Anzahl der Buttons.

◆ set_record()

dbxReport::set_record ( array $record)

◆ set_record_val()

dbxReport::set_record_val ( string $name,
mixed $value )

Benutzt if.

◆ set_report_bar_tpl()

dbxReport::set_report_bar_tpl ( $tpl)

Setzt die Reportleiste; ein leerer Wert deaktiviert sie.

◆ set_report_fields()

dbxReport::set_report_fields ( array $fields)

Setzt die sichtbaren Spalten eines Tabellenreports.

Benutzt $fields.

◆ set_report_footer_callback()

dbxReport::set_report_footer_callback ( string $callback)

◆ set_report_footer_tpl()

dbxReport::set_report_footer_tpl ( $tpl)

Setzt den Reportfooter; ein leerer Wert deaktiviert ihn.

◆ set_report_header_callback()

dbxReport::set_report_header_callback ( string $callback)

◆ set_report_result()

dbxReport::set_report_result ( array $rows,
int $position = 0,
?int $total = null )

Übergibt das Ergebnisfenster eines Reports samt Position und Gesamtzahl.

Benutzt $rows.

◆ set_report_tpl()

dbxReport::set_report_tpl ( $tpl)

Setzt bewusst ein individuelles Haupttemplate für diesen Report.

◆ set_style_header()

dbxReport::set_style_header ( $key,
$style )

◆ set_table_action_options()

dbxReport::set_table_action_options ( $type,
array $options )

Passt eine Standardaktion an, ohne dafür ein fast identisches Template im Fachmodul anlegen zu müssen.

Benutzt $options.

Wird benutzt von set_table_actions().

◆ set_table_actions()

dbxReport::set_table_actions ( array $actions,
bool $reset = true )

Konfiguriert die Standardaktionen eines Tabellenreports deklarativ.

Numerische Einträge aktivieren eine Aktion. Assoziative Einträge können mit false deaktiviert oder mit einem Optionsarray konfiguriert werden.

Benutzt set_table_action_options().

◆ set_table_tpl()

dbxReport::set_table_tpl ( $tid,
$tpl )

Überschreibt ein Tabellen-Template gezielt.

Parameter
string$tidInterner Template-Key
string$tplTemplate-Datei
Rückgabe
void

Dokumentation der Datenelemente

◆ $_add_action

dbxReport::$_add_action = ''

Zusatzparameter an Row-Aktionen.

◆ $_ajax

dbxReport::$_ajax = 1

AJAX-Linkklasse für klassische Report-Buttons.

◆ $_auto_flds

dbxReport::$_auto_flds = ''

Automatische Feldliste.

◆ $_auto_mode

dbxReport::$_auto_mode = ''

Automatischer Ausgabemodus.

◆ $_body

dbxReport::$_body = ''

Interner Bereich: Body.

◆ $_body_inline

dbxReport::$_body_inline = ''

Inline-Body.

◆ $_but_pagination

dbxReport::$_but_pagination = 3

Anzahl sichtbarer Pagination-Buttons.

◆ $_class_body

dbxReport::$_class_body = array()

Body-Klassen.

◆ $_class_header

dbxReport::$_class_header = array()

Header-Klassen.

◆ $_count_all

dbxReport::$_count_all = -1

Gesamtanzahl ohne Report-Filter; -1 = nicht separat gesetzt.

◆ $_count_selects

dbxReport::$_count_selects = -1

Caching für Anzahl ausgewählter Datensätze.

◆ $_create_row_copy

dbxReport::$_create_row_copy = 0

Zeilen-Copy aktiv.

◆ $_create_row_delete

dbxReport::$_create_row_delete = 0

Zeilen-Delete aktiv.

◆ $_create_row_download

dbxReport::$_create_row_download = 0

Zeilen-Download aktiv.

◆ $_create_row_edit

dbxReport::$_create_row_edit = 0

Zeilen-Edit aktiv.

◆ $_create_row_export

dbxReport::$_create_row_export = 0

Zeilen-Export aktiv.

◆ $_create_row_import

dbxReport::$_create_row_import = 0

Zeilen-Import aktiv.

◆ $_create_row_print

dbxReport::$_create_row_print = 0

Zeilen-Print aktiv.

◆ $_create_row_select

dbxReport::$_create_row_select = 0

Zeilen-Select aktiv.

◆ $_create_row_show

dbxReport::$_create_row_show = 0

Zeilen-Show aktiv.

◆ $_create_row_undo

dbxReport::$_create_row_undo = 0

Zeilen-Undo aktiv.

◆ $_create_sel_flds

dbxReport::$_create_sel_flds = 0

Selektionsfelder erstellen.

◆ $_current_page

dbxReport::$_current_page = 0

Aktuelle logische Report-Seite.

◆ $_current_page_ln

dbxReport::$_current_page_ln = 0

Aktuelle Zeile auf aktueller Seite.

◆ $_current_report_ln

dbxReport::$_current_report_ln = 0

Aktuelle Report-Zeile insgesamt.

◆ $_data_table

dbxReport::$_data_table = 0

Daten-Tabellen-/Expander-Schalter.

Historisch:

  • 0 / 1
  • auto
  • 88

Typ: $type.

◆ $_delete_tab_dd

dbxReport::$_delete_tab_dd = ''

DD der Tabelle, die über {db:delete_tab} geleert werden darf.

◆ $_delete_tab_label

dbxReport::$_delete_tab_label = 'Tabelle leeren'

Button-Label für {db:delete_tab}.

◆ $_delete_tab_label_from_fd

dbxReport::$_delete_tab_label_from_fd = false
protected

Verwendet für die Delete-Tab-Aktion die Meldungsschlüssel der aktiven FD.

Der Schalter bleibt nur dann aus, wenn ein Modul beim Aktivieren bewusst ein eigenes Label übergibt. Alte Aufrufe ohne zweiten Parameter werden dadurch automatisch mehrsprachig, ohne ihre Signatur zu ändern.

Wahr, solange das Label automatisch aus der aktiven FD gelesen wird.

◆ $_first_page_lines

dbxReport::$_first_page_lines = 9999

Maximale Zeilen auf erster Seite.

◆ $_fld_header

dbxReport::$_fld_header = ''

Historischer Header-Name.

◆ $_footer

dbxReport::$_footer = ''

Interner Bereich: Footer.

◆ $_footer_next_page

dbxReport::$_footer_next_page = ''

Footer für Folgeseiten.

◆ $_footer_page

dbxReport::$_footer_page = ''

Seiten-Footer.

◆ $_footer_report

dbxReport::$_footer_report = ''

Report-Footer außerhalb der eigentlichen Seiten.

◆ $_grid_allow_delete

dbxReport::$_grid_allow_delete = 1

Delete im Grid erlaubt.

◆ $_grid_allow_edit

dbxReport::$_grid_allow_edit = 1

Edit im Grid erlaubt.

◆ $_grid_allow_insert

dbxReport::$_grid_allow_insert = 1

Insert im Grid erlaubt.

◆ $_grid_cols

dbxReport::$_grid_cols = ''

Grid-Spalten-Definition.

◆ $_grid_delete_url

dbxReport::$_grid_delete_url = ''

Delete-URL für Grid.

◆ $_grid_export_url

dbxReport::$_grid_export_url = ''

Export-URL.

◆ $_grid_headerfilter

dbxReport::$_grid_headerfilter = 1

Headerfilter für Grid.

◆ $_grid_headersort

dbxReport::$_grid_headersort = 1

Headersort für Grid.

◆ $_grid_id

dbxReport::$_grid_id = ''

Grid-ID.

◆ $_grid_insert_url

dbxReport::$_grid_insert_url = ''

Insert-URL für Grid.

◆ $_grid_layout

dbxReport::$_grid_layout = 'fitColumns'

Grid-Layout.

◆ $_grid_print_url

dbxReport::$_grid_print_url = ''

Print-URL für Grid/Shell.

◆ $_grid_read_url

dbxReport::$_grid_read_url = ''

Read-URL für Grid.

◆ $_grid_save_url

dbxReport::$_grid_save_url = ''

Save-URL für Grid.

◆ $_grid_schema

dbxReport::$_grid_schema = ''

Schema-Name für Grid.

◆ $_grid_sort_url

dbxReport::$_grid_sort_url = ''

Sort-URL für Grid.

◆ $_grid_sync_url

dbxReport::$_grid_sync_url = ''

Sync-URL für Grid.

◆ $_grid_synctime

dbxReport::$_grid_synctime = '2'

Grid-Synctime.

◆ $_header

dbxReport::$_header = ''

Interner Bereich: Header.

◆ $_header_next_page

dbxReport::$_header_next_page = ''

Header für Folgeseiten.

◆ $_header_page

dbxReport::$_header_page = ''

Seiten-Header.

◆ $_header_report

dbxReport::$_header_report = ''

Report-Header außerhalb der eigentlichen Seiten.

◆ $_mode

dbxReport::$_mode = 'table'
protected

Report-Modus: table|tpl|tabulator.

◆ $_msg_confirm_copy

dbxReport::$_msg_confirm_copy = 'Datensatz kopieren ?'

Confirm-Text für Copy.

◆ $_msg_confirm_delete

dbxReport::$_msg_confirm_delete = 'Datensatz löschen ?'

Confirm-Text für Delete.

◆ $_msg_confirm_delete_tab

dbxReport::$_msg_confirm_delete_tab = 'Datenbank-Tabelle wirklich leeren ?'

Confirm-Text für Tabellenleerung.

◆ $_multi_page_select

dbxReport::$_multi_page_select = 0

Multi-Select seitenübergreifend.

◆ $_multi_select_work

dbxReport::$_multi_select_work = ''

Interner Multi-Select-Arbeitsmodus.

◆ $_next_page_lines

dbxReport::$_next_page_lines = 9999

Maximale Zeilen auf Folgeseiten.

◆ $_options_rdesc

dbxReport::$_options_rdesc = array()

ASC/DESC Optionen.

◆ $_options_rrows

dbxReport::$_options_rrows = array()

Seitenlängenoptionen.

◆ $_options_rselect

dbxReport::$_options_rselect = array()

Auswahloptionen.

◆ $_options_rsort

dbxReport::$_options_rsort = array()

Sortieroptionen.

◆ $_page_break

dbxReport::$_page_break = '<div class="page-break printMe"> </div><br>'

Seitenumbruch-Markup.

◆ $_pagelink

dbxReport::$_pagelink = ''

Pagination-Link.

◆ $_pages

dbxReport::$_pages = 0

Pagination aktiv.

◆ $_rcount

dbxReport::$_rcount = 0

Gesamtanzahl Datensätze.

◆ $_rdata

dbxReport::$_rdata = array()

Report-Daten.

◆ $_rdata_inline

dbxReport::$_rdata_inline = false

Inline-Modus: Daten werden nur einmal in Body eingefügt.

◆ $_record

◆ $_report_multi_actions

dbxReport::$_report_multi_actions = array()
protected

Registrierte Report-Mehrfachaktionen für Footer-Select.

◆ $_report_state_flds

dbxReport::$_report_state_flds
protected
Initialisierung:
= array(
'dbx_rpos' => array('default' => 0, 'rules' => 'int'),
)

Interne Report-State-Werte ohne sichtbares Formularfeld.

◆ $_rflds

dbxReport::$_rflds = ''

Report-Feldliste.

◆ $_rpos

dbxReport::$_rpos = 0

Offset.

◆ $_rpt_format

dbxReport::$_rpt_format = array()

Feldformatierungen.

◆ $_rrows

dbxReport::$_rrows = 20

Datensätze pro Seite.

◆ $_rwhere_placeholder

dbxReport::$_rwhere_placeholder = '#search_for#'

Platzhaltertext für Suchfeld.

◆ $_scroll_table

dbxReport::$_scroll_table = 0

Scrollbare Tabelle.

◆ $_style_header

dbxReport::$_style_header = array()

Header-Styles.

◆ $_table_action_options

dbxReport::$_table_action_options = array()
protected

◆ $_table_buttons

dbxReport::$_table_buttons = 'left'

Buttons links oder rechts.

◆ $_table_col_count

dbxReport::$_table_col_count = 0

Anzahl sichtbarer Tabellen-Spalten.

◆ $_table_render_tpl_cache

dbxReport::$_table_render_tpl_cache = array()
protected

vorbereitete einfache Tabellen-Templates

◆ $_table_tpls

dbxReport::$_table_tpls = array()

Tabellen-Templates.

◆ $_tpl_pagination

dbxReport::$_tpl_pagination = 'dbx|pagination'

Pagination-Template.

◆ $_tpl_report

dbxReport::$_tpl_report = 'dbx|report-default'

Standardtemplate für normale Tabellenreports.

◆ $_tpl_report_bar

dbxReport::$_tpl_report_bar = 'dbx|report-bar-default'

Einheitliche Filter-/Aktionsleiste eines Reports.

◆ $_tpl_report_footer

dbxReport::$_tpl_report_footer = 'dbx|report-footer'

Einheitlicher Footer für Mehrfachaktionen.


Die Dokumentation für diese Klasse wurde erzeugt aufgrund der Datei: