Коды ошибок для проверки работоспособности сопоставлений таблиц
В этой статье описываются коды ошибок для проверки работоспособности сопоставлений таблиц.
Ошибка 100
Сообщение об ошибке — "Минимальная требуемая версия платформы управления финансами и операциями — PU 43 для выполнения рекомендаций по управлению финансами и операциями".
Для этой функции требуются обновления платформы до версий 10.0.19 или более поздних версий приложений для управления финансами и операциями.
Ошибка 400
Сообщение об ошибке: "Не найдены данные регистрации бизнес-событий для объекта {finance and operations UniqueEntityName}, что означает, что либо сопоставление не выполняется, либо все сопоставления полей являются однонаправленными".
Ошибка 500
Сообщение об ошибке "Не найдены конфигурации проектов для {имени проекта}. Либо проект не включен, либо все сопоставления полей являются однонаправленными: взаимодействие с клиентами по управлению финансами и операциями".
Проверка сопоставлений для сопоставления таблицы. Если сопоставления являются однонаправленными (из приложений для взаимодействия с клиентами в приложения для управления финансами и операциями), то для синхронизации в реальном времени в направлении "от приложений для управления финансами и операциями к Dataverse" трафик создаваться не будет.
Ошибка 900
Сообщение об ошибке "Недопустимый формат исходного фильтра {sourceFilter} для объекта {finance and operations UniqueEntityName}".
Неправильный синтаксис фильтра источника, указанного в сопоставлении таблиц для приложений для управления финансами и операциями. Сведения о проверке критериев фильтрации см. в разделе Устранение неполадок с синхронизацией в режиме реального времени.
Ошибка 1000
Сообщение об ошибке — "Запрос объекта {finance and operations UniqueEntityName}, используемый для реальной синхронизации с двойной записью, представляет собой {finance and operations EntityFilterQueryString}. Записи, которые удовлетворяют критериям запроса, будут отобраны для синхронизации в реальном времени".
Возвращенный запрос объекта является резервным SQL-запросом для объекта. Проверка на предмет внутренних объединений или фильтров в запросе, которые определяют бизнес-данные, отобранные для синхронизации в реальном времени. Внутренние соединения и фильтры являются обязательными условиями, которые должны быть выполнены для каждой записи, которая выбирается для синхронизации двойной записью в реальном времени.
Ошибка 1300
Сообщение об ошибке "Виртуальные поля {s.EntityFieldName} для объекта {finance and operations EntityMetadata.EntityProperties.LogicalEntityName} не могут отслеживаться для двойной записи".
Виртуальные поля из таблиц для управления финансами и операциями не включены для отслеживания. Синхронизация в реальном времени может синхронизировать данные, но не может получить изменения, внесенные в столбцы.
Ошибка 1500
Сообщение об ошибке "Должно быть, по крайней мере, одно поле, сопоставленное с полем, отличным от поля подстановки, во взаимодействии с клиентом, чтобы включить отслеживание источника данных {datasource.DataSourceName}".
Источник данных из объекта не имеет поля, сопоставленного для двойной записи. Изменения в базовой таблице не отслеживаются для двойной записей.
Ошибка 1600
Сообщение об ошибке "Источник данных: {datasource.DataSourceName} для объекта {finance and operations EntityMetadata.EntityProperties.LogicalEntityName} имеет диапазон. Для исходящих выбираются только записи, которые соответствуют условию диапазона".
Сущности в приложениях для управления финансами и операциями могут иметь источники данных, в которых разрешены диапазоны фильтрации. Эти диапазоны определяют записи, которые выбираются в процессе синхронизации. Если некоторые записи из приложений для управления финансами и операциями в Dataverse пропускаются, проверьте, удовлетворяют ли записи критериям диапазона для данной сущности. Простой способ выполнения этой проверки состоит в выполнении SQL-запроса, который напоминает следующий пример.
select * from <EntityName> where <filter criteria for the records> on SQL.
Ошибка 1700
Сообщение об ошибке "Таблица: {datasourceTable.Key.subscribedTableName} для сущности {datasourceTable.Key.entityName} отслеживается для сущности {origTableToEntityMaps.EntityName}. Одни и те же таблицы, отслеживаемые для нескольких объектов, могут повлиять на производительность системы для проводок в синхронизации в реальном времени".
Если отслеживание одной и той же таблицы выполняется несколькими объектами, любое изменение таблицы приведет к проверке двойной записи для связанных объектов. Несмотря на то что предложения фильтра будут отправлять только действительные записи, вычисление может привести к снижению производительности, если имеются запросы с большим количеством запросов или неоптимизированные планы запросов. Эта проблема может быть неустранимой с точки зрения бизнеса. Однако если между несколькими объектами имеется много пересекающихся таблиц, следует рассмотреть возможность упрощения объекта или проверки оптимизации запросов объектов.
Ошибка 1800
Сообщение об ошибке: "Источник данных : {} для объекта CustCustomerV3Entity включает значение диапазона. Значения диапазона в сущности могут влиять на обновления или вставки входящих записей из Dataverse в приложения для управления финансами и операциями. Протестируйте обновления записей в направлении из Dataverse в приложения для управления финансами и операциями, используя записи, которые не соответствуют критериям фильтра, чтобы проверить ваши настройки."
Если в объекте в приложениях для управления финансами и операциями указан диапазон, необходимо протестировать входящую синхронизацию в направлении из Dataverse в приложения для управления финансами и операциями на предмет поведения обновления для записей, которые не соответствуют этому критерию диапазона. Любая запись, не соответствующая диапазону, рассматривается объектом как операция вставки. Если в базовой таблице имеется запись, вставка завершится с ошибкой. Рекомендуется протестировать этот вариант использования для всех сценариев перед развертыванием в производство.
Ошибка 1900
Сообщение об ошибке: "Объект: имеет источники данных ({}), которые не отслеживаются для исходящей двойной записи. Это может повлиять на производительность запросов синхронизации в режиме реального времени. Переделайте сущность в приложениях для управления финансами и операциями, удалив неиспользуемые источники данных и таблицы, либо примените метод getEntityRecordIdsImpactedByTableChange для оптимизации запросов во время выполнения."
Если имеется много источников данных, которые не используются для отслеживания при фактической синхронизации в реальном времени в направлении из приложений для управления финансами и операциями, существует вероятность того, что производительность объекта может повлиять на синхронизацию в реальном времени. Чтобы оптимизировать отслеживаемые таблицы, используйте метод getEntityRecordIdsImpactedByTableChange.
Ошибка 5000
Сообщение об ошибке: "Синхронные подключаемые модули зарегистрированы для событий управления данными для счетов объекта. Это может повлиять на производительность первоначальной синхронизации и импорт с синхронизацией в режиме реального времени в направлении в Dataverse. Для достижения лучшей производительности переключите подключаемые модули в режим асинхронной обработки. Список зарегистрированных подключаемых модулей {}."
Синхронные подключаемые модули в объекте Dataverse могут влиять на производительность синхронизации в реальном времени и первоначальной синхронизации, так как они представляют дополнительную транзакционную нагрузку. Рекомендуемый подход заключается в том, чтобы либо отключить подключаемые модули, либо сделать эти подключаемые модули асинхронными, если для определенного объекта наблюдается замедленное выполнение первоначальной синхронизации или синхронизации в реальном времени.