Domino 9 und frühere Versionen > ND8: Entwicklung

[gelöst] verzwicktes Problem mit @Command([EditMakeDocLink])

<< < (3/3)

Alexander 28:
hi roalnd. danke, aber auch hier erfordert es das speichern des docs, sonst ist der link im body nicht sichtbar

pram:
Dann haben wir aneinander vorbei geredet...
Du meinst das Dokument welches den DocLink enthält muss gespeichert werden?
dann ist dein Problem schlichtweg ein anderes....

--- Code: --- Set rtitem = New NotesRichTextItem( maildoc, "Body" )

Call rtitem.AppendText("Link => ")
Call rtitem.AppendDocLink( doc, "Dokument" )
--- Ende Code ---
und sollte durch ein zusätzliches "call rtItem.update()" nach allen RT-Operationen gelöst sein.

Gruß
Roland

Alexander 28:
jetzt gehts. hier meine lösung für alle die vielleicht mal ein ähnliches problem haben. ist doch eigentlich eine gaaaanz einfache sache gewesen ...

also, einen button in die maske, der folgenden formelcode ausführt

--- Code: ---@If( @IsNewDoc ;

@If( @IsValid;


@Do(
@Command([RunAgent];"(Reopen)");
@Command([ToolsRunMacro];"(Mail)")
);

@Return(""));

@Command([RunAgent];"(Mail)") )
--- Ende Code ---

1. im ersten agenten "(Reopen)" neues doc speichern (validierung der pflichtfelder läuft im querysave) und dann reopen.


--- Code: ---Dim session As New NotesSession
Dim workspace As New NotesUIWorkspace
Dim uidoc As NotesUIDocument
Dim newuidoc As NotesUIDocument
Dim db As NotesDatabase
Dim doc As NotesDocument
Set uidoc = workspace.CurrentDocument
Set db = session.CurrentDatabase
Set doc = uidoc.Document

Call uidoc.Refresh
Call uidoc.Save
Call uidoc.Close(False)

Set newuidoc=workspace.editdocument(True,doc)
--- Ende Code ---

2. im 2. agenten dann die erstellung der eigentlichen mail


--- Code: ---@Command([EditMakeDocLink]) ;

@Command([Compose]; ""; "(Mail)");

@Command([EditGotoField] ; "Body" );
@Command([EditInsertText]; @NewLine + @NewLine );
@Command([EditInsertText]; "DocLink zum Mutterdokument " );
@Command([EditPaste]) ;
@Command([EditGotoField] ; "SendTo" )
--- Ende Code ---

funktioniert wie sau. ging nur bei meinen ersten versuchen nicht, weil ich im quellcode des reopen agenten statt uidoc.Close(False) den parameter uidoc.Close(True) verwendet hatte. damit war das doc fürs reopen nach dem schließen nicht mehr im zugriff und ich bekam einen fehler. ok, workaround über GetDocByUniID wäre dann noch gegangen, habe ich aber nicht gleich dran gedacht.

wie auch immer .... herzlichen dank an alle beteiligten

alex

StefanP1962:
Hallo zusammen,

hatte auch das Problem in 7.0.2, dass der DocLink nicht sichtbar war im UIDocument, welches ich mit ws.EditDocument öffne. Genialerweise wurde er immer sichtbar, wenn ich im Debugger mit Einzelschritten durch das Script ging. Liess ich den Debugger durchlaufen, war nichts zu sehen und ohne Debugger auch nicht.   :-:

Der rtitem.update() war es, der fehlte.

Also auch von mir "Danke".  :D

Navigation

[0] Themen-Index

[*] Vorherige Sete

Zur normalen Ansicht wechseln