Das Notes Forum

Domino 9 und frühere Versionen => Entwicklung => Thema gestartet von: shizen am 18.11.03 - 14:37:55

Titel: Dok in Ordner
Beitrag von: shizen am 18.11.03 - 14:37:55
Hallöchen

ich versuche über einen Agenten auf Dokumente in einem Ordner zuzugreifen, leider nimmt er entweder alle Doks aus der Datenbank oder nur eins aus dem Ordner  :-\
kann ich mit db.search nur auf Dok zu greifen die in dem Ordner sind?
wie kann ich diese Dok selektieren, gibts da irgend ne eigenschaft osä?

Grüße
Titel: Re:Dok in Ordner
Beitrag von: Don Pasquale am 18.11.03 - 14:39:49
Poste doch mal den Code, dann ist es leichter zu helfen.
Und schreib was genau Du machen willst.
Ciao
Don Pasquale
Titel: Re:Dok in Ordner
Beitrag von: shizen am 18.11.03 - 16:44:06
Er soll alle Dokumente im Ordner bearbeiten.

Sub Initialize
   Dim NotesColl As NotesDocumentCollection
   Dim session As New NotesSession
   Dim mailbox As New NotesDatabase("","")
   Dim current As NotesDatabase
   Dim maildoc As NotesDocument
   Dim rtitem As NotesRichTextItem
   Dim bodyrtitem As NotesRichTextItem
   Dim dummy As Variant
   Dim i As Integer
   Dim doc As NotesDocument
   Dim sendto As String
   Dim sendas As String
   Dim subject As String
   
   Set NotesColl=session.CurrentDatabase.UnprocessedDocuments

        ^--  Hier sollte er die Dokumente aus dem Ordner nehmen --<
   
   If NotesColl.count>0 Then
      Set doc=notescoll.GetFirstDocument
      For i = 1 To NotesColl.count
         sendas="CN=Agent/O=lwb"
         sendto=doc.subject(0)
         subject=doc.From(0)
         Set bodyrtitem = doc.GetFirstItem("Body")
         ' get handle to mail.box on the users current mail server
         Set current = session.CurrentDatabase
         Call mailbox.Open( current.server, "mail.box" )
           ' Create a new document in the severs mail box
         Set maildoc = mailbox.CreateDocument
         maildoc.Form = "Memo"
         maildoc.From = sendas
         maildoc.SendFrom = sendas
         maildoc.SendTo = sendto
         maildoc.Recipients = sendto
         maildoc.Subject = subject
         Set rtitem = maildoc.CreateRichTextItem("Body")
         Call rtitem.AppendRTItem(bodyrtitem)
         maildoc.PostedDate = Now()
         maildoc.ComposedDate = Now()
         maildoc.DeliveredDate = Now()
         maildoc.Principal = sendas
         maildoc.EncryptOnSend = False
         Call maildoc.Save( True, False )
         Call doc.PutInFolder("erledigt",False)
         Call doc.RemoveFromFolder("FAXNEU")
         Set doc=notescoll.GetNextDocument(doc)
      Next i
   End If
End Sub
Titel: Re:Dok in Ordner
Beitrag von: Driri am 18.11.03 - 17:27:11
Bilde die DocumentCollection mal über eine View (bzw. den Folder) und geh dann dort durch die einzelnen Docs durch.
Titel: Re:Dok in Ordner
Beitrag von: shizen am 18.11.03 - 18:25:03
Danke, gut Idee  ;D
und wie mach ich das???
Titel: Re:Dok in Ordner
Beitrag von: koehlerbv am 18.11.03 - 18:42:08
Ich würde auch nicht über eine Collection gehen, sondern die View oder den Folder direkt instantiieren.
Gibt NotesView (gilt auch für Folders) eine Chance und dann
NotesView.GetFirstDocument
While Not NotesDocument is Nothing ...

'Code

Set NotesDocument.GetNextDocument (NotesDocument)
Wend

eine Chance.

HTH,
Bernhard
Titel: Re:Dok in Ordner
Beitrag von: koehlerbv am 18.11.03 - 20:12:03
Nachtrag:

Code
Call doc.RemoveFromFolder("FAXNEU")
Set doc=notescoll.GetNextDocument(doc)

Wenn "FAXNEU" der Folder ist, dann ziehst Du mit meinem Lösungsvorschlag dem Script "den Teppich unter'n Füssen" weg.
Du machst ja ein RemoveFromFolder, ergo bezieht sich das NotesView.GetNextDocument (doc) auf ein NotesDocument, was wech ist.
Du musst also vor dem RemoveFromFolder bereits das GetNextDocument machen:

Set docTemp = doc
Set doc = NotesView.GetNexxDocument (doc)
Call docTemp.RemoveFromFolder ...

HTH,
Bernhard
Titel: Re:Dok in Ordner
Beitrag von: ata am 18.11.03 - 20:44:53
... ich will nicht pingelich sein, aber da ist noch ein kleiner Dreckpfhuler drin...

Set doc = NotesView.GetNextDocument (doc)

... in der Eile des Gefechtes...  ;)

ata  
Titel: Re:Dok in Ordner
Beitrag von: koehlerbv am 18.11.03 - 21:00:50
Merci, Anton !
Und ich erinnere mich hier sogar, dass da vorher noch was anderes stand (GetNetDocument) und ich dachte "Hoffentlich verwechselt er das jetzt nicht mit GetNthDocument". Dann habe ich den falschen Buchstaben gelöscht / hinzugefügt.
Doppelfehler heute: Einem Kollegen schickte ich 'ne Telefonnummer. Die war falsch. Also nochmal: Wieder falsch ... Wenn einmal der Wurm drin ist ;-)

Bernhard
Titel: Re:Dok in Ordner
Beitrag von: ata am 18.11.03 - 21:04:33
... in so einem Fall helfen nur ganz drastische Mittel - alles stehen und liegen lassen und ein Bier aufmachen... Prost...

ata  ;D ;D ;D
Titel: Re:Dok in Ordner
Beitrag von: koehlerbv am 18.11.03 - 21:09:52
Ich bin gerade beim dritten Wieninger Hell - und es wird immer weniger mit den orthographischen (mit Bezug auf
http://www.atnotes.de/index.php?board=12;action=display;threadid=12333 (http://www.atnotes.de/index.php?board=12;action=display;threadid=12333);-)
Fehlern ;-)

Ab dem zwölften wird es dann wohl wieder nachlassen ;-)))

Prosit !
Bernhard