Abrir transacción
Inicia una transacción; los cambios de registros posteriores se mantienen en la transacción hasta que se ejecute un paso de guión Confirmar transacción o Revertir transacción.
Nota Las transacciones se gestionan dentro de la ventana de origen. Las acciones realizadas en ventanas que no sean la ventana de la transacción de origen se consignarán automáticamente fuera de las transacciones existentes.
Temas relacionados
Opciones
-
Desestimar validación de introducción de datos anula todas las opciones de validación de entrada de datos especificadas para los campos y consigna el registro de todos modos. Esta opción solo omite la validación de los campos establecida con la opción Solo durante la entrada de datos del cuadro de diálogo Opciones para el campo; los campos con la opción Validar siempre se seguirán validando, aunque se seleccione la opción Desestimar validación de introducción de datos. Consulte Definir validaciones de campo.
-
Omitir los conflictos de bloqueo de ESS permite que los clientes de las fuentes de datos ODBC fuercen la consignación de los cambios cuando se utiliza el "bloqueo optimista"; de lo contrario, se impide la acción de consignación. Las fuentes de datos ODBC también se conocen como fuentes de datos SQL externas (EES).
Compatibilidad
Producto | Format |
FileMaker Pro | Sí |
FileMaker Go | Sí |
FileMaker WebDirect | Sí |
FileMaker Server | Sí |
FileMaker Cloud | Sí |
FileMaker Data API | Sí |
Publicación en la Web personalizada | Sí |
Se origina en
19.6.1
Descripción
Una transacción está compuesta por cambios en uno o varios registros en la ventana actual. Los cambios de una transacción pueden afectar a varias tablas de varios archivos de bases de datos. Todos los cambios de una transacción se consignan o, si se produce un error, se revierten juntos. Una transacción empieza con un paso de guión Abrir transacción. Después de iniciar una transacción, los siguientes cambios de registro se mantienen en la transacción hasta que se ejecuta el paso de guión Confirmar transacción o Revertir transacción. El paso siguiente puede cambiar los registros almacenados en el esquema de las bases de datos y se puede usar como paso de guión transaccional.
-
Si el destino de la importación es una tabla nueva, la tabla, la ocurrencia de la tabla y la presentación se eliminan si la transacción no se confirma. Una transacción no se consigna si el paso de guión Confirmar transacción devuelve un error o se ejecuta el paso de guión Revertir transacción.
-
Editar paso de guión: Borrar, Cortar, Pegar, Ejecutar Buscar/reemplazar, Deshacer/rehacer
-
Insertar paso de guión: Insertar audio/vídeo, Insertar resultado calculado, Insertar fecha actual, Insertar hora actual, Insertar nombre del usuario actual, Insertar archivo, Insertar desde dispositivo, Insertar desde índice, Insertar desde último visitado, Insertar desde URL, Insertar PDF, Insertar imagen, Insertar texto
Cuando añade un paso de guión Abrir transacción en un guión, el paso de guión Confirmar transacción se vincula automáticamente con él.
Transacciones:
-
Antes de continuar, intente salir y confirmar los cambios realizados en el registro activo en ese momento. Si no puede salir del registro activo, Abrir transacción devuelve un error y se omiten los pasos de guión dentro de la transacción.
-
Combinar una o varias modificaciones de campos o tablas como un único conjunto de cambios
-
Consignar o revertir un conjunto de cambios entero
-
Agrupar las modificaciones de campos o tablas entre los pasos de guión Abrir transacción y Confirmar transacción
-
Le permite crear un conjunto de cambios más fiable
-
Se puede revertir automáticamente usando el paso de guión Revertir transacción
-
Tener éxito (consignar) o fallar (revertir) como grupo
-
Tiene éxito cuando se cumplen las reglas del esquema
-
Se revierte automáticamente cuando no se cumplen las reglas del esquema
-
Puede omitir opcionalmente los ajustes de validación y anular las reversiones automáticas cuando no se cumplen las reglas del esquema. Anular las reglas de esquema pueden acabar con la integridad de las transacciones.
-
Se modifican en un archivo temporal local antes de que el paso de guión Confirmar transacción guarde los cambios en el archivo principal
Las transacciones se confirman y finalizan automáticamente cuando:
-
Los siguientes pasos de guión cambian la ventana de presentación: Ventana nueva, Cerrar ventana o Seleccionar ventana
-
Se utilizan los siguientes cuadros de diálogo: Administrar base de datos, Administrar contenedor o Administrar fuente de datos
-
Se realizan las siguientes acciones o pasos de guión: Guardar una copia como o Volver a iniciar sesión.
-
El archivo se cierra
De forma predeterminada, las transacciones se revierten automáticamente cuando:
-
Existe un error de esquema no resuelto antes de iniciar una transacción. Las transacciones se omiten automáticamente cuando esto ocurre.
-
Un cambio en un campo, que está configurado para validar siempre, no coincide con las opciones de validación del campo
-
Se usa el paso de guión Revertir transacción
-
Se cancela un guión
-
Se usa el paso de guión Detener guión en una transacción
-
Se cancela un guión usando el Depurador de guiones
-
Hay errores de privilegios, como el de no tener acceso al campo, al registro o a la tabla
Para controlar si las transacciones se revierten automáticamente cuando se producen determinados errores, utilice el paso de guión Revertir transacción en caso de error.
Notas
-
Transacciones anidadas:
-
No están permitidas dentro del mismo guión (el Espacio de trabajo de guiones impide poner una transacción dentro de otra)
-
Se puede aproximar abriendo una transacción en un guión principal y utilizando el paso de guión Ejecutar guión para llamar a un subguión. Todo lo que hay en el subguión se realiza dentro del alcance de la transacción actualmente abierta. Si el subguión contiene pasos de Abrir transacción y Confirmar transacción, esos pasos se omiten y devuelven el error 3 ("El comando no está disponible"), pero todo lo que hay antes, entre y después de esos pasos en el subguión se realiza dentro de la transacción del guión principal. Si el subguión incluye un paso de Revertir transacción, puede revertir la transacción del guión principal y saltar al paso correspondiente de la transacción Confirmar transacción. Consulte Ejemplo 4.
-
-
La acción Eliminar registro, si se usa dentro de las transacciones, elimina un registro a la vez.
-
La acción Truncar tabla no se puede revertir.
-
La acción Importar registros no muestra un resumen cuando se usa dentro de las transacciones.
-
EL paso de guión Revertir transacción no revierte el valor Introducir automáticamente el incremento de la serie.
-
La opción Guardar cambios de registros automáticamente de Ajustar presentación se ignora durante las transacciones.
-
Los cambios realizados por el paso de guión Ejecutar FileMaker Data API no se incluyen en la transacción del guión. Cualquier operación completada dentro de este paso de guión, incluso si está incluida dentro de una transacción, no se podrá revertir.
-
Para determinar si una transacción está actualmente abierta, utilice la función Get ( TransactionOpenState ).
Ejemplo 1
Abre y consigna una transacción.
Abrir transacción []
Abrir registro/petición
Establecer campo [ Activos::Descripción ; "texto descriptivo" ]
Confirmar transacción
Ejemplo 2
Abre y consigna una transacción sin validación de la introducción de datos.
Abrir transacción [ Desestimar validación de introducción de datos ]
Abrir registro/petición
Establecer campo [ Activos::Descripción ; "texto descriptivo" ]
Confirmar transacción
Ejemplo 3
Abre y consigna una transacción sin la protección de bloqueo ESS.
Abrir transacción [ Invalidar los conflictos de bloqueo ESS ]
Abrir registro/petición
Establecer campo [ Activos::Descripción ; "texto descriptivo" ]
Confirmar transacción
Ejemplo 4
El guión principal abre una transacción, establece CampoTexto y luego llama a un subguión. Debido a que el subguión se llama mientras una transacción ya está abierta, su paso Abrir transacción se omite, CampoTexto se establece en un valor diferente y, a continuación, se evalúa la condición en el paso Revertir transacción.
Si CampoNumérico es 1, la transacción actual (abierta en el guión principal) se revierte. Se omite el paso Confirmar transacción del subguión y, a continuación, el control vuelve al paso Confirmar transacción del guión principal, omitiendo cualquier paso posterior a Ejecutar guión. Cuando el guión principal está terminado, el valor de CampoTexto no cambia.
Si CampoNumérico es 0, entonces el subguión no revierte la transacción, por lo que el control vuelve al paso después de Ejecutar guión, donde CampoTexto se establece en abc123 y la transacción se confirma.
Guión principal
Abrir transacción [ ]
Establecer campo [ Tabla::CampoTexto ; "abc" ]
Ejecutar guión [ Especificado: Desde lista ; "Subguión" ; Parámetro: ]
Establecer campo [ Tabla::CampoTexto ; "abc123" ]
Confirmar transacción
Subguión
Abrir transacción [ ]
Establecer campo [ Tabla::CampoTexto ; "xyz456" ]
Revertir transacción [ Condición: Tabla::CampoNumérico = 1 ]
Confirmar transacción