Das Notes Forum

Domino 9 und frühere Versionen => ND8: Entwicklung => Thema gestartet von: darth-s am 08.07.15 - 12:03:40

Titel: "Antwort mit Protokoll" per SmartIcon
Beitrag von: darth-s am 08.07.15 - 12:03:40
Hi,

ich möchte aus einer Ansicht aus einer DB heraus eine Mail ("Antwort mit Protokoll") erstellen. Dabei soll oben ein vorgefertigter Text in die Mail eingefügt werden und und unten die ursprüngliche Nachricht.

In der Mail-DB funktioniert es mit der folgenden Formel:

*****************************
path :=@ReplaceSubstring(@ReplaceSubstring(@Subset(@DbName; -1); "\\"; "/");" ";"+") ;
Format:=@GetProfileField("CalendarProfile"; "FormatReplies");
FormatChar:=@GetProfileField("CalendarProfile";"OffsetChar");
@If(Format="1";@URLOpen("/" + path + "/Reply+With+History?OpenForm&ParentUNID=" + @Replace(@Text(@DocumentUniqueID); ":"; "" )+"&Format="+Formatchar);@Command([Compose];"Reply With History"));

TempText:="Hallo,"+@NewLine+@NewLine+"Zeile1"+@NewLine+@NewLine+"Zeile2"+@NewLine+@NewLine+"Zeile3";
@Command([TextNormal]);
@Command([EditInsertText];TempText)
*****************************

Aber leider soll es aus verschiedenen anderen Datenbanken funktionieren und da bekomme ich immer Fehlermeldungen.

Kann man dieses Problem irgendwie lösen?

Vielen Dank für hilfreiche Tipps

Sven
Titel: Re: "Antwort mit Protokoll" per SmartIcon
Beitrag von: Keydins am 08.07.15 - 13:04:35
Moin Sven,

als erstes wären natürlich die genauen Fehlermeldungen hilfreich.  ;)

Zitat
Format:=@GetProfileField("CalendarProfile"; "FormatReplies");
FormatChar:=@GetProfileField("CalendarProfile";"OffsetChar");

Das CalendarProfile dürfte einer der Knackpunkte sein, denn das ist ein grundlegender Bestandteil der Notes Mail-DB (darum klappt es dort auch). In anderen Anwendungen ist dieses Profil nicht "Standard", somit läuft der Datenabruf vermutlich ins Leere.

Zitat
@If(Format="1";@URLOpen("/" + path + "/Reply+With+History?OpenForm&ParentUNID=" + @Replace(@Text(@DocumentUniqueID); ":"; "" )+"&Format="+Formatchar);@Command([Compose];"Reply With History"));

Hier wird in der jeweiligen Anwendung eine Maske mit dem Namen "Reply With History" erwartet, ist diese nicht vorhanden, setzt die Formel auch an dieser Stelle 'auf'.

Gruß Dirk
Titel: Re: "Antwort mit Protokoll" per SmartIcon
Beitrag von: darth-s am 08.07.15 - 14:42:30
Hi,

ich habe die @If-Funktion angepasst. Bekommen aber nach wie vor Fehler:

1. Ungültiges oder nicht vorhandenes Dokument

2. Angegebener Befehl kann nicht ausgeführt werden
Titel: Re: "Antwort mit Protokoll" per SmartIcon
Beitrag von: TRO am 08.07.15 - 14:47:42
A) wie sieht jetzt der komplette Code aus?

B) da sich Formeln schlecht debuggen lassen --> zwischen alle Formelzeilen ein @Prompt([OK]; ""; "eindeutige Kennung dieser Zeile" ) packen, dam Du siehst bis zu welcher Zeile er fehlerfrei durchläuft.

hth

Thomas
Titel: Re: "Antwort mit Protokoll" per SmartIcon
Beitrag von: darth-s am 08.07.15 - 16:14:19
Hi,

also der Code sieht wie folgt aus:

@Prompt([Ok]; ""; "1" );
path :=@ReplaceSubstring(@ReplaceSubstring(@Subset(@DbName; -1); "\\"; "/");" ";"+") ;
@Prompt([Ok]; ""; "2" );
Format:=@GetProfileField("CalendarProfile"; "FormatReplies");
@Prompt([Ok]; ""; "3" );
FormatChar:=@GetProfileField("CalendarProfile";"OffsetChar");
@Prompt([Ok]; ""; "4" );
@If(Format="1";@URLOpen("/" + path + "/Reply+With+History?OpenForm&ParentUNID=" + @Replace(@Text(@DocumentUniqueID); ":"; "" )+"&Format="+Formatchar);@Command([Compose];"Reply With History"));
@Prompt([Ok]; ""; "5" );
TempText:="Hallo,"+@NewLine+@NewLine+"Zeile1"+@NewLine+@NewLine+"Zeile2"+@NewLine+@NewLine+"Zeile3";
@Command([TextNormal]);
@Command([EditInsertText];TempText)

Die Fehlermeldung erscheint nach dem 4 Prompt. Also bei @If.

Ich möchte mir im Grunde durch das Smarticon das Klicken durch den Menübaum "Erstellen --> Mail --> Antwort mit Protokoll und Anhängen" ersparen.

Das muss doch bestimmt irgendwie möglich sein, oder?
Titel: Re: "Antwort mit Protokoll" per SmartIcon
Beitrag von: Tode am 08.07.15 - 16:51:03
Hast Du es mal ganz einfach mit @Command( [Compose]  ; @MailDBName ; "Reply With History" ) probiert? Das funktioniert hier bei mir ohne jegliche Verrenkungen...

EDIT: Hie rmal Code, der bei mir ohne Probleme läuft:
Code
@Command( [Compose]  ; @MailDbName ; "Reply With History" );
@UpdateFormulaContext;
@Command([EditGotoField] ; "Body" );
TempText:="Hallo,"+@NewLine+@NewLine+"Zeile1"+@NewLine+@NewLine+"Zeile2"+@NewLine+@NewLine+"Zeile3";
@Command([TextNormal]);
@Command([EditInsertText];TempText)

Das @UpdateFormulaContext ist zur Sicherheit da, aber das EditGotoField ist wichtig.
Titel: Re: "Antwort mit Protokoll" per SmartIcon
Beitrag von: darth-s am 08.07.15 - 17:06:39
 ;D ;D ;D

Genau das was ich gesucht habe. Vielen, vielen Dank!!!