5.12.1.8.2. Listenfeld füllen via VBS-Ausdruck

Neben einer CFG-Datei können hier auch mit eckigen Klammern "[ ]" VBS Ausdrücke hinterlegt werden, welche das Listenfeld mit Werten füllen.

Beispiele:

  • PARTdataManager:

    [modulname.funktionsname(comboBox#erpdata)] 
    comboBox.Items.Add("Wert1") 
    comboBox.Items.Add("Wert2")
  • 3Dfindit:

    [modulname.funktionsname(values)]
    values.Add("DE")
    values.Add("Deutschland")
    values.Add("FR")
    values.Add("Frankreich")

    Je zwei Aufrufe ergeben einen Listeneintrag: zuerst der gespeicherte Wert, dann der angezeigte Text. Die Liste zeigt „Deutschland“ und „Frankreich“; gespeichert wird „DE“ bzw. „FR“.

In 3Dfindit funktioniert die Schreibweise comboBox.Items.Add aus dem PARTdataManager nicht. Stattdessen kann der VBS-Ausdruck direkt ein Array zurückgeben. Je Listeneintrag enthält das Array zwei Elemente: zuerst den gespeicherten Wert, dann den angezeigten Text. Beide dürfen gleich sein. Für mehrere Einträge hängen Sie weitere Paare an.

[Array("nb", erpdata.table.selectedRow.GetTranslatedSHORTNB("german"))]

In diesem Kontext können auch folgende Variablen an die Funktion übergeben werden:

  • comboBox: Das Objekt der ComboBox um direkt Anpassungen daran vorzunehmen

  • erpdata: Das interne ErpData Objekt für die Datensatzanlage (hier bekommt man z.B. die aktuelle Tabelle über erpdata.Table)

  • userField: Die Konfiguration des Felds

  • values (nur 3Dfindit): Array mit den Werten, immer als Zweierpaar aus gespeichertem Wert und angezeigtem Wert