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
Letzte ÜberarbeitungBeide Seiten der Revision
speedy:30_modules:script [2023/09/19 14:55] – [Application - Objekt] speedyspeedy:30_modules:script [2023/12/12 16:04] – [document.*] speedy
Zeile 19: Zeile 19:
  
  
-==== Ereignisroutinen ====+===== Ereignisroutinen =====
 Die Ereignisroutinen haben, wenn nicht anders beschrieben, immer die gleichen Aufrufparameter.  Die Ereignisroutinen haben, wenn nicht anders beschrieben, immer die gleichen Aufrufparameter. 
 <code>Event_Function_Name(timing, handling, dictionary)</code>  <code>Event_Function_Name(timing, handling, dictionary)</code> 
Zeile 27: Zeile 27:
 | handling    | HandlingCodeEnum    | Rückgabewert, ob die Ereignisroutine das Ereignis behandelt hat und damit evtl. keine weitere Arbeit durch das System zu erfolgen hat. | | handling    | HandlingCodeEnum    | Rückgabewert, ob die Ereignisroutine das Ereignis behandelt hat und damit evtl. keine weitere Arbeit durch das System zu erfolgen hat. |
 | dictionary  | Dictionary - Object | Scripting.Dictionary aus der Scripting Runtime Library. Der Inhalt des Dictionaries kann variieren. | | dictionary  | Dictionary - Object | Scripting.Dictionary aus der Scripting Runtime Library. Der Inhalt des Dictionaries kann variieren. |
-\\ 
  
-=== Konstanten ===+==== Konstanten ====
  
 Der Parameter **timing** gibt an zu welcher Zeit das Ereignis ausgeführt wird. Der Parameter **timing** gibt an zu welcher Zeit das Ereignis ausgeführt wird.
Zeile 195: Zeile 194:
  
 In Multi-Vault-Umgebungen kann der Name des Vault angegeben werden, um die Datenbank des Vault zu verwenden. \\ 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. +Die Funktion liefert die Werte der in der Abfrage definierten Felder in einem Array zurück. \\ 
-<code>Call DbQuery(result, "", "SELECT lst_idx,lst_name,lst_desc FROM lng_lst WHERE lst_typ='PROJEKTSTATUS';"+Beispiel:  
 +<code> 
 +Call DbQuery(result, "", "SELECT lst_idx,lst_name,lst_desc FROM lng_lst WHERE lst_typ='PROJEKTSTATUS';"
  
 Ergebnis: Ergebnis:
Zeile 205: Zeile 206:
 4 4 "Im Bau" 4 4 "Im Bau"
 5 5 "Fertig" 5 5 "Fertig"
 +</code>
 +Beispiel: 
 +<code>
 +Dim sql, result
 +sql = "SELECT lst_name,lst_desc FROM lng_lst WHERE lst_typ='bomtype'"
 +result = Null
 +if Application.DbQuery(result, "", sql) = 0 And not IsNull(result) Then
 +   MsgBox result(0, 0)
 +   MsgBox result(0, 1)
 +end if
 </code> </code>
 \\ \\
Zeile 250: Zeile 261:
 Leert die Zwischenablage Leert die Zwischenablage
 \\ \\
 +
 === Clipboard.Copy(Text) === === Clipboard.Copy(Text) ===
 Kopiert den Text in die Zwischenablage Kopiert den Text in die Zwischenablage
 \\ \\
 +
 === Clipboard.Paste === === Clipboard.Paste ===
 Gibt den aktuellen Text in der Zwischenablage zurück. Gibt den aktuellen Text in der Zwischenablage zurück.
Zeile 258: Zeile 271:
 \\ \\
 \\ \\
-\\+
  
 ===== speedy.* ===== ===== speedy.* =====
Zeile 558: Zeile 571:
 <code>Function DocumentOperations_onCopyDocument(timing, handling, source, target, dictionary)</code> <code>Function DocumentOperations_onCopyDocument(timing, handling, source, target, dictionary)</code>
 ^ Eigenschaft ^ Beschreibung ^ ^ Eigenschaft ^ Beschreibung ^
-|"source"| Eigenschaften des Quell Dokuments. | +|source | Eigenschaften des Quell Dokuments. | 
-|"target"| Eigenschaften des Ziel Dokuments. | +|target | Eigenschaften des Ziel Dokuments. | 
-|dictionary | Eigenschafen des Dokuments. |+|dictionary | Allgemeine Eigenschaften und evtl. Rückgabewert. |
  
 +Es kann sowohl vor der Kopier-Operation als auch nach dem Kopieren reagiert werden (timing). \\
 +Wenn bei einem kopierten Dokument Daten geändert werden sollen (timing=kAfter) muss dies direkt auf der Datenbank erfolgen. 
 +Damit diese Änderung vom System erkannt wird müssen folgende Rückgaben erfolgen:
 +<code>
 +handling = kEventHandled
 +DocumentOperations_onCopyDocument = 0
 +dictionary.item("target.refresh") = True
 +</code>
 +
 +Das nachfolgende Beispiel ändert den "LAGERORT" in dem kopierten Dokument und vergibt eine neue Nummer. \\
 +In der Tabelle [dm_setting] muss zuvor ein Eintrag für "document.new.docno.zaehler" erstellt werden. 
 +<code>
 +Function DocumentOperations_onCopyDocument(timing, handling, source, target, dictionary)
 +    On Error Resume Next
 +    Dim docno
 +    Dim doctype
 +    Dim dtype_proptable
 +    Dim zaehler
 +    Dim sql
 +    
 +    if timing = kAfter then
 +        docno = target.item("dm_docno")
 +        doctype = target.item("dm_doctype")
 +        'MsgBox "DocumentOperations_onCopyDocument:=" & docno
 +        
 +        if DbLookup(dtype_proptable, "", "dtype_proptable", "dm_doctype", "dtype_name='" & doctype & "'") = 0 then
 +            if CStr(dtype_proptable) = "dm_prop_cad" then
 +                if DbLookup(zaehler, "", "sett_value", "dm_setting", "sett_key='document.new.docno.zaehler'") = 0 then
 +                    zaehler = CLng(zaehler) + 1
 +
 +                    sql = "UPDATE dm_setting SET sett_value ='" & Cstr(zaehler) & "' where sett_key ='document.new.docno.zaehler'"
 +                    'MsgBox sql
 +                    Call DbExecute("", sql) 
 +                    
 +                    sql = "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.LAGERORT='" & Cstr(zaehler) & "' " & _
 +                        "WHERE d.doc_docno='" & docno & "'"
 +                    'MsgBox sql
 +                    Call DbExecute("", sql)
 +                    
 +                    handling = kEventHandled
 +                    DocumentOperations_onCopyDocument = 0
 +                    dictionary.item("target.refresh") = True
 +                end if
 +            end if
 +        end if
 +    end if
 +End Function
 +</code>
 \\ \\
  
Zeile 753: Zeile 817:
 </code> </code>
  
 +<note important>Damit die Ereignis-Routine auch beim Drag&Drop aufgerufen wird muss der Konfigurationsparameter [session.export.hasfileexportevent] aktiviert sein. </note>
 \\ \\
  
Zeile 896: Zeile 961:
 Wird durch betätigen der Schaltfläche rechts neben der Dokumentnummer aufgerufen Wird durch betätigen der Schaltfläche rechts neben der Dokumentnummer aufgerufen
 ^Parameter^Beschreibung^ ^Parameter^Beschreibung^
-|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 906: Zeile 971:
     OnBrowse = True     OnBrowse = True
   ElseIf dictionary.Item("dlgmode") = "edit" Then   ElseIf dictionary.Item("dlgmode") = "edit" Then
-    ' z.B. Dictionary mit Eigenschaften befüllen, die im Eigenschafte-Dialog zu übernehmen sind+    ' z.B. Dictionary mit Eigenschaften befüllen, die im Eigenschaften-Dialog zu übernehmen sind
     OnBrowse = True     OnBrowse = True
   End If   End If
 End Function End Function
 </code> </code>
-\\ \\+\\ 
  
 === OnValidate(kBefore, dictionary) === === OnValidate(kBefore, dictionary) ===
 Wird beim Bestätigen des Neu-Dialogs vor dem Erstellen eines neuen Dokuments aufgerufen Wird beim Bestätigen des Neu-Dialogs vor dem Erstellen eines neuen Dokuments aufgerufen
 ^Parameter^Beschreibung^ ^Parameter^Beschreibung^
-|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. **Rückgabe:** 1 := Das Dictionary enthält Eigenschaften, die in den Dialog zu übernehmen sind.
Zeile 930: Zeile 995:
 |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:** 1  :=  Das Dictionary enthält Eigenschaften, die in den Dialog zu übernehmen sind.
-\\ \\ \\+\\ \\ 
 + 
 +=== OnPopulateNew(kBefore, dictionary) === 
 +Wird beim Öffnen des Neu-Dialogs vor dem Erstellen eines neuen Dokuments aufgerufen 
 +^Parameter^Beschreibung^ 
 +|kBefore | Zeitpunkt wann die Aktion ausgeführt wird (hier unrelevant) | 
 +|dictionary | Übergibt das Dictionary Objekt | 
 +**Rückgabe:** 1 := Das Dictionary enthält Eigenschaften, die in den Dialog zu übernehmen sind. 
 + 
 +\\ \\
  
 ===== container.* ===== ===== container.* =====