Anveo Web Portal / Installation / Geschäftslogik in Tabellen
This is an automatic translation. The original post is available in Englisch.

Geschäftslogik in Tabellen

Aufgrund der technischen Struktur der Veröffentlichung von Tabellen über Anveo Pages ist es notwendig, dass sich die gesamte Geschäftslogik innerhalb von Tabellen und Codeunits befindet – nicht in Formularen/Seiten. Konzeptionell ist dies von Anfang an sauberer, da sich eine Tabelle auf strukturelle Konsistenzen prüfen muss, weil Codeunits für die Arbeit mit Geschäftsprozessen vorgesehen sind und weil Formulare/Seiten lediglich Input/Output mit dem Anwendungsbenutzer darstellen.

Daher ist bei der Veröffentlichung einer Tabelle zu prüfen, ob sich Berechnungen oder Tests im Gegenstück – dem Formular/Seite im Microsoft Dynamics NAV 2015 Client – befinden, die in die Tabelle verschoben werden sollen.

xRec und CurrFieldNo

xRec wird in zahlreichen Tabellenfunktionen innerhalb von Microsoft Dynamics NAV 2015 verwendet und stellt den Datensatz vor einer Änderung dar. xRec kann in einem OnValidate Trigger verwendet werden, um zu testen, ob sich ein Feld tatsächlich geändert hat, z.B. im OnValidate Trigger für die Tabelle Customer.

Quellcode von OnValidate Trigger des Feldes Nr. innerhalb der Tabelle Kunde

xRec ist jedoch nur verfügbar, wenn eine Eingabe über ein Formular/Seite erfolgt. Das Fehlen von xRec bei Funktionen innerhalb von Tabellen und Codeunits ist eine Einschränkung von Microsoft Dynamics NAV 2015, die bei der Verwendung des Microsoft Dynamics NAV 2015 Client nicht auffällt, da die Daten ausschließlich über Formulare und Seiten dort verändert werden und diese Seiten xRec automatisch anbieten. Ohne den xRec funktioniert der oben gezeigte Code nicht richtig.

Die Anveo Client Suite stellt die Funktion GetxRec in der Codeunit ACF Management zur Verfügung, so dass die Anveo Client Suite auch die xRec und CurrFieldNo korrekt setzt. In der Kernanwendung Anveo Client Framework gibt es eine Vorlage für die GetxRec-Funktion und Beispielcode für die korrekte Aktivierung. Gehen Sie wie im Folgenden dargestellt vor, damit Ihnen die xRec und CurrFieldNo für Ihre Tabellen zur Verfügung stehen:

  • Legen Sie in Ihrer Tabelle die Funktion GetxRec mit folgenden Parametern an:
  • Fügen Sie der Funktion GetxRec den folgenden Code hinzu:
  • Fügen Sie den folgenden Code am Anfang aller Tabellen-Trigger hinzu, die die xRec oder CurrFieldNo verwenden:

Die Ausführung des Codes ist kompatibel mit dem Classic, Role Tailored Client und dem Windows Client von Microsoft Dynamics NAV. Da der Code auf allen Clients läuft, ist keine separate Fallunterscheidung erforderlich. Der Aufruf dieser Funktion kann von jeder Tabelle im System beliebig oft durchgeführt werden, nur der erste Aufruf über die Anveo Client Suite liefert entsprechend xRec und CurrFieldNo.