Pregunta sobre SDT y GRID
Publicado por Alexander Mejia (4 intervenciones) el 03/07/2009 20:39:13
Hola Amigos Del Foro , Soy Algo nuevo en esto de Genexus , estoy desarrollando una aplicacion en genexus 9 con db MySql para WIN , tengo una transaccion llamada partida que consta de dos niveles en el nivel uno se ingresa el numero de partida, la fecha , usuario y detalle ese es el encabezado , el nivel dos es un grid donde se ingresa el codigo contable ,automaticamente genexus infiere el nombre de la cuenta , e ingreso un campo Dc el cual es para ingresar un 1 si el campo es un debito y un dos si es un credito , luego el campo monto,
el hecho es el siguiente , el usuario no puede generar la partida si esta esta desbalanceada es decir si la suma de los montos con uno no es igual a la de los montos con dos(debitos y creditos) eso practicamente ya lo tengo y lo hago en el evento isvalid de la ultima columna de la grilla , guardo en una variable los montos que pertenecen a 1 &sumadebitos y en otra los de dos , &sumacreditos despues en la variable &Diferencia guardo la diferencia de estas variables, luego con un boton valido
if &Diferencia<>0
msg('Partida no cuadra No se Generará...')
else
comprobar.Visible=0
btn_enter.Visible=1
endif
es decir si &Diferencia es distinto a cero tira el mensage que la partida no cuadra y no habilita el boton para generar los datos de lo contrario si lo hace
ahora bien el usuario deberia modificar los valores que ingreso malos para que &diferencia quede en cero , lo malo es que no he encontrado la forma de que cuando se modifique ese valor se borre de &sumadebitos o &sumacreditos el valor anterior sin afectar los otros valores sumados a la variable segun sea 1 o 2 y sume el valor correcto
Si me pueden ayudar , les agradecere sobremanera
el hecho es el siguiente , el usuario no puede generar la partida si esta esta desbalanceada es decir si la suma de los montos con uno no es igual a la de los montos con dos(debitos y creditos) eso practicamente ya lo tengo y lo hago en el evento isvalid de la ultima columna de la grilla , guardo en una variable los montos que pertenecen a 1 &sumadebitos y en otra los de dos , &sumacreditos despues en la variable &Diferencia guardo la diferencia de estas variables, luego con un boton valido
if &Diferencia<>0
msg('Partida no cuadra No se Generará...')
else
comprobar.Visible=0
btn_enter.Visible=1
endif
es decir si &Diferencia es distinto a cero tira el mensage que la partida no cuadra y no habilita el boton para generar los datos de lo contrario si lo hace
ahora bien el usuario deberia modificar los valores que ingreso malos para que &diferencia quede en cero , lo malo es que no he encontrado la forma de que cuando se modifique ese valor se borre de &sumadebitos o &sumacreditos el valor anterior sin afectar los otros valores sumados a la variable segun sea 1 o 2 y sume el valor correcto
Si me pueden ayudar , les agradecere sobremanera
Valora esta pregunta
0