Automation Variable

13. Dezember 2012 14:39

Hallo liebes Forum,

kann man die Automation Variablen weiterhin in NAV 2013 benutzen? oder sollte man die lieber mit der neue Variable "DotNet" austauschen?

LG Gruß + Danke!
Zuletzt geändert von KAMKAMS am 13. Dezember 2012 15:04, insgesamt 2-mal geändert.

Re: Automation Variable

13. Dezember 2012 14:47

Ja, kann man.
Es spricht vieles (eigentlich alles) dafür, alle Automations zugungsten DotNet zu eliminieren:

1. Der Standard hat es auch getan; wenn du also Standardfunktionen/Codeunits nutzt, sind die bereits umgestellt. Du kannst dir vieles aus dem Standard abgucken.
2. Automations müssen meist extra pro Client registriert werden, DotNet-Variablen nicht. -> Kein Implementierungs- oder Updateaufwand mehr.
3. DotNet liefert viel mehr Funktionen als dies mit den Standardautomations möglich war.

Aber ganz konkret, weil ich annehme, dass du dich auf ein Datenbankupdate beziehst:

4. Automations können nur noch clientseitig deklariert werden. Anders lässt sich dein 2013-Objekt nicht einmal kompilieren.
5. Da sämtlicher C/AL-Code in 2013 nur noch auf dem Server ausgeführt wird, werden die clientseitigen Automations z.T. funktionsunfähig.
6. Automations laufen nicht mehr auf dem NAS!

Re: Automation Variable

13. Dezember 2012 15:34

Hallo Natalie,

Vilen Dank für die schnelle Unterstützung.

ich kämpfe gerade mit einem Codestück und weiß nicht wie ich das im NAV 2013 realisieren kann.

Uns war möchte ich mit dem Notepad.exe eine Datei öffnen, bearbeiten und nach dem speichern den Inhalt per Programmcode in Tabellen übernehmen.

Also:
1. Ich erstelle auf dem RTC-Server über die CU "File Management" mit der Funktion ClientTempFileName('txt') eine Datei.
2. Öffne es mit WshShell.Run('Notepad.exe,Datei",WindowsStyle,WaitOnReturn) im Editor.
3. Bearbeite die Datei
4. Beim schliessen des Editors kommt jetzt die Frage wohin ich die Dateispeichern soll.

Wie kann ich beim schließen des Editors sagen, dass er die Datei auf dem RTC-Server speichern soll und nicht im Clientverzeichnis?

Hinweis: Ich möchte die Bemerkungstablle im Notepad verarbeiten und danach zurück speichern.

Danke!!
Zuletzt geändert von KAMKAMS am 13. Dezember 2012 16:59, insgesamt 3-mal geändert.

Re: Automation Variable

13. Dezember 2012 16:06

KAMKAMS hat geschrieben:Uns war möchte ich mit dem Notepad.exe eine Datei öffnen


Ich bin spontan überfragt und müsste auch erst einiges probieren. Daher kann ich dir leider nicht helfen.

Nur eines fällt mir auf: Warum verwendest du Funktion ClientTempFileName?
Falls die Datei auf dem Client liegt und du möchtest du sie zum Server hochladen, verwende UploadFileSilent.

Weiß SilverX vielleicht mehr ...?

Re: Automation Variable

14. Dezember 2012 08:38

KAMKAMS hat geschrieben:4. Beim schliessen des Editors kommt jetzt die Frage wohin ich die Dateispeichern soll.

Wie kann ich beim schließen des Editors sagen, dass er die Datei auf dem RTC-Server speichern soll und nicht im Clientverzeichnis?
Ich bin etwas unsicher bzgl. der Bemerkung, da natürlich Notepad fragt, ob (und ggf. wohin) gespeichert werden soll.
Wenn eine clientseitige Datei aber auf den Server hochgeladen werden soll, dann schau dir bitte mal die Codeunit 419 an. Dort die Funktion UploadFileSilent(). Diese erwartet eine Client-Datei und gibt dann den Serverpfad zurück. Über diesen kannst du die Datei dann weiter verarbeiten.

Natalie hat geschrieben:Weiß SilverX vielleicht mehr ...?
Mehr? Einiges sicherlich, aber "mehr" ist immer relativ. Wie viel weißt du denn? 8-)