Hola Edgardo,
Aquí te dejo un ejemplo donde cargo 3 grillas:
Las Grid1 y Grid2 son Free Style y la Grid3 es una Grilla normal. (En el ejemplo son las variables &Grid1_Mensaje, &Grid2_Mensaje y &Grid3_Mensaje las que se cargan en cada grilla).
Event Grid1.Load
For each Ano, Mes
&VAno = Ano
&VMes = Mes
&Grid1_Mensaje = 'Ano-Mes: ' + Ano.ToFormattedString() + '-' + Mes.ToFormattedString()
Grid1.Load()
For each Ano, Mes
// Break
Endfor
Endfor
EndEvent
Event Grid2.Load
For each Ano, Mes, Dia
Where Ano = &VAno
Where Mes = &VMes
&VDia = Dia
&Grid2_Mensaje = '----> Ano-Mes-Dia: ' + Ano.ToFormattedString() + '-' + Mes.ToFormattedString() + '-' + Dia.ToFormattedString()
Grid2.Load()
For each Ano, Mes, Dia
// Break
Endfor
Endfor
EndEvent
Event Grid3.Load
For each Ano, Mes, Dia
Where Ano = &VAno
Where Mes = &VMes
Where Dia = &VDia
&Grid3_Mensaje = '-----------> Detalle: ' + Dato_del_Detalle
Grid3.Load()
Endfor
EndEvent
Nota: Los warnings de alerta de rendimiento, que te arroja son evaluados finalmente por el motor de base de datos y no por el cliente.
Atte.,
Luis Cavieres M.
Gracias a todos por sus respuestas me sirvio bastante lo de las formulas aunque lanzo algunos warnings de alerta de rendimiento.Aunque ahora tengo otro problema de hace rato que quiero ver el resultado dentro un grid anidado con un free style grid, pero no me funciona...tengo algo asi...for each Año Mes&mes = Mesfor each Año Mes Diafor each//cargo las variables con los datos de la transacciónendGrid.Load()endforFreeStyleGrid.Load()
endforSolo se ven los meses de cada freestylegrid, sin embargo de cada grid permanece en blanco sin ningun dato, use msg para ver que ocurria (depuración de manera muy antigua). A lo que tengo le agregé estomsg("a")Grid.Load()msg("b")Y solo veo en pantalla, la pura letra aHe estado buscando como usar grids anidados, pero no he encontrado todavía.Muchas gracias
El 1 de marzo de 2013 11:11, Luis Cavieres <luis.cavieres@kbi.cl> escribió:
Hola Edgardo,
La otra opción es crear 3 atributos formula:
Ano ==> Formula Year(atributo_fecha)
Mes ==> Formula Month(atributo_fecha)
Dia ==> Formula Day(atributo_fecha)
Y luego en tu programa realiza el corte control de esta forma
For each Ano, Mes
-------
For each Ano, Mes, Dia
-------
For each Ano, Mes, Dia
-------
Endfor
Endfor
Endfor
Atte.,
Luis Cavieres M.
El 1 de marzo de 2013 09:35, Soportegx <soportegx@gmail.com> escribió:create una tabla de meses para solucionarlo o en su defecto un arrglo o SDT bueno existen varias formas para recorrer primero los meses y luego los días. Si necesitas algo rapido para probar hazlo con variables
algo así
&mes=1
Do while &mes<=12
For Each
Where month(atributo_fecha) = &mes
//Cortes de Control
Endfor
&mes+=1
EnddoEl 1 de marzo de 2013 09:25, Edgardo moreno meza <egyware@gmail.com> escribió:Hola, tengo una pregunta que me está volviendo locoQuiero hacer dos cortes de control, uno por mes y el otro por dia, la idea es agrupar los items de la transacción por mes y me muestre la suma de las ventas por día correspondiente del mes.El problema es que pude hacer el corte de control pero por día sin ningún problema pero no puedo hacer el corte de control por mes debido que es el mismo atributo.
Gracias
--Edgardo Moreno Meza.
--
Edgardo Moreno Meza.
--
Has recibido este mensaje porque estás suscrito al grupo "GeneXus" de Grupos de Google.
Para anular la suscripción a este grupo y dejar de recibir sus correos electrónicos, envía un correo electrónico a genexus+unsubscribe@googlegroups.com.
Para obtener más opciones, visita https://groups.google.com/groups/opt_out.
0 Response to "Re: [gx-l] Corte de control"
Publicar un comentario