Rozwiązywanie konfliktów synchronizacji z serwerem

Ten artykuł zawiera informacje pomocne w rozwiązywaniu konfliktów synchronizacji mobilnej z serwerem.

Tabela błędów synchronizacji

W przypadku wystąpienia błędu synchronizacji, system automatycznie generuje nowy wpis w tabeli Błąd synchronizacji w Dataverse. Tabela ta składa się z następujących kolumn.

Nazwa kolumny Podpis Przykład
Godzina błędu Czas utworzenia błędu. 17/5/2024 7:16 rano
Komunikat błędu Opis błędu. Entity Account With Id = <RowId> Does Not Exist
Typ błędu Typ błędu, taki jak konflikt lub błąd nie znaleziono rekordu. Nie znaleziono rekordu
Nagraj Zaktualizowany rekord w błędzie synchronizacji. Contoso
Właściciel Użytkownik, który zaktualizował rekord. John Doe
Akcja Akcja zastosowana do rekordu do synchronizacji. Zaktualizuj
Dane akcji Json zawierający ładunek akcji. {"lastname":"Contoso2"}
Zażądaj danych Json zawierający zapytanie. {"lastname":"Contoso2","syncerror__regardingentityid":<syncerrorId>,"entitylogicalname":"account"}
Kod błędu Kod błędu. -2147015424

Uwaga

Upewnij się, że rola przypisana do użytkownika przyznaje uprawnienia do odczytu w tabeli Błąd synchronizacji. Dowiedz się więcej: Tworzenie i edytowanie roli zabezpieczeń w celu zarządzania dostępem

Zalecenia dotyczące korzystania z tabeli błędów synchronizacji

Tabela Błąd synchronizacji jest standardową tabelą Dataverse. Zalecamy utworzenie aplikacji aplikacja oparta na modelu do zarządzania błędami synchronizacji.

Po uruchomieniu aplikacji opartej na modelu można zobaczyć błędy synchronizacji dla każdego użytkownika. Jeśli wybierzesz wiersz błędu synchronizacji, możesz Przywróć zmiany z paska poleceń.

Błąd synchronizacji na stronie stanu urządzenia

Błędy synchronizacji są natywnie wyświetlane na stronie Status urządzenia. Strona Stan urządzenia jest dostępna od razu w aplikacjach opartych na modelu, ale musi być skonfigurowana w aplikacji kanwy. Więcej informacji można znaleźć w sekcji Używanie szablonu offline i ikony stanu offline.

Użyj przepływu w chmurze, aby podejmować działania w przypadku błędów synchronizacji

Można utworzyć zautomatyzowany przepływ w chmurze w Power Automate przy użyciu wyzwalacza Dataverse po dodaniu, zmodyfikowaniu lub usunięciu wiersza. Przepływ może automatycznie wysłać wiadomość e-mail lub wysłać powiadomienie na urządzeniu.

Uwaga

Aby pobrać adres e-mail użytkownika w ramach przepływu, dodaj akcję Dataverse Pobierz wiersz według ID przy użyciu kolumny Właściciel wiersza Błąd synchronizacji.

Konflikty synchronizacji

Jeśli występuje niezgodność danych między klientem a serwerem, wystąpią błędy konfliktów. Domyślnie zmiany wprowadzone przez użytkownika w trybie offline są automatycznie synchronizowane z serwerem, gdy użytkownik powróci do trybu online.

Jak rozwiązywane są konflikty synchronizacji

Kiedy użytkownik wprowadza zmiany do danych w aplikacji w trybie offline, aktualizacje każdej kolumny są wypychane do Dataverse, gdy tylko sieć jest dostępna. Ostatnia aktualizacja każdej kolumny jest przechowywana w Dataverse, dzięki czemu synchronizacja nie zakończy się niepowodzeniem z powodu konfliktów zmian.

Dodatki plug-in i sprawdzanie poprawności na serwerze mogą spowodować nieprawidłowe zmiany. Te zmiany są cofane lokalnie, a w tabeli Dataverse Błędy synchronizacji jest zapisywany błąd.

Ustawienia rozwiązywania konfliktów

Ważne

Ustawienia rozwiązywania konfliktów nie mają zastosowania do aplikacji opartych na kanwie.

Jeśli aktualizacje dokonywane w trybie offline są zbyt często odrzucane, należy rozważyć zmianę ustawienia rozwiązywania konfliktów na wartość domyślną.

  1. Zaloguj się w Centrum administracyjnym Power Platform.
  2. Wybierz Środowiska w okienku nawigacji.
  3. Wybierz środowisko.
  4. Wybierz Ustawienia na pasku poleceń.
  5. Wybierz Produkt > Funkcje.
  6. W sekcji Zaawansowane ustawienia mobilnej synchronizacji offline dla aplikacji opartych na modelu wyłącz opcję Włącz wykrywanie konfliktów dla mobilnej synchronizacji offline.

Uwaga

Gdy ta opcja jest włączona (niezalecane), aktualizacje na serwerze mogą uniemożliwić zastosowanie aktualizacji klienta. Błędy konfliktu muszą być rozwiązywane ręcznie.