Comprender el autoguardado

Completado

En determinadas condiciones, hay un comando en la barra de comandos que guarda automáticamente los datos de un formulario cuando el usuario selecciona el comando antes de ejecutar la lógica de acción del comando. La función de autoguardado solo está disponible cuando configura el comando para usar Power Fx para la lógica de acción. Cada vez que usa JavaScript para la lógica de acción, la lógica del comando se ejecuta sin que se guarde nada automáticamente.

Los comandos que se hayan configurado para Power Fx se definen de forma predeterminada para guardar automáticamente los datos del formulario antes de ejecutar la expresión. El autoguardado solo estará disponible en una barra de comandos del formulario principal. El autoguardado podrá estar disponible en una nueva fila de datos o cuando un usuario actualiza una fila existente.

Nuevas filas de datos

Cuando un usuario selecciona su comando mientras crea una nueva fila, la aplicación intentará guardar la fila con los datos proporcionados en el momento en que se seleccionó el comando. Después de guardar correctamente la fila de datos, el formulario ejecutará su lógica de comando y el elemento Self.Selected.Item se establece en la fila de datos creada. La lógica de Power Fx debería ejecutarse como se había previsto.

Si el usuario no proporciona todas las columnas requeridas, no se guardará la fila de datos. Sin embargo, su lógica de acción de comando se seguirá ejecutando. Dado que la nueva fila no se creó, Self.Selected.Item estará vacío y no se establecerá en una fila de datos válida. Cualquier lógica que use Self.Selected.Item no funcionará como se había previsto. Por ejemplo, es imposible actualizar columnas en la fila de datos, evaluar sus valores o crear filas de datos relacionadas.

Puede deshabilitar la función de autoguardado de un comando de Power Fx actualizando la biblioteca de componentes, como se describe más adelante. Sin embargo, si deshabilita el autoguardado, no se ejecutará la acción de guardar antes de que el formulario ejecute su lógica. Por consiguiente, Self.Selected.Item seguirá vacío cuando la lógica se inicie antes de que el usuario seleccione Guardar en el formulario.

Debe evaluar cada comando para determinar si la función de autoguardado, cuando el usuario selecciona el comando antes de que se cree la fila de datos, va a proporcionarle al usuario el resultado esperado. En muchos casos, lo mejor es implementar la lógica de Visibilidad que oculta el botón cuando una nueva fila de datos se está creando usando la siguiente fórmula de Visibilidad:

If (Self.Selected.State = 1, false, true)

Esta fórmula de Visibilidad evita que el usuario se sorprenda cuando solo haya especificado 5 de 20 columnas y se haya seleccionado su comando. El formulario creará la fila de datos y se ejecutará el comando. En algunos casos, este comando podría afectar a la automatización que podría desencadenarse debido a la nueva fila de datos, antes de que el usuario termine de invitar todos los datos.

En algunos escenarios, sin embargo, este comportamiento le puede resultar ventajoso. Por ejemplo, supongamos que está creando un pedido y el comando actúa como Guardar y enviar. El pedido se guarda y se agrega a la cola de envío cuando se selecciona Guardar y enviar, y la lógica va a la lista de pedidos. Si el usuario seleccionó el comando normal Guardar, podría seguir trabajando en el elemento antes de agregarlo a la cola de envío para su procesamiento. En este ejemplo, fue muy útil para el usuario la lógica combinada del botón de guardar y comando.

Actualizar filas

Cuando un usuario selecciona su comando mientras actualiza una fila de datos existente, la aplicación intentará guardar la fila con los datos proporcionados en el momento en que se seleccionó el comando. Si el formulario puede guardar la fila de datos, la lógica de comando se ejecutará y el elemento Self.Selected.Item se establece en la fila de datos creada. La lógica debería ejecutarse como se había previsto.

Puede deshabilitar la función de autoguardado de un comando de Power Fx actualizando la biblioteca de componentes, como se describe más adelante. Sin embargo, si deshabilita el autoguardado, no se ejecutará la acción de guardar antes de invocar su lógica. Dejar Self.Selected.Item establecido en el valor que había antes de que el usuario cambiara cualquiera de las columnas en el formulario. Al decidir si se debe habilitar o deshabilitar la función de autoguardado, tenga en cuenta cualquier impacto en las automatizaciones que se ejecutan en una actualización de la fila de datos.

Deshabilitar el autoguardado

Cuando crea un nuevo comando que usa Power Fx para la acción, la propiedad de autoguardado se establece de manera predeterminada en la biblioteca de componentes como autoguardado habilitado. Abra la biblioteca de componentes para cambiar esto y deshabilitar el autoguardado. Seleccione la pestaña Avanzado en el panel de propiedades a la derecha y descienda para buscar la opción AutoSave (Salida). Modifique el valor a false para deshabilitar AutoSave.

Captura de pantalla de la propiedad AutoSave en el panel derecho

A menudo, la configuración predeterminada de AutoSave funcionará mejor en los comandos personalizados. Si sabe cómo funciona Autoguardar, le resultará más sencillo configurar correctamente su comando para ofrecer a los usuarios una experiencia de usuario óptima.