GeneXus - consulta con respecto a actualizar

   
Vista:

consulta con respecto a actualizar

Publicado por Pedro (73 intervenciones) el 17/11/2007 19:14:36
Les Explico mi consulta

tengo una Trn productos y Facturas

Productos

ProdCod*
ProdNom
ProdPrc
ProdFec
ProdFacVent

Factura de Compra

FacNro*
Clirut
FacFec
FecSist
FacUltLin
(FaclinNro*
CodProd
FacCnt
FacProdPrc
FacSubTot)
FacNet
FacImp
FacTot

mi consulta es la siguiente para actualizar por ejemplo el producto X vali el mes pasado 100 y ahora en la nueva Factura vale 110

se q si ingreso el codigo

ProdPrc = FacProdPrc if insert;

me actualiza el precio Automáticamente, pero lo q quiero hacer es q me pregunte si deseo
Actualizar los precios si o no, q si escojo q 'no' no me los actualice, pero si selcciono q si
los actualice.

Trabajo con GX8 generador de Visual y con SQL server

agradecería sus respuesta

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

RE:consulta con respecto a actualizar

Publicado por luis (82 intervenciones) el 19/11/2007 14:59:42
Una solucion podria ser al ingresar en la transaccion en el evento start poner los siguiente

Confirm('¿Desea actualizar los precios de la factura?',N)
If Confirmed()
&cambia = 'S'
Else
&cambia = 'N'
EndIf

y en las reglas, donde tenias la que actualizas el stock la modificas por esta
ProdPrc = FacProdPrc if &cambia = 'S' And If &Mode = 'INS';

Aunque realmente no entiendo bien como funciona tus transaccion ya que no tuve tiempo de ponerme a analizarla, pero esto es mejor que un post sin respuestas, XD
Saludos, contame como te fue y si es otra cosa la que necesitas.
Luis.-
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:consulta con respecto a actualizar

Publicado por Pedro (73 intervenciones) el 19/11/2007 15:58:12
Pero eso me cambiria el precio de todos los productos y lo q gustaria es q me preguntara producto por producto

lo q estab pensando

es crear un workpanel

con el precio antiguo y el nuevo

y ahi poner esa regla

lo voy a intentar asi y les cuento como me fue
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:consulta con respecto a actualizar

Publicado por Pedro (73 intervenciones) el 19/11/2007 17:54:16
Me sale q me falta el segundo operador luis
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:consulta con respecto a actualizar

Publicado por Lestat El Vampiro (61 intervenciones) el 19/11/2007 15:09:34
Estimado Luis,

Trabajas con las transaccines originales de Genexus o las modificas, es decir, las llamas desde un workPanel utilizando la variable &mode...donde te da la opcion de escoger entre ingresar modifica o eliminar.... y entras a la transaccion....
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:consulta con respecto a actualizar

Publicado por Pedro (73 intervenciones) el 19/11/2007 15:54:41
Trabajo desde un workpanel el cual llama a la transaccion segun el &mode
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:consulta con respecto a actualizar

Publicado por Lestat El Vampiro (61 intervenciones) el 19/11/2007 17:05:20
bueno los dos trabajan con la variable &mode..eso ya me facilita las cosas para imaginarme como funcionan sus transacciones...

tengo una idea..pero son de esas ideas donde es necesario crear procedimientos y desarrollar un poco de codigo(no es problema pero la gracias ubiera sido aver encontrado alguna funcion de genexus )

primero es necesario generar un evento con tu atributo FacProdPrc..con la condicion isvalid ejemplo:

Event &FacProdPrc.IsValid

EndEvent // &Ano.IsValid

isvalid ---> quiere decir que se activa despues que pasas por ese atrubuto o le das enter...

dentro de ese evento deves generar la llamada al procedimiento

llamas a un procedimieto el cual llevaria el codigo del producto mas su valor
independiente si este fue modificado...despues en el procedimiento por medio de un for each buscas el producto y comparas el precio ke tiene con el que traes por medio del procedimiento...si son distintos...preguntas por medio de un confirm() si deceas actualizarlo......bueno si es si lo cambias de lo contraria no impactas la BD....

el problema seria ke la actualizacion se llevaria dentro de la transaccion independiente si al final de esta aceptas o cencelas...ya que actualizacias por medio de un procedimiento....

espero no ser muy enredado
.. nos vemos
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:consulta con respecto a actualizar

Publicado por Pedro (73 intervenciones) el 19/11/2007 18:02:31
Ya miren conbine un poco de ambos y q por cada Producto me vaya preguntando si quiro actualizar los precios

pero me salio el siguiente error en el momento de generar


spc0033 ProdCodBar will be read only in update mode.

Rules not included
ProdPrcComp= FacProdPrc IF &Op = 'S' and &Gx_mode = 'INS';
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:consulta con respecto a actualizar

Publicado por Lestat El Vampiro (61 intervenciones) el 19/11/2007 18:39:20
debe ser por que no reconoce la condicion....
.... genexus es un poco mañoso...xd

solo puedes impactar de manera manual(realizar un cambio o insertar..etc) una Bd desde un Procedimiento... salvo cuando das esa clace de condiciones en las reglas de una transaccion, como

atributi1= papá if insert;
atributo1 = mamá if insert .and. etc........;


pero no siempre funcionan..( como es tu caso)

ademas

ProdPrcComp...--->de que transaccion es, ya que si no pertenece a la misa transaccion en la cual estas trabajando no funciona la regla.....
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:consulta con respecto a actualizar

Publicado por Pedro (73 intervenciones) el 19/11/2007 20:07:44
Si esta en la transacciónes q le cambie el nombre a ProdPrc por eso es para diferenciarlo
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:consulta con respecto a actualizar

Publicado por Pedro (73 intervenciones) el 19/11/2007 20:13:06
La puse asi tb y tampoco me genera

ProdPrcComp= FacProdPrc IF &Op = 'S';

y otra consulta como genero de forma manual??
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
Imágen de perfil de Patricio Ojeda V

RE:consulta con respecto a actualizar

Publicado por Patricio Ojeda V (454 intervenciones) el 19/11/2007 20:36:44
A modo de comentario, ese Warning que te sale a la hora de especificar es porque GeneXus no acepta variables en las reglas de una Trn.

Para trabajar con variables debes utilizar la regla accept(&variable)

Ejemplo:

accept(&Op);
ProdPrcComp= FacProdPrc IF &Op = 'S';

Espero te sirva,

Saludos

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:consulta con respecto a actualizar

Publicado por Pedro (73 intervenciones) el 19/11/2007 20:46:38
Gracias Patricio eso sirvo

muchisisisisisisisisimas gracias
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:consulta con respecto a actualizar

Publicado por Pedro (73 intervenciones) el 19/11/2007 20:39:07
En realidad necesito saber como puedo hacer q me genere esa regla

o simplemente no puedo??

alguien q me explique por q es para presentar un examen final y me faltaría eso para terminar y volver a dormir

gracias

a todos por sus repuestas
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:consulta con respecto a actualizar

Publicado por Pedro (73 intervenciones) el 19/11/2007 20:58:02
Puse el accept (&op);
y me funciono la regla

pero una ves q lo ejecuto no me actualiza ningun precio
ya no se q hacer
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:consulta con respecto a actualizar

Publicado por luis (82 intervenciones) el 23/11/2007 02:24:05
Yo te doy una mano, pero en el aire me cuesta mucho pensar. Si podes y queres, distribui el modelo y mandamelo a mi email, distribuilo completo sino va a funcionar mal. Y de ahi te busco una solucion a tu problema con mas claridad. Saludos!
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