GeneXus - Lectra de items de facturas

 
Vista:

Lectra de items de facturas

Publicado por Esteban (5 intervenciones) el 03/04/2006 23:51:40
Hola
Mi problema radica en poder leer los ítems de una factura (de atrás para adelante, es decir leer los ítems en forma descendente) y las cabeceras en forma ascendente. Pero hacerlo con “for each” y un comando “load” dentro de un work panel. Además sólo me interesa el 1° item encontrado (leyendolo en descenso), y tratar de mostrar el registro si cumple las condiciones que le doy. Ej.

N° Fac. N° item Importe Artículo
1 4 $2,50 XXXXXXXX
1 3 $4,00
1 2 $10,00
1 1 $4,00
N° Fac. N° item Importe Artículo
2 2 $4,00 XXXXXXXX
2 1 $5,00
*********************************************************
N° Fac. N° item Importe Artículo
3 2 $4,00 XXXXXXXX
3 1 $15,00
En el ejemplo muestro 3 facturas, siempre leer el 1° ítems y la condición que pongo es que el importe sea $4,00 y muestre el registro, pero que los demás no los lea ni los muestre. Probé de varias formas pero el corte de control no lo hace como yo quiero. En estas 3 factura sólo deben mostrarse los ítems n° 2 de las facturas 2 y 3 . desde ya les agradezco la atención brindada
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:Lectra de items de facturas

Publicado por PabloF (275 intervenciones) el 04/04/2006 14:01:54
ummmm, y si haces en el load del workpanel....

FOR EACH nrofac, (nroitem)
WHERE importe = 4
...........&nrofac = nrofac
...........&nroitem = nroitem
...........&importe = importe
...........&articulo = articulo
...........LOAD
ENDFOR

y mostras variables en vez de campos, creo que asi te funcionaria.
y si lo que queres es que lea SI o SI solo un registro de los items hace...

FOR EACH nrofac
.......® = 1
.......FOR EACH (nroitem)
...............IF&Reg = 1 .and. Importe = 4
.....................&nrofac = nrofac
.....................&nroitem = nroitem
.....................&importe = importe
.....................&articulo = articulo
.....................&Reg = reg +1
..............endif
......endfor
endfor

de esta manera leerias por factura, bajando descendente por nro de item, el primer articulo los demas serian ignorados por la condicion del IF. Espero te sirva.

Saludos PF
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:Lectura de items de facturas

Publicado por Esteban (5 intervenciones) el 04/04/2006 17:06:24
Muchas gracias Pablo, no se me ocurrio hacerlo cargando variables como tu lo muestras, ahora mismo lo hago y te comento. Yo trataba de displayar el work panel con los campos nativos. por lo visto es erróneo.
Desde ya si necesitas algo en lo que pueda ayudarte dímelo. Yo vivo en Salta. Nuevamente gracias y chau.
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:Lectura de items de facturas

Publicado por PabloF (275 intervenciones) el 04/04/2006 18:24:42
De 10 Esteban.
A veces utilizar variables en vez del campo directamente te da mas soltura para gestionar los datos desde un Workpanel, pero puede hacer engorroso ciertas operaciones. Para lo que creo que lo vas a usar vos estara perfecto.

Acordate de meterle el LOAD despues de llenar las variables porque sino no vas a ver nada en la grilla.

Seguramente me podras ayudar luego con mis dudas, te agradezco.
Suerte en tus proyectos.

Pablo desde CBA.
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

Facturas

Publicado por Esteban (5 intervenciones) el 05/04/2006 00:31:57
Gracias una ves mas Pablo, ya sabes que lo que necesites y esté a mi alcance, pues te ayudaré. Suerte para ti también.Chau
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:respuesta

Publicado por Esteban (5 intervenciones) el 07/04/2006 04:43:45
Hola Pablo, quería decirte que la rutina que me enviaste no trabaja como yo lo quiero. Me puse y la desculé, la prové y trabaja bien. Te la mando tal vez la necesites alguna ves. (mueiden = N° de Factura);( Hisnro = Items). Gracias por tu ayuda.

Event Load
for each MueIden
where MueIden > &iden
for each order (HisNro)
&a=&a+1
if (&a=1) .and. (HisTipMov = 4) .and. (HisMarca = 0)
call( Pverdes,MueIden, &des1,&des2,&des3)
// DO 'VERDETALLE'
load
&a=0
&iden=MueIden
exit
else
&iden=MueIden
&a=0
exit
endif
endfor
endfor
endevent
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