Domino 9 und frühere Versionen > Entwicklung

postsave abfrage umbauen YESNO usw.

(1/2) > >>

luna:
hallo,

ich hab eine formel:
Text := "";
Ergebnis:=@Prompt([YESNOCANCEL]; "Send Mail?"; "Do you want to send an additional comment with the email?");
@If(Ergebnis = 1; @Set("Text"; @Prompt([OKCANCELEDIT]; "Comment"; "Enter your comment in the field below."; "")); Ergebnis = 0; ""; @Return("") );
@MailSend(assigned;"";"";"HELPDESK CALL"; Text; user + user_external + " / " + category + " / " + problem +@NewLine +@NewLine ;[Sign]:[IncludeDoclink]) im postsave, die macht folgendes:

wollen sie zusaetzlichen kommentar schreiben?
JA, dann geht ein neues fenster auf, wo man den kommentar reinschreiben kann
NEIN, dann wird die mail einfach verschickt, mit doclink
CANCEL, dann wird nix verschickt, einfach nur gespeichert.

das ist aber sehr verwirrend, denn der user meint, wenn er auf CANCEL drueckt, wird das dok nicht mal gespeichert.

ich hab jetzt stundenlang rumprobiert, auch in der hilfe gestoebert, aber mit meinen kenntnissen komm ich einfach nicht weiter.

ich brauche folgendes, und hoffe, mir kann jemand meine formel so umschreiben, dass das rauskommt, ich kanns nicht:

1.) wollen sie eine mail mit doclink verschicken? JA NEIN
2.) wenn NEIN, dann einfach nur speichern,
3.) wenn JA, wollen sie dann zusaetzlichen text dazuschreiben?
4.) wenn NEIN, dann einfach mail mit doclinkg
5.) wenn JA, fenster mit dem text (OKCANCELEDIT, wie oben)

geht das?

vielen dank und gruss,
daniela

Rob Green:
machs doch so, bevor das in Abfrage Orgien ausartet (so zumindest sehen es die User gerne..."keep it stupid simple"):

_auswahl:=
@Prompt([OkCancelList];
"Speichern & Senden";
"Wählen Sie eine Option " ;
"1. nur Speichern ohne Senden";
"1. nur Speichern ohne Senden":
"2. Speichern und Senden ohne Zusatztext":
"3. Speichern und Senden mit Zusatztext");

_check:=@left(_auswahl;1);

@if(
_check="1";
mach dies;
_check="2";
mach jenes;
_check="3";
mach das;
@return(_void)
)

luna:
hallo rob_green,

das hoert sich noch viel besser an, wie das, was ich mir ausgedacht hatte. das nehm ich.

jetzt muesste ich nur noch wissen, was ich wo reinschreiben muss (mach dies, mach das). ich habs mal alleine versucht, sieht jetzt so aus:

_auswahl:=
@Prompt([OkCancelList];  
"Speichern & Senden";  
"Wählen Sie eine Option " ;
"1. nur Speichern ohne Senden":
"2. Speichern und Senden ohne Zusatztext":
"3. Speichern und Senden mit Zusatztext");

_check:=@left(_auswahl;1);

@if(
_check="1";
mach dies;
_check="2";
@MailSend(assigned;"";"";"HELPDESK CALL"; Text; user + user_external + " / " + category + " / " + problem +@NewLine +@NewLine ;[Sign]:[IncludeDoclink]);
_check="3";
@Set("Text"; @Prompt([OKCANCELEDIT]; "Comment"; "Enter your comment in the field below."; "")); Ergebnis = 0; ""; @Return("") );
@return(_void)
)

"mach dies" fehlt mir noch, und in meiner ausfueherung sind sicherlich noch viele unkenntnisfehler drin. wuerdest du mir nochmal helfen, das zu vervollstaendigen? waere wirklich lieb. ich verzweifel sonst gleich.

vielen dank und gruss,
daniela  ::)

Rob Green:
Ausgangslage:

--- Code: ---
@if(  
_check="1";  
mach dies;  
_check="2";  
@MailSend(assigned;"";"";"HELPDESK CALL"; Text; user + user_external + " / " + category + " / " + problem +@NewLine +@NewLine ;[Sign]:[IncludeDoclink]);
_check="3";  
@Set("Text"; @Prompt([OKCANCELEDIT]; "Comment"; "Enter your comment in the field below."; "")); Ergebnis = 0; ""; @Return("") );
@return(_void)  
)  

--- Ende Code ---


Punkt 1 ("nur Speichern") ist klar, da es sich um ein PostSave handelt, also nach dem Speichern. Da gibt es nix außer zB einfach eine Dummyvariable rein, die einfach nix macht...bzw... einfach weglassen ist das Beste...nur zum Code-Lesen etwas einfacher wenn was drinsteht


--- Code: ---
_auswahl:=
@Prompt([OkCancelList];  
"Speichern & Senden";  
"Wählen Sie eine Option " ;
"1. nur Speichern ohne Senden";  
"1. nur Speichern ohne Senden":
"2. Speichern und Senden ohne Zusatztext":
"3. Speichern und Senden mit Zusatztext");

_check:=@left(_auswahl;1);


_Zusatztext:=@if(
_check:="3";
@Prompt([OKCANCELEDIT]; "Comment"; "Enter your comment in the field below."; "");
0)

_ZusatztextBER:=@if(
_Zusatztext=(-1)|(0);
"";
_Zusatztext);

@if(  
_check="1";  
_dann_halt_kein_Mail_senden;  
_check="2";
@mailsend...;
_check="3";
@MailSend(
assigned;
"";
"";
"HELPDESK CALL";
_ZusatztextBER;
user + user_external + " / " + category + " / " + problem +@NewLine +@NewLine ;
[Sign]:[IncludeDoclink])
;


--- Ende Code ---


So müßte es klappen. Und noch was zum Mailsend...wenn es geht, zieh die Variablen/Konstanten vorher raus, damit die Formel übersichtlicher bleibt.

Also aus
@MailSend(
assigned;
"";
"";
"HELPDESK CALL";
_ZusatztextBER;
user + user_external + " / " + category + " / " + problem +@NewLine +@NewLine ;
[Sign]:[IncludeDoclink])

wird zu

_SendTo:=assigned;
_CopyTo:="";
_BlindCopyTo:="";
_Subject:="HELPDESK CALL"
_Zusatz:=_ZusatztextBER;
_Text1:=user;
_Text2:=user_external;
_Text3:=category;
_Text4:=problem
_GesamtText:=_Text1 + _Text2 + " / " + _Text3 +  " / " +  _Text4 + @NewLine +@NewLine

@MailSend(
_SendTo;
_CopyTo;
_BlindCopyTo;
_Subject;
_Zusatz;
_GesamtText;
[Sign]:[IncludeDoclink])

sieht zwar vielleicht etwas komplex aus, ist aber allemal übersichtlicher und man kann schneller Fehler entdecken als in echten Bandformelsätzen. Nur ein Tipü, ist natürlich jedermanns eigenes Gusto.

luna:
hallo rob_green,

vielen dank fuer deine hilfe, aber jetzt bin ich erstmal total verwirrt.

das mit den variablen rausziehen beim mailsend zwecks der uebersichtlichkeit ist ein supert tip, aber ich waere schon froh, wenn die formel so klappen wuerde. tut sie leider nicht. ich hab die formel jetzt so drin stehen:_auswahl:=  
@Prompt([OkCancelList];  
"Speichern & Senden";  
"Wählen Sie eine Option " ;  
"1. nur Speichern ohne Senden";  
"1. nur Speichern ohne Senden":  
"2. Speichern und Senden ohne Zusatztext":  
"3. Speichern und Senden mit Zusatztext");  
 
_check:=@left(_auswahl;1);  


_Zusatztext:=@if(
_check:="3"; @Prompt([OKCANCELEDIT]; "Comment"; "Enter your comment in the field below."; "");
0)

_ZusatztextBER:=@if(
_Zusatztext=(-1)|(0);
"";
_Zusatztext);

@if(  
_check="1";  
_dann_halt_kein_Mail_senden;  
_check="2";
@MailSend(assigned;"";"";"HELPDESK CALL"; Text; user + user_external + " / " + category + " / " + problem +@NewLine +@NewLine ;[Sign]:[IncludeDoclink]);
_check="3";
@MailSend(
assigned;
"";
"";
"HELPDESK CALL";
_ZusatztextBER;  
user + user_external + " / " + category + " / " + problem +@NewLine +@NewLine ;
[Sign]:[IncludeDoclink])und weiss ehrlich gesagt nicht mehr, ob die noch ueberhaupt irgendeinen sinn macht.

jedenfalls, wenn ich die formel speichern moechte, krieg ich schon die erste fehlermeldung bei: _check:="3"; naemlich: := can only appear at the beginning of an expression: ':='
das sagt er mir mehrmals. liegt das daran, dass in der englischen version irgendwas anders ist als in der deutschen? denn das sagt er oefters in dieser formel.

bist du nochmal so lieb????:
1.) koenntest du mal schauen, warum er diese fehlermeldung bringt, was ich da anders machen muss?
2.) koenntest du dir die formel als gesamtheit nochmal anschauen, ob das so klappen koennte, oder ob ich was falsch drin hab? wie gesagt, ich blick nicht mehr so recht durch.

wenn die formel so dann mal klappt, dann seh ich mir in ruhe das mit den konstanten und variablen an. aber erst sollte die formel mal ueberhaupt funzen.

viiiiiiiiiiiielen dank nochmal fuer deine hilfe,
gruss,
daniela

p.s.: wenn du magst, kannst mir ja auch eine email schicken statt ein posting, damit das posting nicht unendlich lang wird. und wenn die formel dann hinhaut, setz ich diese nochmal ins forum und schliesse das posting. oK?

gruss,
daniela

Navigation

[0] Themen-Index

[#] Nächste Seite

Zur normalen Ansicht wechseln