Das Notes Forum

Domino 9 und frühere Versionen => ND9: Entwicklung => Thema gestartet von: Dr.Domino am 16.06.16 - 11:20:20

Titel: Stehe auf dem Schlauch ... @MailSend Subject ändern
Beitrag von: Dr.Domino am 16.06.16 - 11:20:20
Moin,

ich stehe gerade auf dem Schlauch ... ich habe eine Form, dir ich per @MailSend verschicke, funktioniert soweit auch einwandfrei.
Die Form hat Felder mit "Standardnamen", also SendTo, Body, Subject.

Nun möchte ich aber auf Grund eines Radiobuttons das Subject bei Bedarf ändern ... in etwa so ...
(wir befinden uns in der Submit-Aktion der Form):

  @If(ReqType="Typ1";@Set(Subject;"Typ1 -  "+Subject);@Success);
  @Command([FileSave]);
  @MailSend;
  @Command([FileCloseWindow])

Das Problem ist, daß er ums Verrecken nicht das "neue Subject" versendet, sondern das alte.
Habe schon @SetField und sonstiges (z.B. Command RefreshViewFields) probiert - nada.

Spannenderweise ist, wenn ich das Feld mit einem @SetField setze auch korrekt wieder auslesen - nur das Mailsend kümmer sich nicht darum.

Wäre für einen Hinweis dankbar :-)

Gruß,
Markus
Titel: Re: Stehe auf dem Schlauch ... @MailSend Subject ändern
Beitrag von: Tode am 16.06.16 - 11:33:37
Mit @Set( Subject... ) setzt Du nur eine "Lokale" Variable, Mailsend greift aber auf das Feld im Dokument zurück.
Ich empfehle Dir trotzdem mal, die Designer- Hilfe zum Befehl @MailSend zur Hand zu nehmen... vielleicht fällt Dir ja da was auf... (das ist meine Art "RTFM" zu sagen...)
Titel: Re: Stehe auf dem Schlauch ... @MailSend Subject ändern
Beitrag von: Dr.Domino am 16.06.16 - 11:44:36
Hallo Torsten,

Du wirst lachen, ich habe das FM gelesen :-) ... es geht ohne Parameter oder mit ..., bei "Ohne"

> When used with no parameters, @MailSend mails the current document (the one being processed when the @function is evaluated) to the recipient designated in the document's SendTo field. The document must have a SendTo field.

Genau ... und deshalb hatte ich auch versucht, das Subject-Feld im Dokument mit @SetField zu setzen (welches ich dann hinterher, z.B. mit @Prompt(@GetField ... wieder korrekt rauskriege.

Nur das @MailSend kümmert sich nicht darum, trotz ...

"the one being processed when the @function is evaluated"

...
Titel: Re: Stehe auf dem Schlauch ... @MailSend Subject ändern
Beitrag von: Dr.Domino am 16.06.16 - 11:55:58
So funktioniert es übrigens halbwegs ...

@MailSend(SendTo;"";"";@GetField(Subject);"";"Body";"");

... ist trotzdem ulkig ...

... und in diesem Fall zieht er das Body Field nicht, sondern schreibt nur stumpf "Body" rein ... argh ...
entweder mag mich diese Funktion nicht oder die ist nicht ganz so wie beschrieben.

"Subject":"Body"   - schreibt zwar den Inhalt des Subjects, aber dann auch nur "Body" dahinter.

Mit @Mailsend ohne Parameter kommt der "Body" wie er soll ... also weitersuchen ...
Titel: Re: Stehe auf dem Schlauch ... @MailSend Subject ändern
Beitrag von: Dr.Domino am 16.06.16 - 14:07:45
Ja Geil ... Tüddelchen mal wieder :-) ...

@SetField braucht den Feldnamen in Tüddelchen ... dann funktioniert es auch auf die direkte, angedachte Weise ...

 :-: O0
Titel: Re: Stehe auf dem Schlauch ... @MailSend Subject ändern
Beitrag von: Tode am 16.06.16 - 14:25:14
Keine Ahnung, was Du da treibst. Habe grade mal in meiner Spiel- Datenbank eine Maske angelegt mit einem Button mit folgendem Code:
Code
  @Command([FileSave]);
  @MailSend( SendTO; ""; ""; "TEST " + Subject; ""; "Body"; "" );
  @Command([FileCloseWindow])

Das tut genau so wie es dokumentiert ist...

Aber Du solltest Dir Dringend anschauen, wann man Felder verwendet und wann Feldnamen...

@GetField( Subject ) bedeutet: Liefere mir den Inhalt des Feldes mit dem Namen des Textes, der im Feld "Subject" gespeichert ist. Wenn also in Subject der Text "TEST" drinsteht, und es in Deinem Dokument ein Feld "TEST" gibt, dann wird Dir dessen Inhalt zurückgegeben...

Du willst eigentlich @GetField( "Subject" ) machen... Das selbe git für @Get( ), @SetField, @Set...