Nota
O acceso a esta páxina require autorización. Pode tentar iniciar sesión ou modificar os directorios.
O acceso a esta páxina require autorización. Pode tentar modificar os directorios.
En este tutorial se muestra el proceso para ampliar el diseñador de flujos de trabajo para agregar actividades personalizadas y lógica mediante un ensamblado de flujo de trabajo, a veces conocido como actividad de flujo de trabajo. Las extensiones que cree de esta manera se pueden usar dentro de un flujo de trabajo, una acción personalizada o un cuadro de diálogo.
En este tutorial se usa un ejemplo muy sencillo para centrarse en los requisitos y el proceso para:
- Creación de un proyecto de biblioteca de clases de Visual Studio
- Agregar una clase CodeActivity
- Definición de parámetros de entrada y salida
- Agrega tu lógica empresarial
- Firmar y crear el ensamblado
- Registrar el ensamblado
- Prueba tu ensamblaje
- Agregar el ensamblado a una solución
Prerrequisitos
- Una instancia de Microsoft Dataverse y privilegios de administrador
- Descripción de cómo configurar flujos de trabajo. Más información: Flujos de trabajo clásicos de Dataverse
- Una aplicación controlada por modelos que le permite editar cuentas.
Objetivo
En el ejemplo siguiente se creará una actividad de flujo de trabajo personalizada sencilla que se puede usar en un flujo de trabajo, un cuadro de diálogo o un proceso de acción. Más información: Configuración de fases y pasos de flujo de trabajo
Esta actividad de flujo de trabajo personalizada coincidirá con los siguientes requisitos:
- Aceptar un parámetro de entrada decimal
- Genera un valor igual al parámetro de entrada más 10.
En un flujo de trabajo para la entidad Account , se puede usar de la siguiente manera para incrementar el valor de límite de crédito mediante dos pasos:
En el paso 1 se usa la actividad de flujo de trabajo personalizada Sample: Increment by 10 para aceptar el valor de Límite de crédito de la cuenta e incrementarlo en 10. El paso 2 usa la acción Actualizar registro para actualizar el valor límite de crédito de la cuenta con el valor incrementado.
Paso 1: Obtener el límite de crédito incrementado de la cuenta
Cuando se agrega el primer paso, la actividad de flujo de trabajo personalizada estará disponible en un grupo Sample y tendrá el nombre Incrementar en 10.
Al configurar el primer paso haciendo clic en el botón Establecer propiedades , se necesitará la propiedad de entrada Decimal y solo aceptará un valor decimal, como el atributo Límite de crédito de la entidad Account .
Paso 2: Establecer el nuevo límite de crédito de la cuenta
En el segundo paso, una acción Actualizar registro asignará la salida del paso Obtener límite de crédito de cuenta incrementada para actualizar el valor límite de crédito de la cuenta con el valor incrementado.
Creación de un proyecto de biblioteca de clases de Visual Studio
Este proyecto creará un ensamblado de flujo de trabajo simple que incrementará un valor decimal en 10.
Inicie Visual Studio.
En el menú Archivo, haga clic en Nuevo y después, haga clic en Proyecto.
Busque Biblioteca de clases y seleccione Biblioteca de clases (.NET Framework) .
Haga clic en Siguiente.
Especifique un nombre y una ubicación para la solución.
Nota:
Elija un nombre de proyecto que tenga sentido para el proyecto. En este ejemplo usaremos
SampleWorkflowActivity.Haga clic en Crear.
En el Explorador de soluciones, haga clic con el botón derecho en el proyecto y seleccione Propiedades. En la pestaña Aplicación , compruebe que .NET Framework 4.6.2 está establecido como marco de destino.
En el Explorador de soluciones, haga clic con el botón derecho en el proyecto y seleccione Administrar paquetes NuGet... .
Busque el paquete NuGet Microsoft.CrmSdk.Workflow e instálelo.
Nota:
Asegúrese de que el paquete que va a instalar es propiedad de crmsdk. Este paquete incluirá el
Microsoft.Xrm.Workflow.dlle incluirá una dependencia en el paquete Microsoft.CrmSdk.CoreAssemblies para que también se incluya el ensambladoMicrosoft.Xrm.Sdk.dllnecesario.Debe hacer clic en Acepto en el cuadro de diálogo Aceptación de licencia .
Cambiar el nombre del archivo de clase
En el Explorador de soluciones, haga clic con el botón derecho en el archivo de Class1.cs predeterminado y seleccione Cambiar nombre.
Nota:
Elija un nombre de clase que tenga sentido para la actividad. En este ejemplo, asignaremos el nombre a la clase
IncrementByTen.Seleccione Sí en el cuadro de diálogo que le pregunta si desea cambiar el nombre de la clase también.
Abra el archivo IncrementByTen.cs y agregue lo siguiente usando directivas:
using System.Activities; using Microsoft.Xrm.Sdk; using Microsoft.Xrm.Sdk.Workflow;Haga que la clase herede de la clase CodeActivity y asígnele un modificador de acceso público como se muestra aquí:
public class IncrementByTen: CodeActivity { }Agregue el método Execute desde la
CodeActivityclase mediante acciones rápidas de Visual Studio o manualmente:
La clase ahora tiene el siguiente aspecto:
public class IncrementByTen : CodeActivity { protected override void Execute(CodeActivityContext context) { throw new NotImplementedException(); } }
Definición de parámetros de entrada y salida
Agregue un conjunto de parámetros de entrada y salida en los que el valor del parámetro de salida será el valor del parámetro de entrada incrementado en 10.
public class IncrementByTen : CodeActivity { [RequiredArgument] [Input("Decimal input")] public InArgument<decimal> DecInput { get; set; } [Output("Decimal output")] public OutArgument<decimal> DecOutput { get; set; } protected override void Execute(CodeActivityContext context) { } }Nota:
Observe cómo se usan los atributos de .NET para proporcionar metadatos sobre los parámetros del ensamblado. Más información: Adición de parámetros
Agrega tu lógica empresarial
Agregue la lógica dentro del método Execute para incrementar el valor de entrada en 10.
protected override void Execute(CodeActivityContext context)
{
decimal input = DecInput.Get(context);
DecOutput.Set(context, input + 10);
}
Firmar y crear el ensamblado
Los ensamblados personalizados de actividad de flujo de trabajo (y de complementos) deben estar firmados. En las propiedades del proyecto, en la pestaña Firma , seleccione Firmar el ensamblado. A continuación , elija un archivo de clave de nombre seguro y seleccione la <opción Nuevo...> . No es necesario establecer una contraseña para el propósito de este tutorial. En este ejemplo hemos creado un nuevo archivo de clave de nombre seguro denominado
SampleWorkflowActivity.snk
Cree la solución en modo de depuración y compruebe que el ensamblado
SampleWorkflowActivity.dllestá en la carpeta/bin/Debug.
Nota:
Mientras desarrolla un ensamblado es válido usar la configuración de compilación de Depuración. Al implementar el ensamblado en un servidor de producción o en una solución, debe usar la configuración de compilación Release.
Registrar el ensamblado
Los ensamblados de actividad de flujo de trabajo personalizados se registran mediante la herramienta Registro de complementos. La herramienta proporciona una interfaz gráfica de usuario y admite el registro de ensamblados que contienen complementos o actividades de flujo de trabajo personalizadas. Para obtener la herramienta de registro de complementos, consulte: Herramientas de desarrollo de Dataverse
Conéctese usando la herramienta de registro de complementos
Abra la herramienta de registro de complementos ejecutando el comando PAC CLI
pac tool prt.Seleccione +Crear nueva conexión para conectarse a su entorno de Dataverse.
Asegúrese de que Office 365 está seleccionado.
Si se está conectando usando una cuenta Microsoft diferente a la que está usando actualmente, haga clic en Mostrar opciones avanzadas e ingrese sus credenciales. De lo contrario, deje Iniciar sesión como el usuario actual seleccionado.
Nota:
Si su cuenta de usuario emplea la autenticación multifactor (MFA), asegúrese de que la casilla Mostrar avanzado no esté marcada.
Si su cuenta Microsoft proporciona acceso a varios entornos, seleccione Mostrar la lista de organizaciones disponibles.
Seleccione Iniciar sesión.
Si ha seleccionado Mostrar la lista de organizaciones disponibles, seleccione la organización con la que quiere conectarse y haga clic en Iniciar sesión.
Una vez que esté conectado, verá los complementos registrados existentes, las actividades de flujo de trabajo personalizadas y los proveedores de datos.
Registrar el ensamblado
Seleccione Registrar>Registrar Nuevo Ensamblaje.
En el cuadro de diálogo Registrar nuevo ensamblado, haga clic en el botón de puntos suspensivos (…) y vaya al
SampleWorkflowActivity.dllen la carpeta/bin/Debug.
Nota:
Nota: Con Dataverse, las únicas opciones válidas para los pasos 3 y 4 están seleccionadas y las opciones no válidas están deshabilitadas.
Haga clic en Registrar complementos seleccionados. Debería ver un cuadro de diálogo de confirmación.
Haga clic en Aceptar para cerrar el cuadro de diálogo Registrar nuevo ensamblaje.
Configuración de nombres de actividad
En la lista de Complementos Registrados y Actividades de Flujo de Trabajo Personalizadas, localice el (Ensamblado) SampleWorkflowActivity y expándalo para mostrar el (Actividad de Flujo de Trabajo) SampleWorkflow.Activity.IncrementByTen - Aislable.
Seleccione la (Workflow Activity) SampleWorkflow.Activity.IncrementByTen - Isolatable y en el área Propiedades edite las Propiedades editables usando los valores de la tabla siguiente:
Campo editable Valor original Valor nuevo Description Description Devuelve el valor del parámetro de entrada más 10. No es visible en la interfaz de usuario del diseñador de procesos, pero puede ser útil al generar documentación a partir de datos extraídos de la entidad PluginType que almacena esta información. FriendlyName un valor de GUID IncrementByTen Nombre fácil de usar del complemento. Nombre SampleWorkflowActivity.IncrementByTen Incrementar en 10 Nombre del menú representado WorkflowActivityGroupName SampleWorkflowActivity (1.0.0.0) Ejemplo Nombre del submenú agregado al menú principal del diseñador de procesos de Dataverse. Nota:
Si name y WorkflowActivityGroupName se establecen en null, la actividad personalizada no estará visible en el diseñador de procesos.
Haga clic en Guardar (icono) para guardar los cambios.
Prueba tu ensamblaje
Puede probar la nueva actividad de flujo de trabajo mediante la creación de un proceso que lo usará. Siga estos pasos para crear el proceso de flujo de trabajo descrito en la sección Objetivo anterior:
Abra Power Apps
Seleccione Soluciones.
Abra la solución Editor predeterminado de CDS .
En el menú, expanda ... y elija Cambiar a clásico.
Seleccione Procesos en la lista Componentes .
Seleccione Nuevo y, en el cuadro de diálogo Crear proceso , escriba lo siguiente:
Campo Importancia Nombre del proceso Prueba de SampleWorkflowActivity.IncrementByTen Categoría Flujo de trabajo Entidad Cuenta Ejecutar este flujo de trabajo en segundo plano (recomendado) anulada la selección Nota:
La opción ejecutar este flujo de trabajo en segundo plano se ha desajustado para que este sea un flujo de trabajo en tiempo real (sincrónico). Esto hará que las pruebas sean más sencillas.
Haga clic en Aceptar.
Aplique los cambios siguientes:
Campo Importancia Ámbito Organización Iniciar cuando: Los campos de registro cambian seleccionado y el campo nameespecificado en el cuadro de diálogo.
Nota:
Al establecer Ámbito en Organización , se crea un flujo de trabajo que cualquier persona de la organización puede aplicar.
Agregue el paso siguiente:
Establezca el paso Descripción como Obtener Límite de crédito de la cuenta incrementado y haga clic en Establecer propiedades.
Establezca el valor de la propiedad de entrada Decimal en el límite de crédito de la cuenta con un valor predeterminado de 0.
Haga clic en Guardar y cerrar.
Agregue un paso Actualizar Registro :
Haga clic en Establecer propiedades y establezca el valor del límite de crédito en el valor del paso Obtener límite de crédito de la cuenta incrementada .
Los pasos de flujo de trabajo deben tener este aspecto:
Haga clic en Guardar y cerrar.
Para activar el flujo de trabajo, haga clic en Activar en el menú...
Y haga clic en Activar en el cuadro de diálogo Confirmación de activación del proceso.
Navegue a una aplicación basada en modelos y vea una lista de cuentas.
Seleccione una cuenta.
Edite el valor del campo Nombre de cuenta .
Guarde el registro de la cuenta.
Compruebe que la cuenta que editó tiene un valor de límite de crédito ha aumentado en 10.
Agrega tu ensamblaje a una solución
Para distribuir una actividad de flujo de trabajo personalizada en una solución, debe agregar el ensamblado registrado que lo contiene a una solución no administrada.
Abra la solución no administrada a la que desea agregar el ensamblado mediante Power Apps.
Seleccione Agregar existentes>Otro>Ensamblado de complementos
Busque el ensamblado plugin por nombre, en este caso "SampleWorkflowActivity".
Seleccione el ensamblado del complemento y seleccione Agregar.
Consulte también
Extensiones de flujo de trabajo
Ejemplo: crear una actividad de flujo de trabajo personalizada
Ejemplo: Actualización del próximo cumpleaños mediante una actividad de flujo de trabajo personalizada
Ejemplo: Cálculo de una puntuación de crédito con una actividad de flujo de trabajo personalizada