Seite 1 von 1

DotNet Variable via NAS & RTC

Verfasst: 12. Februar 2019 09:12
von Joshua
Ich habe ein Problem mit einer dotNet Komponente die ich verwenden muss. Ich habe eine DLL welche es mir erlaubt an ein anderes System Suchanfragen zu senden wo ich dann Resultate erhalte. Diese Anfragen kann der User jederzeit selbst via Button im RTC ausführen und einmal täglich laufen diese in der Nacht via NAS automatisch.

Nun habe ich die DLL als dotNet Komponente hinzugefügt und hatte RunOnClient auf TRUE gestellt und die DLL im Addin Verzeichnis des Servers platziert, was funktioniert hat. Wenn der User den Button gedrückt hat wurde die DLL vom Server ins TEMP Verzeichnis des Users geladen und die Suche wurde gestartet. Wenn ich nun meinen NAS Job laufen lasse erhalte ich aber die Fehlermeldung "Microsoft Dynamics NAV Server attempted to issue a client callback to create a DotNet object. Client callbacks are not supported on Microsoft Dynamics NAV Server." Wenn ich die Variabel auf RunOnclient FALSE setze funktioniert zwar der NAS Job aber dafür die Action aus dem RTC nicht mehr.
Zuerst dachte ich es wäre das PoPup zum erlauben der Verwendung von dotNet/externen Komponenten, ich habe mich dann mit dem Service Benutzer angemeldet und den Button im RTC geklickt, dies hat funktioniert ohne das das PopUp kam.

Hat jemand eine Idee wie ich das sinnvoll lösen könnte?
Das einzige was mir einfiel wäre zwei Variabeln zu deklarieren eine mit RunOnClient TRUE und eine mit FALSE und dann mit ISSERVICETIER jenachdem den anderen Code auszuführen, da die DotNet Variable aber ca 50 mal in der Funtkion verwendet wird müsste ich den kompletten Code 1zu1 duplizieren und nur die Variabel abändern, was etwas unschön wäre. Vielleicht hat jemand ja eine bessere Lösung?

Im voraus besten Dank für die Hilfe.

Re: DotNet Variable via NAS & RTC

Verfasst: 12. Februar 2019 10:00
von fiddi
Hallo,

du wirst zwei unterschiedliche Objekte für deinen Zweck nutzen müssen, oder das ganze so umprogrammieren, das der Server immer die Funktion ausführt.

Gruß, Fiddi