Creación de una acción de proceso personalizada

Use acciones de proceso personalizadas cuando quiera automatizar una serie de comandos en el sistema. Las acciones de proceso personalizadas expanden el vocabulario disponible para que los desarrolladores expresen procesos de negocio. Una acción de proceso personalizada usa verbos básicos proporcionados por el sistema, como Crear, Actualizar, Eliminar y Asignar, para crear verbos más expresivos como Aprobar, Escalar, Distribuir o Programar. Si la definición de un proceso de negocio cambia, los usuarios que no son programadores pueden editar la acción de proceso personalizada para que el código no se tenga que cambiar.

Nota

Si tiene la intención de escribir un complemento para implementar su lógica para una acción de proceso personalizada en lugar de usar el diseñador de flujo de trabajo, debe usar la API personalizada en su lugar. Más información: Comparar la acción del proceso personalizada y la API personalizada

Creación de una acción de proceso personalizada

Importante

Si está creando una acción de proceso personalizada para incluirla como parte de una solución que se va a distribuir, créela en el contexto de la solución. Vaya a Configuración > Soluciones y busque la solución no administrada de la que formará parte esta acción. A continuación, en la barra de menú, seleccione Nuevo > Proceso. De este modo se asegura que el prefijo de personalización asociado con el nombre de la acción será coherente con otros componentes de la solución. Después de crear la acción, no puede cambiar el prefijo.

Como los procesos de flujo de trabajo, las acciones de proceso personalizadas tienen las siguientes propiedades en el cuadro de diálogo Crear proceso:

  • Nombre del proceso

    Tras escribir el nombre del proceso, se creará un nombre único para él quitando espacios o caracteres especiales del nombre del proceso.

  • Categoría

    Esta propiedad establece que se trata de un proceso de acción. No se puede cambiar una vez guardado el proceso.

  • Tabla

    Con los procesos de acciones, puede seleccionar una tabla para proporcionar contexto para el flujo de trabajo igual que con otros tipos de procesos, pero también tiene la opción de elegir Ninguno (global). Puede usar esta posibilidad si su acción no requiere el contexto de una tabla específica. No se puede cambiar una vez guardado el proceso.

  • Tipo

    Use esta propiedad para elegir entre crear una nueva acción de proceso personalizada desde cero o partir de una plantilla existente.

A diferencia de los procesos de flujo de trabajo, no es necesario configurar las siguientes opciones:

  • Iniciar al: las acciones se inician si el código llama al mensaje generado para ellas.

  • Ámbito: las acciones se ejecutan siempre en el contexto del usuario que llama.

  • Ejecutar en segundo plano: las acciones son siempre flujos de trabajo en tiempo real.

Las acciones de proceso personalizadas también tienen algo que los procesos de flujo de trabajo no tienen: argumentos de entrada y salida.

Nota

Puede habilitar una acción de proceso personalizada a partir de un flujo de trabajo sin escribir código. Más información: Invocación de acciones de proceso personalizadas desde un flujo de trabajo

Edición de una acción de proceso personalizada

Debe desactivar las acciones de proceso personalizadas para poder modificarlas.

Puede editar una acción de proceso personalizada que se creó como parte de una solución no administrada o se incluyó en una solución instalada en la organización. Si la solución es una solución administrada, es posible que no pueda editarla. El editor de soluciones puede modificar las propiedades administradas para que la acción instalada con una solución administrada no se pueda editar.

Cuando se guarda una acción, se genera un nombre único basándose en el nombre del proceso. Este nombre único tiene el prefijo de personalización agregado desde el editor de soluciones. Este es el nombre del mensaje que el desarrollador usará en el código.

Al editar una acción, tiene las siguientes opciones:

  • Nombre del proceso

    Una vez creado el proceso y generado el nombre único a partir del nombre del proceso, puede modificar el nombre del proceso. Es posible que quiera implementar una convención de nomenclatura para que sea más fácil encontrar procesos específicos.

  • Nombre único

    Cuando se guarda una acción, se genera un nombre único basándose en el nombre del proceso. Este nombre único tiene el prefijo de personalización de editor de soluciones agregado. Este es el nombre del mensaje que un desarrollador usará en el código. No cambie este nombre único si el proceso se ha activado y el código existe en espera de llamar a la acción con este nombre.

    Importante

    Una vez activada la acción y el código está escrito para usar un nombre único, el nombre único no se debe cambiar sin cambiar también el código que le hace referencia.

  • Habilitar reversión

    Generalmente, los procesos que admiten transacciones "desharán" (o revertirán) la operación completa si alguna parte falla. Hay algunas excepciones a esto. Algunas acciones que los desarrolladores pueden hacer en el código iniciado por la acción de proceso personalizada podrían no ser compatibles con las transacciones. Por ejemplo, si el código realiza acciones en otros sistemas que estén fuera del ámbito de la transacción. Estas pueden revertirse ejecutando la acción en una aplicación. Algunos mensajes de la plataforma no admiten transacciones. No obstante, todo lo que puede realizar con la interfaz de usuario de la acción admitirá transacciones. Todas las acciones que forman parte de un flujo de trabajo en tiempo real se consideran en la transacción, pero con las acciones tiene la opción de descartar esto.

    Debería consultar con el programador que usará este mensaje para determinar si debe estar en la transacción o no. Normalmente, una acción debe estar en la transacción si las acciones realizadas por el proceso de negocio no tienen sentido, a menos que todas se completen correctamente. El ejemplo clásico consiste en transferir fondos entre dos cuentas bancarias. Si se retiran fondos de una cuenta debe depositarlos en la otra. Si una acción falla, deben fallar ambas.

    Nota

    No puede habilitar la reversión si una acción de proceso personalizada se invoca directamente desde un flujo de trabajo. Puede habilitar la reversión si una acción se desencadena por un mensaje de servicios web de Power Apps.

  • Activar como

    Como todos los procesos, puede activar el proceso como una plantilla y usarlo como punto de partida avanzado para los procesos que sigan un modelo similar.

  • Definir argumentos de procesos

    En esta área, especificará los datos que la acción prevé iniciar y los datos que se omitirán de la acción. Más información: Definición de argumentos de proceso

  • Agregar fases y pasos

    Como otros procesos, especifique las acciones que se van a realizar y cuándo. Más información: Agregar fases y pasos

Definir argumentos de procesos

Cuando los desarrolladores usan mensajes, podría empezar con algunos datos que se pueden transferir al mensaje. Por ejemplo, para crear una nueva fila de caso, puede ser el valor de título de caso que se transfiere como el argumento de entrada.

Cuando finalice el mensaje, el desarollador podría necesitar pasar algunos datos que han cambiado o que se han generado mediante el mensaje para otra operación en su código. Estos datos son el argumento de salida.

Los argumentos de entrada y de salida deben tener un nombre, un tipo y determinada información sobre si el argumento siempre es obligatorio. También puede proporcionar una descripción.

El nombre del mensaje y la información de todos los argumentos de proceso representan la firma del mensaje. Después de activar una acción de proceso personalizada y de empezarla a usar en código, la firma no debe cambiar. Si esta firma cambia, cualquier código que use el mensaje generará un error. La única excepción a esto sería cambiar uno de los parámetros para que no sea siempre obligatorio.

Puede cambiar el orden de los argumentos clasificándolos o moviéndolos arriba o abajo porque los argumentos se identifican por el nombre, no por el orden. Además, el cambio de la descripción no interrumpirá el código que utiliza el mensaje.

Tipos de argumento de proceso de acción

La siguiente tabla describe los tipos de argumento de proceso de acción.

Tipo Descripción
Boolean Un valor true o false.
DateTime Un valor que almacena la información de fecha y hora.
Decimal Un valor numérico con precisión decimal. Se usa cuando la precisión es extremadamente importante.
Tabla Una fila para la tabla especificada. Al seleccionar la tabla, la lista desplegable se activa y le permite seleccionar el tipo de tabla.
entityCollection Colección de filas de tabla.
entityReference Un objeto que contiene el nombre, el identificador y el tipo de fila de tabla que lo identifica de forma única. Al seleccionar entityReference, la lista desplegable se activa y le permite seleccionar el tipo de tabla.
Float Un valor numérico con precisión decimal. Se utiliza cuando los datos vienen de una medida que no es absolutamente exacta.
Entero Un número entero.
Dinero Un valor que almacena los datos sobre una cantidad de dinero.
Picklist Un valor que representa una opción para un atributo OptionSet.
String Un valor de texto.

Nota

Los valores de argumento entityCollection no se pueden definir en la interfaz de usuario para las condiciones o acciones. Estos se proporcionan para que los usen los programadores en código personalizado. Más información: Crear sus propios mensajes

Agregar fases y pasos

Las acciones de proceso personalizadas son un tipo de proceso muy similar a los flujos de trabajo en tiempo real. Todos los pasos que se pueden usar en flujos de trabajo en tiempo real se pueden usar en acciones. Para obtener más información acerca de los pasos que se pueden usar en los flujos de trabajo en tiempo real y las acciones, consulte Fases y pasos del flujo de trabajo.

Además de los pasos que se pueden usar para los flujos de trabajo en tiempo real, las acciones también tienen el paso Asignar valor. En las acciones, solo se pueden usar para definir argumentos de salida. Puede usar el asistente de formulario para establecer argumentos de salida en valores específicos o, más probablemente, en valores de la fila en la que se ejecuta la acción, filas relacionadas con dicha fila con relaciones de varios a uno, filas creadas en un paso anterior o valores que forman parte del propio proceso.

Propiedades administradas

Las acciones de proceso personalizadas tienen dos propiedades administradas relevantes

Es personalizable

La propiedad administrada Es personalizable controla si alguien que instala un solución administrada que contiene la acción del proceso personalizado no puede editarlo o eliminarlo. Si desea que la acción del proceso personalizado se edite o elimine cuando se incluya en un solución administrada, debe establecer esta propiedad en true.

Se permite el paso de procesamiento personalizado para otros editores

La propiedad administrada ¿Se permite el paso de procesamiento personalizado para otros editores? controla si los desarrolladores de complementos de terceros pueden registrar los pasos del complemento en el mensaje creado por la acción del proceso personalizado. Cuando esto sea cierto, los complementos registrados por cualquier persona en este mensaje se ejecutarán y pueden modificar el comportamiento de la acción del proceso personalizado. Cuando es falso, solo se ejecutarán los pasos de los complementos registrados dentro de una solución del mismo editor de soluciones.

Pasos siguientes

Invocación de acciones de proceso personalizadas desde un flujo de trabajo

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).