Evitar el alta de una ficha en el trigger


([N2] fermin3f) #1

Tengo una duda.

Quiero cancelar el alta en de una ficha en el trigger anterior a un alta de ficha (que es donde indica velneo que se puede hacer)

Probé con la instrucción finalizar proceso y no detiene el alta.

Conseguí detener el alta con las siguientes instrucciones:
Deshacer transacción
Set Retorno proceso=NO
Finalizar proceso.

¿Es así como se cancela el alta de una ficha en el trigger ?


([N2] ramiro) #2

Buenas:

Lo normal, o al menos es como yo lo uso, es comprobar las condiciones de cancelación ANTES de hacer cualquier tarea transaccional y si las comprobaciones indican que el alta debe ser cancelada ejecutar:

Set Retorno proceso=NO
Finalizar proceso

Saludos. Ramiro


([N2] fermin3f) #3

Gracias Ramiro.

Efectivamente con las dos instrucciones que indicas ya cancela el alta en el trigger anterior al alta de ficha.

Como con una única instrucción de finalizar proceso no cancelaba el alta, di por supuesto que la transacción ya se había iniciado y había que cancelarla, pero no es así.


([N2] AyudaVelneo) #4

Hola Fermín:

Lo ideal es hacerlo en el botón aceptar del formulario de la ficha que quieres dar el alta.

Al botón le asocias un manejador de evento en el que compruebas todo lo necesario para dar el alta.

En caso de que no se cumplan las condiciones, cancelas el alta de ficha informando al usuario de la circunstancia

Si está todo ok, finalizas el manejador con una instrucción “Interfaz: Aceptar”

El problema de hacerlo en el trigger es que no puedes “informar” al usuario con ningún mensaje.

Tienes un ejemplo detallado en mi blog

Un saludo