Das Notes Forum

Domino 9 und frühere Versionen => ND8: Entwicklung => Thema gestartet von: Sierra am 16.02.16 - 17:21:52

Titel: Aktion im Mailfile, um den Betreff zu verändern
Beitrag von: Sierra am 16.02.16 - 17:21:52
Hallo,

ich suche nach einer Möglichkeit in der Nachrichten Maske (Alias Memo) eine zusätzliche Aktion einrichten, wo der Betreff um einen Zusatz vor dem Betreff erweitert wird.

Also, wenn im Betreff aktuell steht: Test-Nachricht, soll beim klicken auf die Aktion ein #cs vorangestellt werden, also:

#cs Test_Nachricht.

Am schönsten wäre es mit einem Kontrollkästchen, wo bei Abwahl auch wieder das #cs verschwinden.

Die Aktionsschaltfläche habe ich schon erstellt, aber ich weiss nicht, wie ich jetzt mitttels anklicken, den Betreff ändere.

Vielen Dank im voraus für Eure Antworten.
Titel: Re: Aktion im Mailfile, um den Betreff zu verändern
Beitrag von: Andrew Harder am 16.02.16 - 18:53:07
Der Betreff steht im Feld Subject also sollte die folgende Formel genügen:
Code
_Subject := Subject;
FIELD Subject := "#cs " + _Subject
Titel: Re: Aktion im Mailfile, um den Betreff zu verändern
Beitrag von: DerAndre am 17.02.16 - 06:52:33
Bei Andrews Lösung hast Du aber das Problem, wenn der User einen
nervösen Finger hat, steht das dann 23x drin.

Schau dir mal in der Hilfe den OnBlur Event vom Kontrollkästchen an.
Dazu nimmst Du ein StrRightBack, dann sollte es passen.
Titel: Re: Aktion im Mailfile, um den Betreff zu verändern
Beitrag von: Keydins am 17.02.16 - 08:38:40
Mit einer zusätzlichen Abfrage

Code
 @If(@Left(_Subject;4) = "#cs "; @Return(""); "" );
FIELD Subject ...

kannst du den nervösen Zeigefinger umgehen, so dass nur geändert wird, wenn der gewünscht Ergänzungstext noch nicht drin ist.

Gruß Dirk
Titel: Re: Aktion im Mailfile, um den Betreff zu verändern
Beitrag von: Peter Klett am 17.02.16 - 09:08:53
Code
_kennung := "#cs ";
_subject := @RightBack (_kennung + Subject; _kennung);
FIELD Subject := @If (@Begins (Subject; _kennung); _subject; _kennung + _subject)

und damit bekommst Du den gewünschten Ein- und Ausschalter ...
Titel: Re: Aktion im Mailfile, um den Betreff zu verändern
Beitrag von: koehlerbv am 17.02.16 - 09:54:44
Peter, @RightBack ergibt einen Leerstring, wenn der Suchbegriff gar nicht enthalten ist. So wird das also nicht funktionieren.

Bernhard
Titel: Re: Aktion im Mailfile, um den Betreff zu verändern
Beitrag von: Peter Klett am 17.02.16 - 10:16:49
Peter, @RightBack ergibt einen Leerstring, wenn der Suchbegriff gar nicht enthalten ist. So wird das also nicht funktionieren.

Bernhard

und wann ist in _kennung + Subject der Suchbegriff _kennung nicht enthalten?

@RightBack ("#cs " + "Titel"; "#cs ") -> "Titel"

@RightBack ("#cs " + "#cs Titel"; "#cs ") -> "Titel"
Titel: Re: Aktion im Mailfile, um den Betreff zu verändern
Beitrag von: koehlerbv am 17.02.16 - 10:26:52
Ja, natürlich. Sorry. Man sollte nicht denken, was man sieht, sondern wirklich hinschauen  ::)

Bernhard
Titel: Re: Aktion im Mailfile, um den Betreff zu verändern
Beitrag von: underlicense am 19.02.16 - 13:25:28
Da muss ich mich doch gleich mal bedanken.

Sierra und ich konnten mit Eurer Hilfe eine wunderschöne Gemeinsame Aktion mit Kontrollkästchen basteln.
Hier unsere endgültige funktionierende Formel:

Für die Schaltfläche selbst....

@If(
   @Contains(Subject;"#cs");
   Field Subject := @ReplaceSubstring(Subject;"#cs ";"");
   Field Subject := "#cs " + Subject
);
@Command([RefreshHideFormulas])


und für den Wert des Kontrollkästchens...

@If(
@Contains(Subject;"#cs");
@True;
@False
)

Die Gemeinsame Funktion dann eingebunden in Nachricht, Antwort und Antwort mit Protokoll und Anhängen und schwupps ...fertig.
Das wird uns viel Arbeit erleichtern.
 


Titel: Re: Aktion im Mailfile, um den Betreff zu verändern
Beitrag von: Tode am 19.02.16 - 15:19:09
Das dieser Code eine Logik- Lücke hat, ist Euch bekannt?

Wenn z.B. der User sich sagt "ich nehm nicht die blöde Schaltfläche, sondern ich schreibe mein "CS" selbst davor", und sowas macht:

"#cs: das ist mein subject", dann sagt die @If- Abfrage "da ist #cs drin, also muss ich es entfernen"... aber das Replacesubstring schlägt fehl...