Escribir scripts para flujos de procesos de negocio
Publicado: enero de 2017
Se aplica a: Dynamics 365 (online), Dynamics 365 (on-premises), Dynamics CRM 2016, Dynamics CRM Online
Con Microsoft Dynamics 365 (en línea y local) hay un objeto del lado del cliente que puede usar para interactuar con flujos de proceso de negocio en sus scripts. El espacio de nombres de Xrm.Page.data se amplía para incluir métodos en Xrm.Page.data.process. El espacio de nombres de Xrm.Page.ui se amplía para incluir métodos en Xrm.Page.ui.process.
En este tema
Estructura de flujos de proceso de negocio
Acciones que se pueden automatizar
Eventos para flujos de proceso de negocio
Estructura de flujos de proceso de negocio
Los flujos de proceso de negocio estén formadas por una serie de fases, cada una con varios pasos. Sólo una fase es la fase activa. Cuando los pasos requeridos en cada fase se completan, el proceso puede pasar a la siguiente fase y se convierte en la fase activa. La fase siguiente se puede definir según las condiciones del flujo de proceso de negocio tal como se muestra en el siguiente diagrama.
Las fases se pueden asociar con entidades relacionadas específicas, por lo que un flujo de proceso de negocio pueden abarcar varias entidades. El proceso de negocio se mantiene igual y lleva al usuario a una conclusión deseada.
A partir de Actualización de diciembre de 2016 para Dynamics 365 (online y local), pueden asociar diferentes definiciones de flujo de proceso de negocio a distintos roles y las instancias pueden ejecutarse en paralelo con el mismo registro de entidad. Los usuarios pueden cambiar entre instancias de proceso de negocio simultáneo y reanudar el trabajo en una fase actual del proceso.
Más información:TechNet: Flujos de proceso de negocio
Acciones que se pueden automatizar
Normalmente, el progreso a lo largo del proceso de negocio depende de los datos introducidos por el usuario. Como programador, puede realizar las mismas acciones mediante programación en scripts de formularios.
Cambie el proceso cuando hay más de un proceso disponible para la entidad.
Use Xrm.Page.data.process.getEnabledProcesses para recuperar la información acerca de los procesos habilitados que el usuario puede elegir para la entidad. A continuación use Xrm.Page.data.process.setActiveProcess para convertir una de las instancias de proceso habilitadas en la activa o crear una nueva instancia de proceso.Cambiar la instancia de proceso para un registro de entidad
Use getProcessInstances para recuperar información sobre todas las instancias de proceso para que un registro de entidad y setActiveProcessInstance para establecer una instancia de proceso como instancia activa.Pase a la siguiente fase cuando se completen todos los pasos obligatorios para convertirlo en la fase activa actual.
Usar Xrm.Page.data.process.moveNext.Vaya a la fase anterior y conviértala en la fase activa actual.
Usar Xrm.Page.data.process.movePrevious.Seleccione una fase para ver el estado de los pasos de la fase.
Use Xrm.Page.data.process.getActivePath para recuperar información acerca de las fases que se han completado, la fase activa actual, y las fases válidas disponibles desde la fase activa actual. Examine los pasos incluidos en esa fase y compare los valores de atributo correspondientes del formulario para determinar si se han completado.Complete un paso
Los pasos se completan cuando se escriben los datos correspondiente del formulario. Puede determinar el atributo mediante el método getAttribute del paso. Esto devolverá el nombre lógico del atributo. Después use Xrm.Page.getAttribute para recuperar el atributo de la recopilación de Xrm.Page.data.entity.attributes y luego use el método 6881e99b-45e4-4552-8355-2eef296f2cd8#BKMK_setValue del atributo para establecer el valor.Detecte si un paso es necesario
Use el método de isRequired del paso para determinar si un paso es necesario para el flujo de proceso de negocio.Expanda o contraiga el control del flujo de proceso de negocio
Usar Xrm.Page.ui.process.setDisplayState.Vaya a una fase válida completada.
Use Xrm.Page.data.process.setActiveStage para establecer una de las fases válidas completadas en la entidad actual.
También hay algunas tareas que puede realizar como programador que un usuario no puede realizar.
Ocultar el control del proceso
Use Xrm.Page.ui.process.setVisible para controlar si desea mostrar el control del flujo de proceso de negocio.Consulte la definición de proceso incluidas las fases no visibles actualmente
Use Xrm.Page.data.process.getActiveProcess para consultar la definición del flujo de proceso de negocio, incluidas las fases que podrían no ser visibles debido a la lógica de bifurcación del proceso.
Eventos para flujos de proceso de negocio
Puede interactuar con cualquier evento proporcionado por el formulario con flujos de proceso de negocio, pero los nuevos eventos siguientes permiten ejecutar código basándose en eventos solo para el control de flujo de proceso de negocio.
Puede ejecutar código cuando la fase activa de un flujo de proceso de negocio cambie (d88d5f21-6385-443b-91f2-0ec0c16b1324#BKMK_OnStageChange) o cuando se seleccione una fase (d88d5f21-6385-443b-91f2-0ec0c16b1324#BKMK_OnStageSelected).
Puede ejecutar código cuando cambia el estado de una instancia de flujo de proceso de negocio (d88d5f21-6385-443b-91f2-0ec0c16b1324#BKMK_OnProcessStatusChange). Una instancia de flujo de proceso de negocio puede tener uno de los siguientes estados: Active, Finished, o Aborted.
Cualquiera de estos nuevos eventos proporciona una interfaz de usuario para registrar los controladores de eventos. Debe usar los métodos que se proporcionan para agregar o quitar controladores para estos eventos en el evento OnLoad del formulario.Más información:f451f339-bcee-4260-9904-abc8c0efa153#BKMK_BPFControl
Ver también
Use el modelo de objeto Xrm.Page
Xrm.Page.data.process (referencia del lado del cliente)
Ejemplo: Xrm.Page.data.process.getEnabledProcesses
Ejemplo: Xrm.Page.data.process.getActivePath
f451f339-bcee-4260-9904-abc8c0efa153#BKMK_BPFControl
TechNet: Flujos de proceso de negocio
Microsoft Dynamics 365
© 2017 Microsoft. Todos los derechos reservados. Copyright