Metainformationen zur Seite
  •  

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Beide Seiten der vorigen RevisionVorhergehende Überarbeitung
Nächste Überarbeitung
Vorhergehende Überarbeitung
Nächste ÜberarbeitungBeide Seiten der Revision
speedy:30_modules:script [2020/09/18 15:25] – [Scripting] adminspeedy:30_modules:script [2021/07/12 19:55] – [Scripting] speedy
Zeile 1: Zeile 1:
 ====== Scripting ====== ====== Scripting ======
-Mit Hilfe des Scripting Moduls kann speedyPDM Ereignisorientiert angepasst werden. \\+Mit Hilfe des Scripting Moduls kann speedyPDM ereignisorientiert angepasst werden. \\
 Um das Scripting Modul nutzen zu können muss die Programmbibliothek modScript7.dll im speedy/Admin unter Anwendungsmodule hinzugefügt werden. \\ Um das Scripting Modul nutzen zu können muss die Programmbibliothek modScript7.dll im speedy/Admin unter Anwendungsmodule hinzugefügt werden. \\
 Sie haben die Wahl die Ereignisbehandlungsroutinen entweder in VBScript oder JScript zu schreiben.  Sie haben die Wahl die Ereignisbehandlungsroutinen entweder in VBScript oder JScript zu schreiben. 
Zeile 15: Zeile 15:
 |swxSpeedy.*| Wird bei Aktionen innerhalb von Solidworks aufgerufen | |swxSpeedy.*| Wird bei Aktionen innerhalb von Solidworks aufgerufen |
 |aisSpeedy.*| Wird bei Aktionen innerhalb von Autodesk Inventor aufgerufen | |aisSpeedy.*| Wird bei Aktionen innerhalb von Autodesk Inventor aufgerufen |
-\\+
  
 ==== Ereignisroutinen ==== ==== Ereignisroutinen ====
Zeile 66: Zeile 66:
 |obj_description| | |obj_description| |
 |obj_class| Klassenname des Objekts (z.B. CZvContainer für Ordner). | |obj_class| Klassenname des Objekts (z.B. CZvContainer für Ordner). |
-\\+<note warning> 
 +Die beiden Eigenschaften session.database und vault.database liefern kein Ergebnis, wenn mit dem Datenbank-Direkttreiber „MYSQL“ gearbeitet wird. 
 +</note> 
  
 ===== Globale Funktionen ===== ===== Globale Funktionen =====
 +
 ==== Application - Objekt ==== ==== Application - Objekt ====
-In den Scriptfunkktionen steht in das globale Object **//Application//** mit folgenden Funktionen zur Verfügung: +In den Scriptfunkktionen steht das globale Object **//Application//** mit folgenden Funktionen zur Verfügung: \\ 
-=== GetSessionDb === +\\ 
-Gibt das ADODB.Connection Objekt der Session Datenbank zurück. +=== Application.GetSessionDb === 
-=== GetRootPath === +Gibt das ADODB.Connection Objekt der Session Datenbank zurück. \\ 
-Gibt den Root Pathwie in der dwKernel.ini eingestellt, zurück. +<note warning>Diese Funktion liefert kein Ergebniswenn mit dem Datenbank-Direkttreiber "MYSQL" gearbeitet wird.</note>
-=== GetVaultCount === +
-Gibt die Anzahl der Vault datenbank zurück. +
-=== GetVaultDbAt(iIndex) === +
-Gibt das ADODB.Connection Object der entsprechenden Vault Datenbank zurück. +
-=== GetVaultNameAt(iIndex) === +
-Gibt den Namen der Vault Datenbank zurück. +
-=== GetTempFileName === +
-Gibt einen temporären Dateinamen im aktuellen Temp-Verzeichnis zurück. +
-=== GetTempPath === +
-Gibt das aktuelle Temp-Verzeichnis zurück. +
-=== GetAppPath === +
-Gibt das Installationsverzeichnis der Anwendung zurück. +
-=== ProgressStart(lMin, lMax, sTitle, sMessage) === +
-Beginnt einen Dialog mit Fortschrittsanzeige +
-=== ProgressStop === +
-Stoppt die Fortschrittsanzeige. +
-=== ProgressText(sText) === +
-Setzt den Text in der Fortschrittsanzeige. +
-=== ProgressStep === +
-Führt einen Schritt in der Fortschrittsanzeige aus.+
  
-=== Log(lSeverity, sMessage) === +=== Application.GetRootPath === 
-Protokolliert einen Text in der aktuellen Log-Datei. +Gibt den Root Path, wie in der dwKernel.ini eingestellt, zurück. \\ 
- +\\ 
-=== InvokeCommand(sCallBack, wParam, lParam) === +=== Application.GetVaultCount === 
-Ruft einen speedy Zusatzbefehl auf. +Gibt die Anzahl der Vault datenbank zurück. \\ 
- +\\ 
-=== HasCommand(sCallBack) === +=== Application.GetVaultDbAt(iIndex) === 
-Überprüft, ob der zusatzbefehl vorhanden ist.+Gibt das ADODB.Connection Object der entsprechenden Vault Datenbank zurück. \\ 
 +\\ 
 +=== Application.GetVaultNameAt(iIndex) === 
 +Gibt den Namen der Vault Datenbank zurück. \\ 
 +\\ 
 +=== Application.GetTempFileName === 
 +Gibt einen temporären Dateinamen im aktuellen Temp-Verzeichnis zurück. \\ 
 +\\ 
 +=== Application.GetTempPath === 
 +Gibt das aktuelle Temp-Verzeichnis zurück. \\ 
 +\\ 
 +=== Application.GetAppPath === 
 +Gibt das Installationsverzeichnis der Anwendung zurück. \\ 
 +\\ 
 +=== Application.ProgressStart(lMin, lMax, sTitle, sMessage) === 
 +Beginnt einen Dialog mit Fortschrittsanzeige. \\ 
 +\\ 
 +=== Application.ProgressStop === 
 +Stoppt die Fortschrittsanzeige. \\ 
 +\\ 
 +=== Application.ProgressText(sText) === 
 +Setzt den Text in der Fortschrittsanzeige. \\ 
 +\\ 
 +=== Application.ProgressStep === 
 +Führt einen Schritt in der Fortschrittsanzeige aus. \\ 
 +\\ 
 +=== Application.Log(lSeverity, sMessage) === 
 +Protokolliert einen Text in der aktuellen Log-Datei. \\ 
 +\\ 
 +=== Application.InvokeCommand(sCallBack, wParam, lParam) === 
 +Ruft einen speedy Zusatzbefehl auf. \\ 
 +\\ 
 +=== Application.HasCommand(sCallBack) === 
 +Überprüft, ob der Zusatzbefehl vorhanden ist. \\ 
 +\\ 
 +=== Application.ConsoleExecute(sCmd, sDirectory, lWait) === 
 +Führt ein Programm/Aufruf auf der Konsole aus. \\ 
 +^Parameter^Beschreibung^ 
 +|sCmd | Befehlszeile | 
 +|sDirectory| Verzeichnis in dem der Befehl ausgeführt werden soll. | 
 +|lWait| Soll auf das Ende der Befehlsausführung gewartet werden. | 
 +\\
  
-=== ConsoleExecute(sCmd, sDirectory, lWait) === +=== Application.DlgLookup(ByRef Result, DataName, Connection, DataSource, InitialValue, Option) ===
-Führt ein Programm/Aufruf auf der Konsole aus. +
- +
-=== DlgLookup(ByRef Result, DataName, Connection, DataSource, InitialValue, Option) ===+
 Öffnet einen Lookup-Dialog zur Auswahl. \\ Öffnet einen Lookup-Dialog zur Auswahl. \\
 Die Funktion gibt True bei erfolgreicher Auswahl zurück und False bei Abbruch durch den User. \\ Die Funktion gibt True bei erfolgreicher Auswahl zurück und False bei Abbruch durch den User. \\
-Result[String]  :Ergebnis der Auswahl, Wert der 1. Spalte der gewählten Zeile in der Auswahltabelle. \\ +^Parameter^Beschreibung^ 
-DataName[String]  :a) Name des Eigenschafttenformats. Im Eigenschaftenformat wird die Datenbankverbindung und das SQL Statement definiert. Die Werte für Connection und DataSource bleiben leer. \\ +|Result[String]Ergebnis der Auswahl, Wert der 1. Spalte der gewählten Zeile in der Auswahltabelle. | 
-b) Name der Datenbankverbindung \\ +|DataName[String]a) Name des Eigenschafttenformats. Im Eigenschaftenformat wird die Datenbankverbindung und das SQL Statement definiert. Die Werte für Connection und DataSource bleiben leer. \\ b) Name der Datenbankverbindung | 
-Connection[String]  :ConnectionString zum Aufbau der Datenbankverbindung. \\ +|Connection[String]ConnectionString zum Aufbau der Datenbankverbindung. | 
-DataSource[String]  :SQL Statement zur Ermittlung der Auswahltabelle. Die 1. Spalte ergibt das Ergebnis des Lookup. \\ +|DataSource[String]SQL Statement zur Ermittlung der Auswahltabelle. Die 1. Spalte ergibt das Ergebnis des Lookup. | 
-InitialValue[String]  :Vorab gewählter Wert. \\ +|InitialValue[String]Vorab gewählter Wert. | 
-Option[long] := Wird zur zeit nicht unterstützt.\\+|Option[long]Wird zur zeit nicht unterstützt. |
 \\ \\
 +
 +=== Application.EditObject(sItemId) ===
 +Bearbeitet das durch ItemId definierte Element mit dessen nativem Eigenschaften-Dialog. \\
 \\ \\
 +
 +=== Application.EditProperties(sItemId, Properties, bShowInvisible, sTitle, sDescription, sProfile) ===
 +Bearbeitet das durch ItemId definierte Element in einem vereinfachten Eigenschaften-Dialog. \\
 +^Parameter^Beschreibung^
 +|sItemId (String)| Id des zu bearbeitenden Elements ({x-x-y-y-z-z}) |
 +|Properties (String-Array)| Array mit Eigenschaftennamen, die im Dialog bearbeitet werden sollen. \\ Für die Eigenschaften muss es jeweils ein definiertes Eigenschaftenformat geben. |
 +|bShowInvisible (Boolean)| Sollen auch auch unsichtbar (Größe < 0) definierte Eiegnschaften im Dialog darstellen. |
 +|sTitle (String)| Titelzeile der Dialogüberschrift. |
 +|sDescription (String)| Beschreibungszeile der Dialogüberschrift. |
 +|sProfile (String)| Profilname unter dem die Fenstergröße in der Registry gespeichert wird. |
 +\\
 +
 +=== Application.GetDocumentPath(DocNo) === 
 +Gibt den Ablagepfad des Dokuments zurück.\\
 +\\ 
 +
 +=== Application.DbExecute(Connection, Statement) === 
 +Führt das SQL-Statement auf der benannten Datenbankverbindung aus. \\
 +Wird keine Verbindung (Connection) angegeben, wird die Datenbank der Session verwendet. \\
 +In Multi-Vault-Umgebungen kann der Name des Vault angegeben werden, um die Datenbank des Vault zu verwenden. \\
 +Die Funktion gibt 0 zurück, wenn kein Fehler vorliegt. \\
 +Die Funktion liefert kein Ergebnis aus dem SQL-Statement zurück. \\
 +<code>DbExecute("", "UPDATE dm_document d inner join dm_version v ON d.doc_did=v.ver_did AND d.doc_rev=v.ver_major AND d.doc_ver=v.ver_minor inner join dm_prop_cad p on v.ver_vid=p.prop_did SET p.NORM = 'DIN 931' WHERE d.doc_docno = 'BS01516';")</code>
 +
 +=== Application.DbQuery(Connection, Statement) === 
 +Führt das SQL-Abfrage auf der benannten Datenbankverbindung aus. \\
 +Wird keine Verbindung (Connection) angegeben, wird die Datenbank der Session verwendet. \\
 +In Multi-Vault-Umgebungen kann der Name des Vault angegeben werden, um die Datenbank des Vault zu verwenden. \\
 +Die Funktion liefert die Werte der in der Abfrage definierten Felder in einem Array zurück.
 +<code>DbQuery("", "SELECT lst_idx,lst_name,lst_desc FROM lng_lst WHERE lst_typ='PROJEKTSTATUS';"
 +
 +Ergebnis:
 +0 0 "Erstellt"
 +1 1 "In Arbeit"
 +2 2 "Angehalten"
 +3 3 "Beim Kunden"
 +4 4 "Im Bau"
 +5 5 "Fertig"
 +</code>
 +
 +=== Application.DbLookup(Connection, Expression, Domain, Criteria) === 
 +Mit der DbLookup-Funktion können Sie den Wert eines bestimmten Feldes (Expression) aus einer bestimmten Datensatzgruppe (einer Domäne) abrufen.\\
 +Mit der Angabe von Criteria definieren Sie ein Suchkriterium.\\ 
 +In de Praxis werden die 3 Werte zu einem SQL-Statement zusammengesetzt und der erste gefundene Wert ist das Ergebnis der Suche: \\
 +<code>SELECT <Expression> FROM <Domain> WHERE Criteria</code>
 +<code>
 +DbLookup("", "MAX(doc_docno)", "dm_document", "") - Liefert die größte Dokumentnummer
 +DbLookup("", "sett_value", "dm_setting", "sett_key='bom.autosorted'" - Liefert den Einstellungswert des Konfigurationsparameters [bom.autosorted]
 +</code>
 +
 +=== Application.Sleep(Milliseconds) ===
 +Hält die Ausführung der Anwendung an, bis das Timeout-Intervall abgelaufen ist. 
 +
 +
 ==== Clipboard - Objekt ==== ==== Clipboard - Objekt ====
 Globales Objekt mit Funktionen zur Zwischenablage. Globales Objekt mit Funktionen zur Zwischenablage.
-=== Clear ===+=== Clipboard.Clear ===
 Leert die Zwischenablage Leert die Zwischenablage
-=== Copy(Text) ===+\\ 
 +=== Clipboard.Copy(Text) ===
 Kopiert den Text in die Zwischenablage Kopiert den Text in die Zwischenablage
-=== Paste ===+\\ 
 +=== Clipboard.Paste ===
 Gibt den aktuellen Text in der Zwischenablage zurück. Gibt den aktuellen Text in der Zwischenablage zurück.
 <code VBScript>Text = Clipboard.Paste()</code> <code VBScript>Text = Clipboard.Paste()</code>
 +\\
 \\ \\
 \\ \\
Zeile 342: Zeile 423:
 |source| Eigenschaften des Quell Dokuments. | |source| Eigenschaften des Quell Dokuments. |
 |target| Eigenschaften des Ziel Dokuments. | |target| Eigenschaften des Ziel Dokuments. |
-|dictionary| Eiegnschafen des Dokumenttyps. |+|dictionary| Eigenschafen des Dokumenttyps. |
  
 ==== Container-Ereignisse ==== ==== Container-Ereignisse ====
Zeile 562: Zeile 643:
 |kBefore|Zeitpunkt wann die Aktion ausgeführt werden soll(Hier unrelevant)| |kBefore|Zeitpunkt wann die Aktion ausgeführt werden soll(Hier unrelevant)|
 |dictionary|Übergibt das Dictionary Objekt| |dictionary|Übergibt das Dictionary Objekt|
-Rückgabe true oder 1: Das Dictionary enthält Eigenschaften, die in den Dialog zu übernehmen sind.+**Rückgabe:** true oder 1 :Das Dictionary enthält Eigenschaften, die in den Dialog zu übernehmen sind.
 \\ \\ \\ \\
  
Zeile 570: Zeile 651:
 |kBefore|Zeitpunkt wann die Aktion ausgeführt werden soll(Hier unrelevant)| |kBefore|Zeitpunkt wann die Aktion ausgeführt werden soll(Hier unrelevant)|
 |dictionary|Übergibt das Dictionary Objekt| |dictionary|Übergibt das Dictionary Objekt|
 +**Rückgabe:** 1 := Das Dictionary enthält Eigenschaften, die in den Dialog zu übernehmen sind.
 +
 Sobald OnValidate aufgerufen wurde, wird der OnBrowse nicht mehr aufgerufen. Sobald OnValidate aufgerufen wurde, wird der OnBrowse nicht mehr aufgerufen.
-Rückgabe 1: Das Dictionary enthält Eigenschaften, die in den Dialog zu übernehmen sind. 
 \\ \\ \\ \\
  
Zeile 580: Zeile 662:
 |val | Dazugehöriger Wert zur Eigenschaft. | |val | Dazugehöriger Wert zur Eigenschaft. |
 |dictionary | Übergibt das Dictionary Objekt | |dictionary | Übergibt das Dictionary Objekt |
-Rückgabe 1: Das Dictionary enthält Eigenschaften, die in den Dialog zu übernehmen sind.+**Rückgabe:**  :=  Das Dictionary enthält Eigenschaften, die in den Dialog zu übernehmen sind.
 \\ \\ \\ \\ \\ \\
  
Zeile 594: Zeile 676:
 |kBefore|Zeitpunkt wann die Aktion ausgeführt werden soll(Hier unrelevant)| |kBefore|Zeitpunkt wann die Aktion ausgeführt werden soll(Hier unrelevant)|
 |dictionary|Übergibt das Dictionary Objekt| |dictionary|Übergibt das Dictionary Objekt|
-Rückgabe true oder 1: Das Dictionary enthält Eigenschaften, die in den Dialog zu übernehmen sind.+**Rückgabe:** true oder 1 :Das Dictionary enthält Eigenschaften, die in den Dialog zu übernehmen sind.
 \\ \\ \\ \\
  
Zeile 602: Zeile 684:
 |kBefore|Zeitpunkt wann die Aktion ausgeführt werden soll(Hier unrelevant)| |kBefore|Zeitpunkt wann die Aktion ausgeführt werden soll(Hier unrelevant)|
 |dictionary|Übergibt das Dictionary Objekt| |dictionary|Übergibt das Dictionary Objekt|
 +**Rückgabe:** 1 := Das Dictionary enthält Eigenschaften, die in den Dialog zu übernehmen sind.
 +
 Sobald ein OnValidate aufgerufen wurde, wird der OnBrowse nicht mehr aufgerufen. Sobald ein OnValidate aufgerufen wurde, wird der OnBrowse nicht mehr aufgerufen.
-Rückgabe 1: Das Dictionary enthält Eigenschaften, die in den Dialog zu übernehmen sind. 
 \\ \\ \\ \\ \\ \\