Compartir a través de


Eventos de formulario (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

Todo el código del lado cliente es iniciado por eventos. En Microsoft Dynamics 365, se asociará una característica específica en una biblioteca de JavaScript para ejecutarla cuando se produce algún determinados eventos.

Todos los eventos de formulario tienen una interfaz de usuario que se usa para especificar uno o varios controladores de evento. Cada controlador de evento especifica una sola función de una biblioteca de JavaScript y los parámetros que pueden pasarse a la función.

Eventos

Evento OnLoad

Evento OnSave

Evento OnChange de campo

Evento TabStateChange de pestañas

Evento OnReadyStateComplete de IFRAME

Evento PreSearch de control de búsqueda

Evento OnProcessStatusChange

Evento OnStageChange

Evento OnStageSelected

Eventos de control de búsqueda de knowledge base

Evento OnLoad de subcuadrícula de solo lectura

Eventos de cuadrícula editables

Evento OnLoad

El evento OnLoad aparece cuando el formulario se ha cargado. No se puede evitar que se cargue la ventana. Use el evento OnLoad para aplicar lógica sobre cómo el formulario debería mostrarse, establecer las propiedades en campos, e interactuar con otros elementos de página.

Cuando el cliente de Microsoft Dynamics 365 para tabletas se desconecta, el evento OnLoad es el único evento que tendrá lugar.

Nota

Los formularios para Entidades actualizadas no vuelven a cargar la página después del guardado inicial que crea un registro o cualquier guardado posterior. Por lo tanto, el evento de OnLoad sólo aparece durante la carga inicial del formulario.

Evento OnSave

El evento OnSave se produce cuando:

  • El usuario hace clic en el botón Botón de autoguardado situado en la esquina inferior derecha del formulario, incluso cuando no hay datos modificados para guardar.

  • El código ejecuta el método Xrm.Page.data.entity.Guardar, incluso si no hay datos modificados para guardar.

  • El usuario navega fuera del formulario y hay datos sin guardar en el formulario.

  • Con autoguardado habilitado, 30 segundos después de que los datos han cambiado y hay datos sin guardar en el formulario.

  • El código ejecuta el método Xrm.Page.data.Guardar y hay datos sin guardar en el formulario.

  • El código ejecuta el método Xrm.Page.data.refresh que pasa un valor true al primer parámetro y hay datos sin guardar en el formulario.

Para determinar en qué botón se ha hecho clic para realizar la acción de guardar, use el método getSaveMode.

Puede cancelar la acción de guardar mediante el método preventDefault en el objeto de argumentos del evento. El método preventDefault que es accesible mediante el método getEventArgs que forma parte del contexto de ejecución. Debe configurar el controlador de eventos de formulario para que pase el contexto de ejecución. Para obtener más información, vea Usar el contexto de ejecución y la canalización de eventos de formulario.

Evento OnChange de campo

El evento OnChange suele ocurrir cuando los datos de un campo de formulario han cambiado y se pierde el foco.

Nota

Hay una excepción a este comportamiento que se aplica a los campos de dos opciones (booleanos) que tiene el formato para usar botones de opción o casillas. En estos casos, el evento se produce inmediatamente.

Este evento también aparece cuando los cambios de los datos del servidor se recuperan para actualizar un campo cuando se actualiza el formulario, como después de guardar un registro.

Utilizando el método Xrm.Page.data.entity atributo.fireOnChange también hará que se produzca este evento.

El evento OnChange no se produce si el campo se cambia mediante programación usando el método setValue. Si desea que los controladores de eventos para el evento OnChange se ejecuten después de configurar el valor, debe usar el método Xrm.Page.data.entity atributo.fireOnChange en el código.

Todos los campos admiten el evento OnChange. Los datos del campo se validan antes y después del evento OnChange.

Nota

Aunque el campo de Status admite el evento OnChange, el campo es de sólo lectura en el formulario para que el evento no se pueda producir con la interacción del usuario. Otro script podría producir la aparición de este mediante el método fireOnChange en el campo.

Evento TabStateChange de pestañas

El evento TabStateChange se produce cuando DisplayState de la pestaña cambia debido a la interacción del usuario o cuando el método setDisplayState se aplica en código. Use este evento cuando se desee cambiar la propiedades src de un IFRAME en la pestaña.

Nota

Este evento no es compatible con los clientes móviles de Dynamics 365 (teléfonos y tabletas) y porque las pestañas no se expanden o contraen.

Como en los clientes móviles de Dynamics 365, las pestañas no se expanden o contraen en el centro de servicio interactivo, pero el evento TabStateChange se produce cuando el usuario se mueve desde una pestaña a otra del centro de servicio interactivo.

Si establece el IFrame. La propiedad src en el evento OnLoad para un IFRAME en una pestaña contraída, el valor se sobrescribirá cuando se expanda la pestaña.

Evento OnReadyStateComplete de IFRAME

El evento OnReadyStateComplete indica que el contenido del IFRAME se ha cargado y puede obtenerse acceso a él en código. Use este evento al hacer referencia a los controles IFRAME en sus scripts.

Nota

Este evento no se admite para Dynamics 365 para teléfonos y el concentrador de servicio interactivo.

Evento PreSearch de control de búsqueda

El control de búsqueda tiene un evento PreSearch que se produce justo antes de que el control inicie un diálogo para buscar registros. No hay una interfaz de usuario para establecer controladores de eventos para este evento. Debe usar los métodos addPreSearch y removePreSearch en el control de búsqueda para agregar o quitar controladores de eventos para este evento.

Use este evento con otro Métodos y eventos de control de búsqueda para cambiar los resultados que se muestran en una búsqueda basada en los datos de formulario actuales justo antes de que el control de búsqueda muestre los resultados de búsqueda para que el usuario los elija.

Evento OnProcessStatusChange

Este evento se produce cuando cambia el estado de un proceso de instancia. Use el método Xrm.Page.data.process.addOnProcessStatusChange para agregar controladores de eventos para este evento y el método Xrm.Page.data.process.removeOnProcessStatusChange para quitarlos.Más información:Escribir scripts para flujos de procesos de negocio.

Nota

Este evento se introdujo en Actualización de diciembre de 2016 para Dynamics 365 (online y local).

Evento OnStageChange

Este evento se produce cuando la fase de un control de flujo de proceso de negocio cambia. Este evento se produce cuando el usuario hace clic en los botones Fase siguiente o Retroceder a la fase anterior en la interfaz de usuario o cuando un desarrollador usa los métodos Xrm.Page.data.process.moveNext o Xrm.Page.data.process.movePrevious. No puede cancelar el cambio de fase mediante código en un controlador para este evento.

Un objeto de contexto de ejecución se pasa a controladores de eventos para este evento. Puede usar la función de getEventArgs para recuperar un objeto que tiene los siguientes métodos:

  • getDirection
    Devuelve una cadena que es "next" o "previous" para mostrar la dirección del cambio de fase.

  • getStage
    Devuelve un objeto de fase. Excepto cuando la navegación se mueve a una nueva entidad, la fase devuelta representa el objeto de fase de destino, es decir, la siguiente fase activa. Cuando la navegación se mueve a una nueva entidad, la fase es la fase desde la que se navega, es decir, el objeto de fase de destino activa anterior.Más información:Métodos de fase.

Use el método Xrm.Page.data.process.addOnStageChange para agregar controladores de eventos para este evento y el método Xrm.Page.data.process.removeOnStageChange para quitarlos.Más información:Escribir scripts para flujos de procesos de negocio.

Evento OnStageSelected

Este evento se produce cuando se selecciona una fase de un control de flujo de proceso de negocio. No puede cancelar la selección de fase mediante código en un controlador para este evento.

Un objeto de contexto de ejecución se pasa a controladores de eventos para este evento. Puede usar la función de getEventArgs para recuperar un objeto que tiene los siguientes métodos:

  • getStage
    Devuelve un objeto de fase que representa la fase seleccionada.Más información:Métodos de fase.

Use el método Xrm.Page.data.process.addOnStageSelected para agregar controladores de eventos para este evento y el método Xrm.Page.data.process.removeOnStageSelected para quitarlos.Más información:Escribir scripts para flujos de procesos de negocio.

Eventos de control de búsqueda de knowledge base

El control de búsqueda en knowledge base solo puede agregarse a formularios para organizaciones que tienen la característica de administración del conocimiento habilitada. Este control tiene dos eventos (OnResultOpened y OnSelection) a los que los desarrolladores pueden asignar controladores de eventos mediante programación.Más información:Control de búsqueda de knowledge base (referencia del lado del cliente)

Evento OnLoad de subcuadrícula de solo lectura

Adjunte controladores de eventos al evento OnLoad de subcuadrículas.Más información:Escribir scripts para subcuadrículas

Eventos de cuadrícula editables

Adjunte controladores de eventos a los eventos de cuadrícula editables.Más información:Objetos y métodos de cuadrícula editables (referencia del lado del cliente)

Ver también

Referencia de scripting de formularios
Escriba código para formularios de Microsoft Dynamics 365
Use el modelo de objeto Xrm.Page
Referencia de programación del lado del cliente
Escribir scripts para flujos de procesos de negocio

Microsoft Dynamics 365

© 2017 Microsoft. Todos los derechos reservados. Copyright