CC: Welcher Code wird beim Objektimport durchlaufen?

18. März 2015 16:04

Hallo,

Gibt es einen Code, der durchlaufen wird, wenn man ein Objekt (als FOB oder TXT) über "Datei --> Importieren" importiert? Eventuell ein Trigger in CU 1?

Vielen Dank schon einmal und liebe Grüße :)

Re: CC: Welcher Code wird beim Objektimport durchlaufen?

18. März 2015 16:09

Leider nicht.
Was würdest du denn gern umsetzen?

Re: CC: Welcher Code wird beim Objektimport durchlaufen?

18. März 2015 16:43

Es geht um eine Art Protokollierung von Objektaufrufen.
Die zu protokollierenden Objekte werden zunächst aus NAV exportiert als Textdatei und durch ein externes Tool(in C# geschriebene Applikation) geschickt.
Dabei wird im OnOpenForm-Trigger (Als Beispiel für den Objekttyp Form) etwas dazu geschrieben, wodurch ein Datensatz (mit Objekttyp, Objektnr, Timestamp, etc) in eine "Tracking Tabelle" geschrieben wird.
Man kann anschließend das Objekt wieder in NAV importieren, jedoch wird eben erst dann der Datensatz in die Tracking Tabelle geschrieben, wenn man das Objekt, bzw. bspw. die Form das erste Mal öffnet, vorher wurde der Code ja noch nicht durchlaufen (ist ja auch richtig so).

Nun möchte ich aber die Möglichkeit haben, alle Objekte aufzulisten, die zwar protokolliert werden, jedoch noch nie geöffnet wurden. (Bisher existiert also noch kein Datensatz in der Tracking Tabelle)
Meine Idee war es nun, eine neue Tabelle anzulegen und beim Import eines Objekts einen Eintrag in der neuen Tabelle vorzunehmen, wenn das Objekt protokolliert werden soll. Also wenn bspw. im OnOpenForm-Trigger der besagte Code steht.
Als Ergebnis hätte man dann eine zusätzliche Tabelle, in der alle zu protokollierenden Objekte gelistet sind und man müsste nur prüfen, ob das Objekt auch in der Tracking Tabelle gelistet ist oder nicht.

Vielen Dank für die schnelle Antwort. Schade, dass das dann wohl nicht über C/AL-Code zu lösen ist. :-?

Re: CC: Welcher Code wird beim Objektimport durchlaufen?

18. März 2015 20:35

Dazu musst du den Import der Objekte von Hand machen :

Du importierst deine Objekte dazu nicht über die Oberfläche sonderst baust dir eine Codeunit, die das Ganze mit IMPORTOBJECTS nachbildet.
Wenn die Objekte in einzelnen Dateien als txt-Datei liegen, kannst du die Datei ja vor dem Import öffnen und aus den ersten 3 Zeilen der Datei den Objekttyp und Objektnamen auslesen.
Wenn mehrere Objekte in einer solchen txt-Datei sind, bleibt dir nichts anderes übrig als die ganze Datei einmal durchzulesen ....

Für fob-Dateien muss ich passen ....

Re: CC: Welcher Code wird beim Objektimport durchlaufen?

2. April 2015 12:21

Hi,
Sorry für die späte Rückmeldung. Aber schon einmal vielen Dank. Ich bin damit sehr weit gekommen. In NAV 2009 konnte ich meine Anforderung super umsetzen. Nun versuche ich das ganze auch in NAV 2013 R2 und was passiert natürlich: Die Funktion IMPORTOBJECTS wird nicht mehr unterstützt.

Hast Du zufällig für die Version auch eine Lösung? :-)

Re: CC: Welcher Code wird beim Objektimport durchlaufen?

2. April 2015 12:26

newman hat geschrieben:Hast Du zufällig für die Version auch eine Lösung? :-)

Die Lösung lautet PowerShell: http://www.waldo.be/2014/04/09/nav-2013 ... owershell/
http://www.archerpoint.com/blog/Posts/n ... ommendlets