Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
[Este tema es documentación preliminar y está sujeto a modificaciones.]
En este artículo se describen sugerencias y problemas conocidos al trabajar con complementos de poco código en Microsoft Dataverse.
Importante
- Los complementos instantáneos de código bajo se desprioritizan y no se entregan como una característica. Los complementos instantáneos de código bajo se reemplazan por funciones. Más información: Funciones en Microsoft Dataverse (versión preliminar)
- Se trata de una característica en versión preliminar.
- Las características en vista previa no se han diseñado para un uso de producción y pueden tener una funcionalidad restringida. Estas características están disponibles antes de una versión oficial para que los clientes puedan obtener acceso anticipado y proporcionar comentarios.
Control de problemas generales en tiempo de ejecución
Si tiene problemas con el complemento en tiempo de ejecución, vuelva a editar el complemento de 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 usar el parcheo post-operativo
La ejecución del complemento de código bajo podría encontrarse con este error al usar 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.
El uso Patch de en un escenario posterior a la operación debe realizarse con precaución para evitar bucles infinitos. Una Patch operación inicia una nueva transacción. Por ejemplo, si un desencadenador de actualización para MyTable invoca Patch(MyTable, ThisRecord, ...), esta operación podría dar lugar a un ciclo de actualización recursivo.
Estos son 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 las 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)
Al trabajar con complementos de código bajo de Dataverse, es importante administrar el tiempo de espera de dos minutos de forma eficaz:
- Limite el número de operaciones de
PatchyCollectdentro de los complementos, especialmente si ya tiene otros complementos registrados contra dicha tabla, lo que puede afectar al rendimiento de los complementos. - Supervisar el rendimiento. Tenga en cuenta el rendimiento de los complementos y considere la posibilidad de usar las funcionalidades de seguimiento y registro de Dataverse para realizar un seguimiento de los tiempos de ejecución y los errores. Siguiendo estas instrucciones, puede asegurarse de que los complementos de poco código se ejecuten sin problemas en el entorno de Dataverse sin interrupciones causados por el tiempo de espera de dos minutos. Más información: Seguimiento y registro
Respuesta errónea 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 inicializa la autenticación de 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