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