4.11. Gestaltung Dialogfenster "Neue Ident-Nummer" - erpcustom.cfg -> Block [USERDIALOG]

Grundsätzliche Information:

  1. Die Einstellungen gelten für 3Dfindit und PARTdataManager gleichermaßen.

  2. Die Einstellungen für das Dialogfenster Neue Ident-Nummer [new ident-no.] werden sowohl beim Aufruf von Datensatz zur Linkdatenbank hinzufügen [Add dataset to link database] (3Dfindit) / (PARTdataManager) als auch beim Aufruf von Beantragen einer ERP-Nummer per E-Mail [Request ERP number per e-mail] (3Dfindit) / (PARTdataManager) verwendet.

    • Datensatz zur Linkdatenbank hinzufügen [Add dataset to link database]: Ein Feld für die ERP-Nummer wird dem Basis-Dialog automatisch zugefügt.

      Datensatz zur Linkdatenbank hinzufügen [Add dataset to link database]: Ein Feld für die ERP-Nummer wird dem Basis-Dialog automatisch zugefügt.

    • Beantragen einer ERP-Nummer per E-Mail [Request ERP number per e-mail]: Die entsprechenden Felder aus plinkcommon.cfg oder plinkgroups.cfg werden dem Basis-Dialog automatisch zugeordnet.

      Beantragen einer ERP-Nummer per E-Mail [Request ERP number per e-mail]: Die entsprechenden Felder aus plinkcommon.cfg oder plinkgroups.cfg werden dem Basis-Dialog automatisch zugeordnet.

  3. Der Dialog kann für alle User oder User-spezifisch gestaltet werden.

    • Allgemeiner Dialog:

      Verwenden Sie hierfür den Block [USERDIALOG].

    • User-spezifischer Dialog:

      Verwenden Sie folgende Syntax.

      Beispiel:

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

      Evtl. ist ein bestimmtes Feld für die Administration interessant, aber nicht für einen Modelleur. Lassen Sie in diesem Fall den nicht benötigten Eintrag für die spezifische Rolle weg.

Wie ist die Struktur des Dialogs?

  • Manche Einträge wie beispielsweise "Standard Titel", "Standard Nummer" oder "Dimension" stellen eine korrekte Identifikation eines Teils sicher.

  • Weitere Zeilen können beim Aufbau des Dialogfensters optional zugefügt werden. So können Werte selektiert oder mit freier Eingabe eingegeben werden und dann in die LinkDB exportiert werden.

Dialog "Neue Ident-Nummer [new ident-no.]"

Dialog "Neue Ident-Nummer [new ident-no.]"

Syntax:

Bei der Namensvergabe orientieren Sie sich an den allgemeinen Variablennamen wie NTLANG, NN, LINALANG, NB oder LinkDB-Variablennamen.

Für jeden Schlüssel muss eine Reihe von Werten spezifiziert werden.

Im Folgenden werden die Feldwerte (separiert mit dem unter "SEPARATOR" angegebenen Trennzeichen) aufgelistet.

  • InternalVar=VarPLinkInternal:

    (um Probleme zu vermeiden, verwenden Sie normalerweise hier wieder die Schlüsselnamen)

  • StaticText: Beschreibungstext der Eingabezeile

  • required:

    Wertebereich: 0/1

    • 1 (default): Eintrag erforderlich

    • 0: Eintrag nicht erforderlich

  • Add2DB: Wert wird in LINKDB eingetragen

    Wertebereich: 0/1; default 1

  • default: Defaultwert (Standardmäßig leer)

    Mit eckigen Klammern "[ ]" können hier VBS Ausdrücke hinterlegt werden, welche im Hintergrund komplexere Berechnungen durchführen können, um einen Defaultwert zu berechnen.

    Beispiele:

    • Ausführen der Funktion 'funktionsname' aus dem VBS/VBB Modul 'modulname' und Übergabe der 2 Parameter param1 und param2. Das Modul muss davor geladen sein (über die Sektion [LOAD] oder scripts/<appname>/autoexec. Die Parameter werden hierbei mit <#> anstatt <,> getrennt, um Probleme mit dem SEPARATOR zu umgehen.

      [modulname.funktionsname(param1#param2)] 
      
    • Rückgabe des aktuellen Datums im Format Jahr, Monat, Tag

      [CreateObject("cnstools.datetime").Format("yyyyMMdd")] 
      
    • Rückgabe des klassifizierten Wertes der Bestellnummer

      • Für 3Dfindit:

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

        Konkret:

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

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

        Konkret:

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

      Rückgabe des klassifizierten Wertes des Gewichts

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

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

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

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

      • table: Die aktuell geöffnete Tabelle (Application.ViewTable.Table)

      • document: Das aktuelle Dokument (Application.ActiveDocument)

      • prjPath: Der Pfad zum aktuell geöffneten Projekt

    Ein Beispiel hierzu finden Sie unter Abschnitt 4.11.1, „SAP / ERP Anlagedialog - GET-Funktion für Klassifikationswerte “.

  • freeinput: Änderbarkeit der entsprechenden Zeile

    Wertebereich: 0/1

    • 0: Zeile nicht änderbar

      Sinnvoll bei Normtitel, Normnummer, Dimension oder automatisch generierter ERP-Nummer beispielsweise.

    • 1: Notwendigerweise gesetzt für alle Zeilen, deren Werte geändert werden sollen.

  • ShowInDialog: Sichtbarkeit in Dialogfenster

    Wertebereich: 0/1

    • 1 (default): Die entsprechende Zeile ist sichtbar.

    • 0: Die entsprechende Zeile ist nicht sichtbar (aber es kann ein Defaultwert in die LinkDB eingetragen werden, der jedoch nicht im Dialogfenster angezeigt wird).

  • selectionfile: In der Datei (z.B. material_assign.cfg) enthaltene Optionen, die in einem Listenfeld angezeigt werden.

    Siehe auch material_assign.cfg.

    Beispielhafter Inhalt der angegebenen Datei:

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

    Für ein bestimmtes Projekt können auch andere Defaultwerte bestimmt werden.

    Beispielhafter Inhalt der angegebenen Datei:

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

    Siehe auch Abschnitt 4.12.1.2.3, „ Anlage ERP-Nummer direkt bei Export “.

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

    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 angezeigtem Wert und tatsächlichen Wert

  • combotype:

    Wertebereich:

    • full: es ist sowohl möglich eine Option zu selektieren, als auch einen Wert einzugeben

    • static (es dürfen keine eigenen Werte eingegeben werden)

    • button

    • empty (Eintrag eines eigenen Wertes möglich)

  • regular expression

    Beispiele:

    • Nur Zahlen erlaubt

      [0-9]*

    • Nur Buchstaben erlaubt

      [A-Za-z]*

    • Tilde nicht erlaubt

      [^~]*

    Zum Testen von RegExp können Sie beispielsweise https://www.regexpal.com verwenden.

  • Message if Regexp fails

    Beispiel:

    Only numbers allowed

    Standardtext + Spezifizierte Nachricht

    Standardtext + Spezifizierte Nachricht