Deshabilitar el autoguardado para un formulario u organización
Este tema se aplica a Dynamics 365 Customer Engagement (on-premises). Para la versión de Power Apps de este tema, consulte: Deshabilitar el guardado automático en una aplicación basada en modelo
El autoguardado ayuda a los usuarios a centrarse en el trabajo sin tener que administrar el almacenamiento de datos en el formulario. La mayoría de las personas apreciará no tener que guardar datos de forma explícita que cada vez actualice un registro, pero algunas organizaciones pueden tener personalizaciones que fueron diseñadas para guardarse de forma explícita. Para estas organizaciones, existen opciones para administrar la forma de aplicar el autoguardado.
Autoguardado de trabajos
De forma predeterminada, todos los formularios de las entidades actualizadas y clásicas tendrán el autoguardado habilitado. Una vez creado un registro (guardado en un principio), los cambios realizados en un formulario se guardarán automáticamente 30 segundos después del cambio. Si no se realiza ningún cambio en el formulario, el guardado automático no se producirá mientras el formulario esté abierto. Después de realizar un cambio, el período de 30 segundos antes del autoguardado vuelve a empezar. El campo que alguien está editando actualmente no se incluye en un autoguardado. Si otra persona ha actualizado el mismo registro mientras lo editaba, esos cambios se recuperarán y mostrarán en el formulario al realizar el autoguardado.
Con el autoguardado habilitado, el botón de guardar solo aparece al guardar inicialmente el registro. Una vez creado el registro, el botón de guardar en la barra de comandos no aparece, pero puede verse un botón en la esquina inferior derecha, que aparecerá si existen cambios sin guardar. Este control también se muestra si el autoguardado está deshabilitado.
Puede hacer clic en el botón para guardar el registro y actualizar datos en el formulario de forma inmediata. Cuando el autoguardado está habilitado, el registro se guardará cada vez que navegue fuera de un registro o cierre la ventana independiente que muestra un registro. No es necesario para el botón Guardar y cerrar que aparece en los formularios de entidades que no se actualizan.
Importante
En Interfaz unificada, el intervalo de guardado automático de una página aumentará si hay un error durante el guardado automático. Además, si se cambia el valor de un atributo o se guarda correctamente, el intervalo se restablecerá a 30 segundos.
¿Debe deshabilitar el autoguardado?
Si tiene complementos, flujos de trabajo o scripts de formularios que se ejecuten al guardar un registro, se ejecutarán que vez que se realice el autoguardado. Esto puede llevar a comportamientos indeseables si estas extensiones no fueron diseñadas para funcionar con el autoguardado. Independientemente de si habilita o no el autoguardado, los complementos, flujos de trabajo y scripts de formularios se deben diseñar para buscar cambios específicos, y no deben ejecutarse indistintamente para cada evento de guardar.
Si tiene la auditoría configurada para una entidad, cada operación de guardar se trata como una actualización independiente. Si alguien se queda en un formulario con cambios sin guardar durante más de 30 segundos, verá una entrada adicional solo si se agregan más datos tras realizar el autoguardado. Si tiene informes que dependen de datos de auditoría y trata cada guardado como "toque" individual de un registro, es posible que se produzca un aumento de la periodicidad de los toques. Si usa este método, debe tener en cuenta que los comportamientos de un usuario individual lo convierten en una métrica no fiable con o sin el autoguardado habilitado.
Deshabilitar el autoguardado para la organización
Si determina que el autoguardado ocasionará problemas con las extensiones que está usando, puede deshabilitarlo para la organización. No hay ningún valor para deshabilitar el autoguardado para entidades o formularios individuales.
Vaya a Configuración>Administración.
Elija Configuración del sistema.
Para la opción Habilitar autoguardado para todos los formularios, seleccione No.
Deshabilitar el autoguardado para un formulario
Si desea deshabilitar el autoguardado para formularios específicos de entidad, puede agregar código al evento OnSave
de una entidad.
Nota
El guardado automático se deshabilitará para el formulario, pero los datos se guardarán al hacer clic en el botón de la esquina inferior derecha. Si intenta desplazarse fuera de un formulario o cerrar un formulario donde se han cambiado los datos, se les pedirá que guarden los cambios para poder salir o cerrar el formulario.
En la barra de navegación, elija Microsoft Dynamics 365>Configuración.
Configuración aparece en la barra de navegación.
Vaya a Configuración>Personalizaciones.
Elija Personalizar el sistema.
En Componentes, expanda Entidades y localice la entidad del formulario.
Expanda el nodo de la entidad y elija Formularios.
Abra el formulario que desee editar.
Cree un recurso web de JavaScript y agréguelo al formulario:
En el editor de formularios, en el grupo Formulario elija Propiedades de formulario.
En la ficha Eventos, debajo de Bibliotecas de formularios, elija Agregar.
En el cuadro de diálogo Buscar registro, elija Nuevo.
En el formulario de recursos web, especifique la siguiente información:
valor Name preventAutoSave Display Name Impedir el autoguardado Type Script (JScript) Junto al campo Tipo, elija Editor de texto.
En el campo Origen, pegue el siguiente código:
function preventAutoSave(econtext) { var eventArgs = econtext.getEventArgs(); if (eventArgs.getSaveMode() == 70 || eventArgs.getSaveMode() == 2) { eventArgs.preventDefault(); } }
Seleccione Aceptar para cerrar el editor de texto.
Elija Guardar para guardar el recurso web y cierre la ventana del recurso web.
En el diálogo Buscar registro, el nuevo recurso web que ha creado estará seleccionado. Elija Agregar para cerrar el cuadro diálogo.
Configurar el evento OnSave:
En la ventana Propiedades de formulario, en la sección Controladores de eventos, defina Evento en OnSave.
Haga clic en Agregar.
En la ventana Propiedades del controlador, establezca Biblioteca en el recurso web que agregó en el paso anterior.
Escriba ‘
preventAutoSave
’ en el campo Función. Distingue mayúsculas de minúsculas. No incluya las comillas.Asegúrese de que la opción Habilitado se encuentre activada.
Active Pasar el contexto de ejecución como primer parámetro.
Importante
Si no realiza este paso, el script no funcionará.
El diálogo Propiedades del controlador debe verse así. El prefijo de personalización "new_" puede variar según el prefijo de personalización definido para el editor predeterminado para la organización.
Haga clic en Aceptar para cerrar el cuadro de diálogo Propiedades del controlador.
Si hay otros controladores de eventos para el evento
OnSave
, use las flechas verdes para moverlo a la parte superior.
Haga clic en Aceptar para cerrar el cuadro de diálogo Propiedades del formulario.
Haga clic en Guardar y cerrar para cerrar el formulario.
En el explorador de soluciones, haga clic en Publicar todas las personalizaciones.
Después de aplicar este script al evento
OnSave
, cuando los usuarios editen un registro mediante este formulario, el mensaje cambios no guardados aparecerá en la esquina inferior derecha de formulario como si el autoguardado no estuviese deshabilitado. Pero este mensaje no desaparecerá hasta que los usuarios hagan clic en el botón situado junto a él.
Consulte también
Crear y diseñar formularios
Consideraciones de diseño para los formularios principales
Cómo se presentan los formularios principales en los distintos clientes
Optimizar el rendimiento del formulario