GeneXus - Ayuda con Reporte Genexus Evo

   
Vista:

Ayuda con Reporte Genexus Evo

Publicado por Seba (37 intervenciones) el 07/12/2014 19:15:53
Tengo una consulta, estoy probando con una transacción que tiene atributos en dos niveles, programe para que al confirmar la transacción se ejecute un reporte con el contenido de lo ingresado (eso lo hice en el Event After Trn)

Me esta pasando que en el reporte me muestra todos los atributos que llamo del primer nivel pero los del segundo nivel no los esta mostrando
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

Ayuda con Reporte Genexus Evo

Publicado por Darius (5 intervenciones) el 07/12/2014 21:15:13
Prueba ejecutar el reporte con una regla que se dispare ON AFTERCOMPLETE
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar
Imágen de perfil de ruben

Ayuda con Reporte Genexus Evo

Publicado por ruben (72 intervenciones) el 08/12/2014 17:02:12
Tienes que anidar dos for each y en el segundo escribir el nivel de la tabla base con un punto


For each Trn1
//codigo / Printblock

For each Trn1.Level
//codigo / Printblock

endFor
EndFor
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar

Ayuda con Reporte Genexus Evo

Publicado por Seba (37 intervenciones) el 08/12/2014 23:48:02
Entiendo pero no se como aplicarlo por ejemplo, si tengo una transaccion llamada "Articulo" compuesta de la siguiente manera:

ArticuloID
ArticuloNombre
ArticuloColor
ArticuloValor

Yo en la ejecucion del reporte le defino todos los atributos pero solo muestra los de primer nivel los de segundo nivel no los asigna al reporte.
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 ruben

Ayuda con Reporte Genexus Evo

Publicado por ruben (72 intervenciones) el 09/12/2014 17:35:33
En el layout: agrega los atributos ctrl + MAYUSCULAS + A


printblock1:

ArticuloID
ArticuloNombre
ArticuloColor
ArticuloValor

printblock2:

Attributo2ndoNivel_1
Attributo2ndoNivel_2
Attributo2ndoNivel_2


SOURCE:

1
2
3
4
5
6
7
8
9
10
For each Articulo
 
 printblock1
 
For each Articulo.Level
 
printblock2
 
EndFor
EndFor
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar

Ayuda con Reporte Genexus Evo

Publicado por Seba (37 intervenciones) el 10/12/2014 18:12:56
Ruben agradezco tus respuestas, te pido disculpas por mi ignorancia estoy iniciándome en el tema y vengo probando lo que me has ido indicando, aun no tengo el problema del todo resuelto, intente esto ultimo que me indicaste pero o resulta.

Te detallo mejor la estructura de lo que tengo y lo que quiero lograr para ver si asi me puedes ayudar mejor. Yo tengo lo siguiente:

Transacción (Atributos)

Cliente (ClienteId, ClienteNombre)
Articulo (Articulo Id, ArticuloNombre)

Y por ultimo tengo una transaccion de dos niveles:

Registro (RegistroId, Registronombre, ClienteId, ClienteNombre)
SegundoNievel (ArticuloId, ArticuloNombre)

Lo que me pasa en el procedure es que llamo los articulos del primer nivel en un printblock1 (RegistroId, Registronombre, ClienteId, ClienteNombre) y los muestra en pantalla ok, pero en un printblock2 llamo los articulos del segundo nivel (ArticuloId, ArticuloNombre) y no los muestra.

Desde ya Agradezco tu ayuda!
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 ruben

Ayuda con Reporte Genexus Evo

Publicado por ruben (72 intervenciones) el 10/12/2014 19:20:49
Si no hay problema, yo tambien tengo poco en el desarrollo de genexus, pero lo que he aprendido lo he aprendido a la mala, buscando en foros e infinitas paginas web.


Mira es lo mismo como te dije:
- Anida dos For each y en el segundo coloca el nombre de la transaccion base y luego un punto " . "
Y se deplegara un lista y eliges el nombre del segundo nivel.

quedaria asi:

For each Registro

Print Printblock1


For each Registro.Level // [El nombre del segundo nivel de la transaccion Registro]

Print Printblock2

EndFor
EndFor




* En el printblock2 agrega los atributos (ArticuloId, ArticuloNombre)


y con esto debe quedar solucionado tu problema.

Saludos!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar

Ayuda con Reporte Genexus Evo

Publicado por Seba (37 intervenciones) el 10/12/2014 22:05:50
Lo he hecho tal cual pero al hacer el build dice:

error: Error parsing starting in EndFor
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 ruben

Ayuda con Reporte Genexus Evo

Publicado por ruben (72 intervenciones) el 11/12/2014 16:50:58
Por pura curiosidad que version estas usando ??, ya que yo uso Evolution 3....
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

Ayuda con Reporte Genexus Evo

Publicado por Seba (37 intervenciones) el 11/12/2014 17:00:54
estoy probando evo 2 u2

lo que no veo es que cuando quiero en el " For each Registro.Level // [El nombre del segundo nivel de la transaccion Registro] " me reconozca el Atributo de segundo nivel
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 ruben

Ayuda con Reporte Genexus Evo

Publicado por ruben (72 intervenciones) el 11/12/2014 17:41:24
ya veo dame un momento lo estoy provando en evo 2..
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 ruben

Ayuda con Reporte Genexus Evo

Publicado por ruben (72 intervenciones) el 11/12/2014 17:45:07
Ya esta en evo 2 no es necesario establecer la tabla base por eso te marca error.


Quedaria de la misma manera, solo quitale la refencias de las tablas base.
asi:

For each

Print Printblock1


For each

Print Printblock2

EndFor
EndFor


A mi me funciono en evo 2 de esta manera, avisame como te fue. saludos!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar

Ayuda con Reporte Genexus Evo

Publicado por Seba (37 intervenciones) el 12/12/2014 03:27:39
Exelente Muchas Gracias por tu tiempo funciono ok
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar