Customizing
Version 27 Version 26 39.5.25 39.5.23 39.5.22 39.5.21 39.5.20 39.5.19 39.5.18 39.5.17 German English
Version 27 Version 26 39.5.25 39.5.23 39.5.22 39.5.21 39.5.20 39.5.19 39.5.18 39.5.17 German English

Modulsteuerelemente customizen

Information

  • Ein Modulsteuerelement ist ein Modul, das in einem Datenfeld eines anderen Moduls eingebettet wird.

  • Das Modul mit dem Datenfeld wird nachfolgend Host-Modul genannt, das Datenfeld selbst Modulsteuerelement-Datenfeld.

  • Damit lassen sich Bausteine wie ein Diagramm oder ein Dashboard-Element einmal customizen und in mehreren Modulen wiederverwenden, statt sie je Modul erneut zu konfigurieren.

  • Das Host-Modul bestimmt Position und Größe. Das Modulsteuerelement bringt seine eigene Logik mit und verarbeitet die Eingaben der Benutzer selbst.

Modulsteuerelement vorbereiten

Vorgehensweise

  • Das Modul, das als Steuerelement dienen soll, wie ein normales Modul customizen.

  • Für den Parameter Klasse den Wert “4” belassen.

    • Module anderer Klassen funktionieren nicht.

Modulsteuerelement-Datenfeld anlegen

Vorgehensweise

  • Im Customizer den Datenbereich öffnen, in dem das Modulsteuerelement erscheinen soll.

  • Ein Datenfeld mit dem DI004336 Button/IronPython einfügen.

  • Den Parameter DF-Verhalten auf “mc” setzen.

  • Die Parameter DF-Breite und DF-Höhe setzen. Bleiben beide leer, wird das Modulsteuerelement nicht dargestellt.

  • In der Datenfeld-Konfiguration die ID des Moduls im JSON-Format eintragen und speichern.

Beispiel

JSON
{
   "Embedded": {
      "Module": "009DQ3"
   }
}

Customizing-Regeln

Details

  • Anders als Tooltip-Module dürfen Modulsteuerelemente interaktive Elemente enthalten - Listboxen, Schaltflächen und Links sind ausdrücklich vorgesehen.

  • Ein Modulsteuerelement darf seinerseits auch Modulsteuerelemente enthalten.

  • Ein Modul darf sich nicht selbst einbetten, weder direkt noch über eine Kette weiterer Module.

Zusammenspiel von Host-Modul und Modulsteuerelement

Information

  • Beim Laden führt der Server auf dem Modulsteuerelement die Methode on_module_control_load(datafield) aus, sofern sie vorhanden ist. Anschließend folgt on_initial_focus().

  • Als Parameter erhält die Methode das Modulsteuerelement-Datenfeld des Host-Moduls. Über Datafield.get_record() lässt sich der Datensatz ermitteln, in dessen Kontext das Modulsteuerelement geladen wurde.

  • Über get_invoker_module() erreicht das Modulsteuerelement das Host-Modul.

  • Die Ereignisse on_focus(), on_reset(), on_before_mv_switch() und on_after_mv_switch() des Host-Moduls werden auch auf allen seinen Modulsteuerelementen ausgeführt.

Beispiel

Python
def on_module_control_load(self, datafield):
    record = datafield.get_record()
    host = self.get_invoker_module()

Hinweis

  • Klickt ein Benutzer in ein Modulsteuerelement, wird dieses zum aktiven Modul. Befehle, die sich auf einen Datensatz beziehen, wirken dort.

  • Befehle, die sich auf das ganze Modul beziehen, wirken weiterhin auf dem Host-Modul.

Siehe auch: DT411 Datenfeld, Typ der Datenfelder festlegen, Python API Reference, Tooltips customizen