GeneXus - Errores con regla error

 
Vista:

Errores con regla error

Publicado por Patricio Ojeda V (194 intervenciones) el 26/04/2007 21:26:55
Amigos del foro,

Tengo 2 errores de comportamiento con la regla error:

1.- Tengo la siguiente regla error:

error('El Nº de la Factura de Compra no puede ser 0...') if fcnro=0 or fcnro.IsEmpty();

El problema que tengo es que la formula se dispara al entrar a la Trn, o sea, entro al objeto y me sale inmediatamente el msg de error. Lo raro es que tengo otra Trn exactamente igual en el primer nivel a la que me da error y no tengo problemas, ya que la regla se dispara cuando quiero pasar al siguiente atributo y no he ingresado valores en el campo.

2.- Tengo 2 combobox con la siguiente estructura:

Fc_impto C(1) con Upper Fc_fpago C(1) con Upper

Text Value Text Value
(Iva) I (Forma de Pago) F
Si S Cancelada C
No N Cta. Cte. Proveedor P

error('Debe indicar si la Factura posee Iva...') if fc_impto="I"; Funciona OK, cuando selecciono con el Mouse (Iva) me sale el msg de error, al igual que cuando quiero pasar al siguiente campo con Enter y no he elegido S o N…

error('Debe seleccionar Forma de Pago de la F.C.') if fc_formapago="F"; NO funciona correctamente al seleccionar con el Mouse (Forma de Pago) me sale el msg de error, pero igual me deja pasar, quedando el foco automáticamente en el siguiente campo (no tengo Setfocus al campo que sigue). También cuando no selecciono nada y paso con Enter no me sale el msg de error y me deja pasar.

Espero hacer sido claro en la explicación, cualquier comentario se agradece.

Gx 9
Dev U3
Java U2
Sqlserver

Saludos a todos…

Patricio Ojeda V
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

RE:Errores con regla error

Publicado por Patricio Ojeda V (194 intervenciones) el 26/04/2007 22:48:31
Solucioné el primer Problema.

Borre la Trn y la cree nuevamente.

No lo puedo asegurar, pero me parece que el problema era porque tenía alineados los atributos de manera horizontal, y unos estaban mas arriba que otros en el Form de la Trn. ¬¬

Ahora me falta solucionar el problema 2.

Cualquier aporte es bienvenido...

Patricio Ojeda V
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

RE:Errores con regla error

Publicado por Leandro (146 intervenciones) el 27/04/2007 01:15:38
Patricio.
Para confirmar la solución que encontraste a tu primer problema cuento uno mio:
Tengo una trn con Comprobantes / Artículos que admite. Cuando ingresaba en modo 'DSP' a la transacción, me decia "No existe 'Articulo'" pero luego visualizaba bien. Solución: Poner en pantalla (Y mas arriba) el Atributo Nro de linea, que no lo instancia el usuario, pero es clave. Seguramente a vos te pasaba algo similar.

Para el segundo problema, yo forzaria la regla error a ejecutarse luego de pasar por encima de ese atributo que te trae problemas ( O sea...hacer IF AFTER(Att);), podrías incluso agregar bajo que modalidad de la transacción (insert o update me imagino) queres tirar el error. A Ese tipo de problemas yo suelo encontrar la solución asi, haciendo condiciones mas complejas, para que GeneXus no se "confunda".

Espero que tengas exitos, y gracias por tus aportes al foro.
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

RE:Errores con regla error

Publicado por Patricio Ojeda V (194 intervenciones) el 27/04/2007 20:00:17
Hola Leandro,

He probado casi creo yo, casi, todas las opciones posibles y no funciona. Tambien he probado colocar el msg de error if after(atributo), tambien con on aftervalidate, etc, etc.

La unica forma donde funciona es quitando el combobox que tengo antes del que me da problemas. De esa manera funciona perfectamente. Es como que si al pasar del primer combo al segundo combo no detectara la regla error del segundo combo, pudiendo pasar sin haber elegido un valor e inclusive con la tecla Enter.

Son esos "MomentosGx".

Por ahora veré alguna otra alternativa de solucion.

Saludos tambien y sigamos aportando al foro como siempre...

Patricio Ojeda V
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