Domino 9 und frühere Versionen > ND6: Entwicklung
Agent Cacheproblem
ata:
... Profildokumente scheiden aus, da die Collection mit Unprocessed gezogen wird. Daher denke ich auch, daß in dem Agent Dinge passieren, die irgendwas anstellen...
Toni
Andrew Harder:
Ändere doch bitte einmal die Abfrage
--- Code: ---If doc.PB_info(0)<>"" Or doc.MBV_link<>"" Then
--- Ende Code ---
in
--- Code: ---Dim sPB_info as string
Dim sMBV_link as string
...
sPB_info = doc.GetFirstItem( "PB_info" ).text
sMBV_link = doc.GetFirstItem( "MBV_link" ).text
If not ( len( sPB_info ) = 0 or len( sMBV_link ) = 0 ) then
--- Ende Code ---
Vorteil: Du siehst im Debugger gleich den Textinhalt der Felder.
Ansonsten zusätzlich zu Martins Post: Was passiert alles, bevor Du Dir das nächste Dokument holst (Codezeilen).
Bert:
Hallo,
erst einmal Danke für die ganzen Hinweise,
ich werde diese gleich in meinen Agenten einbauen.
Hier erst einmal ein Auszug aus dem Agenten:
Dim dc As NotesDocumentCollection
Dim doc As NotesDocument
Dim ses As New notessession
Dim db As notesdatabase
Dim col As notesdocumentcollection
Set db = ses.currentdatabase
Set col = db.unprocesseddocuments
Set doc = col.getfirstdocument
Dim Feld(4) As String
Dim Feldinfo(4) As String
Dim test(10) As Variant
Dim ausdruck (14) As Variant
Dim item As notesrichtextitem
Dim rtitem As Variant
On Error Resume Next
a=""
f=0
'RTFeldgrösse berechenen
Feld(0)="SachLL" 'RTFELDER
Feld(1)="PCode"
Feld(2)="PGTest"
Feld(3)="L_Ver_PIInst"
Feld(4)="L_Ver_PIInfo"
' sub zur Berechnung der Feldgrösse !
' Rückgabe String wenn Feldgröße erreicht (Dokumentationsmenge)
For r=0 To 4
FG= feldgrösse(Feld(r))
If FG<>"" Then FG=Feldinfo(r)+Chr$(10)
fehler=fehler+FG
Next
If fehler<>"" Then
ausgabe=Chr$(10)+"Bei folgenden 'Dokumentationsreitern' wurde nicht die geforderte
Dokumentationsmenge angegeben:"+Chr$(10)+Fehler+_
"Bitte mehr dokumentieren!"+Chr$(10)+Chr$(10)+Chr$(10)
f=f+1
End If
'______________________
test(1)=doc.PRGNAME(0)
test(2)=doc.Aktenführer(0)
test(3)=doc.verantwMA(0)
test(4)=doc.PRGKategorie(0)
test(5)=doc.PRGKlasse(0)
test(6)=doc.Lizenzart(0)
If Cstr(doc.PQ_info(0))<>"" Or Cstr(doc.MAQ_link(0))<>"" Then
test(7)="OK"
End If
If Cstr(doc.PQ_info(0))<>"" Or Cstr(doc.MAK_link(0))<>"" Then
test(8)="OK"
End If
If Cstr(doc.PB_info(0))<>"" Or Cstr(doc.MBV_link(0))<>"" Then
test(9)="OK"
End If
If Cstr(doc.P_info(0))<>"" Or Cstr(doc.PPV_link(0))<>"" Then
test(10)="OK"
End If
ausdruck(1) ="Fehlerhinweise..."
ausdruck(2) ="Fehlerhinweise..."
ausdruck(3) ="Fehlerhinweise..."
......
For x = 1 To 10
If Trim(test(x))="" Then
f=f+1
ausgabe = ausgabe + ausdruck(x)+Chr$(10)
End If
Next
If f>0 Then
If F=1 And Fehler<>"" Then
meldung="Es wurde " + Str(f) + " Fehler beim Check gefunden ! - Freigabe möglich "+_
Chr$(10)+"Bitte prüfen Sie den entsprechenden Inhalt !"+Chr$(10)+_
Chr$(10)+ausgabe
Messagebox meldung ,"16", "Ergebnis des Checks"
Else
meldung="Es wurden " + Str(f) + " Fehler beim Ceck gefunden ! - Eine Freigabe "+_
"nicht möglich. " + Chr$(10)+Chr$(10)+ausgabe
Messagebox meldung ,"16", "Ergebnis des Checks:"
Exit Sub
End If
End If
Ich denke mir, wenn der Fehler in dem Agenten selbst liegt, kann es nur in der Dokumentenauswahl liegen, oder?
Gruß
Bert
Bert:
Hallo Driri,
es haldelt sich nin der Tat um die Version 6.5.5. Ist dort ein BUG im System.
Wird dieses erst mit der 7er Version beseitigt. Wäre echt schlecht, da unser ganzes Haus mit
Ver 6. arbeitet.
Hallo m3,
also:
- der Agent läuft durch - auch mit Debugger kein (erkennbarer) Fehler
- Agent läuft für ausgewählte Dokumente
- mit einer Replik kann es nicht zu tun haben, da ich die DB schon von sämtlichen Repliken
entkoppelt habe (vollkommen separate DB)
- Mit dem Agent will ich keine Dokumente ändern, sondern einfach nur deren Inhalte checken!
Die Bearbeitung soll dann im Dokument erfolgen.
Erst wenn der Check erfolgreich war, erfolgt eine Weiterarbeitung - Freigabe etc...-
Gruß
Bert
koehlerbv:
Wegen Recompile guckst Du Funktioniert mit 6.5.6 "Werkzeuge-Lotus Sript vollständig neu kompilieren" ?
Bernhard
Navigation
[0] Themen-Index
[#] Nächste Seite
[*] Vorherige Sete
Zur normalen Ansicht wechseln