Compartir a través de


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: Proceso

    Comentarios: 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:String

    Comentarios: El identificador del proceso para crear el proceso activo.

  • callbackFunction
    Tipo:Function

    Comentarios: 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:Function

    Notas: 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:String

    Comentarios: El identificador de la instancia de proceso para establecer como instancia activa.

  • callbackFunction
    Escriba:Function

    Comentarios: 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: Fase

    Comentarios: 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:String

    Comentarios: El Id. de la fase completada para la entidad para crear la fase activa.

  • callbackFunction
    Tipo:Function

    Comentarios: 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ón

    Remarks: 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:Function

    Comentarios: 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: Fase

    La 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ón

    Remarks: 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ón

    Remarks: 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ón

    Remarks: 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ón

    Remarks: 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ón

    Remarks: 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ón

    Remarks: 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ón

    Comentarios: 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ón

    Comentarios: 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:String

    Comentarios: 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ón

    Consulte 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();

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:String

    Comentarios: 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:String

    Notas 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:String

    Notas: Los valores pueden ser active, aborted, o finished.

  • callbackFunction
    Escriba:Function

    Comentarios: 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:Number

    Comentarios: 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:String

    Comentarios: Este método devolverá active o inactive.

getSteps

Devuelve una colección de pasos de la fase.

var stepsCollection = stageObj.getSteps();
  • Valor devuelto
    Tipo:Array

    Vea 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:String

    Comentarios: 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:Boolean

    Comentarios: 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