PDM: Ist es möglich mit Dispatch für vorhandene Datei eine neue Seriennummer zu erstellen, welche aus von dem PDM Seriennummerngenerator kommt?

Frage:

Ist es möglich mit Dispatch für vorhandene Datei eine neue Seriennummer zu erstellen, welche aus von dem PDM Seriennummerngenerator kommt?

Antwort:

Es gibt im Dispatch keine integrierte Funktion die eine Seriennummer erzeugen kann.

Allerdings ist es mit etwas tricksen möglich dennoch Seriennummern zu erzeugen.

 

Folgende Grundvoraussetzungen sind nötig:

Es muss einen Ordner geben, auf den alle die eine neue Seriennummer erzeugen wollen die Rechte haben „Datei hinzufügen/umbenennen“, „Datei löschen“, „Datei einchecken“, „Datei auschecken“

 

Wir legen uns für unser Beispiel einen Ordner unter:

C:\PDM\Vorlagen\Temp\

an und setzen für die Gruppe Konstruktion die o.g. Rechte

 

Danach erstellen wir uns eine neue Datenkarte für den Dateityp .txt

Auf dieser Karte erstellen wir genau ein Feld, welches mit einer Variablen verknüpft wird. Welche das ist, ist erstmal egal. Am besten eine Hilfsvariable.

Für dieses Eingabefeld stellen wir einen Standardwert auf Seriennummer (1) ein und wählen uns die gewünschte Seriennummer (2) aus.

Diese Karte speichern wir in den eben erstellten Ordner C:\PDM\Vorlagen\Temp\ ab und stellen ein das sie für den Dateityp txt gilt.

 

Nun muss noch ein neuer Regestrieschlüssel erstellt werden, den wir verwenden um uns die neue Seriennummer zu merken.

 

Hinweis: Nehmen Sie nur Änderungen an ihrer Registry vor wenn Sie wissen was Sie tun.

 

Starten Sie den Registrieeditor: Windowstaste -> regedit

 

Legen Sie den neuen Schlüssel: HKEY_CURRENT_USER\TEMPPDM an.

Erstellen Sie einen neuen Wert vom Typ Zeichenfolgen mit dem Namen SN.

 

Nun erstellen wir die 2 notwendigen Dispatch-Skripte

 

Skript1 – Get New Serial Number

Dieses Skript wird später aufgerufen um die Nummer zu erzeugen

 

Wir benötigen eine Block für alle Dokument

Innerhalb dieses Blockes erstellen wir folgende Befehle:

Datei kopieren -> Quelle: %TempPath%template.txt; Ziel: %TempPath%temp.txt

Datei löschen -> %TempPath%template.txt (auch Dateien im Tresor löschen markieren)          

Datei umbenennen -> Pfad zur Datei: %TempPath%temp.txt;
                                        Neuer Dateiname: %TempPath%template.txt

Datei einchecken ->  %TempPath%template.txt

Datenkartenvariable setzen -> ausgewählte Datei oder Ordner; Zielvariable: Artikelnummer; Wert: Benutzervariable „NewSN“

 

Weiterhin benötigen wir noch folgende Benutzervariablen:

NewSN -> Typ: Wert aus Registry, Wert: HKEY_CURRENT_USER\TEMPPDM\SN

 

TempPath -> Typ: Text, Wert: Rootordnerpdm\Vorlagen\Temp\

 

Skript2 – Add New SN to Registry on add file command

Dieses Skript reagiert auf das hinzufügen einer neuen Datei temp.txt innerhalb des vorgegebenen Ordners:

E:\DPSStandarddatenbank\Test\Seriennummern via Dispatch\temp\temp.txt

 

Hier wird nur ein Befehl benötigt, der den Registriewert schreibt

Registriewert schreiben -> Schlüssel: HKEY_CURRENT_USER\TEMPPDM\SN; Wert: %SNfromCard%

Typ: String

 

Die Benutzerdefiniertevariable SNfromCard muss noch erstellt werden.

SNfromCard -> Typ: Variable von ausgewählter Datenkarte; Datenkartenvariable: Die Variable die wir auf unsere neu „Minidatenkarte gesetzt haben“ x_HilfsVariable

 

Wenn wir nun eine Datei auswählen die die Eigenschaftsvariable Artikelnummern enthält, diese auschecke und mit RMB im Kontextmenü „Get new SN“ wählen, wird für diese Datei eine neue Seriennummer generiert und in das Feld Artikelnummer eingetragen.