CC+RTC: Ein anderer Anwender hat den Datensatz ... geändert

4. Oktober 2012 14:28

Hallo,

ich habe folgendes Problem:

Wir übernehmen Daten aus einer externen Applikation nach NAV.
Diese Daten werden in einer Übersicht angezeigt und der Anwender hat die Möglichkeit aus diesen Daten NAV Belege zu erzeugen (Verkaufsaufträge oder Einkaufsrechnungen).

Diese Daten werden über C/Front periodisch aktualisiert.

Nun kommt es vor, dass der Anwender in der Übersicht steht, aus einem Datensatz einen Beleg erstellt und diesen anschließend eine Zeit lang in der dazugehörigen Form bearbeitet.

Schließt der Anwender nun z.B. die Einkaufsrechnungskarte und wechselt so zurück zur Übersicht wurden die Daten zwischenzeitlich aktualisiert.

Dann erhält der Anwender den Fehler "Ein anderer Anwender hat den Datensatz ... geändert".

Gibt es eine Möglichkeit diese Fehlermeldung elegant zu umgehen?
Ein CurrForm.Update(false/true) im richtigen Trigger z.B.?

Besten Dank!

MFG

Re: CC+RTC: Ein anderer Anwender hat den Datensatz ... geänd

4. Oktober 2012 15:18

Hallo,

das passiert oft in einer Page/Form, wenn Daten im Hintergrund Daten aktualisiert werden (da hilft dann "Currform.Update(false)"). Das kann aber auch passieren wenn du einen Record gelesen hast, und eine Funktion die du aufrufst ändert mit einer neuen Record- Variablen den aktuellen record. Wenn du jetzt nach der Rückkehr der Funktion mit diesem Datensatz weiter arbeiten willst, knallt es (ich bin mir nicht ganz sicher) beim MODIFY oder beim COMMIT, weil der Timestamp nicht mehr stimmt.

Hier hilft nur die Übergabe des Records als VAR an die Funktion, und sicherstellen, das der übergebene Record die korrekten Daten bei der Rückkehr enthält.

Gruß, Fiddi