Mostrar columnas como una fila separada por comas en Crystal Reports


Usamos actualmente Crystal Reports para mostrar facturas, presupuestos, balances y demás información. Uno de los últimos requerimientos era mostrar la información en una sola línea separada por comas en lugar de una columna. Antes:
CONCEPTO                                                   PRECIO
concepto1                                              3%        24€
concepto1                                              5%        10€
concepto1                                              2%        40€
concepto2                                              4%        15€
concepto2                                              5%        10€
Después:
CONCEPTO                                                   PRECIO
concepto1                              3% 24€, 5% 10€, 2% 40€
concepto2                                            4% 15€, 5% 10€
Para poder realizar esto hay dos puntos claves, la instrucción "WhilePrintingRecords" y una variable global, una variable que pueda ser accedida desde fórmulas diferentes.

Pasamos a comentar paso por paso. Lo primero es crear una fórmula en el Detalle, el cual suprimiremos (ocultaremos). Fijaos que esta en sintaxis VisualBasic
WhilePrintingRecords

global precioList as string

if len(precioList ) = 0 then
     precioList = {db.porcentajeVariable} + "  " + {db.precioVariable}
else
     precioList = precioList + ", " + {db.porcentajeVariable} + "  " +
 {db.nombreVariable}
end if

formula = ""
El segundo paso es crear otra formula en el pie de grupo donde mostraremos el acumulado y lo reiniciaremos:

WhilePrintingRecords
global nameList as string
formula = nameList
nameList = ""
Espero que os sirva!

Fuente Foro SAP Community Network