29. Dezember 2007 23:00
Aus Platzgründen musste ich diesen Beitrag splitten.
Einige kleinere Problemstellen, die ich gefunden habe :
Seite 246: Obwohl temporäre Tabellen nur im Arbeitspeicher des Clients geladen werden, können Recordvariablen dieser Tabellen, die nicht temporär sind, in der Datenbank Datensätze löschen, ändern oder einfügen. Ein scheinbar harmloser Validate in einem Feldtrigger kann zu unbeabsichtigten Seiteneffekten führen. Dieses wird nicht erwähnt.
Seite 142/152: Die Formtrigger und Formcontroltrigger werden aufgeführt, und der Autor führt aus , dass es vermieden werden sollte , Code in diese Trigger zu schreiben. Obwohl dies in wesentlichen stimmt, wird der Neuling viel Code in Standardforms entdecken, und anfangs ziemliche Probleme die Interaktion zwischen Forms und Tabellen zu verstehen. Jede Kartenform benötigt eine Codezeile um den Filter auf dem Primärschlüssel zu entfernen, da sonst der Anwender nicht zum nächsten Datensatz wechseln kann, wenn die Kartenform aus der Übersicht aufgerufen wird. Dieses wird nicht erklärt. Anstatt Code unnötigerweise zu entfernen, sollte dieser lieber modifiziert werden, da auch der neue Objekttyp "Page", welcher mit NAV "6.0" eingeführt wird, größtenteils vergleichbare Trigger besitzen wird, es ist also ratsam, nur Funktionen in Codeunits aufzurufen, damit nicht zwei ähnliche Funktionen in zwei Objekten gewartet werden müssen.
Seite 237: Es wird nicht erwähnt, dass Endanwender ohne Application Designer Lizenz, die kleine Unternehmen meist nicht erwerben, Objekte im .txt-Format nicht importieren können. Es wird aufgeführt, dass nur erfahrene Entwickler die beiden Merge-Opitionen beim Import von .fob-Objekten verwenden sollten. Meiner Meinung nach sollte dieses unbedingt vermieden werden, es sei denn, es müssen Felder im Standardnummernbereich angelegt werden, die mit einer normalen Entwicklerlizenz nicht angelegt werden können, wenn das Objekt im .txt-Format vorliegt. Dann hat man keine Wahl, sollte aber den Code anschließend manuell nachmergen um sicherzustellen, dass kein Codebrei entstanden ist.
Seite 121: Die Beispiele für Datum und Bool für den AND Operator sind Wiederholungen für den Nicht-Gleich Operator.
Seite 301 : Einige Beispiele für die FORMAT Funktion wären hilfreich. Wenn man diese im Register sucht, findet man diese unter D (data format functions) nicht unter F.
Seite 345: Es wird aufgeführt, dass Codeunits 80/90 Buchungsblätter in Posten verarbeiten. Tatsächlich buchen diese Belege, indem sie die Daten in Buchungsblätter übertragen, die dann von Codeunits 12 (Fibu), 22 (Artikel) usw. verarbeitet werden.
Seite 439: Es wird behauptet, dass ein technisches Upgrade ein unumkehrbarer Vorgang ist. Es gibt hier aber eine Hintertür, falls dieses fehlschlägt, indem mit dem alten Client eine neue leere Datenbank aufgebaut wird, und die fbk-Datensicherung in diese Datenbank eingelesen wird. Ein volles Upgrade mit Objektänderungen dagegen, ist in der Tat ein unumkehrbarer Vorgang.
Die englische Version dieser Rezension ist hier zu finden.