Verknüpfung zu einer Form in eine E-Mail senden

25. Februar 2016 14:51

Ich habe ein Problem mit NAV 2009 R2 Classic Client. Ich möchte einen Link zu einer Form per e-Mail verschicken. An den Link komme ich im Client ja über Bearbeiten / Link kopieren ran und programmiert per CurrForm.URL . Wenn ich das programmiert mache dann kommt der Link in die e-Mail über Codeunit 397 "Mail" (ich verwende die functin "AddBodyLine"), kommt dort aber als Text an. Also kein Hyperlink.

Habe an verschiedenen Stellen was von HTML Tags gelesen ([url=] oder <a></a>) aber auch die kommen dann als Text in der e-Mail an.

Gibt es hier eine Lösung oder ist das einfach in der alten Version nicht lösbar?

Re: Verknüpfung zu einer Form in eine E-Mail senden

25. Februar 2016 16:05

Ich hab's zumindest in der CU397 >= NAV5 auch nicht hinbekommen.

Man kann sich selbst etwas erstellen, das beispielsweise auf 'Microsoft Outlook 11.0 Object Library'.MailItem aufbaut. Dort kann man einen HTMLBody statt des Body angeben, und darin funktionieren Links. Dafür ist man auf 1024 Zeichen beschränkt.

Kannst du nicht mit der CU400 arbeiten? Da funktionieren Anker-Tags.

Re: Verknüpfung zu einer Form in eine E-Mail senden

25. Februar 2016 16:36

Danke für die Antwort! CU 400 SMTP Mail ist an dieser Stelle vom Kunden nicht gewünscht. Aber die Info dass es damit oder mit der Outlook Library geht ist hilfreich. Danke!

Re: Verknüpfung zu einer Form in eine E-Mail senden

25. Februar 2016 16:49

Hallo,

der Trick ist die Zuweisung
OSendMail.BodyFormat := 2;


Code:
olFormatHTML 2 HTML format
olFormatPlain 1 Plain format
olFormatRichText 3 Rich text format
olFormatUnspecified 0 Unspecified format


in CU397 NewMessage, darüber wird gesteuert, in welchem Format der Mail aufgebaut ist.
Code:
AddBodyLine('<HTML><H2>The body of this message will appear in HTML.</H2><BODY>Type the message text here. </BODY></HTML>')


sollte dann was HTML- mäßiges verschicken.
Mit :
Code:
<a href="http://www.w3schools.com/html/">Visit our HTML tutorial</a>


sollte man einen HTML-Link erzeugen können.

Gruß Fiddi

Re: Verknüpfung zu einer Form in eine E-Mail senden

25. Februar 2016 17:24

fiddi hat geschrieben:der Trick ist die Zuweisung OSendMail.BodyFormat := 2;

So steht's im Standard :-?

Re: Verknüpfung zu einer Form in eine E-Mail senden

25. Februar 2016 18:35

Danke für die weiteren Erläuterungen, die aber mein spezielles Problem nicht betreffen. Denn ich will ja keine Internetseite sondern einen Link zu einer NAV Form verschicken. Und da wird das alles nur als Text in die e-Mail geschrieben. Die E-Mail hat HTML Format, das ist nicht das Problem...

Habe übrigens die Frage im falschen Unterforum gestellt, es geht um NAV 5.0 und nicht NAV 2009 R2.

Re: Verknüpfung zu einer Form in eine E-Mail senden

25. Februar 2016 19:00

Denn ich will ja keine Internetseite sondern einen Link zu einer NAV Form verschicken


Ich dachte den Link(die URL) hast du :-?

Schau dir mal die HTML- Datei im Anhang an.

Gruß Fiddi
Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.

Re: Verknüpfung zu einer Form in eine E-Mail senden

25. Februar 2016 20:13

Den Link hab ich über CurrForm.URL, der kommt auch in der e-Mail an, jedoch nur als Text, nicht als Hyperlink. Die e-Mail ist im HTML Format. Egal was ich versuche mit den hier genannten HTML Tags oder wie das Zeugs heißt, die kommen auch als Text in der e-Mail an. Es wird halt kein Hyperlink draus.

Ich weiß nicht was ich mit der HTML Datei machen soll. Die zeigt wie es aussehen soll, nur bei mir kommt halt kein Link in der e-Mail an sondern alles als Text.

Re: Verknüpfung zu einer Form in eine E-Mail senden

25. Februar 2016 21:25

[Beitrag aus dem Forum NAV 2009 nach NAV 5.xx verschoben.]

Gruß, McClane
MSDynamics.de-Team

Re: Verknüpfung zu einer Form in eine E-Mail senden

25. Februar 2016 21:30

enh hat geschrieben:bei mir kommt halt kein Link in der e-Mail an sondern alles als Text.

Das deckt sich mit meinen Erfahrungen, daher der Weg über das Outlook.MailItem.

Re: Verknüpfung zu einer Form in eine E-Mail senden

26. Februar 2016 10:53

Hallo,

Die zeigt wie es aussehen soll, nur bei mir kommt halt kein Link in der e-Mail an sondern alles als Text.


Ihr habt natürlich recht. :oops: Das funktioniert tatsächlich nicht. Hast du schon CU400 (hab gerade keine 5er-DB parat), oder kannst du Sie dir aus einer 2009-DB holen (wenn eure Lizenz das zulässt).

Falls du cu400 schon hast kannst du versuchen das ganze über SMTP zu erledigen, der versucht hoffentlich nicht den Text zu verbessern :-?

Gruß Fiddi

Re: Verknüpfung zu einer Form in eine E-Mail senden

26. Februar 2016 17:57

Nochmal Danke für die Antworten! CU 400 SMTP Mail ist an dieser Stelle vom Kunden nicht gewünscht. Aber die Info dass es damit oder mit der Outlook Library geht ist hilfreich, wahrscheinlich lösen wir's so.

Re: Verknüpfung zu einer Form in eine E-Mail senden

5. März 2016 22:38

Hallo zusammen,

die Lösung ist relativ einfach. Die Codeunit 397 in Dynamics NAV 5 kann das nicht, aber ihr braucht lediglich die Standardkomponente von Outlook zu verwenden:

Variablen (können je nach Office Version bei euch andere sein:
Code:
Name   DataType   Subtype   Length
HTMLText_l   Text      250
olApplication   Automation   'Microsoft Outlook 15.0 Object Library'.Application   
olMailItem   Automation   'Microsoft Outlook 15.0 Object Library'.MailItem   


Code:
IF ISCLEAR(olApplication) THEN
  IF NOT CREATE(olApplication) THEN
    ERROR('Outlook nicht gefunden!');

olMailItem := olApplication.CreateItem(0);

HTMLText_l := STRSUBSTNO('<a href="%1">Link</a>', CurrForm.URL);

olMailItem."To" := 'HansimGlück@Wunderland.de';
olMailItem.CC := 'HansimGlück@Wunderland.de';
olMailItem.Subject := 'Test';
olMailItem.HTMLBody := HTMLText_l;
olMailItem.Display;


VG
Robert

Re: Verknüpfung zu einer Form in eine E-Mail senden

5. März 2016 23:13

rwendler hat geschrieben:ihr braucht lediglich die Standardkomponente von Outlook zu verwenden

Hatten wir schon selbst herausbekommen. Aber nun haben wir auch den Code dazu :wink:

Re: Verknüpfung zu einer Form in eine E-Mail senden

5. März 2016 23:19

Gern geschehen :)