Autor Thema: Problem mit collection.PutAllInFolder  (Gelesen 2972 mal)

Offline Alexis

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 534
  • Geschlecht: Männlich
  • LotusNotes macht süchtig!
Problem mit collection.PutAllInFolder
« am: 11.01.05 - 11:30:16 »
Hallo Forum,

was kann hier falsch sein:

Sub Click(Source As Button)
   Dim session As New NotesSession
   Dim workspace As New NotesUIWorkspace
   Dim db As NotesDatabase
   Dim collection As NotesDocumentCollection
   Dim doc As NotesDocument
   Dim uidoc As NotesUIDocument
   Dim docCurrent As NotesDocument
   Dim rtitem As NotesRichTextItem
   Dim Mailserver As String   
   Dim Mailbox As String
   Dim Mailview As String
   Dim ID As String
*
*
*
   Set db=session.CurrentDatabase
   Set uidoc = workspace.currentdocument
   ID=uidoc.FieldGetText("ID_Owner")
   Mailserver="MAIL.COM/SRV/CCN"
   Mailbox="MAIL\ALL" & ID & ".NSF"
   Mailview="All by Date"
   
   Set collection = workspace.PickListCollection(1, True, Mailserver,Mailbox,Mailview,"Mail Selection","Please select a document.")
   Call collection.PutAllInFolder( "MailFolder",True)
End Sub

Die Collection ist nicht leer, dennoch wird nichts in den Folder gepackt.  ???

Alexis
« Letzte Änderung: 11.01.05 - 16:38:55 von Alexis »
wenn ich kein Problem hätte, wär' ich nicht hier ---
wenn ich im Forum eine Lösung gefunden hätte, wär' ich nicht hier ---
wenn ich nicht wüsste, dass mir hier fast immer geholfen wird, wär' ich AUCH nicht hier ---

Offline Axel

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 8.658
  • Geschlecht: Männlich
  • It's not a bug, it's Notes
Re: Problem mit collection.PutAllInFolder
« Antwort #1 am: 11.01.05 - 11:38:38 »
Hi,

existiert der Ordner? Ist es evt. ein privater Ordner?

Mir ist so im Hinterkopf, dass es Probleme mit dieser Methode gab, wenn der Ordner nicht vorhanden war.


Axel
Ohne Computer wären wir noch lange nicht hinterm Mond!

Offline Alexis

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 534
  • Geschlecht: Männlich
  • LotusNotes macht süchtig!
Re: Problem mit collection.PutAllInFolder
« Antwort #2 am: 11.01.05 - 11:43:51 »
Hallo Axel,

der Ordner wird offensichtlich in der Mail-Datenbank angelegt und dort werden auch die Mails abgelegt! Der Ordner existiert in der Zieldatenbank und ist nicht privat.

Ich verstehe nur noch Bahnhof.

Alexis
« Letzte Änderung: 11.01.05 - 11:58:12 von Alexis »
wenn ich kein Problem hätte, wär' ich nicht hier ---
wenn ich im Forum eine Lösung gefunden hätte, wär' ich nicht hier ---
wenn ich nicht wüsste, dass mir hier fast immer geholfen wird, wär' ich AUCH nicht hier ---

Offline Axel

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 8.658
  • Geschlecht: Männlich
  • It's not a bug, it's Notes
Re: Problem mit collection.PutAllInFolder
« Antwort #3 am: 11.01.05 - 11:59:34 »
Hi,

so richtig hast du meine Fragen nicht beantwortet.

Ist der Ordner bereits vorhanden?

Ist ein gemeinsamer Ordner oder ein privater?


Axel
Ohne Computer wären wir noch lange nicht hinterm Mond!

Offline Alexis

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 534
  • Geschlecht: Männlich
  • LotusNotes macht süchtig!
Re: Problem mit collection.PutAllInFolder
« Antwort #4 am: 11.01.05 - 12:06:04 »
Hallo Axel,

der Ordner existiert in der Datenbank aus der ich die Aktion ausführe.
Der Ordner ein gemeinsamer.

Der Code legt jedoch in meiner Mailbox (!!!) ebenfalls den entsprechenden Ordner an!

Das verstehe ich nicht.

Alexis



wenn ich kein Problem hätte, wär' ich nicht hier ---
wenn ich im Forum eine Lösung gefunden hätte, wär' ich nicht hier ---
wenn ich nicht wüsste, dass mir hier fast immer geholfen wird, wär' ich AUCH nicht hier ---

Offline Axel

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 8.658
  • Geschlecht: Männlich
  • It's not a bug, it's Notes
Re: Problem mit collection.PutAllInFolder
« Antwort #5 am: 11.01.05 - 12:29:46 »
Hi,

hmm..., dann sollte das aber eigentlich funktionieren. Ist das evt. ein Refresh-Problem? Hast du die Ordner - Ansicht mal aktualisiert.

Sonst fällt mir dazu im Moment aber auch nichts mehr ein.

Axel
Ohne Computer wären wir noch lange nicht hinterm Mond!

Offline Alexis

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 534
  • Geschlecht: Männlich
  • LotusNotes macht süchtig!
Re: Problem mit collection.PutAllInFolder
« Antwort #6 am: 11.01.05 - 14:00:31 »
Hallo Axel,

es ist definitiv so, dass die ausgewählten Mails in der Mail-Datenbank (!!!) abgelegt werden. Der Folder in der Zieldatenbank ist und bleibt leer!

Ich werde dieses einmal mit einer anderen als Maildatenbank ausprobieren.

Alexis

wenn ich kein Problem hätte, wär' ich nicht hier ---
wenn ich im Forum eine Lösung gefunden hätte, wär' ich nicht hier ---
wenn ich nicht wüsste, dass mir hier fast immer geholfen wird, wär' ich AUCH nicht hier ---

Offline koehlerbv

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 20.460
  • Geschlecht: Männlich
Re: Problem mit collection.PutAllInFolder
« Antwort #7 am: 11.01.05 - 14:13:37 »
Das ist aber auch vollkommen logisch - Du kannst Dokumente nicht in einen Ordner einer ganz anderen Datenbank schieben, das geht nur innerhalb einer DB.

Bernhard

Offline Alexis

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 534
  • Geschlecht: Männlich
  • LotusNotes macht süchtig!
Re: Problem mit collection.PutAllInFolder
« Antwort #8 am: 11.01.05 - 14:27:35 »
Hallo Berhard,

wieso sollte das so undenkbar sein?

Per Copy & Paste kannst du doch auch jedes Dokument von einer DB in eine andere DB kopieren. Wo das Sinn macht ist eine andere Frage. Wenn die entsprechende Maske auch in der 2. DB vorhanden ist, klappt das völlig problemlos.

Hier meine praktische Anwendung: Im Service werden alle Vorgänge in einer Datenbank protokolliert. Zugehörige Mails sollten möglichst elegant mit eingebunden werden, so dass der Vorgang komplett ist. Was ist leichter, als die Mailschablone zu kopieren, auf die wesentlichen Felder zusammenzustreichen und die Mails - per,  nun hier sollte die Funktion greifen - zu importieren.

Schade dass es so nicht klappt.  :'(

Alexis
wenn ich kein Problem hätte, wär' ich nicht hier ---
wenn ich im Forum eine Lösung gefunden hätte, wär' ich nicht hier ---
wenn ich nicht wüsste, dass mir hier fast immer geholfen wird, wär' ich AUCH nicht hier ---

Offline Semeaphoros

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 8.152
  • Geschlecht: Männlich
  • ho semeaphoros - agr.: der Notesträger
    • LIGONET GmbH
Re: Problem mit collection.PutAllInFolder
« Antwort #9 am: 11.01.05 - 14:29:59 »
Alexis: Ein Folder ist nur eine Sammlung von Referenzen auf Dokumente in DERSELBEN Datenbank (per Definition ! ). Damit das in einer anderen DB sichtbar wird, müssen die Dokumente physisch kopiert werden.
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 Alexis

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 534
  • Geschlecht: Männlich
  • LotusNotes macht süchtig!
Re: Problem mit collection.PutAllInFolder
« Antwort #10 am: 11.01.05 - 14:46:55 »
@Semeaphoros,

das hätte mir eigentlich bekannt sein müssen, hab ich doch früher einmal mit hunderten von Foldern gearbeitet.

PutAllInFolder klappt übrigens genauso mit einer View!?

Für mich heisst das dann wohl alle Infos aus der Collection herausziehen und in neue Dokumente übertragen.

Alexis
wenn ich kein Problem hätte, wär' ich nicht hier ---
wenn ich im Forum eine Lösung gefunden hätte, wär' ich nicht hier ---
wenn ich nicht wüsste, dass mir hier fast immer geholfen wird, wär' ich AUCH nicht hier ---

Offline Semeaphoros

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 8.152
  • Geschlecht: Männlich
  • ho semeaphoros - agr.: der Notesträger
    • LIGONET GmbH
Re: Problem mit collection.PutAllInFolder
« Antwort #11 am: 11.01.05 - 14:48:52 »
PutInFolder klappt nicht im Vieh-Stall. Die Auswahl der angezeigten Dokumente werden dort per Selection-Formula erstellt. Genau das ist der Unterschied zwischen Vieh und Folder: Vieh hat eine Selection - Formel, Folder ist eine freie Liste
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 Axel

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 8.658
  • Geschlecht: Männlich
  • It's not a bug, it's Notes
Re: Problem mit collection.PutAllInFolder
« Antwort #12 am: 11.01.05 - 14:50:48 »
Ups, da hab ich doch glatt überlesen, dass es sich um verschiedene DBs handelt.

Dann geht's so natürlich nicht.


Axel
 
Ohne Computer wären wir noch lange nicht hinterm Mond!

Offline Alexis

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 534
  • Geschlecht: Männlich
  • LotusNotes macht süchtig!
Re: Problem mit collection.PutAllInFolder
« Antwort #13 am: 11.01.05 - 16:38:40 »
Hallo Forum,

es hat etwas gedauert, aber nun steht die gewünschte Lösung. Aus der PickListCollection lassen sich ja die einzelnen Dokumente adressieren und damit in die Zieldatenbank kopieren.

Hier der Code:

Sub Click(Source As Button)
'   Function to select mail(s) from own mailbox, copy them to database, open View to set doclinks in case report
   Dim session As New NotesSession
   Dim workspace As New NotesUIWorkspace
   Dim db As NotesDatabase
   Dim uidb As NotesUIDatabase
   Dim collection As NotesDocumentCollection
   Dim copydoc As NotesDocument
   Dim uidoc As NotesUIDocument
   Dim doc As NotesDocument
   Dim item As NotesItem
   Dim Mailserver As String   
   Dim Mailbox As String
   Dim Mailview As String
   Dim ID As String
   Dim n As Integer
   
   Set db = session.CurrentDatabase
   Set uidoc = workspace.currentdocument
   Set uidb = workspace.CurrentDatabase
   
   ID=uidoc.FieldGetText("ID_Owner")
   Mailserver="MAIL.COM/SRV/CCN"
   Mailbox="MAIL" & ID & ".NSF"
   Mailview="All by Date"
   Set collection = workspace.PickListCollection(1, True, Mailserver,Mailbox,Mailview,"Mail Selection","Select relevant mails.")
   Set doc = collection.GetFirstDocument
   If collection.Count = 0 Then Goto label1
   While Not ( doc Is Nothing )
      Set copydoc = doc.CopyToDatabase( db )
      Set doc = collection.GetNextDocument (doc)
   Wend
   Call uidb.OpenView("Mailview")
label1:
End Sub
« Letzte Änderung: 11.01.05 - 16:40:46 von Alexis »
wenn ich kein Problem hätte, wär' ich nicht hier ---
wenn ich im Forum eine Lösung gefunden hätte, wär' ich nicht hier ---
wenn ich nicht wüsste, dass mir hier fast immer geholfen wird, wär' ich AUCH nicht hier ---

 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz