Entonces la solucion era mas facil de lo que imagine.
EL PROBLEMA:
Tengo una lista de datos en un Grid. Ahora el usuario hace click en los encabezados y este se ordena sobre esa columna.. necesito entonces que cada vez que el usuario hace ordena por una columna el reporte automáticamente agrupe sobre ese orden y totalice esa agrupación.
Este es el ejemplo:
Este es la acción del usuario, ordeno por chofer:
Ahora usando solo un reporte que este interprete la acción del usuario ordene y agrupe y tire los resultados:
LA SOLUCIÓN:
Es simple, crear una variable publica en mi caso frxhabilita... que se le pueda asignar un valor numérico cada vez que el usuario hace click en los encabezados para ordenar.. 1=en el encabezado fecha, 2=producto, 3 = vehículo, etc.
Una vez echo esto pasamos al reporte, en el datagrouping del reporte agrupar pero.. con esta expresión
iif(frxhabilita=4,alltrim(upper(Va_ventaarido.producto)),"")
Si frxhabilita=4, agrupe por producto sino no haga nada.
Les va a quedar algo asi:
Y en cada total indican en printwhen, frxhabilita = 4 ... o sea que solo muestre cuando frxhabilita = 4
Espero les sirva, a mi me solucionó un montón de problemas... sobre todo el estar haciendo un formulario por cada orden que pedía el usuario.
Saludos
Carlos Emilio