Sie möchten Ihren Usern für verschiedene Fälle in einer Transaktion verschiedene Layoutvarianten zur Verfügung stellen. Das einfachste wäre eine Standard Layoutvariante anzulegen und diese beim Start der Transaktion zu setzen. Leider ist es gerade bei grösseren Unternehmen so, dass die Berechtigung um Standard Layoutvarianten (Benutzerübergreifend) anzulegen zusehends sehr rar vergeben werden.

Deshalb habe ich folgendes Beispiel entwickelt, wo wir mittels GuiXT eine benutzerspezifische Variante automatisiert anlegen. Sobald die Variante einmal angelegt ist,
nutzen wir Sie gleich bei dem Aufruf der Transaktion. Sollte sie der Benutzer löschen, so wird sie beim nächsten Start der Transaktion einfach wieder neu angelegt.

Das vorliegende Beispiel habe ich für die Transaktion IW39 aufgebaut. Das Prinzip des Beispiels ist so, dass über eine CSV-Datei die ganze Ausprägung einer LayoutVariante definiert wird.

  • Spaltenauswahl (mit allenfalls Summen KZ)
  • Sortierung (mit Sort Richtung und allenfalls Zwischensummen KZ)
  • Filter (wobei pro Feld definiert werden kann ob selektiert oder ausgeschlossen wird. Die zugehörigen Werte können auch in der CSV-Dateri gepflegt werden)
  • Darstellung
  • Spaltenbreite

Das Beispiel konnte nur dank der neuen Native Schnittstelle aufgebaut werden. Es wurden folgende Befehle der Native Schnittstelle verwendet:

  • guinet.gridcontrol.GetRowCount
  • guinet.GridControl.SelectAllRows
  • guinet.GridControl.SelectRowByValue
  • guinet.Gridcontrol.ClickCell
  • guinet.GridControl.SetColumnWidth

Im weiteren werden in den Beispiel auch die strukturierten Tabellenfelder verwendet.

Die ganzen Scripte inkl. der neuesten Guinet.dll sind in folgendem Archiv vorhanden.

Beispiel_IW39_Layoutvariante.zip

Dazu ist GuiXT Version > 2020 Q3 4 mit den Komponenten GuiXT, InputAssistant und Controls notwendig.

Empfehlen