Autor Thema: Einfache Frage zu Lotus Script: Erstelltes Dokument bearbeiten  (Gelesen 8103 mal)

Offline sinus

  • Junior Mitglied
  • **
  • Beiträge: 91
  • Geschlecht: Männlich
  • Dumdidum...
Hallo,

ich erstellen wie folgt ein Dokument:

'Neue Mail erstellen
Dim db As NotesDatabase
Set db = session.CurrentDatabase
Dim doc2 As notesdocument
Set doc2 = New NotesDocument( db )

'Neue Mail mit Daten füttern   
doc2.Form = "Memo"
doc2.SendTo = t(12)
doc2.Subject = "Subjekt"
doc2.body= "Hier kommt der Messagetext rein"
doc2.SaveMessageOnSend = True
   
'Mail verschicken
Call doc2.Send(False)

Nun suche ich eine Möglichkeit dem User die Chance zum BEARBEITEN des Dokuemtens zu geben, BEVOR es verschickt wird.

Es soll im Prinzip vor dem -'Mail verschicken- eine Maske aufgehen, die dem User die Möglichkeit gibt, den Text zB zu ändern und dann kann er selber mit dem üblichen Send Button die Nachricht verschicken.

Wie geht das?? Habe leider (mal wieder) in der Hilfe nichts gefunden...

Vielen Dank schonmal&Gruss Sven

Offline doliman

  • Senior Mitglied
  • ****
  • Beiträge: 332
  • Geschlecht: Männlich
    • www.doleschel.de
Hi,

evtl. so wenn ich mich nicht irre...

'Neue Mail erstellen
Dim ws as notesuiworkspace
dim uidoc as notesuidocument

Dim db As NotesDatabase
Set db = session.CurrentDatabase
Dim doc2 As notesdocument
Set doc2 = New NotesDocument( db )

'Neue Mail mit Daten füttern  
doc2.Form = "Memo"
doc2.SendTo = t(12)
doc2.Subject = "Subjekt"
doc2.body= "Hier kommt der Messagetext rein"
doc2.SaveMessageOnSend = True
   
'Mail verschicken
'Call doc2.Send(False)
set uidoc = ws.editdocument(true, doc2)
Grüßle
                           _///_
                          (o~o)
-------------oOOO--(_)--OOOo-------------
Frank Doleschel

----------------------
Ein Berufsleben ohne Notes ist zwar möglich aber die Alternativen sind erschreckend ;-)

Offline sinus

  • Junior Mitglied
  • **
  • Beiträge: 91
  • Geschlecht: Männlich
  • Dumdidum...
Hi,

ersteinmal vielen Dank für Deine Hilfe, wenn ich es so wie oben angegeben mache, kommt immer die Fehlermeldeung Object variable not set.

Mit    

Dim ws As *new* notesuiworkspace

geht dann aber prima :)

Nun habe ich noch 2 Probleme:

1. Der Messagetext den ich unter

doc2.body= "Hier kommt der Messagetext rein"

eingegeben habe ist WEG ?!?!

2. Ich würde gerne eine fertiges Dokument als Messagetext einfügen.
Ist es möglich eine Mail im Entwurfsordner zu speichern und den Text aus der
Entwurfsmail zu verwenden??

Gruss, Sven

Offline doliman

  • Senior Mitglied
  • ****
  • Beiträge: 332
  • Geschlecht: Männlich
    • www.doleschel.de
Hi,

sorry natürlich muss "new" rein.

Prinzipiell ist alles möglich.

Der Text ist weg, weil es ein RTF Feld ist und erst gespeichert werden muss wenn es im UI aufgemacht wird.
ein call doc2.save(true, false) müsste reichen.
Wenn Du mit Vorlage arbeiten willst, dann wird das ganze schon etwas aufwendiger.
dazu brauchst DU noch:

view.getdocumentbykey() oder wenn Du mir UNID arbeitest db.getdocumentbyunid()

um das Vorlagendokument aus der DB zu fischen.

Die Wertezuweisung:
doc1.Feld = doc2.Feld
und ein doc1.save(true, false)
am Ende

Ein wenig Fehlerbehandlung aussenrum dann könnte es so hinhauen.
Grüßle
                           _///_
                          (o~o)
-------------oOOO--(_)--OOOo-------------
Frank Doleschel

----------------------
Ein Berufsleben ohne Notes ist zwar möglich aber die Alternativen sind erschreckend ;-)

Offline sinus

  • Junior Mitglied
  • **
  • Beiträge: 91
  • Geschlecht: Männlich
  • Dumdidum...
Für den Endbenutzer soll das ganze natürlich möglichst einfach sein.

Mir fällt da jetzt leider nichts besonders schlaues ein...wie man dem Benutzer die Möglichkeit gibt den Text vorzugeben...hast Du da noch eine Idee?

Wenn es nicht anders geht, dann im Notfall indem der Benutzer eine Mail anlegt und diese in einem bestimmten Ordner abspeichert vielleicht?!? ABer wie fische ich mir dieses Dokument dann aus der DB ?? Das ganze soll ja flexibel sein, sprich wenn der Benutzer das Dokument löscht und ein neues anlegt muss es ja immernoch funktionieren, aber dabei ändert sich wahrscheinlich so ziemlich alles an ID's etc. was man als Abfrage hätte verwenden können, oder?

Gruss, Sven

Offline sinus

  • Junior Mitglied
  • **
  • Beiträge: 91
  • Geschlecht: Männlich
  • Dumdidum...
komme leider alleine noch nicht so richtig weiter, wie kann ich denn auf eine entwurfvorlage in der maildatenbank zugreifen??

oder gibt es doch noch eine bessere lösung für oben genanntes problem der textvorgabe?

gruss, sven

Offline sinus

  • Junior Mitglied
  • **
  • Beiträge: 91
  • Geschlecht: Männlich
  • Dumdidum...
Habe mir jetzt folgendes Script ausgedacht:

'Vorlage verwenden
Dim session3 As New NotesSession
Dim db3 As NotesDatabase
Dim view3 As NotesView
Dim doc3 As NotesDocument
Set db3 = session3.CurrentDatabase
Set view3 = db3.GetView( "draft" )
Set doc3 = view3.GetDocumentByKey( "wer" )
Set uidoc = ws.editdocument(True, doc3)

Bekomme aber leider immer die Fehlermeldung: Incorrect Argument Type

Please help?!?

Gruss, Sven

Offline doliman

  • Senior Mitglied
  • ****
  • Beiträge: 332
  • Geschlecht: Männlich
    • www.doleschel.de
Hi,

ich sehe kein

dim ws as new notesuiworkspace
Grüßle
                           _///_
                          (o~o)
-------------oOOO--(_)--OOOo-------------
Frank Doleschel

----------------------
Ein Berufsleben ohne Notes ist zwar möglich aber die Alternativen sind erschreckend ;-)

Offline sinus

  • Junior Mitglied
  • **
  • Beiträge: 91
  • Geschlecht: Männlich
  • Dumdidum...
das habe ich aber weiter oben schon drin, daran kann es nicht liegen...

Offline doliman

  • Senior Mitglied
  • ****
  • Beiträge: 332
  • Geschlecht: Männlich
    • www.doleschel.de
Hi,

stell mal das ganze Script rein
Grüßle
                           _///_
                          (o~o)
-------------oOOO--(_)--OOOo-------------
Frank Doleschel

----------------------
Ein Berufsleben ohne Notes ist zwar möglich aber die Alternativen sind erschreckend ;-)

Offline sinus

  • Junior Mitglied
  • **
  • Beiträge: 91
  • Geschlecht: Männlich
  • Dumdidum...
Re:Einfache Frage zu Lotus Script: Erstelltes Dokument bearbeiten
« Antwort #10 am: 09.04.03 - 21:39:19 »
So jetzt gibt es keinen Fehler mehr, ABER er öffnet mir jetzt leider das Dokument auf dem der Cursor gerade steht und nicht das Dokument im

Order: draft
mit dem Sender: test

Sollte das nicht eigentlich so gehen??

Ich möchte auf der erste Dokument im Ordner "draft" zugreifen, was mache ich falsch?



Sub Click(Source As Button)
   
   Dim uiws As New NotesUIWorkspace
   Dim session As New NotesSession
   Dim docThis As NotesUIDocument
   Dim db As NotesDatabase
   Dim view As NotesView
   Dim doc As NotesDocument
   
   Set db = session.CurrentDatabase
   Set docThis = uiws.CurrentDocument
   Set view = db.GetView("draft")
   Set doc = view.getdocumentbykey("test", False)
   
   Call uiws.EditDocument(doc)
   
End Sub


Offline doliman

  • Senior Mitglied
  • ****
  • Beiträge: 332
  • Geschlecht: Männlich
    • www.doleschel.de
Re:Einfache Frage zu Lotus Script: Erstelltes Dokument bearbeiten
« Antwort #11 am: 10.04.03 - 21:50:31 »
Hi,

den Zusammenhang verstehe ich nicht ganz richtig.
Ist das eine Schaltfläche innerhalb einer Ansicht oder Maske?

Und wie soll denn Dein Ablauf aussehen. Es gibt ja mehrere Möglichkeiten dem Benutzer ablaufen von den unterschiedlichsten Stellen anzubieten. Diese Variante des Scripts weicht von der ersten Fassung etwas ab.
Ich gehe mal davon aus, dass es sich um eine Schaltfläche in einer Ansicht handelt.
Hier brauchst Du nicht:
Dim docThis As NotesUIDocument
Set docThis = uiws.CurrentDocument
zu machen, wenn Du nicht mit dem Dokument arbeiten willst, denn wie Du ja feststellst, öffnet sich das in der Ansicht markierte Dokument.

Ein erstes Dokument in einer view bekommt man mit:
set doc = view.getfirstdocument
ich baue immernoch ein:
if not doc is nothing then
  Call uiws.EditDocument(doc)
end if
drumherum.
Denn findest Du kein Doc und machst mit Deiner Zeile weiter krachts im Karton.

Was passiert jetzt aber, wenn mehrere Dokumente in diesem Ordner sind?

   
Grüßle
                           _///_
                          (o~o)
-------------oOOO--(_)--OOOo-------------
Frank Doleschel

----------------------
Ein Berufsleben ohne Notes ist zwar möglich aber die Alternativen sind erschreckend ;-)

Offline sinus

  • Junior Mitglied
  • **
  • Beiträge: 91
  • Geschlecht: Männlich
  • Dumdidum...
Re:Einfache Frage zu Lotus Script: Erstelltes Dokument bearbeiten
« Antwort #12 am: 11.04.03 - 13:16:48 »
Hi,

ich starte das Script in einer Maildatenbank von einem Button aus.

Es sieht jetzt so aus:

Sub Click(Source As Button)
   
   Dim uiws As New NotesUIWorkspace
   Dim session As New NotesSession
   Dim db As NotesDatabase
   Dim view As NotesView
   Dim doc As NotesDocument
   
   Set db = session.CurrentDatabase
   Set view = db.GetView("draft")
   Set doc = view.getfirstdocument
   If Not doc Is Nothing Then
      Call uiws.EditDocument(doc)
   End If
   Call uiws.EditDocument(doc)
   
End Sub

Leider öffnet er jetzt einfach nur das Dokument auf dem der Cursor gerade steht, und nichtmal im Bearbeiten Modus sondern im Lesen Modus.

Hast Du noch eine Idee?

Gruss, Sven

klaussal

  • Gast
Re:Einfache Frage zu Lotus Script: Erstelltes Dokument bearbeiten
« Antwort #13 am: 11.04.03 - 13:20:47 »
... aus der designer-hilfe:

editMode

Boolean. Optional. Specify True to open the document in Edit mode. Specify False to open the document in Read mode or put the document in the given Edit mode. If you omit this parameter, the document is opened in Edit mode.

Offline ata

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 5.092
  • Geschlecht: Männlich
  • drenaiondrufflos
    • Anton Tauscher Privat
Re:Einfache Frage zu Lotus Script: Erstelltes Dokument bearbeiten
« Antwort #14 am: 11.04.03 - 13:55:42 »
... es müßte also

Call uiws.EditDocument(True , doc)

... heißen

ata
Grüßle Toni :)

klaussal

  • Gast
Re:Einfache Frage zu Lotus Script: Erstelltes Dokument bearbeiten
« Antwort #15 am: 11.04.03 - 14:12:10 »
... genau  ;D

Offline doliman

  • Senior Mitglied
  • ****
  • Beiträge: 332
  • Geschlecht: Männlich
    • www.doleschel.de
Re:Einfache Frage zu Lotus Script: Erstelltes Dokument bearbeiten
« Antwort #16 am: 11.04.03 - 14:13:47 »
Hi,

bin gerade dabei dies im Debugger zu betrachten.
Das Script ansich ist korrekt. Nur rafft Notes nicht, das ich ein anderes Dokument, aus einer anderen Ansicht öffnen will.
Laut Designer Hilfe:

Opens the current or a specified document in a mode you specify. The current document may be either of the following:
The document that's currently open.
The document that's currently selected in a view or folder.

und das ist auch was er tut, das in der Inbox markierte Dokument zu öffnen und nicht das was ich ihm in der Routine als doc übergebe.
Dieses Verhalten ist mir bisher nicht aufgefallen aber sehr kurios.
Ich habe mehrere Dinge ausprobiert und noch keinen Schiffer wie ich es LN beibringe das zu tun was ich möchte.
Vielleicht hat ja "ata" noch eine Idee.
Grüßle
                           _///_
                          (o~o)
-------------oOOO--(_)--OOOo-------------
Frank Doleschel

----------------------
Ein Berufsleben ohne Notes ist zwar möglich aber die Alternativen sind erschreckend ;-)

Offline sinus

  • Junior Mitglied
  • **
  • Beiträge: 91
  • Geschlecht: Männlich
  • Dumdidum...
Re:Einfache Frage zu Lotus Script: Erstelltes Dokument bearbeiten
« Antwort #17 am: 11.04.03 - 14:20:45 »
Hmmm...also bei mir funktionierts jetzt   :D :D :D :D :D

Hier das Script:

Sub Click(Source As Button)
   
   Dim uiws As New NotesUIWorkspace
   Dim session As New NotesSession
   Dim db As NotesDatabase
   Dim view As NotesView
   Dim doc As NotesDocument
   
   Set db = session.CurrentDatabase
   Set view = db.GetView("draft")
   Set doc = view.getfirstdocument
   Call uiws.EditDocument(True , doc)
   
End Sub

Offline sinus

  • Junior Mitglied
  • **
  • Beiträge: 91
  • Geschlecht: Männlich
  • Dumdidum...
Re:Einfache Frage zu Lotus Script: Erstelltes Dokument bearbeiten
« Antwort #18 am: 11.04.03 - 14:42:24 »
Sorry muss noch mal ein letztes mal nerven, würde jetzt gerne bevor das dokument bearbeitet wird einen empfänger vorgeben, habe das so gelöst:

Dim uiws As New NotesUIWorkspace
Dim session2 As New NotesSession
Dim db As NotesDatabase
Dim view As NotesView
Dim doc2 As NotesDocument
   
Set db = session2.CurrentDatabase
Set view = db.GetView("draft")
Set doc2 = view.getfirstdocument
   
doc2.sendto="bla"
doc2.SaveMessageOnSend = True
   
Call doc2.save(True, False)   
   
Call uiws.EditDocument(True , doc2)


...leider funktionierts nicht, d.h. mein Empfänger "bla" taucht leider nicht
im dokument auf...ich nehme mal an, dass ich das dokument vorher irgendwie in einen bearbeitungsmode bringen muss, kann das sein?

Gruss, Sven   

Offline doliman

  • Senior Mitglied
  • ****
  • Beiträge: 332
  • Geschlecht: Männlich
    • www.doleschel.de
Re:Einfache Frage zu Lotus Script: Erstelltes Dokument bearbeiten
« Antwort #19 am: 11.04.03 - 14:45:53 »
Hi,

ja Du hast bei Deinen Posting weiter Oben zweimal EditDocument drin.
Grüßle
                           _///_
                          (o~o)
-------------oOOO--(_)--OOOo-------------
Frank Doleschel

----------------------
Ein Berufsleben ohne Notes ist zwar möglich aber die Alternativen sind erschreckend ;-)

 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz