Błędy synchronizacji po aktualizacji do wersji 8
Ważna informacja o wydaniu dla Anveo Client Suite 8 Release
W poprzednich wersjach Anveo Client Suite (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.
Jednak ta zmiana zachowania może spowodować poważne błędy w przetwarzaniu danych w istniejących instalacjach. W rezultacie, proces synchronizacji → pokaże 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
Funkcja OnInsertRec()
Zmienić poniższy kod:
[…]
// *** INSERT RECORD TO NAV DATABASE ***
InsertSuccessful := RecRef.INSERT(NAVAction = NAVAction::CallTrigger);
[…]
Do nowego kodu:
// *** INSERT RECORD TO NAV DATABASE ***;
InsertSuccessful := RecRef.INSERT(TRUE);
Funkcja OnModifyRec()
Zmienić poniższy kod:
[…]
// *** MODIFY NAV RECORD ***
ModifySuccessful := RecRef.MODIFY(NAVAction = NAVAction::CallTrigger);
[…]
Do nowego kodu:
// *** 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 wraz z aplikacją bazową xml import, będziesz miał już wszystkie polecenia INSERT i MODIFY w odpowiednim formacie.