5.12.1.8.2. Remplir un champ de liste via une expression VBS

Outre un fichier CFG, il est également possible d'utiliser des expressions entre crochets "[ ]". des expressions VBS peuvent être déposées, qui remplissent la zone de liste avec des valeurs.

Exemples:

  • 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")

    Deux appels donnent lieu à une entrée dans la liste : d'abord la valeur enregistrée, puis le texte affiché. La liste affiche « Allemagne » et « France » ; les valeurs enregistrées sont respectivement « DE » et « FR ».

Dans 3Dfindit, la syntaxe comboBox.Items.Add issue du PARTdataManager ne fonctionne pas. À la place, l'expression VBS peut renvoyer directement un tableau. Pour chaque entrée de la liste, le tableau contient deux éléments : d'abord la valeur enregistrée, puis le texte affiché. Les deux peuvent être identiques. Pour plusieurs entrées, ajoutez d'autres paires.

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

Dans ce contexte, les variables suivantes peuvent également être passées à la fonction :

  • comboBox : L'objet de la ComboBox pour y apporter directement des modifications

  • erpdata : L'objet interne ErpData pour la création d'enregistrements (on obtient ici par exemple la table actuelle via erpdata.Table)

  • userField : la configuration du champ

  • values (uniquement 3Dfindit) : tableau contenant les valeurs, toujours sous forme de paires composées d'une valeur enregistrée et d'une valeur affichée