Domino 9 und frühere Versionen > Entwicklung
Fehler in Replace ?!
LordDestiny:
Hi,
ist es euch schon mal passiert, dass auf bestimmten Clients oder unter bestimmten Voraussetzungen ein ReplaceItemValue nicht funktioniert?
Ich nutze in mehreren DBs einen Agent für die Nummernvergabe, welcher bei Erfolg das jeweilige Nummernkonstrukt via ReplaceItemValue (da Feld in Konfiguration frei konfigurierbar) setzt ... bzw. setzen sollte.
Auf den Entwicklungs-Clients läuft alles wunderbar (R5.0.9 + R5.0.10, sowie R6). Auf manch anderen Clients taucht allerdings o.g. Phänomen auf.
Ich hoffe, ihr könnt mir helfen, da ich mir mittlerweile keinen Rat mehr weiss ???.
Gruss,
LD
Rob Green:
eine sehr genaue Fehlerbeschreibung ;D
Schon mal hier gesucht?
http://www-1.ibm.com/support/search.wss?q=replaceitemvalue&tc=SSKTWP&rs=475&apar=include
LordDestiny:
Ich schau' mir mal den Link an ... danke :)
Merkwürdig ist nur, dass ich keine Fehlermeldung bekomme, sondern schlicht und ergreifend das Feld nicht gesetzt wird. Auch in der Feldliste wird der Inhalt noch als leer zurückgegeben.
Rob Green:
und im Notes Log, was steht da?
Wenn nix, protokollier mal bitte, so daß Du Einträge ins Notes Log bekommst. Wie? Per Print oder Messagebox (jaaa, letztere geht auch im Backend LS)
LordDestiny:
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 ???
Navigation
[0] Themen-Index
[#] Nächste Seite
Zur normalen Ansicht wechseln