Autor Thema: Agenten auf eine Ansicht anwenden  (Gelesen 2386 mal)

Offline jens1979

  • Aktives Mitglied
  • ***
  • Beiträge: 115
  • Geschlecht: Männlich
Agenten auf eine Ansicht anwenden
« am: 22.03.04 - 11:21:15 »
Hallo mal wieder,

ich hatte vor einigen Monaten mal eine Frage gestellt, in der es sich darum handelte beim Erstellen eines Dokuments ein Feld mit Hilfe einer Prüfziffernkontrolle zu überprüfen.
Das klappt auch wunderbar.
Nun würde ich gern die alten Einträge (welche vor der Kontrolle eingepflegt wurden) überprüfen. Ich habe also eine Maske die nach dem zu überprüfenden Feld sortiert ist und möchte einen Agenten darauf ansetzen. Wie mache ich jetzt meinem Agenten klar das er jedes Dok nacheinander öffnet das Feld ausliest, überprüft und ggf. eine Meldung "Konrtolle nicht bestanden" bringt?

Jens

Offline Don Pasquale

  • Freund des Hauses!
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 1.390
  • Geschlecht: Männlich
  • Don Pasquale
    • Auf Verlorenem Posten
Re:Agenten auf eine Ansicht anwenden
« Antwort #1 am: 22.03.04 - 11:24:03 »
Du programmierst eine Schleife, welche mittels
einer Collection alle Dokumente durchläuft.


Set doc = view.GetFirstDocument
While Not doc Is Nothing
    ' # .... dein Code
    Set doc = view.GetNextDocument(doc)
Wend


Weisst Du wie es weitergehen könnnte ?

Ciao
Don Pasquale
« Letzte Änderung: 22.03.04 - 15:36:14 von Don Pasquale »

Offline jens1979

  • Aktives Mitglied
  • ***
  • Beiträge: 115
  • Geschlecht: Männlich
Re:Agenten auf eine Ansicht anwenden
« Antwort #2 am: 22.03.04 - 11:28:32 »
Ich glaub schon das ich's verstanden habe.
Ich check das gleich mal nach dem Mittag ab und meld mich dann nochmal.

Danke erstmal


Jens

Offline jens1979

  • Aktives Mitglied
  • ***
  • Beiträge: 115
  • Geschlecht: Männlich
Re:Agenten auf eine Ansicht anwenden
« Antwort #3 am: 22.03.04 - 12:04:18 »
Ein kleines Problem hab ich noch.

Bis jetzt habe ich das Feld das ich überprüfen wollte ja direkt aus der Mase ausgelesen

kontonr = Cstr(doc1.tKontonummer(0) )

jetzt muss ich ja die 1. Spalte meiner Ansicht auslesen, wenn ich das richtig verstanden habe.

Wie geht dem?

Jens

Offline koehlerbv

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 20.460
  • Geschlecht: Männlich
Re:Agenten auf eine Ansicht anwenden
« Antwort #4 am: 22.03.04 - 12:06:10 »
Wieso ? Don Pasquale hat Dir doch schon das erste Doc instantiiert:
Code
Set doc = view.GetNextDocument(doc)

Da hast Du doch Dein Backend-Doc wie gewohnt vor Dir liegen ...

Bernhard

Offline Semeaphoros

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 8.152
  • Geschlecht: Männlich
  • ho semeaphoros - agr.: der Notesträger
    • LIGONET GmbH
Re:Agenten auf eine Ansicht anwenden
« Antwort #5 am: 22.03.04 - 12:06:38 »
Wieso denn das? So wie Don Pasuale Dir das vorbereitet hast, bekommst Du ein Dokument nach dem anderen in der Variablen Doc geliefert.
Jens-B. Augustiny

Beratung und Unterstützung für Notes und Domino Infrastruktur und Anwendungen

Homepage: http://www.ligonet.ch

IBM Certified Advanced Application Developer - Lotus Notes and Domino 7 und 6
IBM Certified Advanced System Administrator - Lotus Notes and Domino 7 und 6

Offline jens1979

  • Aktives Mitglied
  • ***
  • Beiträge: 115
  • Geschlecht: Männlich
Re:Agenten auf eine Ansicht anwenden
« Antwort #6 am: 22.03.04 - 12:36:06 »
Okay ... das dumme ist nur egal wie ich es Anstelle er schreibt mir nix in meine Workspace (ws).

Ich verstehe es nicht mehr.
Ich werd gleich mal den Script für die Überprüfung posten, vileicht seht ihr ja dann mein Problem.

Jens

Offline jens1979

  • Aktives Mitglied
  • ***
  • Beiträge: 115
  • Geschlecht: Männlich
Re:Agenten auf eine Ansicht anwenden
« Antwort #7 am: 22.03.04 - 12:40:17 »
Also hier das Script:

'# Allgemeine Variablendeklirationen
   
   Dim ws As New NotesUIWorkspace
   Dim uidoc As NotesUIDocument
   Dim session As New NotesSession
   Dim db As NotesDatabase
   Dim view As NotesView
   Dim doc As NotesDocument
   
'# Pruefziffernkontrolle Variablendeklirationen
   
   Dim kontonr As String
   Dim laenge As Integer
   Dim zahl As Integer
   Dim i As Integer
   Dim summe As Integer
   Dim modulo_erg As Integer
   Dim pruefziffer As Integer
   Dim letzte As Integer
   Set uidoc=ws.currentdocument
   
'# Beginn Pruefziffernkontrolle
   
   Set ws = New NotesUIWorkspace
   Set uidoc = ws.CurrentDocument
   Set doc = uidoc.Document
   
   kontonr = Cstr( doc.tKontonummer(0)    )
   If Len(kontonr) > 7 Then
      kontonr = Right$(kontonr, 7)
   End If
   laenge = Len( kontonr )
   summe = 0
   For i = 2 To laenge
      zahl = Cint( Mid( kontonr, laenge - i + 1, 1 ) )
      summe = summe + zahl * i
   Next
   
   modulo_erg = summe Mod 11
   
   If modulo_erg <= 1 Then
      pruefziffer = 0
   Else
      pruefziffer = 11 - modulo_erg
   End If
   
   letzte = Cint( Mid( kontonr, laenge ,1 ))
   
   If letzte = pruefziffer Then
      Messagebox "Prüfziffernkontrolle erfolgreich abgeschlossen"
   Else
      Messagebox "Prüfziffernkontrolle nicht bestanden"
   End If   
   
'# Ende Pruefziffernkontrolle   

Offline Semeaphoros

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 8.152
  • Geschlecht: Männlich
  • ho semeaphoros - agr.: der Notesträger
    • LIGONET GmbH
Re:Agenten auf eine Ansicht anwenden
« Antwort #8 am: 22.03.04 - 12:47:13 »
Studiere mal den Code ganz genau, den Dir Don da geliefert hat und  überlege mal, was dabei passiert.


Dann überlege mal, was dieser Code von Dir hier macht:

   Set ws = New NotesUIWorkspace
   Set uidoc = ws.CurrentDocument
   Set doc = uidoc.Document

Das macht nur Sinn, wenn Du ein geöffnetes Dokument vor der Nase hast, nicht wenn Du einen View in der Anzeige hast.
Jens-B. Augustiny

Beratung und Unterstützung für Notes und Domino Infrastruktur und Anwendungen

Homepage: http://www.ligonet.ch

IBM Certified Advanced Application Developer - Lotus Notes and Domino 7 und 6
IBM Certified Advanced System Administrator - Lotus Notes and Domino 7 und 6

Offline jens1979

  • Aktives Mitglied
  • ***
  • Beiträge: 115
  • Geschlecht: Männlich
Re:Agenten auf eine Ansicht anwenden
« Antwort #9 am: 22.03.04 - 13:07:22 »
okay ... es ist doch so das nachdenken was bringt  ;)

Don's Code schreibt also immer das komplette Dokument in die doc Variable ... aha ...

Ich habs jetzt hinbekommen ... muss ja meine Kontonummer nur aus dieser doc auslesen.

Danke für den Denkanstoß.
Und natürlich auch allen anderen für die Hilfe.

Jens

Offline Semeaphoros

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 8.152
  • Geschlecht: Männlich
  • ho semeaphoros - agr.: der Notesträger
    • LIGONET GmbH
Re:Agenten auf eine Ansicht anwenden
« Antwort #10 am: 22.03.04 - 13:13:18 »
Jo, das ist so, Denkanstoss von J an J gerne erfolgt.

Dafür darfst Du dann den Thread noch auf erledigt stellen, erleichtert die Uebersicht :)
Jens-B. Augustiny

Beratung und Unterstützung für Notes und Domino Infrastruktur und Anwendungen

Homepage: http://www.ligonet.ch

IBM Certified Advanced Application Developer - Lotus Notes and Domino 7 und 6
IBM Certified Advanced System Administrator - Lotus Notes and Domino 7 und 6

 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz