Autor Thema: CopyToDatabase Methode  (Gelesen 2818 mal)

Offline ra.t

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 537
  • Geschlecht: Männlich
CopyToDatabase Methode
« am: 13.12.11 - 12:57:53 »
Liebe Freunde der LotusScript Programmierung,
ich bin leider immer noch ein Anfänger in dieser Geschichte.
Obwohl ich nun ein 1000 Seiten Werk gelesen und mir im Internet den Wolf gesucht habe, finde ich nicht den entsprechenden Befehl den ich benötige.

Ich möchte einen Code schreiben, mit dem ich selektierte Vorlagen aus einer Datenbank in mein Postfach kopiere.
Beispiel: Ich öffne die DB, selektiere aus der Ansicht (Vorlagen) mehrere Dokumente und diese werden dann über einen LotusScript-Agenten in mein Postfach kopiert (Da (Vorlagen) im Postfach ein Ansicht ist, können die Dokumente einfach reinkopiert werden)
Also eigentlich eine ganz einfache Angelegenheit.

Jetzt habe ich schon sehr viele Kopiermethoden kenngelernt, die es wohl so gibt. Ich kann nun das erste, zweite , vorigen oder nachfolgende, oder eins mit bestimmten Eigenschaften, oder alle, oder halt das letzte Dokument in mein Postfach kopieren. Aber nicht das selektierte (Current). :-:

Wieso kann es nicht sowas wie " Set doc = view.getcurrentdocument" geben. Das wäre doch so einfach und logisch, da es ja schließlich auch ein getfirstdocument, getprevdocument,getlastdocument,getnext und so weiter gibt.

Ich brauch da echt mal einen Schubster und bitte nicht mit "das steht doch im Handbuch.." oder "schau dir "workspace.currentdocument.." mal an, antworten.

Wie krieg ich das selektierte (nicht geöffnete) Dokument in z.B. die CopyToDatabase Methode ?
mfg
Ralf.

PS.: Ich habe echt sehr wenig Ahnung von Lotus Script.
« Letzte Änderung: 19.12.11 - 17:25:29 von ra.t »
mfg
Ralf

Offline koehlerbv

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 20.460
  • Geschlecht: Männlich
Re: CopyToDatabase Methode
« Antwort #1 am: 13.12.11 - 13:03:40 »
NotesDatabase.UnprocessedDocuments

Bernhard

Offline Peter Klett

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 2.713
  • Geschlecht: Männlich
Re: CopyToDatabase Methode
« Antwort #2 am: 13.12.11 - 13:03:54 »
Über NotesSession holst Du Dir die CurrentDatabase, darin die NotesDocumentCollection UnprocessedDocuments, die kannst Du dann mit GetFirstDocument und GetNextDocument durchlaufen

Offline ra.t

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 537
  • Geschlecht: Männlich
Re: CopyToDatabase Methode
« Antwort #3 am: 13.12.11 - 14:44:50 »
Erst mal vielen Dank für die Antworten.
Wenn der Agent schon auf "nur ausgewählte Dokumente" eingestellt werden kann, warum kann dieser dann nicht einfach das jeweilige Dokument kopieren.
Ich kann doch auch Agenten erstellen, die z.B. in den ausgewählten Dokumenten Werte ändern.

Also geht das so nicht, wie ich mir das denke ?
mfg
Ralf
mfg
Ralf

Offline Peter Klett

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 2.713
  • Geschlecht: Männlich
Re: CopyToDatabase Methode
« Antwort #4 am: 13.12.11 - 14:46:52 »
Das kannst Du aber nur per Formel. Mit Script musst Du immer den längeren Weg gehen.

Offline ata

  • Freund des Hauses!
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 5.092
  • Geschlecht: Männlich
  • drenaiondrufflos
    • Anton Tauscher Privat
Re: CopyToDatabase Methode
« Antwort #5 am: 14.12.11 - 15:14:48 »
... wenn du den Namen der Ansicht in der Datenbank kennst, dann verwende doch ein ws.PickListCollection mit dieser Ansicht - dann hast du zudem den kompletten Weg im Griff...

Toni
Grüßle Toni :)

Offline ra.t

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 537
  • Geschlecht: Männlich
Re: CopyToDatabase Methode
« Antwort #6 am: 14.12.11 - 18:00:32 »
Hallo Toni,
Ist es nicht so, das bei PickListCollection der Anwender noch die Auswahl machen muss ?

In meinem Fall hat der Anwender in der Ansicht schon die Dokumente markiert, bevor der Agent läuft und dieser soll dann die markierten Dokumente in das Postfach kopieren.

Ich glaube das wird wohl nur mit "UnprocessedDocuments" funktionieren ( da hat wohl koehlerbv schon recht)
mfg
Ralf
mfg
Ralf

Offline Peter Klett

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 2.713
  • Geschlecht: Männlich
Re: CopyToDatabase Methode
« Antwort #7 am: 14.12.11 - 18:07:00 »
Es wäre eine andere Herangehensweise, der Benutzer würde dann die Auswahl erst in der Picklist treffen.

Offline ra.t

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 537
  • Geschlecht: Männlich
Re: CopyToDatabase Methode
« Antwort #8 am: 14.12.11 - 18:35:01 »
Tja Peter,
das ist aber leider nicht die Anforderung.
Ich hoffe,  ich kann das Morgen mal ausprobieren.
mfg
Ralf
mfg
Ralf

Offline koehlerbv

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 20.460
  • Geschlecht: Männlich
Re: CopyToDatabase Methode
« Antwort #9 am: 14.12.11 - 18:58:56 »
Ralf, programmtechnisch gesehen ist es ja eigentlich wurscht, wie herum man das macht: Das Ergebnis ist immer eine NotesDocumentCollection. Der Unterschied liegt nur in der Buhtong-Beschriftung:
- Übernehme markierte in meine Mail-DB oder
- Vorlagen in meine Mail-DB übernehmen (und dann in der PickList "Bitte wählen Sie die zu übernehmenden Vorlagen")

Was Du brauchst:
- UnprocessedDocuments instantiierten
- des aktuellen Users Mail-Db instantiieren (NotesDatabase.OpenMail)
- durch die NotesDocumentCollection loopen und die UnprocessedDocuments kopieren
- eine nette Fertigmeldung ausgeben

Für das Verhindern des doppelten Kopierens sollte m.E. der User selber zuständig sein, da es ja auch sein kann, dass er sich ein Dokument verändert oder gelöscht hat. Ansonsten kann man Qualität und Komfort natürlich beliebig nach oben treiben (ich hätte da eine Menge Ideen)  ;)

HTH,
Bernhard

PS: Bei nun konkreten Fragen: Immer gerne, Ralf!

Offline ra.t

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 537
  • Geschlecht: Männlich
Re: CopyToDatabase Methode
« Antwort #10 am: 19.12.11 - 17:24:40 »
So, ich konnte die Anwendung nun fertig stellen.
Mit "NotesDatabase.UnprocessedDocuments" hat es gut funktioniert.
Obwohl die "PickListCollection " doch wohl sauberer wäre (da hat  Toni schon recht).
Noch einmal Danke für die Unterstützung.

mfg
Ralf
mfg
Ralf

 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz