Bodo's Dynamics NAV Blog

Bodo ist ein Dynamics NAV Urgestein. Er programmiert NAV seit DOS Zeiten und hat auch keine Scheu vor .NET und schon gar nicht vor Dynamics 365 oder Azure. Viele Neueinsteiger wurden von ihm in den letzten Jahren zu NAV Entwicklern ausgebildet.

In diesem Blog veröffentlichen Bodo und andere Superhelden Interessantes aus der Welt von Dynamics NAV, Dynamics 365 und Azure.

NAV 2009 und die Frage, warum die Anzahl der Inforegister PAGE.RUNMODAL beeinflusst

Verfasst von Bodo am Montag, 18. April 2011

Tags: inforegister, page, runmodal, rtc

Heute habe ich mich über einen Bug in NAV 2009 R2 geärgert, den ich an dieser Stelle nicht undokumentiert lassen möchte. Der Aufruf einer einfachen Card Page mit PAGE.RUNMODAL hat mich fast an den Rand der Verzweiflung gebracht.

Für das folgende Beispiel habe ich die Tabelle „Country/Region“ genommen und eine schlichte Card Page „Country Card Sample 1“ gebaut:

Wenn Sie diese Page mit PAGE.RUN(PAGE::“Country Card Sample 1“) starten, wird es niemanden überraschen, dass das Ergebnis wie folgt aussieht:

Starten Sie die gleiche Page mit PAGE.RUNMODAL(PAGE::“Country Card Sample 1“) sollte man sich nicht über das automatische Auftauchen der Schaltflächen „Ok“ und „Abbrechen“ wundern. Das ist ja die Idee von „RUNMODAL“. Wundern sollte man sich aber über das Verschwinden des Inforegisters „Allgemein“:

Wohin ist das Inforegister verschwunden? Man weiß es nicht. Nach der Verschwendung von einigen Stunden Lebenszeit kam mir die Idee, ob das Verschwinden nicht etwas mit der Anzahl der Inforegister zu tun hat. Und tatsächlich. Wenn Sie ein zweites Inforegister „Details“ einbauen, bleiben die Inforegister auch bei einem Aufruf mit PAGE.RUNMODAL erhalten. Siehe dazu das zweite Beispiel „Country Card Sample 2“:

Aufruf mit PAGE.RUNMODAL(PAGE::“Country Card Sample 2“). Alles in Ordnung:

Fazit. Es gibt Diebe, die nicht bestraft werden und dem Menschen doch das Kostbarste stehlen: Die Zeit. (Napoleon Bonaparte, 1769 1821)



Kontakt

Comporsys Hansa GmbH
Spitzerdorfstr. 3
22880 Wedel, Deutschland

Tel. +49 (0)4103 12117 - 0
Fax +49 (0)4103 12117 - 29
E-Mail: info@comporsys.de