Устранение конфликтов синхронизации с сервером

В этой статье представлена информация, которая поможет вам разрешить конфликты синхронизации мобильных устройств с сервером.

Таблица ошибок синхронизации

В случае ошибки синхронизации система автоматически создает новую запись в таблице Ошибка синхронизации внутри Dataverse. Эта таблица структурирована по следующим столбцам.

Имя столбца Description Пример
Время ошибки Время, когда была создана ошибка. 17.5.2024 7:16
Сообщение Описание ошибки. Entity Account With Id = <RowId> Does Not Exist
Тип ошибки Тип ошибки, например конфликт или ошибка «запись не найдена». Запись не найдена
Запись Обновляемая запись при ошибке синхронизации. Contoso
Ответственное лицо Пользователь, обновивший запись. John Doe
Действие Действие, примененное к записи для синхронизации. Обновить
Данные действия JSON, содержащий полезные данные действия. {"lastname":"Contoso2"}
Данные запроса JSON, содержащий запрос. {"lastname":"Contoso2","syncerror__regardingentityid":<syncerrorId>,"entitylogicalname":"account"}
Код ошибки Код ошибки. -2147015424

Примечание

Убедитесь, что роль, назначенная пользователю, предоставляет права чтения в таблице Ошибка синхронизации. Подробнее: Создание или изменение роли безопасности для управления доступом

Рекомендации по использованию таблицы ошибок синхронизации

Таблица Ошибка синхронизации является стандартной таблицей Dataverse. Мы рекомендуем вам создать приложение на основе модели для управления ошибками синхронизации.

Если вы запустите приложение на основе модели, вы увидите ошибки синхронизации каждого пользователя. Если вы выберете строку ошибки синхронизации, вы сможете Повторить попытку внести изменения на панели команд.

Ошибка синхронизации на странице состояния устройства

Ошибки синхронизации автоматически отображаются на странице Состояние устройства. Страница состояния устройства доступна из коробки в приложениях на основе моделей, но ее необходимо настроить в приложении Canvas. Дополнительную информацию см. в разделе Использование шаблона «Автономный режим» и значка статуса автономного режима.

Используйте облачный поток для принятия мер при ошибках синхронизации

Вы можете создать автоматический облачный поток в Power Automate, используя триггер Dataverse , когда строка добавляется, изменяется или удаляется. Поток может автоматически отправлять электронное письмо или отправлять уведомление на устройство.

Примечание

Чтобы получить адрес электронной почты пользователя в потоке, добавьте действие Dataverse Получить строку по идентификатору, используя столбец Владелец строки Ошибка синхронизации.

Конфликт синхронизации

Когда имеется несоответствие данных между клиентом и сервером, возникает ошибка конфликта. По умолчанию изменения, внесенные пользователем в автономном режиме, автоматически синхронизируются с сервером, когда пользователь снова подключается к сети.

Как разрешаются конфликты синхронизации

Когда пользователь вносит изменения в данные в автономном приложении, обновления каждого столбца передаются обратно в Dataverse как только сеть станет доступна. Последнее обновление каждого столбца сохраняется в Dataverse, поэтому эта синхронизация не завершится сбоем из-за конфликтующих изменений.

Серверные подключаемые модули и проверка могут сделать изменения недействительными. Эти изменения отменяются локально, и в таблицу Dataverse Ошибки синхронизации записывается ошибка.

Параметры разрешения конфликтов

Важно!

Параметры разрешения конфликтов не применяются к приложениям на основе холста.

Если обновления, сделанные в автономном режиме, отклоняются слишком часто, рассмотрите возможность изменения параметра разрешения конфликтов на значение по умолчанию.

  1. Войдите в центр администрирования Power Platform.
  2. В области навигации выберите Среды.
  3. Выберите среду.
  4. На панели команд выберите Параметры.
  5. Выберите Продукт > Функции.
  6. В разделе Дополнительные параметры Mobile Offline для приложений на основе модели выключите параметр Включить определение конфликтов для синхронизации Mobile Offline.

Примечание

Если этот параметр включен (не рекомендуется), обновления на сервере могут препятствовать применению обновлений клиента. Ошибки конфликтов необходимо разрешать вручную.