Clarion - Take Completed

 
Vista:
sin imagen de perfil

Take Completed

Publicado por Marco (155 intervenciones) el 03/01/2018 14:28:25
Hola a todos, necesito de su ayuda.
Tengo una tabla cabecera facturas, y en la tabla de clientes un campo que se llama saldo el cual debo ir actualizadando.
En el TakeCompleted inserto el siguiente codigo

1
2
3
4
5
6
CLI:cliente = VEN:cliente
access:clientes.fetch(CLI:clave)
if ~errorcode()
    CLI:saldo = CLI:saldo + VEN:total_venta
    access:clientes.update()
end

El codigo funciona perfectamente, pero el problema esta en que de repente cuando el Clarion detecta por ejemplo que ya hay un registro con el mismo nro de registro, me lanza el error de clave duplicada, pero lo mismo ejecuta el codigo, por lo tanto suma una vez y cuando se corrige el nro de factura y le doy grabar lo vuelve a sumar.
Mi consulta es, como o en que punto debo insertar el codigo, para que una vez que el Clarion valide todos los datos, recien ahi ejecute el codigo.
Estoy trabajando con Clarion 6.3 y tablas tps.
Ya lo probe antes y despues del parent call; y realiza lo mismo.
Desde ya muchas gracias
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
sin imagen de perfil
Val: 403
Oro
Ha mantenido su posición en Clarion (en relación al último mes)
Gráfica de Clarion

Take Completed

Publicado por Marcelo Madelón (316 intervenciones) el 11/01/2018 14:55:05
Marco

Yo lo colocaría en el botón de OK y el colocaría dentro de este código.

IF 0{Prop:AcceptAll} = FALSE
! Aqui va la validación

END ! IF

Este código hace que se valide solo cuando de acepta un botón o un campo, así que lo podes usar para hacer validaciones.
Clarion cuando das el botón OK te revalida todos los códigos que tenes. Hay situaciones que queres que solo se ejecute una vez.

Avisa si te sirvió.

Saludos y feliz 2018
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

Take Completed

Publicado por Marco (155 intervenciones) el 13/01/2018 12:43:50
Gracias Marcelo, lo voy aprobar.
Feliz 2018 para vos tambien.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar