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:
1 2 3 4 5 |
Function OnInsertRec() [...] // *** INSERT RECORD TO NAV DATABASE *** InsertSuccessful := RecRef.INSERT(NAVAction = NAVAction::CallTrigger); [...] |
Nowy kod:
1 2 |
// *** INSERT RECORD TO NAV DATABASE *** InsertSuccessful := RecRef.INSERT(TRUE); |
I zmienić następujący kod:
1 2 3 4 5 |
Function OnModifyRec() [...] // *** MODIFY NAV RECORD *** ModifySuccessful := RecRef.MODIFY(NAVAction = NAVAction::CallTrigger); [...] |
Nowy kod:
1 2 |
// *** 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.