Autor Thema: rtitem.AppendRTItem(rtitem2) übernimmt Inhalt nicht  (Gelesen 2219 mal)

Offline outerspace

  • Frischling
  • *
  • Beiträge: 39
  • Geschlecht: Männlich
Hallo,
ich habe bereits die Einträge duchsucht, bin aber nicht fündig geworden (oder habe es übersehen).
Folgendes Problem:
Ich erzeuge im BE ein neues Dokument, erstelle ein rtitem und will zusätzlich zu anderem Text den Inhalt des RT-Feldes des geöffneten uidocs in das neue Dokument einfügen. Wenn ich das Script im Debugger laufen lasse funktioniert auch alles wie geplant, doch sobald der Debugger ausgeschaltet wird kommt der angehängte Richtext und die folgenden Inputs nicht mehr an.
Domino Version 6.5.5
Hat jemand diesen Effekt auch schon einmal gehabt ?
Bin für jeden Tip dankbar.

Hier der Quellcode:
Code
Sub Click(Source As Button)
	Dim ws As New NotesUIWorkspace
	Dim uidoc As NotesUIDocument
	Dim server As String
	Dim db As String
	Dim recipients
	Dim rtitem As NotesRichTextItem
	Dim rtitem2 As NotesRichTextItem
	Dim s As New NotesSession
	Dim mDoc As NotesDocument
	Dim mailDB As NotesDatabase
	
	Set uidoc = ws.CurrentDocument
	Call uidoc.Save
	recipients = Evaluate("@Unique(MailRecipients)", uidoc.Document)
	Set mailDB = s.CurrentDatabase
	Set mDoc = mailDB.CreateDocument
	With mDoc
		.Form = "ASMemo"
		.From = "Andreas Stark"
		.SendTo = recipients
		.CopyTo = ""
		.BlindCopyTo = ""
		.Subject = "Client & User Support  (concerning Ticket: "+ uidoc.FieldGetText("ProblemID") + ")"
	End With
	Set rtitem = New NotesRichTextItem(mDoc, "Body")
	Call rtitem.AppendText("Subject:   "+ uidoc.FieldGetText("ProblemSubject"))
	Call rtitem.AddNewLine(2)
	Call rtitem.AppendText("Description:    ")
	Call rtitem.AddNewLine(2)
	Set rtitem2 = uidoc.Document.GetFirstItem("ProblemDescription")
	If Not rtitem2 Is Nothing Then
		Call rtitem.AppendRTItem(rtitem2)
	End If
	Call rtitem.AppendText("Comment:    " + uidoc.FieldGetText("ProblemHistoryInput"))
	Call rtitem.AddNewLine(2)
	Call rtitem.AppendText("For further details, please refer directly to the ticket "+ uidoc.FieldGetText("ProblemId"))
	Call rtitem.AddNewLine(4)
	Call rtitem.AppendText(nTime.LocalTime)
	Call rtitem.AddNewLine(2)
	Call rtitem.AppendText("Kind Regards")
	Call rtitem.AddNewLine(2)
	Call rtitem.AppendText(S.CommonUserName)
	Call ws.EditDocument(True, mDoc, False)
End Sub

Gruss
Andreas

Offline koehlerbv

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 20.460
  • Geschlecht: Männlich
Re: rtitem.AppendRTItem(rtitem2) übernimmt Inhalt nicht
« Antwort #1 am: 01.12.06 - 19:59:02 »
Ist das geöffnete Dokument auch schon gespeichert? Sonst wird das garantiert nichts.

Bernhard

Offline outerspace

  • Frischling
  • *
  • Beiträge: 39
  • Geschlecht: Männlich
Re: rtitem.AppendRTItem(rtitem2) übernimmt Inhalt nicht
« Antwort #2 am: 04.12.06 - 17:34:35 »
Sorry dass ich mich erst jetzt melde, aber ich war die letzten Tage von anderen Dingen in Beschlag genommen.
Ja das Dokument ist abgespeichert (13. Zeile Quelltext) nur halt nicht geschlossen.
Das ist das, was ich,wenn die User keine Einwände habe als nächstes versuchen werde.
Der Witz ist halt wenn ich mit dem Debugger durch den Quellcode gehe ist alles übertragen, ohne Debugger nicht.

Andreas

Offline koehlerbv

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 20.460
  • Geschlecht: Männlich
Re: rtitem.AppendRTItem(rtitem2) übernimmt Inhalt nicht
« Antwort #3 am: 04.12.06 - 17:52:01 »
Wenn der Debugger läuft, verhält sich das unter bestimmten Umständen (und gerade in solchem Kontext) anders als im "real life", da hier dann Objekte im FrontEnd (!) vorgehalten werden müssen, um zum Beispiel Variable auch darstellen zu können. Und gerade die "Konkurrenzsituation" Front-/-Backend" spielt einem da manchen (scheinbaren) Streich.

Zwei Anmerkungen:
Vor dem
Call ws.EditDocument(True, mDoc, False)
fehlt mir noch ein mDoc.Save. Gerade, weil Du RTIs bemühst.

Vielleicht wäre es aber viel einfach, die ganze Operation komplett im FrontEnd zu machen (für Dein zu übernehmendes RTI dann ein Copy & Paste). Du bist ja eh schon auf das Frontend bei diser Operation ausgerichtet.

Bernhard

Offline outerspace

  • Frischling
  • *
  • Beiträge: 39
  • Geschlecht: Männlich
Re: rtitem.AppendRTItem(rtitem2) übernimmt Inhalt nicht
« Antwort #4 am: 04.12.06 - 18:06:13 »
Das mDoc kann ich an der Stelle nicht speichern, weil dem Anwender mit Cancel noch die Möglichkeit gegeben werden soll abzubrechen. Dann müsste ich das doc wieder löschen, geht nur nicht da Benutzer keine Löschrechte hat.
Das Dokument dessen RTI ich kopiere ist ein Helpdesk-Call und das Feld zu dem Zeitpunkt des Buttons nicht mehr bearbeitbar. Also kein Goto Field, Select und Copy möglich.
Es ist wie verhext, wenn man ein Problem umgeht, rennt man vor die nächste Wand.
Was ich mir noch überlegt habe, ist das RTI zu kopieren statt append und dann vorne und hinten den Text einzufügen.
Kann ich aber erst am Mittwoch ausprobieren, wenn ich wieder beim Kunden bin.

Gruss
Andreas

Offline koehlerbv

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 20.460
  • Geschlecht: Männlich
Re: rtitem.AppendRTItem(rtitem2) übernimmt Inhalt nicht
« Antwort #5 am: 04.12.06 - 20:33:56 »
Das Dokument dessen RTI ich kopiere ist ein Helpdesk-Call und das Feld zu dem Zeitpunkt des Buttons nicht mehr bearbeitbar. Also kein Goto Field, Select und Copy möglich.

Dann kannst Du immer noch ein temporäres (User-bezogenes ProfileDoc) als "Krücke" hernehmen - der Weg bleibt immer noch.

Bernhard

 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz