Anzeige eines zusätzlichen Detail-Elementes
Um ein funktionales Detail-Element zu erstellen, benötigen Sie mindestens diese Metadatenobjekte:
- Datenquelle
- Listen-Element
Um ein Detail-Element in ein Standard Master-Detail-Element zu integrieren, benötigen Sie diese Metadatenobjekte und Eigenschaften:
- Master-Detail-Element mit dem Namen des Standard-Elementes
- "Master-Detail-Typ" = "Detail-Erweiterungen"
- Hinterlegung des eigenen Detail-Elementes
- Verknüpfung via "SQL-Where-Bedingung für Child-Elemente" der Datenquelle des Detail-Elementes
Wie im Kapitel Anzeige von zusätzlichen Feldern in Auskünften greift auch für dieses Beispiel der Hinweis auf die 1:1-Beziehung zwischen Vorgang und Projekt. Wir erfassen projektbezogen Termine (BPKProjektsteuerungTermine). Diese Daten wären also Zusatzdaten zum Projekt. Es gibt aber keine Auskunft im Standard mit einer Liste bezogen auf ein Projekt. Wir nehmen daher die Vorgangsauskunft des Projektstammes Daher müssen wir prüfen, ob die Projektnummer überhaupt als Schlüsselfeld der Master-Datenquelle ("dtsVKVorgangProjekte.Sage.Wawi") zur Verfügung steht. Sie ist im "Schlüsselfeld 5" eingetragen. Gibt es mehrere Vorgänge zu einem Projekt, dann werden für alle Vorgänge die gleichen Termine angezeigt. Da wir in diesem Beispiel aber nur einen Vorgang pro Projekt haben werden, ist das Beispiel dann trotzdem valide.
Wir erstellen unsere Datenquelle. Dabei müssen wir beachten, dass das Projekt bei der Projektsteuerung hinterlegt ist. Wir müssen also "BPKProjektsteuerung" und "BPKProjektsteuerungTermine" joinen. Zudem sind die Datenquelle und das Listen-Element unsere Metadaten. Wir werden uns also nicht anhängen, sondern beide Elemente neu erstellen, wie in Erstellung eines Control-Center-Elementes oder Erstellung einer Bildschirmauskunft es bereits erläutert wurde.
Wir legen folgende Metadaten an:
- Anlage der Datenquelle "dtsProjektTermin" mit dem Assistenten "Tabelle importieren" und der Auswahl der Tabelle "BPKProjektsteuerungTermine"
- "Titel" = "Projekttermine"
- "SQL-Tabellen" = "BPKProjektsteuerungTermine INNER JOIN BPKProjektsteuerung ON (BPKProjektsteuerungTermine.SteuerungId = BPKProjektsteuerung.SteuerungId AND BPKProjektsteuerungTermine.Mandant = BPKProjektsteuerung.Mandant)"
- "Sortierung" = "Termin"
- "Ergänzende Sortierung" = "Termin ASC"
- "Ergänzende Sortierung absteigend" = "Termin DESC"
- "SQL-Where-Bedingung für Child-Elemente" = "BPKProjektsteuerung.Projekt = $[ParentKeyField(5)]" (Schlüsselfeld 5 = Projektnummer in dtsVKVorgangProjekte.Sage.Wawi)
- Nacharbeiten an den Felder der Datenquelle:
- "SteuerungId"
- "Priorität" = "1"
- "Termin"
- "Priorität" = "2"
- "Mitarbeiter"
- "Priorität" = "3"
- "Thema"
- "Priorität" = "4"
- "Kontakt"
- "Priorität" = "5"
- "Status"
- "Priorität" = "6"
- "Datentyp" = "Indizierter String"
- "Datentyp-Ergänzung" = "Index 0-3, String Ressource Terminstatus"
- "BudgetOk"
- "Titel" = "Budgetkontrolle"
- "Priorität" = "7"
- "Datentyp" = "Indizierter String"
- "Datentyp-Ergänzung" = "Index -1 und 0, String Ressource Sage.System.Common"
- "TerminNeu"
- "Titel" = "neuer Termin"
- "Priorität" = "8"
- "Memo"
- "Priorität" = "9"
- "SteuerungId"
- Anlage des Listen-Elementes "lstProjektTermin" mit dem Assistenten "Datenquelle zuordnen" und der Auswahl der Datenquelle "dtsProjektTermine"
- "Titel" = "Projekttermine"
- "Titelerweiterung für Child-Elemente" = "$[RecordCount]"
- "für Wawi?" aktivieren
- Nacharbeiten an den Felder des Listen-Elementes:
- "SteuerungId"
- "Sichtbarkeit" = "Versteckt"
- "BudgetOk"
- "Sichtbarkeit" = "Versteckt"
- "TerminNeu"
- "Sichtbarkeit" = "Versteckt"
- "Memo"
- "Sichtbarkeit" = "Versteckt"
- "SteuerungId"
- Anlage des Master-Detail-Elementes "mdtVKVorgangProjekte"
- "Anhängen an Master-Detail-Element der Partner-Kennung" = "Sage.Wawi"
- "Master-Detail-Typ" = "Detail-Erweiterungen"
- "Detail-Elemente" = "lstProjektTermine.<ihre_partnerid>.<ihre_loesungid>"
- "für Wawi?" aktivieren
Wenn Sie jetzt im Projektstamm das Projekt "P10031" auswählen und unter "Optionen/ Verkauf" die "Vorgangsauskunft" aufrufen, dann wird Ihnen das neue Detail-Element als separates Element im Master-Detail-Element angezeigt. Das hängt damit zusammen, dass die Anzeige konfigurierbar ist. Es könnte also sein, dass die Details des Standard Master-Detail-Elementes nicht als Register angezeigt werden. Außerdem kann man keine Reihenfolge der Register angeben. Wenn Sie das neue Detail auf das Register ziehen, dann sieht die Standardauskunft wie folgt aus: