Błędy synchronizacji Po aktualizacji do wersji 8
Ważna informacja o wydaniu dla Anveo Client Suite 8 Release
W poprzednich wersjach Anveo Mobile App, parametr RunTrigger polecenia Anveo Script INSERT(true/false) i MODIFY(true/false) był zawsze ustawiony INSERT(TRUE) / MODIFY(TRUE) podczas przetwarzania przychodzących danych w Microsoft Dynamics, nawet z INSERT(FALSE) / MODIFY(FALSE). Ten błąd został rozwiązany z Anveo Client Suite 7/8 i nowszymi wersjami aplikacji. ACF App Events codeunit teraz poprawnie interpretuje parametr.
Ta zmiana zachowania może jednak spowodować poważne błędy w przetwarzaniu danych w istniejących instalacjach. W rezultacie, proces synchronizacji będzie pokazywał komunikaty o błędach podczas procesu synchronizacji.
Rozwiązanie 1
Szybki i prosty sposób na obejście: Zawsze ustaw domyślne zachowanie w codeunit zdarzeń aplikacji na INSERT(TRUE) / MODIFY(TRUE), nawet przy przychodzącym INSERT(FALSE) lub MODIFY(FALSE). To rozwiązanie jest łatwe do wdrożenia w krótkim czasie, ponieważ jest bardzo łatwe do wdrożenia, ale uniemożliwi deweloperom korzystanie z INSERT(FALSE) / MODIFY(FALSE) w przyszłości.
Codeunit 5327199 ACF App Events
Zmienić następujący kod:
Function OnInsertRec()
[...]
// *** INSERT RECORD TO NAV DATABASE ***
InsertSuccessful := RecRef.INSERT(NAVAction = NAVAction::CallTrigger);
[...]
Nowy kod:
// *** INSERT RECORD TO NAV DATABASE ***
InsertSuccessful := RecRef.INSERT(TRUE);
I zmienić następujący kod:
Function OnModifyRec()
[...]
// *** MODIFY NAV RECORD ***
ModifySuccessful := RecRef.MODIFY(NAVAction = NAVAction::CallTrigger);
[...]
Nowy kod:
// *** MODIFY NAV RECORD ***
ModifySuccessful := RecRef.MODIFY(TRUE);
Rozwiązanie 2
Przejdź przez istniejącą aplikację i popraw wszystkie polecenia INSERT i MODIFY do INSERT(TRUE/FALSE) / MODIFY(TRUE/FALSE).
Jeśli uruchomisz nową instalację z Anveo Client Suite 8 lub nowszą zawierającą aplikację bazową xml import, będziesz miał już wszystkie polecenia „INSERT” i „MODIFY” w odpowiednim formacie.