Usar acciones de proceso personalizadas con código
Las acciones de proceso personalizadas, también conocidas como Acciones personalizadas, son una de las dos formas de crear mensajes personalizados para Microsoft Dataverse. La otra es API personalizadas. Más información: Crear y usar API personalizadas.
Ambas capacidades permiten crear nuevos mensajes que se pueden llamar desde servicios web. Las acciones de proceso personalizadas seguirán proporcionando una forma sin código para definir de forma declarativa la lógica empresarial síncrona. Las acciones de proceso personalizadas siempre han sido flujos de trabajo síncronos en "tiempo real" y, por lo tanto, no son aptas para su conversión para usarse en Power Automate.
Para obtener una comparación de las capacidades de las de las acciones del proceso personalizado y las API personalizadas, consulte Comparar la acción del proceso personalizado y la API personalizada.
La lógica de negocios de una acción de proceso personalizada se implementa mediante un flujo de trabajo. Cuando crea una acción de proceso personalizada, el flujo de trabajo asociado en tiempo real se registra automáticamente para ejecutarse en la fase de la operación principal de la canalización de ejecuciones de mensaje.
Para los desarrolladores, la creación de un nuevo mensaje significa que puede usar el mensaje en código con la API web o el SDK para .NET.
- Con la API web, los nuevos mensajes creados con Acciones de proceso personalizadas son siempre acciones de OData. Para obtener información sobre cómo llamar a acciones mediante la API web, consulte Usar acciones de API web.
- Las acciones de proceso personalizadas se pueden utilizar en JavaScript del lado del cliente en aplicaciones basadas en modelos mediante el uso del Método Xrm.WebApi.online.execute.
- Con el SDK para .NET, los mensajes se pueden llamar genéricamente en un estilo de enlazado tardío utilizando la clase OrganizationRequest o mediante el uso de clases de respuesta y solicitud de enlazado anticipado generados por el comando de Power Platform CLI pac modelbuilder build.
Para obtener información sobre cómo crear una acción de proceso personalizada con el diseñador de flujo de trabajo, consulte: Crea una acción de proceso personalizada
Ampliar acciones de proceso personalizadas
Hay dos formas de ampliar las acciones de proceso personalizadas mediante código: con actividades de flujo de trabajo personalizadas o registrando complementos en las etapas.
Actividades personalizadas del flujo de trabajo
Dado que una acción de proceso personalizada es un flujo de trabajo, puede incluir actividades de flujo de trabajo personalizadas reutilizables en la definición de flujo de trabajo como parte del flujo de trabajo. Más información: Extensiones de flujo de trabajo
Registre los pasos de los complementos para definir fases en la canalización de ejecución
Dado que una acción de proceso personalizada crea un mensaje, puede registrar los pasos de los complementos en las etapas PreValidation
, PreOperation
y PostOperation
para modificar el comportamiento de la Acción del proceso personalizada. Los desarrolladores han utilizado esto para definir toda la lógica del mensaje, y con frecuencia no definen ninguna lógica en absoluto. La función de API personalizada simplifica este patrón de código primero y proporciona otras capacidades que no son posibles con las actividades de flujo de trabajo personalizadas.
Sugerencia
Si ha estado utilizando acciones de proceso personalizadas únicamente para implementar la lógica mediante complementos, considere la posibilidad de utilizar la API personalizada en su lugar. Más información: Crear y usar API personalizadas
El mensaje para una acción de proceso personalizada solo está disponible con el flujo de trabajo que define activado. No puede registrar pasos de complemento para una acción de proceso personalizada que no está activa.
Si registra algún paso de complemento en una Acción de proceso personalizada, se establecerá una dependencia en la solución que evitará eliminar la Acción de proceso personalizada.
Permisos requeridos
Se requiere un privilegio de seguridad denominado Activar procesos en tiempo real (prvActivateSynchronousWorkflow
) para activar el flujo de trabajo en tiempo real de una acción para que pueda ejecutarse. Este privilegio es además de los privilegios necesarios para crear un flujo de trabajo.
Observar las acciones de ejecución prolongada
Si uno de los pasos del flujo de trabajo en tiempo real de la acción es una actividad de flujo de trabajo personalizada, dicha actividad de flujo de trabajo personalizada se ejecuta dentro del entorno aislado de tiempo de ejecución en el espacio aislado y estará sujeta al límite de tiempo de espera de dos minutos, de forma similar al modo en que se administran los complementos. Sin embargo, no hay restricciones específicas en cuanto a la cantidad de tiempo total que la acción en sí puede tardar. Esta ausencia de restricciones no es una ventaja. El flujo de trabajo no puede ejecutarse indefinidamente. Eventualmente fallará por varias razones. Por ejemplo, si la acción participa en una transacción en la que está habilitada la reversión, se aplicarán los tiempos de espera de SQL Server. Asegúrese de que las acciones de su proceso personalizado puedan completarse con un claro éxito o fracaso en un período de tiempo razonable. Todo lo que supere los 2 minutos probablemente sea demasiado.
Las plataforma de Depth existentes comprueba para asegurarse que no se produce un bucle infinito. Para obtener más información sobre límites de profundidad, vea MaxDepth.
Sugerencia
Una de las prácticas recomendadas consiste en ejecutar las operaciones de ejecución de larga duración por fuera de Dataverse utilizando Power Automate, Logic Apps u otras capacidades ofrecidas por Azure.
Consultar también
Creación de una acción de proceso personalizada
Usar acciones
Flujos de trabajo clásicos de Dataverse
Nota
¿Puede indicarnos sus preferencias de idioma de documentación? Realice una breve encuesta. (tenga en cuenta que esta encuesta está en inglés)
La encuesta durará unos siete minutos. No se recopilan datos personales (declaración de privacidad).