Xrm.Page.data.process (referencia del lado del cliente)
Publicado: enero de 2017
Se aplica a: Dynamics 365 (online), Dynamics 365 (on-premises), Dynamics CRM 2016, Dynamics CRM Online
El espacio de nombres de Xrm.Page.data.process proporciona eventos, métodos, y objetos para interactuar con los datos de flujo de proceso de negocio en un formulario.
Vea Xrm.Page.ui.process (referencia del lado del cliente) para los métodos para interactuar con el control de flujo de proceso empresarial en el formulario.
Métodos Xrm.Page.data.process
Métodos ActiveProcess
Use getActiveProcess para recuperar información sobre el proceso activo y setActiveProcess para definir otro proceso como proceso activo.Métodos ProcessInstance
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.Métodos ActiveStage
Use getActiveStage para recuperar la información sobre la fase activa y setActiveStage para establecer otra fase completada como la fase activa.Puede usar setActiveStage en una fase en otra entidad.
getActivePath
Use este método para obtener una colección de fases actualmente en la ruta activa con métodos para interactuar con las fases mostradas en el control de flujo de proceso de negocio.La ruta activa representa fases generadas actualmente en el control de proceso según las reglas de bifurcación y datos actuales en el registro.
getEnabledProcesses
Use este método para recuperar asincrónicamente los flujos de proceso de negocio habilitados a los que el usuario puede cambiar para una entidad.getSelectedStage
Use este método para acceder a la fase actualmente seleccionada.Métodos para administrar controladores de eventos
Use los métodos addOnStageChange, removeOnStageChange, addOnStageSelected, removeOnStageSelected, addOnProcessStatusChange y removeOnProcessStatusChange para agregar o quitar controladores de eventos para el control de flujo de proceso de negocio.Métodos de navegación
Use moveNext para pasar a la siguiente fase y movePrevious para pasar a la fase anterior.Puede usar movePrevious en una fase anterior en otra entidad.
Métodos de proceso
Uso métodos de proceso para obtener acceso a las propiedades del proceso.Método de instancia
Use métodos de instancia de proceso para tener acceso a las propiedades de la instancia de proceso actual.Métodos de fase
Use métodos de fase para acceder a las propiedades de la fase en un flujo de proceso de negocio.Métodos de paso
Use métodos de paso para acceder a las propiedades del paso en una fase de un flujo de proceso de negocio.
Métodos ActiveProcess
Use getActiveProcess para recuperar información sobre el proceso activo y setActiveProcess para definir otro proceso como proceso activo.
getActiveProcess
Devuelve un objeto de Process que representa el proceso activo.
var activeProcess = Xrm.Page.data.process.getActiveProcess();
Valor devuelto
Tipo: ProcesoComentarios: Vea Métodos de proceso para los métodos de acceso a las propiedades del proceso devuelto.
setActiveProcess
Establezca un Process como proceso activo.
Si existe una instancia activa del proceso, el registro de entidad se carga con el Id. de instancia. Si no hay instancia activa del proceso actual, se crea una nueva instancia de proceso y el registro de entidad se carga con el Id. de instancia. Si hay varias instancias del proceso actual, el registro se carga con la primera instancia del proceso activo según la lógica predeterminada, que es la instancia de proceso usada más recientemente por usuario.
Xrm.Page.data.process.setActiveProcess(processId, callbackFunction);
Parámetros:
processId
Escriba:StringComentarios: El identificador del proceso para crear el proceso activo.
callbackFunction
Tipo:FunctionComentarios: Una función para llamar una vez terminada la operación. A esta capacidad de devolución de llamada se le pasa uno de los siguientes valores de cadena para indicar si la operación se realizó correctamente.
Valor
Descripción
correcto
La operación se ha realizado correctamente.
no válido
El processId es válido o el proceso no está habilitado.
Métodos ProcessInstance
Use getProcessInstances para recuperar información sobre todas las instancias de proceso para un registro de entidad y setActiveProcessInstance para establecer una instancia de proceso como instancia activa.
Nota
Estos métodos se introdujeron en Actualización de diciembre de 2016 para Dynamics 365 (online y local).
getProcessInstances
Devuelve todas las instancias de proceso para el registro de entidad a la que el usuario de la llamada tiene acceso.
Xrm.Page.data.process.getProcessInstances(callbackFunction(object));
Parámetro
Escriba:FunctionNotas: Se pasa un objeto a la función de devolución de llamada con los siguientes atributos y sus valores correspondientes como el par clave:valor.
CreatedOn
ProcessDefinitionID
ProcessDefinitionName
ProcessInstanceID
ProcessInstanceName
StatusCodeName
Las instancias de proceso se filtran según los privilegios del usuario.
setActiveProcessInstance
Define una instancia de proceso como instancia activa.
Xrm.Page.data.process.setActiveProcessInstance(processInstanceId, callbackFunction);
Parámetros:
processInstanceId
Escriba:StringComentarios: El identificador de la instancia de proceso para establecer como instancia activa.
callbackFunction
Escriba:FunctionComentarios: Una función para llamar una vez terminada la operación. A esta capacidad de devolución de llamada se le pasa uno de los siguientes valores de cadena para indicar si la operación se realizó correctamente.
Valor
Descripción
correcto
La operación se ha realizado correctamente.
no válido
El processInstanceId es válido o el proceso no está habilitado.
Métodos ActiveStage
Use getActiveStage para recuperar la información sobre la fase activa y setActiveStage para establecer otra fase como la fase activa.
getActiveStage
Devuelve un objeto de Stage que representa la fase activa.
var activeStage = Xrm.Page.data.process.getActiveStage();
Valor devuelto
Tipo: FaseComentarios: Vea Métodos de fase para los métodos de acceso a las propiedades de la fase devuelta.
setActiveStage
Establezca una fase completada como fase activa.
Nota
Después de Actualización 1 de Microsoft Dynamics CRM Online 2015 puede usar este método para establecer una fase en otra entidad.
Sólo una fase completada para la entidad se puede establecer mediante este método.
Xrm.Page.data.process.setActiveStage(stageId, callbackFunction);
Parámetros:
stageId
Tipo:StringComentarios: El Id. de la fase completada para la entidad para crear la fase activa.
callbackFunction
Tipo:FunctionComentarios: Una función opcional para llamar una vez terminada la operación.
A la característica de devolución de llamada se le pasa un valor de cadena de "success" si la operación se completa correctamente.
Si el stageId representa una fase que no es válida, la fase no se convertirá en activa y se pasará el valor de cadena indicando la razón a la característica de devolución de llamada. Pueden devolverse los valores que se muestran en la tabla siguiente.
Valor
Razón
invalid
Hay tres razones por las que este valor puede ser devuelto:
El parámetro stageId es un valor de Id. de fase inexistente.
La fase activa no es la fase seleccionada
El registro aún no se ha guardado.
unreachable
La fase existe en otra ruta.
dirtyForm
Esta valor se devolverá si los datos en la página no se guardan.
Importante
Este método se puede usar únicamente cuando la fase seleccionada y la fase activa son iguales. Cuando el código se inicia desde el d88d5f21-6385-443b-91f2-0ec0c16b1324#BKMK_OnStageChange, la fase actual se seleccionará. Cuando se inicia el código desde el d88d5f21-6385-443b-91f2-0ec0c16b1324#BKMK_OnStageSelected, debe usar Xrm.Page.data.process.getActiveStage para comprobar que la fase seleccionada también es la fase activa. Para cualquier otro evento de formulario, no es posible determinar qué fase está seleccionada actualmente. Para obtener los mejores resultados, este método se debe usar solo en código al que se llama en funciones iniciadas por los eventos OnStageChange y OnStageSelected.
getActivePath
Use este método para obtener una colección de fases actualmente en la ruta activa con métodos para interactuar con las fases mostradas en el control de flujo de proceso de negocio.
La ruta activa representa fases generadas actualmente en el control de proceso según las reglas de bifurcación y datos actuales en el registro.
var stageCollection = Xrm.Page.data.process.getActivePath();
Ejemplo:
Vea Ejemplo: Xrm.Page.data.process.getActivePath para un ejemplo de uso de este método.
Valor devuelto
Tipo: ColecciónRemarks: Una colección de todas las fases completadas, la fase activa actualmente y el conjunto previsto de fases futuras basadas en condiciones satisfechas en la regla de bifurcación. Podría ser un subconjunto de las fases devueltas con Xrm.Page.data.process.getActiveProcess porque solo incluirá las fases que representan una transición válida de la fase actual basada en bifurcación que se ha producido en el proceso.
getEnabledProcesses
Use este método para recuperar asincrónicamente los flujos de proceso de negocio habilitados a los que el usuario puede cambiar para una entidad.
Xrm.Page.data.process.getEnabledProcesses(callbackFunction(enabledProcesses));
Parámetro
Tipo:FunctionComentarios: La característica de devolución de llamada debe aceptar un parámetro que contiene un objeto con las propiedades de diccionario donde el nombre de la propiedad es el identificador del flujo de proceso de negocio y el valor de la propiedad es el nombre del flujo de proceso de negocio.
Los procesos habilitados se filtran según los privilegios del usuario. La lista de procesos habilitados es la misma que un usuario puede ver en la interfaz de usuario si desea cambiar el proceso manualmente.
Ejemplo:
Vea Ejemplo: Xrm.Page.data.process.getEnabledProcesses para un ejemplo de uso de este método.
getSelectedStage
Use este método para obtener la fase actualmente seleccionada.
Xrm.Page.data.process.getSelectedStage()
Valor devuelto
Tipo: FaseLa fase seleccionada actualmente.
- Comentarios
Consulte Métodos de fase para los métodos de acceso a las propiedades de la fase devuelta.
Métodos para administrar controladores de eventos
Use estos métodos para agregar o quitar controladores de eventos para el control de flujo de proceso de negocio.
addOnStageChange
Use este método para agregar una capacidad como controlador de eventos del d88d5f21-6385-443b-91f2-0ec0c16b1324#BKMK_OnStageChange de modo que sea llamada cuando cambie la fase del flujo de proceso de negocio.
Xrm.Page.data.process.addOnStageChange(handler);
Parámetro
Tipo: referencia de funciónRemarks: La función se agregará al final de la canalización del controlador de eventos. El contexto de ejecución se configura automáticamente para ser el primer parámetro que se pasa al controlador de eventos. Para obtener más información, vea Contexto de ejecución (referencia del lado del cliente).
Debe usar una referencia a una función con nombre en lugar de una función anónima por si posteriormente desea quitar el controlador de eventos.
removeOnStageChange
Use este método para quitar una capacidad como controlador de eventos de d88d5f21-6385-443b-91f2-0ec0c16b1324#BKMK_OnStageChange.
Xrm.Page.data.process.removeOnStageChange(handler);
Parámetro
Tipo: referencia de funciónRemarks: Si una función anónima se configura mediante el método de addOnStageChange, no se puede quitar mediante este método.
addOnStageSelected
Use este método para agregar una función como controlador de eventos del d88d5f21-6385-443b-91f2-0ec0c16b1324#BKMK_OnStageSelected de modo que sea llamada cuando se seleccione una fase del flujo de proceso de negocio.
Xrm.Page.data.process.addOnStageSelected(handler);
Parámetro
Tipo: referencia de funciónRemarks: La función se agregará al final de la canalización del controlador de eventos. El contexto de ejecución se configura automáticamente para ser el primer parámetro que se pasa al controlador de eventos. Para obtener más información, vea Contexto de ejecución (referencia del lado del cliente).
Debe usar una referencia a una función con nombre en lugar de una función anónima por si posteriormente desea quitar el controlador de eventos.
removeOnStageSelected
Use este método para quitar una capacidad como controlador de eventos de d88d5f21-6385-443b-91f2-0ec0c16b1324#BKMK_OnStageSelected.
Xrm.Page.data.process.removeOnStageSelected(function reference);
Parámetro
Tipo: referencia de funciónRemarks: Si una función anónima se configura mediante el método de addOnStageSelected, no se puede quitar mediante este método.
addOnProcessStatusChange
Use este método para agregar una capacidad como controlador de eventos del evento d88d5f21-6385-443b-91f2-0ec0c16b1324#BKMK_OnProcessStatusChange de modo que sea llamada cuando cambie el estado del flujo de proceso de negocio.
Xrm.Page.data.process.addOnProcessStatusChange(handler);
Parámetro
Tipo: referencia de funciónRemarks: La función se agregará al final de la canalización del controlador de eventos. El contexto de ejecución se configura automáticamente para ser el primer parámetro que se pasa al controlador de eventos. Para obtener más información, vea Contexto de ejecución (referencia del lado del cliente).
Debe usar una referencia a una función con nombre en lugar de una función anónima por si posteriormente desea quitar el controlador de eventos.
Este método se introdujo en Actualización de diciembre de 2016 para Dynamics 365 (online y local).
removeOnProcessStatusChange
Use este método para quitar una capacidad como controlador de eventos del evento d88d5f21-6385-443b-91f2-0ec0c16b1324#BKMK_OnProcessStatusChange.
Xrm.Page.data.process.removeOnProcessStatusChange(handler);
Parámetro
Tipo: referencia de funciónRemarks: Si una función anónima se configura mediante el método de addOnProcessStatusChange, no se puede quitar mediante este método.
Este método se introdujo en Actualización de diciembre de 2016 para Dynamics 365 (online y local).
Métodos de navegación
Use moveNext para pasar a la siguiente fase y movePrevious para pasar a la fase anterior. Ambos métodos harán que se produzca d88d5f21-6385-443b-91f2-0ec0c16b1324#BKMK_OnStageChange.
moveNext
Avanza a la siguiente fase.
Xrm.Page.data.process.moveNext(callbackFunction);
Parámetro
Tipo: FunciónComentarios: Una función opcional para llamar una vez terminada la operación. A esta capacidad de devolución de llamada se le pasa uno de los siguientes valores de cadena para indicar si la operación se realizó correctamente.
Valor
Descripción
correcto
La operación se ha realizado correctamente.
crossEntity
La siguiente fase es para otra entidad.
fin
La fase activa es la última fase de la ruta activa.
no válido
La operación ha producido error porque la fase seleccionada no es la misma que la fase activa.
dirtyForm
Esta valor se devolverá si los datos en la página no se guardan.
Importante
Este método se puede usar únicamente cuando la fase seleccionada y la fase activa son iguales. Cuando el código se inicia desde el d88d5f21-6385-443b-91f2-0ec0c16b1324#BKMK_OnStageChange, la fase actual se seleccionará. Cuando se inicia el código desde el d88d5f21-6385-443b-91f2-0ec0c16b1324#BKMK_OnStageSelected, debe usar Xrm.Page.data.process.getActiveStage para comprobar que la fase seleccionada también es la fase activa. Para cualquier otro evento de formulario, no es posible determinar qué fase está seleccionada actualmente. Para obtener los mejores resultados, este método se debe usar solo en código al que se llama en funciones iniciadas por los eventos OnStageChange y OnStageSelected.
movePrevious
Retrocede a la fase anterior. Puede usar movePrevious en una fase anterior en otra entidad.
Xrm.Page.data.process.movePrevious(callbackFunction);
Parámetro
Tipo: FunciónComentarios: Una función opcional para llamar una vez terminada la operación. A esta capacidad de devolución de llamada se le pasa uno de los siguientes valores de cadena para indicar si la operación se realizó correctamente.
Valor
Descripción
correcto
La operación se ha realizado correctamente.
crossEntity
La fase anterior es para otra entidad.
inicial
La fase activa es la primera fase de la ruta activa.
no válido
La operación ha producido error porque la fase seleccionada no es la misma que la fase activa.
dirtyForm
Esta valor se devolverá si los datos en la página no se guardan.
Importante
Este método se puede usar únicamente cuando la fase seleccionada y la fase activa son iguales. Cuando el código se inicia desde el d88d5f21-6385-443b-91f2-0ec0c16b1324#BKMK_OnStageChange, la fase actual se seleccionará. Cuando se inicia el código desde el d88d5f21-6385-443b-91f2-0ec0c16b1324#BKMK_OnStageSelected, debe usar Xrm.Page.data.process.getActiveStage para comprobar que la fase seleccionada también es la fase activa. Para cualquier otro evento de formulario, no es posible determinar qué fase está seleccionada actualmente. Para obtener los mejores resultados, este método se debe usar solo en código al que se llama en funciones iniciadas por los eventos OnStageChange y OnStageSelected.
Nota
Puede usar este método para volver a una fase anterior para otra entidad.
Métodos de proceso
Un proceso contiene los datos para un flujo de proceso de negocio. Uso los métodos para obtener acceso a las propiedades del proceso.
getId
Devuelve el identificador único del proceso.
var processId = procObj.getId();
Valor devuelto
Tipo:StringComentarios: El valor constituye la representación en cadena de un valor de GUID.
getName
Devuelve el nombre del proceso.
var processName = procObj.getName();
- Valor devuelto
Tipo:String
getStages
Devuelve una colección de fases del proceso
var stageCollection = procObj.getStages();
Valor devuelto
Tipo: ColecciónConsulte Métodos de fase para los métodos de acceso a las propiedades de las fases devueltas.
isRendered
Devuelve true si se representa el proceso, false en caso contrario
var processRendered = procObj.isRendered();
Valor devuelto
Tipo:BooleanComentarios: Si el formulario utilizado se ha actualizado desde una versión anterior de Microsoft Dynamics 365 y no se ha actualizado para usar formularios nuevos, el control de flujo de proceso de negocio no se puede representar.Más información:TechNet: Actualice los formularios a Microsoft Dynamics CRM 2013 o Microsoft Dynamics CRM Online Otoño 2013
Método de instancia
Una instancia de proceso contiene los datos para una instancia del flujo de proceso de negocio. Uso los métodos para obtener acceso a las propiedades de la instancia de proceso.
Nota
Los métodos de instancia se introdujeron en Actualización de diciembre de 2016 para Dynamics 365 (online y local).
getInstanceId
Devuelve el identificador único de la instancia de proceso.
Xrm.Page.data.process.getInstanceId();
Valor de retorno
Escriba:StringComentarios: El valor constituye la representación en cadena de un valor de GUID.
getInstanceName
Devuelve el nombre de la instancia de proceso.
Xrm.Page.data.process.getInstanceName();
- Valor de retorno
Escriba:String
getStatus
Devuelve el estado actual de la instancia de proceso.
Xrm.Page.data.process.getStatus();
Valor de retorno
Escriba:StringNotas Este método devolverá uno de los siguientes valores: active, aborted o finished.
setStatus
Establece el estado actual de la instancia de proceso activa.
Xrm.Page.data.process.setStatus(status, callbackFunction);
Parámetros:
status
Escriba:StringNotas: Los valores pueden ser active, aborted, o finished.
callbackFunction
Escriba:FunctionComentarios: Una función opcional para llamar una vez terminada la operación. A esta función de devolución de llamada se pasa el nuevo estado como valor de cadena.
Métodos de fase
Una fase contiene los datos para una fase en un flujo de proceso de negocio. Uso los métodos para obtener acceso a las propiedades de la fase.
getCategory
Devuelve un objeto con un método getValue que vuelve el valor entero de la categoría del flujo de proceso de negocio.
var stageCategoryNumber = stageObj.getCategory().getValue();
Valor devuelto
Tipo:NumberComentarios: Vea afe17a4a-fdca-44b4-8c14-a19ba327662e#BKMK_StageCategory para la lista de valores posibles.
getEntityName
Devuelve el nombre lógico de la entidad asociada a la fase.
var stageEntityName = stageObj.getEntityName();
- Valor devuelto
Tipo:String
getId
Devuelve el identificador único de la fase.
var stageId = stageObj.getId();
- Valor devuelto
Tipo:String
getName
Devuelve el nombre de la fase.
var stageName = stageObj.getName();
- Valor devuelto
Tipo:String
getStatus
Devuelve el estado de la fase.
var stageStatus = stageObj.getStatus();
Valor devuelto
Tipo:StringComentarios: Este método devolverá active o inactive.
getSteps
Devuelve una colección de pasos de la fase.
var stepsCollection = stageObj.getSteps();
Valor devuelto
Tipo:ArrayVea Métodos de paso para métodos de acceso a los valores de propiedad del paso.
Métodos de paso
Un paso contiene los datos para un paso de una fase de un flujo de proceso de negocio. Uso los métodos para obtener acceso a las propiedades del paso.
getAttribute
Devuelve el nombre lógico del atributo asociado al paso.
var stepAttributeName = stepObj.getAttribute();
Valor devuelto
Tipo:StringComentarios: Algunos pasos no contienen un valor de atributo.
getName
Devuelve el nombre del paso.
var stepName = stepObj.getName();
- Valor devuelto
Tipo:String
isRequired
Devuelve si el paso es obligatorio en el flujo de proceso de negocio.
var stepIsRequired = stepObj.isRequired();
Valor devuelto
Tipo:BooleanComentarios: Devuelve true si el paso está marcado como necesario en el editor de flujos de proceso de negocio; de lo contrario, false. No hay conexión entre este valor y los valores que puede cambiar en el atributo 6881e99b-45e4-4552-8355-2eef296f2cd8#BKMK_RequiredLevelXrm.Page.data.entity.
Ver también
Escribir scripts para flujos de procesos de negocio
Xrm.Page.ui.process (referencia del lado del cliente)
Referencia de programación del lado del cliente
Referencia de scripting de formularios
Escriba código para formularios de Microsoft Dynamics 365
Use el modelo de objeto Xrm.Page
Ejemplo: Xrm.Page.data.process.getEnabledProcesses
Ejemplo: Xrm.Page.data.process.getActivePath
Microsoft Dynamics 365
© 2017 Microsoft. Todos los derechos reservados. Copyright