[Gelöst] Aus Outlook-Mail NAV Client öffnen

10. August 2016 12:45

Hallo zusammen,

NAV bietet ja im Bereich der Beleggenehmigung die Funktion, Mails über Outlook zu versenden. Wenn z.B. ein Beleggenehmigungsprozess gestartet wird, erhält derjenige, der den Beleg in NAV genehmigen soll eine Mail mit einem Link, welcher den NAV Client öffnet und die passende Page öffnet.

Leider enthält der Link nicht die Datenbankinformation, so dass nicht immer die richtige geöffnet wird, sondern z.B. die Testdatenbank. Wie bekomme ich das hin, dass mit dem Link auch die richtige Datenbank mitgegeben wird, also wirklich die, aus der die Mail versandt wurde?

Die Programmierung in der Codeunit 440 sieht hier wie folgt aus:
GetApprovalEntriesUri() : Text[150]
EXIT(STRSUBSTNO('DynamicsNAV:+//%1/RunPage?Page=%2',SystemUri.EscapeDataString(COMPANYNAME),PAGE::"Approval Entries"));
Zuletzt geändert von NavHummel am 15. August 2016 16:57, insgesamt 1-mal geändert.

Re: Aus Outlook-Mail NAV Client öffnen

10. August 2016 14:40

Verbinden muss man sich mit Server (ggf. mit Port) und Dienst, nicht mit der Datenbank direkt.
2 Beispiele, wie man den Server ermittelt:
Read server settings from C/AL code
Find current Server and Database Name
Aufbau der Links
http://help.lsnav80.lsretail.com/help/en/conCreatingRunningHyperlinks.htm
Beim Einsatz des Webclient sieht es etwas anders aus:
Opening a Page in the Microsoft Dynamics NAV Web Client by Using a URL

U.a. wichtig für weitere Clients ist außerdem GETURL (erst ab NAV 2013 R2 verfügbar)
Creating URLs to Microsoft Dynamics NAV Clients
Wichtig bei Upgrades: Die Clientoptionen in NAV 2016 GETURL sind dann entsprechend größer.

Linkhilfe für den Zusammenbau
http://uncommonsense.nl/hyperlink/

Re: Aus Outlook-Mail NAV Client öffnen

10. August 2016 15:13

Vielen Dank für die vielen Links, das hilft schon weiter. Aber wieso macht Microsoft das hier über DotNet (System.Uri)? Kann und sollte man Server und Dienst auch darüber ermitteln (Wenn ja, wie? Hatte mit DotNet noch nicht zu tun). Oder ist das egal?

R2 haben wir leider nicht, Wir setzen NAV2013 mit RTC ein.

Re: Aus Outlook-Mail NAV Client öffnen

10. August 2016 15:56

Das .NET-Framework ist die Grundlage für alles, was in NAV stattfindet.
Der C/AL-Code wird in C# umgewandelt und nur dieser .NET-abhängige Code und der in den Dlls wird zur Laufzeit ausgeführt.

Das ist seit Einführung der 3-Tier-Architektur für NAV 2009 RTC so, dieses Bild habe ich vor sieben Jahren aufgenommen.
DSCF2348 (Medium).JPG

Mit der Beschäftigung mit .NET kann man also gar nicht früh genug anfangen :wink: .
Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.

Re: Aus Outlook-Mail NAV Client öffnen

11. August 2016 09:32

Hallo,

ich versuche gerade, meine URL über DomDoc zu ermitteln. Mein Code sieht so aus:

Code:

IF ISSERVICETIER THEN begin

 IF ISCLEAR(DomDoc) THEN
     CREATE(DomDoc);
 
   DomDoc.load(APPLICATIONPATH + 'CustomSettings.config');
   DomNode :=
     DomDoc.selectSingleNode(
       '//appSettings/add[@key=''DatabaseServer'']');
   ServerName := DomNode.attributes.item(1).text;
 
   DomNode :=
     DomDoc.selectSingleNode(
       '//appSettings/add[@key=''DatabaseName'']');
   DatabaseName := DomNode.attributes.item(1).text;

   DomNode :=
     DomDoc.selectSingleNode(
       '//appSettings/add[@key=''UrlHistory'']');
   DatabaseURL :=  DomNode.attributes.item(1).text;

Message('%1, %2, 3%',DatabaseURL,ServerName,DatabaseName);
end;




Leider erhalte ich immer folgende Fehlermeldung beim Versuch zu kompilieren:
"Sie können unter Microsoft Dynamics NAV Server kein Automatisierungsobjekt "DomDoc" erstellen. Sie müssen das Objekt auf einem Clientcomputer erstellen."

Und nun? Ich arbeite über Citrix, ist das der Grund? Wenn ja, was kann ich tun, um das zu umgehen?
Zuletzt geändert von NavHummel am 15. August 2016 17:01, insgesamt 2-mal geändert.

Re: Aus Outlook-Mail NAV Client öffnen

11. August 2016 09:54

Für den 3-Tier-Einsatz gibt es einen Zusatzparameter OnClient (nur im Windowsclient verwendbar!) für
CREATE Function (Automation).

Re: Aus Outlook-Mail NAV Client öffnen

11. August 2016 11:36

So, vielen Dank noch einmal. Danke der Links habe ich es über DotNet hinbekommen. War ein bisschen tricky wegen der Instanzen. :-D