Das Notes Forum

Domino 9 und frühere Versionen => ND8: Entwicklung => Thema gestartet von: Patt74 am 10.02.17 - 13:04:09

Titel: Code Hilfe
Beitrag von: Patt74 am 10.02.17 - 13:04:09
Hallo,

bin absoluter Laie :-) und benötige kurz eure Hilfe.
Habe mir einen Button gebastelt um mails an vorgegebene Empfänger weiter zu leiten.
Nun hätte ich gerne die Möglichkeit alle auszuwählen, damit die email dann auch wirklich an alle Empfänger die es gibt geschickt wird.
Wie mache ich das?


Danke.

Code
_Empfaenger := @Prompt([OKCANCELLISTMULT]:[NoSort]; "Auswahl der Mailempfänger (Weiterleitung)"; "Wählen Sie einen oder mehrere Namen als Empfänger aus. Die selektierte Mail wird dann an diese Empfänger weitergeleitet"; "name1@domain.de"; "name1@domain.de":"name2@domain.de":"name3@domain.de":"alle");

@If(
 _Empfaenger = "" | @Text(_Empfaenger) = "1";
   @Return("");
 ""
);

@Command([MailComposeMemo]);
@Command([EditGotoField]; "EnterSendTo");
@Command([EditInsertText];@Implode(_Empfaenger;";"));
@Command([EditGotoField]; "Subject") 


Titel: Re: Code Hilfe
Beitrag von: Tode am 10.02.17 - 13:27:58
Nun, grundsätzlich würde ich das sowieso anders machen (mit LotusScript), aber um Deinen Code zum laufen zu bringen würde ich alle Empfänger in einer Variable auslagern, und dann dieser verwenden, wen "alle" ausgewählt wurde:

Code
_alleEmpfaenger := "name1@domain.de"; "name1@domain.de":"name2@domain.de":"name3@domain.de";
_Empfaenger := @Prompt([OKCANCELLISTMULT]:[NoSort]; "Auswahl der Mailempfänger (Weiterleitung)"; "Wählen Sie einen oder mehrere Namen als Empfänger aus. Die selektierte Mail wird dann an diese Empfänger weitergeleitet"; _alleEmpfaenger :"alle");

_sendTo := @If(
 _Empfaenger = "" | @Text(_Empfaenger) = "1";
   @Return(""); _Empfaenger = "alle" ; _alleEmpfaenger; _Empfaenger );

@Command([MailComposeMemo]);
@Command([EditGotoField]; "EnterSendTo");
@Command([EditInsertText];@Implode( _sendTo;";"));
@Command([EditGotoField]; "Subject") 
Titel: Re: Code Hilfe
Beitrag von: Patt74 am 10.02.17 - 14:13:15
Hallo,

ich kann leider kein Script verwenden, da vom Admin alles gesperrt ist.

Bei deinem Code kommt aber leider kein Auswahlfenster mehr. Es öffnet sich lediglich eine mail.

???

Grüße
Titel: Re: Code Hilfe
Beitrag von: jBubbleBoy am 10.02.17 - 14:25:07
Torsten hatte 2 Tippfehler:

Code
_alleEmpfaenger := "name1@domain.de": "name1@domain.de":"name2@domain.de":"name3@domain.de";
_Empfaenger := @Prompt([OkCancelListMult]:[NoSort]; "Auswahl der Mailempfänger (Weiterleitung)";  
        "Wählen Sie einen oder mehrere Namen als Empfänger aus. Die selektierte Mail wird dann an diese Empfänger weitergeleitet"; 
        "alle"; _alleEmpfaenger );

_sendTo := @If(
 _Empfaenger = "" | @Text(_Empfaenger) = "1";
   @Return(""); _Empfaenger = "alle" ; _alleEmpfaenger; _Empfaenger );

@Command([MailComposeMemo]);
@Command([EditGotoField]; "EnterSendTo");
@Command([EditInsertText];@Implode( _sendTo;";"));
@Command([EditGotoField]; "Subject")
Titel: Re: Code Hilfe
Beitrag von: Patt74 am 10.02.17 - 15:26:18
mmh,
jetzt kommt zwar wieder das Fenster aber:

1) Name1@domain.de taucht 2 mal auf
2) es gibt keinen Standardeintrag
3) alle fehlen!

DANKE!

Grüße

Titel: Re: Code Hilfe
Beitrag von: Tode am 10.02.17 - 15:37:29
sorry... copy / paste Fehler.... VERSTEHST DU denn den Code, den Du da verwendest? Dann hätten Dir die Tippfehler auffallen müssen. Auch in Eriks Code fehlt wieder ein Parameter für die Picklist (der Default Wert). So, das könnte jetzt stimmen (gestestet habe ich es aber nicht):

Code
_alleEmpfaenger := "name1@domain.de":"name2@domain.de":"name3@domain.de";
_Empfaenger := @Prompt([OKCANCELLISTMULT]:[NoSort]; "Auswahl der Mailempfänger (Weiterleitung)"; "Wählen Sie einen oder mehrere Namen als Empfänger aus. Die selektierte Mail wird dann an diese Empfänger weitergeleitet"; "name1@domain.de"; _alleEmpfaenger :"alle");

_sendTo := @If(
 _Empfaenger = "" | @Text(_Empfaenger) = "1";
   @Return(""); _Empfaenger = "alle" ; _alleEmpfaenger; _Empfaenger );

@Command([MailComposeMemo]);
@Command([EditGotoField]; "EnterSendTo");
@Command([EditInsertText];@Implode( _sendTo;";"));
@Command([EditGotoField]; "Subject")
Titel: Re: Code Hilfe
Beitrag von: Patt74 am 10.02.17 - 16:16:23
Hallo,

nunja ich verstehe es ein bisschen, aber natürlich nicht so, dass mir sofort auffällt, wenn bspw. ein Semikolon falsch sitzt ;-)

Aber top! jetzt funktioniert es wie gewünscht!

Ich bedanke mich herzlich und wünsche ein schönes Wochenende!
Titel: Re: Code Hilfe
Beitrag von: Patt74 am 10.02.17 - 16:24:53
uuuii,

eine Verbesserung ist mir noch in den Sinn gekommen.

Wie muss man es machen, dass man in der Auswahlliste beispielsweise nur den Namen sieht, es dann aber die email in die Liste einträgt?

Sorry :-)
Titel: Re: Code Hilfe
Beitrag von: jBubbleBoy am 10.02.17 - 16:33:04
Durch ersetzen via @replace, beispielhaft:
Code
L1 := "E": "W";
L2 := "e@e.de":"w@w.de";
auswahl := "E";
@replace( auswahl; L1; L2);
Titel: Re: Code Hilfe
Beitrag von: Patt74 am 10.02.17 - 16:49:58
Hallo,

auf den ersten Blick sieht das einfach aus. Wie ich das aber in meinen Code bekomme erschliesst sich mir nicht.

auswahl := "E";

die Auswahl kenne ich ja vorher nicht, da ich nicht weiß was angeklickt wird, dann kann ich ja dies auch nicht so statisch festlegen, oder?
Titel: Re: Code Hilfe
Beitrag von: jBubbleBoy am 10.02.17 - 17:17:24
Wieso, in deinem Code ist doch die Auswahl der Mailadressen eine fest vorgebende Liste, oder?
Das wäre L2, eine Liste mit sprechenden Namen wäre dann L1, in der gleichen Reihenfolge wie L2.
Das Ergebnis (Auswahl) ist der Rückgabewert deiner @Prompt-Funktion. Nach der Auswahl erfolgt das @replace ...
Titel: Re: Code Hilfe
Beitrag von: Patt74 am 10.02.17 - 18:25:05
ich habe es so probiert, geht aber nicht!

Code
_alleEmpfaenger := "name1":"name2":"name3";
_alleEmpfaenger2 := "name1@domain.de":"name2@domain.de":"name3@domain.de";

_Empfaenger := @Prompt([OKCANCELLISTMULT]:[NoSort]; "Auswahl der Mailempfänger (Weiterleitung)"; "Wählen Sie einen oder mehrere Namen als Empfänger aus. Die selektierte Mail wird dann an diese Empfänger weitergeleitet"; "name1@domain.de"; _alleEmpfaenger :"alle");

@replace(_Empfaenger; _alleEmpfaenger; _alleEmpfaenger2);

_sendTo := @If(
 _Empfaenger = "" | @Text(_Empfaenger) = "1";
   @Return(""); _Empfaenger = "alle" ; _alleEmpfaenger; _Empfaenger );

@Command([MailComposeMemo]);
@Command([EditGotoField]; "EnterSendTo");
@Command([EditInsertText];@Implode( _sendTo;";"));
@Command([EditGotoField]; "Subject")

Titel: Re: Code Hilfe
Beitrag von: jBubbleBoy am 10.02.17 - 18:28:53
fast perfekt :) die Zuweisung fehlt noch:
Code
_Empfaenger := @Replace(_Empfaenger; _alleEmpfaenger; _alleEmpfaenger2);
Titel: Re: Code Hilfe
Beitrag von: Patt74 am 10.02.17 - 18:38:05
Danke.

Fast perfekt, jetzt fehlt komischerweise der Standardwert wieder?

Code

_alleEmpfaenger := "name1":"name2":"name3";
_alleEmpfaenger2 := "name1@domain.de":"name2@domain.de":"name3@domain.de";

_Empfaenger := @Prompt([OkCancelListMult]:[NoSort]; "Auswahl der Mailempfänger (Weiterleitung)"; "Wählen Sie einen oder mehrere Namen als Empfänger aus. Die selektierte Mail wird dann an diese Empfänger weitergeleitet"; "name1@domain.de"; _alleEmpfaenger :"alle");

_Empfaenger := @Replace(_Empfaenger; _alleEmpfaenger; _alleEmpfaenger2);

_sendTo := @If(
 _Empfaenger = "" | @Text(_Empfaenger) = "1";
   @Return(""); _Empfaenger = "alle" ; _alleEmpfaenger2; _Empfaenger );

@Command([MailComposeMemo]);
@Command([EditGotoField]; "EnterSendTo");
@Command([EditInsertText];@Implode( _sendTo;";"));
@Command([EditGotoField]; "Subject")
Titel: Re: Code Hilfe
Beitrag von: jBubbleBoy am 10.02.17 - 18:46:39
Du meinst die Vorgabe, da steht noch die Mail-Adresse hier muss aber der Name stehen.
Titel: Re: Code Hilfe
Beitrag von: Patt74 am 13.02.17 - 10:26:57
VIELEN DANK für die tolle Unterstützung! Läuft jetzt.