Domino 9 und frühere Versionen > ND6: Entwicklung

Agent Cacheproblem

<< < (4/6) > >>

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