Das Notes Forum

Domino 9 und frühere Versionen => Entwicklung => Thema gestartet von: macom111 am 14.11.04 - 18:38:35

Titel: @MailSend mit IncludeDocLink funktioniert nicht ohne Vorgabewert und Parameter
Beitrag von: macom111 am 14.11.04 - 18:38:35
Hallo zusammen,

ich möchte eine Mail mit @MailSend versenden.
Die Maske enthält das Feld “SendTo“.
Wenn ich hier, wie in der Designer-Hilfe beschrieben, einen Empfänger als Vorgabewert (z.B. „Hans Dampf“) eingebe und in der Aktion „MailSend“ die entsprechenden Parameter und das Flag „IncludeDocLink“ angebe, wird die Mail versendet und der Empfänger kann das Dokument mit der Verknüpfung öffnen.
Meine Aktion lautet:
@Command([FileSave]); @MailSend(„Hans Dampf“;““;““;““;““;“Klicken sie auf die Verknüpfung“[IncludeDocLink]).

Da ich aber den Empfänger im Feld „SendTo“ frei Wählen muß, verwende ich im Feld die Auswahl
„Adreßdialogfeld für Auswahl verwenden“. In diesem Fall kann ich aber laut Designer-Hilfe und meiner Unterlagen nur noch „@MailSend“ ohne Parameter und „IncludeDocLink“ verwenden.
Beim Öffnen der versendeten Mail kommt dann die Meldung: „Maske nicht gefunden:<Name der Datenbank>“. Nach 3xligem bestätigen der Fehlermeldung öffnet sich zwar die Mail, aber ohne Verknüpfung. Wie bekomme ich aber dennnoch den Link mit einer dementsprechenden @Funktion od. Formel ins Mail?

Gruß Siggi ???
Titel: Re: @MailSend mit IncludeDocLink funktioniert nicht ohne Vorgabewert und Paramet
Beitrag von: koehlerbv am 14.11.04 - 19:07:38
Du kannst statt einer Konstanten auch den Feldinhalt übergeben - dann klappt es wieder mit dem Nachbarn:

Code
@MailSend(DeinFeldMitDenEmpfängern; ""; ""; ""; "";"Klicken sie auf die Verknüpfung"; [IncludeDocLink])

HTH,
Bernhard
Titel: Re: @MailSend mit IncludeDocLink funktioniert nicht ohne Vorgabewert und Paramet
Beitrag von: TMC am 14.11.04 - 19:13:42
Ganz genau, hab mir das auch gerade angesehen.

Wenn allerdings das Feld leer ist, kommt eine Fehlermeldung, dass es kein "SendTo"-Feld gibt.

Kannste aber abfangen:

_SendTo := DeinFeld;
@If(@Trim(_SendTo) = "";
   @Return(@Prompt( [Ok];@DbTitle; "Feld ist leer, eMail kann nicht gesendet werden."));
   @Do(
      @MailSend(_SendTo; ""; ""; "Hallo"; "Link --> "; "";  [IncludeDoclink]);
      @Prompt( [Ok];@DbTitle; "Mail wurde gesendet.")
   )
)
Titel: Re: @MailSend mit IncludeDocLink funktioniert nicht ohne Vorgabewert und Paramet
Beitrag von: macom111 am 14.11.04 - 20:01:41

Code
@MailSend(DeinFeldMitDenEmpfängern; ""; ""; ""; "";"Klicken sie auf die Verknüpfung"; [IncludeDocLink])

Also wenn ich das jetzt richtig verstanden habe, müßte es so aussehen:
@MailSend(SendTo;"";"";"";"Klicken Sie auf die Verknüpfung";[IncludeDoclink]).

Das Feld für die Empfänger ist das Feld "SendTo".
Die Mail wird zwar jetzt versendet mit dem Text "Klicken Sie auf die Verknüpfung", aber ohne Link.
Oder hab ich´s falsch verstanden?

Gruß Siggi

Titel: Re: @MailSend mit IncludeDocLink funktioniert nicht ohne Vorgabewert und Paramet
Beitrag von: TMC am 14.11.04 - 20:10:15
Das Feld muss nicht zwingend "SendTo" heissen.

Du kannst das selber definieren.

z.B.

_MeinFeld := Feld0815;
@MailSend(_MeinFeld; ""; ""; "Hallo"; "Link --> "; "";  [IncludeDoclink]);

Wie rufst Du das auf, via Button? Wurde das Dok schon gespeichert? Afaik muss das Dok gespeichert sein ( !@IsNewDoc ).

Titel: Re: @MailSend mit IncludeDocLink funktioniert nicht ohne Vorgabewert und Paramet
Beitrag von: koehlerbv am 14.11.04 - 20:11:49
Zunächst: Für einen DocLink muss das Dokument gespeichert sein.

Und: In Deiner Formel fehlt ein Parameter. Bitte mal genau nachzählen.

Bernhard
Titel: Re: @MailSend mit IncludeDocLink funktioniert nicht ohne Vorgabewert und Paramet
Beitrag von: TMC am 14.11.04 - 20:19:52
Code
@MailSend(DeinFeldMitDenEmpfängern; ""; ""; ""; "";"Klicken sie auf die Verknüpfung"; [IncludeDocLink])

Bernhard, hier ist wohl was schiefgelaufen beim reinkopieren, Da Du einen Text in "bodyFields" hast:

Zitat
bodyFields
When you use the [IncludeDocLink] flag (described below) to include a link to the current document, you should set the bodyFields parameter to null (""). If Notes/Domino cannot locate a field by name, it uses the string literal instead.

@macom111:
Meine zitierten Codes sollten genau so funktionieren, wenn !@IsNewDoc zutrifft.
Titel: Re: @MailSend mit IncludeDocLink funktioniert nicht ohne Vorgabewert und Paramet
Beitrag von: koehlerbv am 14.11.04 - 20:28:49
Code
@MailSend(DeinFeldMitDenEmpfängern; ""; ""; ""; "";"Klicken sie auf die Verknüpfung"; [IncludeDocLink])

Bernhard, hier ist wohl was schiefgelaufen beim reinkopieren, Da Du einen Text in "bodyFields" hast:

Jo, ich habe dann auch falsch kopiert - das ist aus Siggis erstem Posting. Die vorletzten beiden Parameter müssen also vertauscht werden. Danke für den Hinweis, Matthias.

Alternativ zu Matthias' Ansatz mit !@IsNewDoc könnte man vor dem @MailSend auch ein @Command ([FileSave]) setzen.

Bernhard
Titel: Re: @MailSend mit IncludeDocLink funktioniert nicht ohne Vorgabewert und Paramet
Beitrag von: macom111 am 14.11.04 - 21:01:10
Wie rufst Du das auf, via Button? Wurde das Dok schon gespeichert? Afaik muss das Dok gespeichert sein ( !@IsNewDoc ).


Ja, via Button. Und jetzt funktioniert´s; auch wenn Ihr mich beinahe verwirrt hättet.
Und so sieht´s bei mir jetzt aus:
@Command([FileSave]);
@MailSend(SendTo; ""; ""; ""; "Klicken Sie auf die Verknüpfung"; ""; [IncludeDocLink]).

Mit der Feldübergabe und der richtigen Reihenfolge der Parameter klappt´s!

Vielen Dank Euch Bernhard und Matthias