Informe en Crystal Report

Tengo una tabla de Access donde figuran facturas, en la cual hay un campo para un importe, y otro campo para indicar la forma de pago de dicha factura (visa, american express, credit card, 4B, efectivo, ...)
Quisiera realizar el siguiente informe en Crystal Report y no se muy bien cómo hacerlo:
* Que arriba del todo ponga la fecha y esas cosas. Esto no tengo mayor problema en hacerlo.
* Que un poco más abajo me ponga la relación de importes de facturas que hayan sido pagadas con Visa y su suma correspondiente.
* Que un poco más abajo me ponga la relación de importes de facturas que hayan sido pagadas con otra tarjeta distinta a Visa y su suma correspondiente.
* Que un poco más abajo me ponga la relación de importes de facturas que hayan sido pagadas en efectivo y su suma correspondiente.
Cada parte del informe se hacerla por separado, osea, que si se tratase de informes separados sabría hacerlo poniendo un filtro determinado para cada informe, pero, ¿cómo puedo hacer para poner todo eso dentro de una misma hoja?, ¿Puedo poner varios filtros para varias partes de un mismo informe?, ¿Se puede hacer con otra versión distinta de la 4.6 de Crystal Report?.

1 respuesta

Respuesta
1
Lo que necesitas hacer es crear un corte por grupo. Dicho grupo sería el tipo de pago. En este caso deseas un ordene en específico y por lo tanto como creo que podría funcionar es crear una fórmula para dicho grupo y de acuerdo a ella ir haciendo las sumas.
Por ejemplo, que la fórmula pregunte si es tipo "Visa" que valga "A",
'Fórmula @TipoPago
'Suponiendo que 1=Efectivo, 2=american express, 3=credit card, 4=4B, etc. 20=Visa
If {Tabla.Campo} = 20 then
"A"
Else
If {Tabla.Campo} = 1 then
"C"
Else
"B"
En el reporte le insertas un grupo que agrupe por esta fórmula.
Lo que hará será agrupar y ordenar primero por Visa, luego todas las demás tarjetas de crédito y por último el efectivo.
Ahora, para darle un nombre de encabezado al grupo distinto para que no diga "A", "B" y "C" creamos la siguiente fórmula llamada @NombrePago
if @TipoPago = "A" then
"Visa"
else
if @TipoPago = "B" then
"Crédito Otros"
else
"Efectivo"
Y dentro del encabezado de grupo quitas el nombre de campo de grupo que dice "A"(y en su caso "B" y "C") y colocas la fórmula @NombrePago
De esta manera, ordenará y hará todas las sumas de acuerdo a @TipoPago pero en su titulo aparecerá @NombrePago.
Si tienes alguna duda dímelo
Muchas gracias Marcos
Al final he instalado Crystal Report 7.0 para qué me podía ofrecer y he visto que con los subinformes se puede hacer más o menos de una forma más sencilla lo que te comenté en la pregunta anterior, aunque ahora tengo la siguiente duda:
En el informe principal me interesa poner información de unos registros de una tabla, y me queda claro como hacer la fórmula de selección y pasar textos a dicho informe desde Visual Basic. En dicho informe he metido un subinforme, en el cual me interesa hacer otra fórmula distinta a la anterior y que además beba de otra tabla, y también pasar a algunas fórmulas de dicho subinforme textos, pero no se cómo hacerlo desde Visual Basic. Es decir, se cómo hacer para hacer la fórmula de selección de registros y enviar textos a fórmulas del informe principal de la siguiente forma:
MDI.Informe.Formulas(0) = "fecha='" & Me.Fecha_hoja_de_caja.Text & "'"
MDI.Informe.SelectionFormula = "{Facturas.Forma_pago}='Visa'"
Pero no se cómo hacerlo para el caso de selección de registros y envío de textos a fórmulas del subinforme. ¿Cómo puedo hacerlo?.
Muchas gracias una vez más.
Un saludo, Pablo
Report1.ReportFileName = App.Path & "\Reporte1.rpt"
Report1.SubreportToChange = ""
Report1.Formulas(12) = "Estatus=" & rsTabla!Estatus
Report1.SelectionFormula = "{Tabla1.Campo1} = " & Valor1 & " And {Tabla1.Campo2} = " & Valor2
Report1.SubreportToChange = "Subreporte2.rpt"
Report1.SubreportToChange = "Subreporte1.rpt"
Report1.SelectionFormula = "{Tabla2.Campo1} = " & Valor3 & " And {Tabla2.Campo2} = " & Valor4
Report1.Action = 1

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas