Das Notes Forum

Domino 9 und frühere Versionen => ND6: Entwicklung => Thema gestartet von: jr am 13.03.07 - 15:18:47

Titel: Dateianhänge im Frontend
Beitrag von: jr am 13.03.07 - 15:18:47
Hallo,

ich habe ein kleines Problem, bei dem ich eine Datei an ein Dokument anhängen muss. Mit Formelsprache @PostedCommand([EditInsertFileAttachment]; file) ist das normalerweise kein Problem, ich müsste es aber mit LotusScript machen und es soll trotzdem im FrontEnd passieren. Ist das möglich?

Hintergrund: Die Datei existiert nur als Objekt in einem anderen Dokument. Ich muss also das Dokument lösen, das Objekt als Datei speichern und dann diese Datei wieder in das neue Dokument einfügen. Das ganze auch mehrfach, weil der Benutzer auch mehrere Dokumente auswählen können soll.

Ich hab schon versucht, den Dateinamen im Environment zu speichern und dann einen @Formel-Agenten aufzurufen, aber das erlaubt er leider auch nicht.

Hat jemand eine Idee, oder ist das so nur im Backend möglich?

Danke für Eure Hilfe,

Joachim
Titel: Re: Dateianhänge im Frontend
Beitrag von: Glombi am 13.03.07 - 15:35:45
Zitat
Ich hab schon versucht, den Dateinamen im Environment zu speichern und dann einen @Formel-Agenten aufzurufen, aber das erlaubt er leider auch nicht.
Wer ist "er" ?
Wie äußerst sich das? Gibts eine Fehlermeldung? Vielleicht weil es keine Execute Once Agent ist?

Andreas
Titel: Re: Dateianhänge im Frontend
Beitrag von: jr am 13.03.07 - 15:42:38
Hallo Andreas,

danke für die schnelle Antwort. "Er" ist der Compiler oder der Client oder der Notes  ;)

Der @Formel-Agent steht auf "Action Menu Selectoin" und Target "None".

Die Fehlermeldung lautet "@Function not allowed in this context". Ich vermute, das kommt daher, weil der Formel-Agent aus einem Script-Agenten heraus aufgerufen wird.


Call session.SetEnvironmentVar("CurrentAttachment", fileName)
Call agent.Run()


Gruß,

Joachim
Titel: Re: Dateianhänge im Frontend
Beitrag von: Glombi am 13.03.07 - 15:49:43
Du kannst es anders machen:

Nachdem Du per Script die NOTES.INI Variable gesetzt hast, wird das Dokument wieder geöffnet und mit
call uidoc.Refresh
folgender Code im Postrecalc aufgerufen:

@If(@Environment("CurrentAttachment") = "";@Return("");"");
@Command([EditGotoField];"Body");
@Command([EditInsertFileAttachment];CurrentAttachment);
@SetEnvironment("CurrentAttachment";"")

Formelsprache in einem eigentlich für Script vorgesehenem Event ist wzar unschön, lässt sich hier aber nicht vermeiden.

Andreas
Titel: Re: Dateianhänge im Frontend
Beitrag von: jr am 13.03.07 - 16:14:05
Hallo Andreas,

klasse Idee, der Agent führt ein uiDoc.Refresh() aus und der Anhang wird geladen. Funktioniert einwandfrei. Im @Command muss anstatt CurrentAttachment dann @Environment("CurrentAttachment") stehen.

Vielen Dank für Deine Hilfe.

Gruß,

Joachim