GeneXus - Regla de asignación y edición de variable.

 
Vista:

Regla de asignación y edición de variable.

Publicado por federico (8 intervenciones) el 18/07/2011 16:58:16
Hola, tengo un problema con las reglas de asignación.
Tengo una transacción factura donde cada item toma un valor calculado a través de una regla de asignación.
Pero necesito que el usuario pueda cambiar ese valor. Actualmente si bien se puede editar el campo cuando guardo se almancena el valor de la regla y no el que ingreso el usuario.

Podrían ayudarme.

uso genexus 9.0, Form WIN.

Les copio la regla de asignacion:

ImporteItemLista = (ImporteVenta - (ImporteVenta * PorcentajeLista)) / 1.21 if ((CondicionIVA = 1 and ConsumidorFinal = 0) and (insert or update));


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

Regla de asignación y edición de campo.

Publicado por federico (8 intervenciones) el 18/07/2011 20:14:10
Corrijo el título del post.
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

Regla de asignación y edición de campo.

Publicado por luis (47 intervenciones) el 18/07/2011 21:24:26
Proba esto!
Crea una forumula que contenga el importe que pones al att ImporteItemLista

ImporteVenta - (ImporteVenta * PorcentajeLista)) / 1.21
if ((CondicionIVA = 1 and ConsumidorFinal = 0) ;


ImporteItemLista = ImporteItemFormula;
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

Regla de asignación y edición de campo.

Publicado por luis (1 intervención) el 18/07/2011 21:39:19
Perdon, no hagas caso al post anterior, esta por error!

Proba asignar solamente cuando el valor de ImporteItemLista sea 0.

Si te cambia el articulo o la cantidad, volve a 0 el importeItemLista asi recalcula con la formula. Para verificar esto podes asignarle a una variable el valor old()


ImporteItemLista = (ImporteVenta - (ImporteVenta * PorcentajeLista)) / 1.21 if ((CondicionIVA = 1 and ConsumidorFinal = 0) and ImporteItemLista = 0 and (insert or update));
&Articulo = Old(Articulo) If Update;
&Cantidad = Old(Cantidad) If Update;
importeItemLista = 0 if &Articulo <> Articulo And &Articulo > 0 And After(Articulo);
importeItemLista = 0 if &Cantidad <> Cantidad And &Cantidad > 0 And After(Cantidad);

Capaz que te funciona, capaz que no, con GeneXus nunca se sabe!
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