4.11.  Conception de la boîte de dialogue "Nouveau numéro d'identification" - erpcustom.cfg -> Bloc [USERDIALOG]

Information de base:

  1. Les paramètres s'appliquent de la même manière à 3Dfindit et à PARTdataManager.

  2. Le Les paramètres de la boîte de dialogue Nouveau numéro d’identification [new ident-no.] s’affichent à la fois lorsque le de Dataset à Link Database [Add dataset to link database] ( 3Dfindit ) / ( PARTdataManager ) ainsi que Demander un numéro ERP par e-mail [Request ERP number per e-mail] ( 3Dfindit ) / ( PARTdataManager ) utilisé.

    • Ajouter un enregistrement à la base de données des liens [Add dataset to link database]: Un champ pour le numéro ERP est automatiquement ajouté au dialogue de base.

      Ajouter un enregistrement à la base de données des liens [Add dataset to link database]: Un champ pour le numéro ERP est automatiquement ajouté au dialogue de base.

    • Demande d'un numéro ERP par e-mail [Request ERP number per e-mail]: Les champs correspondants de plinkcommon.cfg ou plinkgroups.cfg sont automatiquement attribués au dialogue de base.

      Demande d'un numéro ERP par e-mail [Request ERP number per e-mail]: Les champs correspondants de plinkcommon.cfg ou plinkgroups.cfg sont automatiquement attribués au dialogue de base.

  3. Le dialogue peut être conçu pour tous les utilisateurs ou de manière spécifique à chaque utilisateur.

    • Dialogue général :

      Utilisez pour cela le bloc [USERDIALOG].

    • Dialogue spécifique à l'utilisateur :

      Utilisez la syntaxe suivante.

      exemple :

      [USERDIALOG(Admin)]
      keys....
      [USERDIALOG(Designer)]
      keys...
      etc.

      Il se peut qu'un champ spécifique soit intéressant pour l'administration, mais pas pour un modeleur. Dans ce cas, laissez de côté l'entrée qui n'est pas nécessaire pour le rôle spécifique.

Quelle est la structure du dialogue ?

  • Certaines entrées, comme par exemple "Titre standard", "Numéro standard" ou "Dimension", garantissent l'identification correcte d'une pièce.

  • D'autres lignes peuvent être ajoutées en option lors de la création de la boîte de dialogue. Il est ainsi possible de sélectionner des valeurs ou de les saisir librement, puis de les exporter dans la LinkDB.

Dialogue "Nouveau numéro d'identification [new ident-no.]

Dialogue "Nouveau numéro d'identification [new ident-no.]

Syntaxe:

Lors de l'attribution des noms, orientez-vous vers les noms de variables généraux tels que NTLANG, NN, LINALANG, NB ou les noms de variables LinkDB.

Une série de valeurs doit être spécifiée pour chaque clé.

Les valeurs des champs (séparées par le séparateur indiqué sous "SEPARATOR") sont énumérées ci-dessous.

  • InternalVar=VarPLinkInternal :

    (pour éviter les problèmes, utilisez normalement ici encore les noms de clés)

  • StaticText: texte de description de la ligne de saisie

  • required:

    Plage de valeurs : 0/1

    • 1 (par défaut) : Entrée requise

    • 0 : entrée non requise

  • Add2DB: la valeur est inscrite dans LINKDB

    Plage de valeurs : 0/1 ; par défaut 1

  • default: valeur par défaut (vide par défaut)

    Les crochets "[ ]" permettent de déposer ici des expressions VBS qui peuvent effectuer des calculs plus complexes en arrière-plan afin de calculer une valeur par défaut.

    Exemples:

    • Exécuter la fonction 'nom de la fonction' du module VBS/VBB 'nom du module' et passer les 2 paramètres param1 et param2. Le module doit être chargé au préalable (via la section [LOAD] ou scripts/<appname>/autoexec. Les paramètres sont séparés par <#> au lieu de <,> afin d'éviter les problèmes avec le SEPARATOR.

      [modulname.funktionsname(param1#param2)] 
      
    • Retour de la date actuelle au format année, mois, jour

      [CreateObject("cnstools.datetime").Format("yyyyMMdd")] 
      
    • Retour de la valeur classée du numéro de commande

      • Pour 3Dfindit :

        [erpcustom.GetClassificationProperty(table#"cns"#"CNSERPBASE"#"CNSORDERNO")]

        Concrètement

        ABC=ABC,ABC:,1,1,[erpcustom.GetClassificationProperty(table#"cns"#"CNSERPBASE"#
         "CNSORDERNO")],1,1,,,.*,
      • Pour PARTdataManager :

        [erpcustom.GetClassificationProperty("cns"#"CNSERPBASE"#"CNSORDERNO")]

        Concrètement

        ABC=ABC,ABC:,1,1,[erpcustom.GetClassificationProperty("cns"#"CNSERPBASE"#
         "CNSORDERNO")],1,1,,,.*,

      Retour de la valeur classée du poids

      [erpcustom.GetClassificationProperty("cns"#"CNSPHYPROP"#"CNSMASSEXACT")]
      • Pour 3Dfindit :

        [erpcustom.GetClassificationProperty(table#"cns"#"CNSPHYPROP"#"CNSMASSEXACT")]
      • Pour PARTdataManager :

        [erpcustom.GetClassificationProperty("cns"#"CNSPHYPROP"#"CNSMASSEXACT")]

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

      • table : La table actuellement ouverte (Application.ViewTable.Table)

      • document : Le document actuel (Application.ActiveDocument)

      • prjPath : le chemin d'accès au projet actuellement ouvert

    Vous trouverez un exemple à ce sujet sur Section 4.11.1, « SAP / ERP Dialogue de placement - fonction GET pour les valeurs de classification  ».

  • freeinput: possibilité de modifier la ligne correspondante

    Plage de valeurs : 0/1

    • 0 : ligne non modifiable

      Utile pour le titre normalisé, le numéro normalisé, la dimension ou le numéro ERP généré automatiquement, par exemple.

    • 1 : Nécessairement défini pour toutes les lignes dont les valeurs doivent être modifiées.

  • ShowInDialog: Visibilité dans les fenêtres de dialogue

    Plage de valeurs : 0/1

    • 1 (par défaut) : La ligne correspondante est visible.

    • 0 : la ligne correspondante n'est pas visible (mais il est possible de saisir une valeur par défaut dans la LinkDB, qui ne sera toutefois pas affichée dans la boîte de dialogue).

  • selectionfile (fichier de sélection) : Options contenues dans le fichier (par ex. material_assign.cfg) et affichées dans une zone de liste.

    Voir aussi material_assign.cfg.

    Exemple de contenu du fichier indiqué :

    [*]
    0=
    1=8.8
    2=10.9
    3=12.9

    Il est également possible de définir d'autres valeurs par défaut pour un projet donné.

    Exemple de contenu du fichier indiqué :

    [norm/din_en_iso/stifte/scherstifte/din_1.prj]
    
    1=1.4301 (V2A)
    2=1.4571 (V4A)

    Voir aussi Section 4.12.1.2.3, «  Création d'un numéro ERP directement lors de l'exportation  ».

    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("Übersetzung1") 
      values.Add("Wert1") 
      values.Add("Übersetzung2") 
      values.Add("Wert2")

    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 (3Dfindit uniquement) : Tableau contenant les valeurs, toujours sous forme de paire de valeurs affichées et de valeurs réelles

  • combotype:

    Plage de valeurs :

    • full : il est possible à la fois de sélectionner une option et de saisir une valeur

    • static (aucune valeur personnelle ne peut être saisie)

    • bouton

    • empty (possibilité de saisir sa propre valeur)

  • expression régulière

    Exemples :

    • Seuls les chiffres sont autorisés

      [0-9]*

    • Seules les lettres sont autorisées

      [A-Za-z]*

    • Tilde non autorisé

      [^~]*

    Pour tester RegExp, vous pouvez par exemple utiliser https://www.regexpal.com.

  • Message si Regexp échoue

    exemple :

    Only numbers allowed

    Texte standard + Message spécifié

    Texte standard + Message spécifié