17. November 2020 17:05
Bei der Beleggenehmigung einer Einkaufsbestellung erhalten die Anwender sporadisch die Meldung "Der Typ wird nicht unterstützt".
Der Debugger bleibt in der Codeunit 1503 in der Funktion BackupRecord auf dem ERROR (2. Zeile) stehen, weil der übergebene Variant keine Record-Variable darstellt (sondern einen RecordRef).
Verfolge ich die Aufruf-Kette zurück, dann stelle ich folgendes fest:
1. Der Prozess beginnt mit einem Record zur Tabelle 38 Purchase Header.
2. Aus diesem Record wird durch den NAV-Workflow ein Variant, welcher von nun an weitergereicht wird.
3. Zwischendurch wird von diesem Variant (Typ Record) ein RecRef gezogen.
4. In der Funktion ExecuteQueuedEvents wird anstelle des Variant der gezogene RecRef weitergereicht
5. Der Variant (jetzt vom Typ RecordRef) entspricht nicht dem Typ Record und es wird der ERROR geworfen.
Ein Blick in den Programmcode unter BC14 CU06 zeigt, dass in der Funktion ExecuteQueuedEvents der Codeunit 1501 immer noch der RecRef weitergereicht wird und in der Funktion BackupRecord der Codeunit 1503 der übergebene Variant immer noch vom Typ Record sein muss.
Habe ich hier gerade einen Bug im NAV-Standard entdeckt?
Wurde dies in einem neueren CU bereits behoben, und wenn ja, wie?
Wurde die Funktion ExecuteQueuedEvents der CU1501 oder die Funktion BackupRecord der CU1503 geändert?
Screenshot.png
Screenshot.png
Kann es sein, dass die Lösung wirklich so nah liegt?
Screenshot.png
Zur Info: Es handelt sich um NAV2017 CU 05. Im Bereich des NAV-Standard-Workflow gibt es absolut keine Anpassungen, weder von uns, noch von Drittanbietern.
Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.