SOG-Helpcenter Logo SOG Business - Software

Konfigurieren eines ObjectContainer Controls


Die Datenfelder im Zellenkonfigurationsdialog sind wie folgt zu füllen:

 

Controltyp

ObjectContainer

Name

Name des Controls

Textdatenfeld

Name des verbundenen Datenfeldes.

Text

Definition der Datenbasis des Controls

Controlgröße

Legen Sie hier die Größe des Controls fest.

 

Verwendung des ObjectContainers mit einem frei definierten Daten-Basisobjekt


Geben Sie in dem Zellenkonfigurationsdialog des Controls unter "Basisobjekt" z. B. folgenden String an:

      #data:dbs.Kundenstamm(${Env.TBR},${sa},${konto})

Die Umgebungsvariable "TBR" und die Maskenfelder "sa" und "konto" werden aufgelöst, und es wird versucht, eine DataFactory zu erstellen, die Bezug auf einen entsprechenden "Kundenstamm" Datensatz aus der Datenbank hat.
Werden Datenfelder genutzt, die nicht vom Datentyp "int" sind, sollte die Syntax ${fn:parasymbol:Datenfeld} verwendet werden um Zeichen (wie z. B. das Komma selbst) korrekt zu maskieren.

 

Mit dem Beispiel oben, legen Sie eine "DataFactory" mit einem enthaltenen Kundenstammobjekt an.

DataFactories können aber nur mit bestimmten Datentypen angelegt werden.

Um einen Objectcontainer mit Bezug zu einem beliebigen Datenobjekt anzulegen, verwenden Sie folgende Syntax:

 

      #dbs.AuftragsLeitsatz(${Env.TBR},1,${konto},${auftr_nr})

Verwendung des ObjectContainers mit einem dynamischen Objekt


Um einen Objektcontainer mit einem dynamischen Objekt zu verbinden, verwenden Sie folgende Syntax:

      #dyn:container.AdminObject

In diesem Beispiel wird ein DynamicLogic Datensatz gesucht, der über das Programm c084 hinterlegt worden ist. In diesem Datensatz muss festgelegt sein, in welchem Assembly welche Datenklasse für die Lieferung von Werten in diesem Container zuständig ist.

Id

Name der Definition, hier "AdminObject".

Text

Beschreibung

Typ

Datensatzklasse, in diesem Beispiel "container".

Classname

Vollständiger Klassenname der CSharp-Datenklasse.
z. B. "SOG.ERP.Modules.Sysfun.VacosAdminObject", oder "Script.ProjAdminObject"

Assembly

Assemblyname
z. B. "Sysfun"

Bei der Erstellung des Objektes kann auch ein Parameter können auch Parameter mit angegeben werden:
      #dyn:container.AdminObject(Parameter[,...])

Die Parameter werden als String an den Konstruktor der Objektklasse übergeben.

Verwendung des ObjectContainers mit einer Objektliste


Ein Objektcontainer kann direkt mit einer Objektliste verknüpft werden. Wird in der Objektliste ein neues Element ausgewählt, wird auch der Objektcontainer automatisch aktualisiert.

 

Text

#tab:list1:Kundenstamm

 
Legen Sie dazu die Eigenschaft "Text" auf den Wert "#tab:{Tabellenname}:{Datentyp}" fest.

Verwendung des ObjectContainers mit einem TableGrid Control


Ein Objektcontainer kann direkt mit einem TableGrid verknüpft werden. Wird im TableGrid eine neue Zeile ausgewählt, wird auch der Objektcontainer automatisch aktualisiert.

Legen Sie dazu die Eigenschaft "Text" auf den Wert "#tabgrid:{Tabellenname}:#dbs.DatenKlasse(Parameter)" fest.

Mit der Schreibweise "_?" kann hier auf die aktuelle Zeile des TableGrid Bezug genommen werden.

 

Beispiel: #tabgrid:tab_1:#dbs.Artikelstamm(${Env.TBR},${sa_?},${b_art_?})

 
An Stelle eines einfachen Datenobjektes kann hier auch eine DataFactory verwendet werden. Legen Sie dazu Text wie folgt fest:

 

Beispiel: #tabgrid:tab_1:#data:dbs.Artikelstamm(${Env.TBR},${sa_?},${b_art_?}):dbs.Lagerdaten(${Env.TBR},${sa_?},${b_art_?},${lg_?})