Compartir a través de


Consejos sobre complementos con poco código de Microsoft Dataverse y problemas conocidos (vista previa)

[Este tema es documentación preliminar y está sujeto a modificaciones.]

Este artículo describe consejos y problemas conocidos al trabajar con complementos con poco código en Microsoft Dataverse.

Importante

  • Esta es una característica en versión preliminar.
  • Las vistas previas de características no se han diseñado para un uso de producción y pueden tener una funcionalidad restringida. Estas características están disponibles antes del lanzamiento oficial para que los clientes puedan tener un acceso anticipado y proporcionar comentarios.

Gestionar problemas generales de tiempo de ejecución

Si tiene problemas con el complemento de tiempo de ejecución, vuelva a editar el complemento con poco código. Después, los problemas de Intellisense en su expresión de fórmula se muestran en el editor de complementos con poco código. Siga las pautas para corregir el problema que también se muestran y luego vuelva a guardar el complemento.

Tenga cuidado al utilizar parches post operación

La ejecución del complemento con poco código puede encontrar este error al utilizar Patch en una operación posterior: 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.

Usar Patch en un escenario posterior a la operación debe realizarse con precaución para evitar bucles infinitos. Una operación Patch inicia una nueva transacción. Por ejemplo, si un activador de actualización para MyTable invoca Patch(MyTable, ThisRecord, ...), esta operación podría resultar en un ciclo de actualización recursivo.

A continuación se muestran un par de ejemplos de operaciones que pueden evitar este problema:

  • Patch(CurrentTable, SomeOtherRecord, ... ) // For example, updating a manager's contact from a contact record.
  • Patch(OtherTable, SomeOtherRecord, ... ) // Operations on a completely different table.

Gestionar el tiempo de espera de dos minutos

Para operaciones que continúan durante dos minutos o más, puede recibir este error:

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)

Cuando se trabaja con complementos con poco código de Dataverse, es importante administrar el tiempo de espera de dos minutos de manera efectiva:

  • Limite el número de operaciones Patch y Collect dentro de sus complementos, especialmente si ya tiene otros complementos registrados en esa tabla, lo que puede afectar el rendimiento de sus complementos. .
  • Supervisar el rendimiento. Esté atento al rendimiento de sus complementos y considere utilizar capacidades de seguimiento y registro dentro de Dataverse para realizar un seguimiento de los tiempos de ejecución y los errores. Si sigue estas pautas, puede asegurarse de que sus complementos con poco código se ejecuten sin problemas dentro del entorno Dataverse sin interrupciones causadas por el tiempo de espera de dos minutos. Más información: Seguimiento y registro

Respuesta fallida recibida de APIM

Si recibe este mensaje de error, que puede ser devuelto desde la administración de API (APIM), simplemente edite el complemento y luego vuelva a guardarlo. Al guardar se inicializa la autenticación APIM y el complemento comienza a ejecutarse correctamente.

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

Consulte también

Usar complementos con poco código en Dataverse