Habe mir auch schon Messageboxen ausgeben lassen, bzw. ins Log schreiben lassen (Schrittmeldungen). Fehlermeldungen seitens des Logfiles habe ich aber nicht entnehmen können (bis auf die von mir eingetragenen Meldungen natürlich).
Anbei erstmal ein Auszug aus dem Sourcecode:
:
:
If Numtype = "3" Then
If doc.fdknumsearch(0) = "2" Then
Num = Getlfdnumber(doc, Idoc.fdestablishment(0))
Else
Num = GetNumber(doc, Idoc.fdestablishment(0))
End If
If num <> "" Then
buff = Getdetail(doc,1) + Num + Getdetail(doc,2)
' dbsearch auf Nummer
SearchFormula$ = "DocType ="""+idoc.DocType(0)+""" & fdbilno=""" + buff + """"
Set col = db.Search(SearchFormula$,Nothing,0)
' Wenn Nummer vorhanden, dann Fehler
If col.Count>0 Then
Goto nEnde
End If
Call Idoc.ReplaceItemValue(FieldToSet,buff)
Idoc.fdNoflag = "1"
Call Idoc.save(True, True)
Else
Goto nEnde
End If
End If
:
:
- idoc ist das Dokument, in dem die Nummer gesetzt werden soll.
- FieldToSet enthält den Feldnamen des zu setzenden Feldes.
- NumType und fdknumsearch sind nur für den Aufbau wichtig.
Setzte ich bei den Zeilen
Call Idoc.ReplaceItemValue(FieldToSet,buff)
Idoc.fdNoflag = "1"
Call Idoc.save(True, True)
jeweils Schrittmeldungen ein, werden diese ausgegeben (oder geloggt). Das Script läuft also ohne Fehler durch (kein 'On Error Resume Next').
Bin mittlerweile ziemlich ratlos