Autor Thema: UIDocument.Send sendet nicht ...  (Gelesen 3451 mal)

Offline TGroener

  • Frischling
  • *
  • Beiträge: 26
  • Geschlecht: Männlich
UIDocument.Send sendet nicht ...
« am: 25.06.08 - 13:51:40 »
Hallo Forum,

ich programmiere eine Anbindung an den LN-Client 7.2. aus einer VB6-Anwendung heraus. Nun habe ich das Problem, das, wenn ich eine Email versenden möchte, nach dem .Send nichts passiert (die Mails also im Drafts-Ordner bleibt). Hier der entsprechende Code-Schnippsel:

Code
'erstmal der ganze Initialiserungs-Kram
...
'Initialiserung fertig

Set lvobjNotesDoc = gvobjNotesDB.CreateDocument

lvobjNotesDoc.Form = "Memo"
lvobjNotesDoc.SendTo = "ich@testaccount.xy"
lvobjNotesDoc.Subject = "Test-Betreff"

Set lvobjRTItem = lvobjNotesDoc.CreateRichTextitem("Body")

call lvobjNotesDoc.Save(True, False)

Set lvobjNotesUIDoc = gvobjNotesWorkspace.EditDocument(False, lvobjNotesDoc)

call lvobjNotesUIDoc.GotoField("Body")
call lvobjNotesUIDoc.Import("Microsoft RTF", "c:\test.rtf")
call lvobjNotesUIDoc.GotoField("Subject")
call lvobjNotesUIDoc.Save
call lvobjNotesUIDoc.Document.ReplaceItemValue("ActionInProgress", "4194304")
call lvobjNotesUIDoc.Save

If pvblnSend then
   'Das klappt irgendwie nicht :-(
   call lvobjNotesUIDoc.Send
endif

call lvobjNotesUIDoc.Close(True)

'und hier alles wieder fein säuberlich aufräumen
...
'Aufräumen fertig

Zur Erläuterung: Wenn pvblnSend = False ist läuft alles einwandfrei. Ist der Wert allerdings True wird die .Send Zeile ausgeführt, im Client ist allerdings keine Veränderung festzustellen.

MfG

Thomas

P.S. Ich hoffe ich war nicht blind und habe eine gleiches / ähnliches Thema in der Suche übersehen ;-)
Rechtschreibfehler sind gewollt und dienen der allgemeinen Belustigung :)

Driri

  • Gast
Re: UIDocument.Send sendet nicht ...
« Antwort #1 am: 25.06.08 - 16:23:23 »
Warum machst Du das über das Frontend ? Backend wäre IMO sauberer, da dann z.B. gleichzeitig stattfindende Notes-Client-Aktionen nicht behindern (Dialogboxen, etc.).

Offline TGroener

  • Frischling
  • *
  • Beiträge: 26
  • Geschlecht: Männlich
Re: UIDocument.Send sendet nicht ...
« Antwort #2 am: 26.06.08 - 08:26:20 »
Warum machst Du das über das Frontend?

Weil ich bisher keine andere Lösung gefunden habe ;D

Wenn es da etwas ohne Frontend gäbe wäre mir das natürlich lieber, aber für das importieren des RTF-Textes in das Body-Feld habe ich nichts im Backend gefunden (bin auch nicht so wirklich bewandert, was die ganzen LN-Schnittstellen angeht).
Rechtschreibfehler sind gewollt und dienen der allgemeinen Belustigung :)

Driri

  • Gast
Re: UIDocument.Send sendet nicht ...
« Antwort #3 am: 26.06.08 - 09:18:36 »
Ach, Mist. Für den Import gibt es so direkt keine identische Funktion fürs Backend. Wenn es nur um Text geht, könnte man natürlich die RTF zeilenweise auslesen und jeweils in das RichTextItem schreiben.

Aber vielleicht hat ja noch jemand eine andere Idee.

Offline TGroener

  • Frischling
  • *
  • Beiträge: 26
  • Geschlecht: Männlich
Re: UIDocument.Send sendet nicht ...
« Antwort #4 am: 26.06.08 - 09:22:48 »
Wenn es nur um Text geht, könnte man natürlich die RTF zeilenweise auslesen und jeweils in das RichTextItem schreiben.

Hmm ... gefällt mir erstmal nicht bzw. müsste ich probieren.

Das Problem wird hier eher die Menge der Aufrufe sein. Das ganze läuft in einer Schleife und kann auch schon mal ein paar hundert Aufrufe haben zusätzlich können die RTF-Dokumente schon relativ umfangreich sein (mehrere Seitenm evtl. mit Grafiken usw.).
Rechtschreibfehler sind gewollt und dienen der allgemeinen Belustigung :)

Driri

  • Gast
Re: UIDocument.Send sendet nicht ...
« Antwort #5 am: 26.06.08 - 09:30:59 »
Wenn Grafiken enthalten sind, fällt das sowieso flach. Wenn das überhaupt funktioniert, würde es dann schon sehr aufwändig.

Offline TGroener

  • Frischling
  • *
  • Beiträge: 26
  • Geschlecht: Männlich
Re: UIDocument.Send sendet nicht ...
« Antwort #6 am: 30.06.08 - 08:22:50 »
Hallo zusammen,

ich hab ein wenig gebastelt und bin einen Schritt weiter gekommen:

Ich habe die Stelle

Code
call lvobjNotesUIDoc.Save
call lvobjNotesUIDoc.Document.ReplaceItemValue("ActionInProgress", "4194304")
call lvobjNotesUIDoc.Save

If pvblnSend then
   'Das klappt irgendwie nicht :-(
   call lvobjNotesUIDoc.Send
endif

call lvobjNotesUIDoc.Close(True)

in

Code
call lvobjNotesUIDoc.Save

If pvblnSend then
   call lvobjNotesUIDoc.Send
else
   call lvobjNotesUIDoc.Document.ReplaceItemValue("ActionInProgress", "4194304")
   call lvobjNotesUIDoc.Save
endif

call lvobjNotesUIDoc.Close(True)

umgebaut. Beim debuggen sah das auch alles so weit ok aus. Wenn ich das ganze allerdings normal laufen lasse bekomme ich in der .Send-Zeile eine Meldung im LN-Client, ob ich die Änderungen speichern möchte (aber das mache ich doch eine Zeile vorher??).

Grüße

Thomas
Rechtschreibfehler sind gewollt und dienen der allgemeinen Belustigung :)

Driri

  • Gast
Re: UIDocument.Send sendet nicht ...
« Antwort #7 am: 30.06.08 - 09:51:50 »
Du könntest nach dem Save noch das Item "SaveOptions" auf "0" setzen. Dann entfällt die Abfrage.

Call lvobjNotesUIDoc.FieldSetText("SaveOptions", "0")

Offline TGroener

  • Frischling
  • *
  • Beiträge: 26
  • Geschlecht: Männlich
Re: UIDocument.Send sendet nicht ...
« Antwort #8 am: 30.06.08 - 10:13:36 »
Hmm ... leider folgende Meldung:

Fehler 7412 Notes Error - Cannot locate field
Rechtschreibfehler sind gewollt und dienen der allgemeinen Belustigung :)

Offline koehlerbv

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 20.460
  • Geschlecht: Männlich
Re: UIDocument.Send sendet nicht ...
« Antwort #9 am: 30.06.08 - 10:29:02 »
Dann gibt es das nicht im Frontend, was aber natürlich nicht weiter schlimm ist. Dann muss es eben im Backend belegt werden:
lvobjNotesUIDoc.Document.SaveOptions = "0"

Bernhard

Offline TGroener

  • Frischling
  • *
  • Beiträge: 26
  • Geschlecht: Männlich
Re: UIDocument.Send sendet nicht ...
« Antwort #10 am: 30.06.08 - 10:31:57 »
Ihr seit die besten  :)

Klappt einwendfrei  :knuddel:
Rechtschreibfehler sind gewollt und dienen der allgemeinen Belustigung :)

Offline TGroener

  • Frischling
  • *
  • Beiträge: 26
  • Geschlecht: Männlich
Re: UIDocument.Send sendet nicht ...
« Antwort #11 am: 30.06.08 - 10:36:33 »
uups zu schnell ... jetzt liegen die Dokumente wieder im Drafts-Ordner und werden nicht gesendet ...

Schade


aber gut seit ihr trotzdem ;-)
Rechtschreibfehler sind gewollt und dienen der allgemeinen Belustigung :)

Driri

  • Gast
Re: UIDocument.Send sendet nicht ...
« Antwort #12 am: 30.06.08 - 10:43:02 »
Das ist aber klar. Im Else-Zweig wird ja auch nur ein Save abgesetzt, dann wird das Dokument halt einfach gespeichert.

Offline TGroener

  • Frischling
  • *
  • Beiträge: 26
  • Geschlecht: Männlich
Re: UIDocument.Send sendet nicht ...
« Antwort #13 am: 30.06.08 - 10:46:33 »
also ich hab das jetzt so:

Code
call lvobjNotesUIDoc.Save

If pvblnSend then
   call lvobjNotesUIDoc.Document.ReplaceItemValue("SaveOptions", "0")
   call lvobjNotesUIDoc.Send
else
   call lvobjNotesUIDoc.Document.ReplaceItemValue("ActionInProgress", "4194304")
   call lvobjNotesUIDoc.Save
endif

call lvobjNotesUIDoc.Close(True)

und er läuft definitiv in den ersten Zweig mit dem .Send rein. Nehm ich die Zeile mit den SaveOptions raus kommt die Meldung, diese betsätige ich und das Ding landet im Send-Ordner.

Hab ich da jetzt ein Denkfehler? Hätte vllt. gestern doch nicht so lange das verlorene Finale betrauern sollen ;-)
Rechtschreibfehler sind gewollt und dienen der allgemeinen Belustigung :)

Offline TGroener

  • Frischling
  • *
  • Beiträge: 26
  • Geschlecht: Männlich
Re: UIDocument.Send sendet nicht ...
« Antwort #14 am: 30.06.08 - 12:35:09 »
Das gute alte TryAndError-Prinzip hat weiter geholfen  >:D

Mit
Code
call lvobjNotesUIDoc.Document.ReplaceItemValue("SaveOptions", "1")
klappt es jetzt wunderbar.

Danke nochmal an alle.
Rechtschreibfehler sind gewollt und dienen der allgemeinen Belustigung :)

 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz