Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
[Данный раздел посвящен предварительному выпуску и может быть изменен.]
В этой статье описываются советы и известные проблемы при работе с подключаемыми модулями с низким кодом в Microsoft Dataverse.
Это важно
- Мгновенные малокодовые подключаемые модули получили низкий приоритет и не предоставляются как функция. Мгновенные малокодовые подключаемые модули заменяются функциями. Дополнительные сведения: Функции в Microsoft Dataverse (предварительная версия)
- Это предварительная версия функции.
- Предварительные версии функций не предназначены для использования в производственной среде, а их функциональность может быть ограничена. Эти функции доступны до официального выпуска, чтобы клиенты могли получать ранний доступ и предоставлять отзывы.
Обработка общих проблем среды выполнения
При возникновении проблем с плагином среды выполнения перередактируйте плагин с низким кодированием. Затем проблемы IntelliSense в выражении формулы отображаются в редакторе малокодовых подключаемых модулей. Следуйте инструкциям по устранению проблемы, которые также отображаются, а затем повторно сохраните подключаемый модуль.
Используйте осторожность при использовании исправлений после операции
При выполнении малокодового подключаемого модуля может возникнуть эта ошибка при использовании Patch после операции: Execution failed for PowerPlexPlugin: System.ServiceModel.FaultException 1[Microsoft.Xrm.Sdk.OrganizationServiceFault] This low-code plugin's execution was cancelled because the plugin logic caused an infinite loop. Correct the plugin logic and try again.
Использование Patch в сценарии после операции должно выполняться с осторожностью, чтобы избежать бесконечных циклов. Операция Patch инициирует новую транзакцию. Напрмер, если триггер обновления для MyTable вызывает Patch(MyTable, ThisRecord, ...), эта операция может привести к циклу рекурсивного обновления.
Ниже приведены несколько примеров операций, которые могут избежать этой проблемы:
Patch(CurrentTable, SomeOtherRecord, ... ) // For example, updating a manager's contact from a contact record.Patch(OtherTable, SomeOtherRecord, ... ) // Operations on a completely different table.
Обработка двухминутного тайм-аута
Для операций, которые продолжаются в течение двух минут или дольше, вы можете получить эту ошибку:
Execution failed for PowerPlexPlugin: System.ServiceModel.FaultException1[Microsoft.Xrm.Sdk.OrganizationServiceFault]: Operation not allowed as plugin execution exceeded maximum allowed time (Fault Detail is equal to Exception details: limit your callbacks .. Create, Update)
При работе с подключаемыми модулями Dataverse с малым количеством кода важно эффективно управлять двухминутным временем ожидания:
- Ограничьте количество
Patchопераций иCollectопераций внутри подключаемых модулей, особенно если в этой таблице уже зарегистрированы другие подключаемые модули, что может повлиять на производительность подключаемых модулей. - Мониторинг производительности. Следите за производительностью подключаемых модулей и рассмотрите возможность использования возможностей трассировки и ведения журнала в Dataverse для отслеживания времени выполнения и сбоев. Следуя этим рекомендациям, вы можете обеспечить плавное выполнение подключаемых модулей с низким кодом в среде Dataverse без прерывания, вызванного двухминутным временем ожидания. Дополнительные сведения: трассировка и логирование
Неудачный ответ, полученный от APIM
Если вы получите это сообщение об ошибке, которое может быть возвращено из управления API (APIM), просто измените подключаемый модуль, а затем повторите попытку. Сохранение инициализирует проверку подлинности APIM, и подключаемый модуль начинает выполняться успешно.
Execution failed for PowerPlexPlugin: Failed response received from APIM; StatusCode: NotFound; ResponseContent: { "statusCode": 404, "message": "Resource not found" } Method: POST; RequestUri: https://canada-001.azure-apim.net/invoke; StatusCode: NotFound; ResponseContent: { "statusCode": 404, "message": "Resource not found" }; HeadersString: Headers - 'Access-Control-Allow-Methods': 'System.String[]'; 'Access-Control-Allow-Origin': 'System.String[]'; 'Access-Control-Max-Age': 'System.String[]'; 'Access-Control-Expose-Headers': 'System.String[]'; 'Date': 'System.String[]'; Access to APIM expires..edit and save the plugin