21. August 2007 18:24
Hier spielt euch der DBMS-Cache einen Streich:
Der neue Datensatz wird nicht unbedingt sofort physikalisch in die Datenbank zurückgeschrieben, sondern verbleibt erstmal noch (bis zu einem [expliziten/impliziten] COMMIT bzw. für max. 30 Sekunden) in deinem DBMS-Cache.
Wenn er dann endlich auf dem Server angekommen ist, dann heißt es noch lange nicht, dass ein anderer User ihn auch sofort zu gesicht bekommt, denn wenn er die Tabellendaten erst vor kurzem gelesen (also vom Server abgerufen) hat, so verweigert sich Navision die Daten nochmal komplett vom Server abzurufen, da der Datenbestand ja bereits im DBMS-Cache liegt.
Aus diesem Grund gibt es für Programmierer den Befehl
SELECTLATESTVERSION, womit sichergestellt werden kann, dass der Client auf jeden Fall die Daten nochmal komplett vom Server abruft, egal, ob sie noch (recht aktuell) im DBMS-Cache liegen.
Als Anwender kann man da wirklich nur die Datenbank schließen und neu öffnen.
Da man als Programmierer dies häufiger machen muss (vor allem, wenn man an der Codeunit 1 programmiert), kenne ich die Tastatur-Sequenz schon auswendig:
[Alt], [d], [k], [s] (Datei -> Datenbank -> Schließen)
[Alt], [d], [1] (Datei -> Letzter geöffneter Mandant)
Mit ein bisschen Übung hat man diese Sequenz ganz schnell drauf