Revertir transacción en caso de error
Controla si las transacciones se revierten inmediatamente cuando se produce un error.
Temas relacionados
Opciones
-
Activo revierte automáticamente las transacciones en cuanto se producen determinados errores. Este es el comportamiento predeterminado cuando no se utiliza este paso de guión.
-
Inactivo permite que los pasos dentro de las transacciones continúen incluso después de que se produzcan determinados errores.
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
21.1.1
Descripción
Si este paso de guión está Activo y un paso de guión dentro de una transacción devuelve un error porque no puede crear, actualizar o eliminar datos como se esperaba, la transacción se revierte automáticamente, comportándose igual que cuando se ejecuta el paso de guión Revertir transacción sin un condición. Este tipo de errores revierten automáticamente las transacciones:
-
Un cambio en un campo, que se ha configurado para validarse siempre, que no coincide con las opciones de validación del campo.
-
Errores de privilegios, como el de no tener acceso al campo, al registro o a la tabla.
Establezca este paso de guión en Inactivo para añadir su propia gestión de errores dentro de las transacciones. Por ejemplo, después de que se produzca un error que, de lo contrario, revertiría la transacción, el guión puede intentar solucionar el error y, a continuación, volver a intentar realizar la operación para evitar revertir toda la transacción.
Si está Inactivo, este paso de guión también ayuda mientras se depura una transacción en el depurador de guiones. Dado que un error no revierte automáticamente la transacción, puede establecer el siguiente paso donde desee, incluso dentro de la transacción, lo que de otro modo no estaría permitido.
Notas
-
Para obtener el estado actual de Revertir transacción en caso de error, utilice la función Get ( RevertTransactionOnErrorState ).
-
Si se ha establecido en Inactivo, la opción Revertir transacción en caso de error permanece desactivada mientras se ejecuta el guión actual y cualquier subguión, a menos que se modifique. Cuando finaliza el guión actual, el estado se restablece a Activo.
Ejemplo 1
Abre una transacción e intenta configurar el campo Texto y el campo Número, que tiene activada la validación para datos solo numéricos. Establecer campo para texto se ejecuta correctamente. Establecer campo para número falla la validación y devuelve un error, pero la transacción no se revierte automáticamente. En su lugar, se muestra el cuadro de diálogo personalizado y, a continuación, se confirma la transacción, cambiando solo el campo Texto.
Revertir transacción en caso de error [ Inactivo ]
Abrir transacción [ ]
Establecer campo [ Tabla::Texto ; "Nuevo" ]
Establecer campo [ Tabla::Número ; "Era un lugar oscuro y..." ]
If [ Get ( LastError ) > 0 ]
Mostrar cuadro de diálogo personalizado [ "Vaya, se ha producido un error con el número." ]
End If
Confirmar transacción