Allgemeines
Information
-
Die Konfigurationsmatrix ist eine neue DA-Klasse (
Matrix, DA-Klasse12), die das Anzeigen und Bearbeiten einer Checkbox-Matrix ermöglicht. -
Dabei werden zwei Achsen (Zeilen und Spalten) sowie eine Zellen-Faktentabelle über eine JSON-Konfiguration im Host-Datenbereich verknüpft.
-
Ab PLANTA project 27 stehen zwei vorkonfigurierte Matrixmodule zur Verfügung:
-
009E10 – Personenkreis/Modul konfigurieren (Modul × Personenkreis)
-
009E3M – Personenkreis/Berechtigung konfigurieren (Berechtigung × Personenkreis)
-
Konfiguration
DA-Klasse
Details
-
Der Host-Datenbereich erhält die DA-Klasse
12(Matrix). -
Die drei Child-Datenbereiche (Zeilen, Spalten, Zellen) verwenden ihre jeweilige normale DA-Klasse.
Host-DA konfigurieren
Vorgehensweise
-
Im Host-DA die DA-Klasse auf
12(Matrix) setzen. -
Im Feld DF-Konfiguration (
df_script_settings) die JSON-Konfiguration hinterlegen (siehe unten). -
Die JSON-Konfiguration referenziert die Child-DAs über deren
CU_Name(DA-Customizing-Name) und die Datenfelder über derenCU_Name(DF-Customizing-Name).
Child-DAs konfigurieren
Vorgehensweise
-
Drei Child-Datenbereiche anlegen: Zeilen-DA, Spalten-DA, Zellen-DA.
-
Allen in der JSON-Konfiguration referenzierten Datenfeldern einen DF-Customizing-Namen (
df_customizing_name) vergeben. -
Schlüsseldatenfelder (Key-DFs) auf Fenster 9 setzen (ausblenden).
-
Sichtbare DFs im Zeilen- und Spalten-DA zeigen die Achsenmitglieder an (z. B. Symbol und Name).
-
Das DF, dessen Überschrift als Achsenbezeichnung erscheinen soll, wird über
Headingin der JSON-Konfiguration referenziert.
Hinweise
-
Die JSON-Konfiguration verwendet
CU_Names, keine DI-Nummern. -
Rechte für die Zellbearbeitung werden über die Rechteeinstellungen des Zellen-DA gesteuert.
-
Die Erstellung neuer Zeilen/Spalten wird über
create_enabledam jeweiligen Achsen-DA gesteuert.
JSON-Konfiguration
Die Konfiguration wird im Parameter DF-Konfiguration des Host-DA hinterlegt:
{
"Rows": {
"Source": "Area",
"Area": "<cu_name_des_zeilen_da>",
"Key": "<cu_name_des_schlüssel_df>",
"Heading": "<cu_name_des_überschrift_df>"
},
"Columns": {
"Source": "Area",
"Area": "<cu_name_des_spalten_da>",
"Key": "<cu_name_des_schlüssel_df>"
},
"Cells": {
"Area": "<cu_name_des_zellen_da>",
"RowKey": "<cu_name_des_zeilen_fk_df>",
"ColumnKey": "<cu_name_des_spalten_fk_df>",
"Value": "<cu_name_des_flag_df>",
"OnDefault": "Keep",
"Orphans": "Ignore"
}
}
Konfigurationsparameter
|
Parameter |
Bereich |
Pflicht |
Beschreibung |
|---|---|---|---|
|
|
Zeilen |
Ja |
|
|
|
Zeilen |
Ja |
|
|
|
Zeilen |
Nein |
|
|
|
Spalten |
Ja |
|
|
|
Spalten |
Ja |
|
|
|
Spalten |
Nein |
|
|
|
Zellen |
Ja |
|
|
|
Zellen |
Ja |
|
|
|
Zellen |
Ja |
|
|
|
Zellen |
Nein |
|
|
|
Zellen |
Nein |
|
|
|
Zellen |
Nein |
|
Beispiel: Personenkreis/Modul-Matrix (009E10)
Das Standardmodul 009E10 verwendet folgende Konfiguration:
|
DA |
DT |
Datenfelder (DI → CU_Name) → Rolle |
|---|---|---|
|
Zeilen-DA ( |
DT405 |
DI000123 → |
|
Spalten-DA ( |
DT570 |
DI067356 → |
|
Zellen-DA ( |
DT572 |
DI067390 → |
JSON-Konfiguration des Host-DA:
{
"Rows": {
"Source": "Area",
"Area": "matrix_rows",
"Key": "mod_id",
"Heading": "mod_name"
},
"Columns": {
"Source": "Area",
"Area": "matrix_columns",
"Key": "group_uuid"
},
"Cells": {
"Area": "matrix_cells",
"RowKey": "cell_module",
"ColumnKey": "cell_group",
"Value": "cell_can_access",
"OnDefault": "Keep",
"Orphans": "Ignore"
}
}
Verhalten der Zellen
-
Aktivieren einer leeren Zelle: legt einen neuen Datensatz in DT572 an und befüllt die FK-Felder aus den Achsenmitgliedern.
-
Deaktivieren (
OnDefault: Keep): schreibt dendefault_valueinCAN_ACCESSund behält den Datensatz mitsamt Audit-Spalten. -
Zeilen mit Wert
0inCAN_ACCESSerscheinen als deaktivierte Checkbox.
Ereignismethoden (optional)
Information
-
Das Standardverhalten der Matrix kann durch Ereignismethoden in der Modulunterklasse überschrieben werden.
-
Ohne konfigurierte Methode greift das Worker-Standardverhalten.
-
Mehrere Matrizen in einem Modul leiten ihre Ereignisse an separate Methoden weiter.
|
Ereignismethode |
Auslöser |
Standardverhalten |
|---|---|---|
|
|
Zelle aktiviert, kein Datensatz vorhanden |
Fügt Datensatz in Zellen-DA ein, befüllt FK-Felder, setzt Value |
|
|
Wert geändert auf vorhandenem Datensatz (z. B. Deaktivieren mit |
Schreibt |
|
|
Deaktivieren mit |
Markiert Datensatz zur Löschung |
|
|
Neue Zeile/Spalte anlegen (falls |
Mitglied erscheint sofort als leere Zeile/Spalte |