Deshabilitar AutoSave en una aplicación basada en modelos
AutoSave ayuda a los usuarios de la aplicación 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 una fila, 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 AutoSave.
Cómo funciona AutoSave
De forma predeterminada, todos los formularios de las tablas actualizadas y clásicas tendrán AutoSave habilitado. Una vez creado una fila (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 AutoSave vuelve a empezar. Si otra persona ha actualizado la misma fila mientras lo editaba, esos cambios se recuperarán y mostrarán en el formulario al realizar el AutoSave.
Con el AutoSave habilitado, el botón de guardar solo aparece al guardar inicialmente la fila. Una vez creada la fila, no se muestra el botón guardar en la barra de comandos, pero puede ver un en la esquina inferior derecha que mostrará si hay cambios sin guardar. Este control también se muestra si el AutoSave está deshabilitado.
Puede seleccionar este botón para guardar la fila y actualizar datos en el formulario de forma inmediata. Cuando el AutoSave está habilitado, la fila se guardará cada vez que navegue fuera de una fila o cierre la ventana independiente que muestra una fila. No es necesario para el botón Guardar y cerrar que aparece en los formularios de tablas que no se actualizan.
¿Debe deshabilitar AutoSave?
Si tiene complementos, flujos de trabajo o scripts de formularios que se ejecuten al guardar una fila, se ejecutarán que vez que se realice el AutoSave. Esto puede llevar a comportamientos indeseables si estas extensiones no fueron diseñadas para funcionar con el AutoSave. Independientemente de si el AutoSave está habilitado, 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 tabla, 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á otra entrada solo si se agregan más datos tras realizar el AutoSave. Si tiene informes que dependen de datos de auditoría y trata cada guardado como "toque" individual de una fila, 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 AutoSave habilitado.
Deshabilitar el AutoSave para la organización
Si determina que el AutoSave ocasionará problemas con las extensiones que está usando, los administradores de Power Platform pueden deshabilitar el entorno. No hay ningún valor para deshabilitar el AutoSave para tablas o formularios individuales.
- Inicie sesión en el centro de administración de Power Platform, vaya al Entornos y abra el entorno que quiera.
- Seleccione Configuración en la barra de comandos.
- Expanda Producto y seleccione Comportamiento.
- En Comportamiento básico, para Guardado automático, seleccione Desactivado.
Deshabilitar el AutoSave para un formulario
Si desea deshabilitar el AutoSave para formularios específicos de tabla, puede agregar código al evento OnSave
de una tabla.
Nota
Al usar este método, el autoguardado se deshabilitará para el formulario, pero los datos se guardarán al seleccionar el en la esquina inferior derecha. Si intenta desplazarse fuera de un formulario o cerrar un formulario donde se han cambiado los datos, se le pedirá que guarde los cambios para poder salir o cerrar el formulario.
El siguiente procedimiento hará que el botón Guardar y cerrar del formulario no funcione, ya que llama a preventDefault
en saveMode
2, que hace referencia a Guardar y cerrar. Puede eliminar la marca getSaveMode() == 2
continuación para evitar esto, pero luego el formulario se guardará automáticamente si intenta navegar fuera del formulario o cerrar el formulario donde los datos han cambiado. El botón Guardar y continuar tampoco funciona por este motivo.
Inicie sesión en Power Apps.
Seleccione Tablas en el panel de navegación de la izquierda y seleccione la tabla que desee, luego seleccione el área Formularios. Si el elemento no se encuentra en el panel lateral, seleccione …Más y, a continuación, el elemento que desee.
También puede realizar ajustes en las tablas desde una solución. Para hacer esto, seleccione Soluciones en el panel izquierdo, seleccione la tabla y luego seleccione el área Formularios. Si el elemento no se encuentra en el panel lateral, seleccione …Más y, a continuación, el elemento que desee.
Abra el formulario que desee editar.
Seleccione Cambiar a clásico para editar el formulario en el diseñador de formularios clásico.
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 fila, elija Nuevo.
En el formulario de recursos web, especifique la siguiente información:
Nombre Referencia Name preventAutoSave Nombre Impedir el AutoSave Type Script (JScript) Junto a la columna Tipo, elija Editor de texto.
En la columna 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 fila, 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.
Seleccione Agregar.
En la ventana Propiedades del controlador, establezca Biblioteca en el recurso web que agregó en el paso anterior.
Escriba ‘
preventAutoSave
’ en la columna 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.
Seleccione 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.Las Propiedades del formulario deberían aparecer de la siguiente manera. Tenga en cuenta que en el ejemplo que se muestra a continuación, la actualización se ha realizado desde una solución y, como resultado, el prefijo del editor (dspin_) no es el mismo que el proporcionado por el editor predeterminado (new_). Esto se debe a que se usa un editor para la solución.
Seleccione Aceptar para cerrar el cuadro de diálogo Propiedades del formulario.
Seleccione Guardar y cerrar para cerrar el formulario.
En el explorador de soluciones, seleccione Publicar todas las personalizaciones.
Después de aplicar este script al evento OnSave
, cuando los usuarios editen una fila mediante este formulario, el mensaje cambios no guardados aparecerá en la esquina inferior derecha de formulario como si AutoSave no estuviese deshabilitado. Pero este mensaje no desaparecerá hasta que las personas seleccione el junto a él.
Pasos siguientes
Creación y diseño de formularios
Nota
¿Puede indicarnos sus preferencias de idioma de documentación? Realice una breve encuesta. (tenga en cuenta que esta encuesta está en inglés)
La encuesta durará unos siete minutos. No se recopilan datos personales (declaración de privacidad).