Vlady
24-07-2008, 21:13:37
Hola amigos del club delphi
Tengo el siguiente inconveniente creo una consulta mediante un procedimiento y esta información la quiero mostrar en un reporte en una banda de detalle pero el problema radica en quiero q no existe ninguna casilla en null en el reporte ya q esto me desperdicia espacio, quiero que la tabla siguiente
este es el procedimiento que me genera la tabla
begin
/*FACTURAS QUE ME EXPORTAN SOLO EL IVA*/
SELECT DESCUENTO FROM FACTURA WHERE N_FACTURA = :FACTURA INTO DESCUENTO;
FOR SELECT S.IVA, SUM(I.IVA), SUM(I.VALOR) FROM SERVICIO S, ITEMSERVICIO I, ORDEN_SERVICIO O, FACTURA F
WHERE I.SERVICIO = S.CODIGO AND I.ORDEN = O.N_ORDEN AND F.N_FACTURA = :FACTURA AND F.NORDEN = O.n_orden GROUP BY
S.IVA INTO :PORCENTAJE, :TIVA, :TTOTAL DO
BEGIN
NFAC = :FACTURA;
BASE = :TTOTAL/(1+:PORCENTAJE/100);
BASE1 = :BASE;
BASE = :BASE - (BASE*DESCUENTO/100);
TIVA = BASE1 * (PORCENTAJE/100);
TTOTAL = BASE + TIVA;
suspend;
END
PORCENTAJE = NULL;
TIVA = NULL;
ttotal = NULL;
BASE = NULL;
/*FORMAS DE PAGO*/
SELECT N_ORDEN FROM ORDEN_SERVICIO WHERE N_FACTURA = :factura
INTO :ORDEN;
FOR SELECT FORMA_PAGO, sum(VALOR) from ANTICIPO WHERE N_ORDEN = :ORDEN group by forma_pago
INTO :FPAGO, :VFPAGO DO
BEGIN
NFAC = :FACTURA;
suspend;
end
end
Tabla arrojada
Porcentaje IVA TOTAL BASE FPAGO VALOR
10 19.127 210.400 121.272 <null> <null>
16 1.972 14.300 12.327 <null> <null>
<null> <null> <null> <null> CXC 119.500
<null> <null> <null> <null> EFECTIVO 65.000
<null> <null> <null> <null> T.C. 15.000
<null> <null> <null> <null> T.D. 25.200
Si existe alguna forma de tranformala en esta que me optimiza los espacios en la banda detalle
Porcentaje IVA TOTAL BASE FPAGO VALOR
10 19.127 210.400 121.272 CXC 119.500
16 1.972 14.300 12.327 EFECTIVO 65.000
<null> <null> <null> <null> T.C. 15.000
<null> <null> <null> <null> T.D. 25.200
Utilizo Delphi 7, firebird 2.0 y QuickReport 4.05 espero que haya quedado clara la duda.
Gracias
Tengo el siguiente inconveniente creo una consulta mediante un procedimiento y esta información la quiero mostrar en un reporte en una banda de detalle pero el problema radica en quiero q no existe ninguna casilla en null en el reporte ya q esto me desperdicia espacio, quiero que la tabla siguiente
este es el procedimiento que me genera la tabla
begin
/*FACTURAS QUE ME EXPORTAN SOLO EL IVA*/
SELECT DESCUENTO FROM FACTURA WHERE N_FACTURA = :FACTURA INTO DESCUENTO;
FOR SELECT S.IVA, SUM(I.IVA), SUM(I.VALOR) FROM SERVICIO S, ITEMSERVICIO I, ORDEN_SERVICIO O, FACTURA F
WHERE I.SERVICIO = S.CODIGO AND I.ORDEN = O.N_ORDEN AND F.N_FACTURA = :FACTURA AND F.NORDEN = O.n_orden GROUP BY
S.IVA INTO :PORCENTAJE, :TIVA, :TTOTAL DO
BEGIN
NFAC = :FACTURA;
BASE = :TTOTAL/(1+:PORCENTAJE/100);
BASE1 = :BASE;
BASE = :BASE - (BASE*DESCUENTO/100);
TIVA = BASE1 * (PORCENTAJE/100);
TTOTAL = BASE + TIVA;
suspend;
END
PORCENTAJE = NULL;
TIVA = NULL;
ttotal = NULL;
BASE = NULL;
/*FORMAS DE PAGO*/
SELECT N_ORDEN FROM ORDEN_SERVICIO WHERE N_FACTURA = :factura
INTO :ORDEN;
FOR SELECT FORMA_PAGO, sum(VALOR) from ANTICIPO WHERE N_ORDEN = :ORDEN group by forma_pago
INTO :FPAGO, :VFPAGO DO
BEGIN
NFAC = :FACTURA;
suspend;
end
end
Tabla arrojada
Porcentaje IVA TOTAL BASE FPAGO VALOR
10 19.127 210.400 121.272 <null> <null>
16 1.972 14.300 12.327 <null> <null>
<null> <null> <null> <null> CXC 119.500
<null> <null> <null> <null> EFECTIVO 65.000
<null> <null> <null> <null> T.C. 15.000
<null> <null> <null> <null> T.D. 25.200
Si existe alguna forma de tranformala en esta que me optimiza los espacios en la banda detalle
Porcentaje IVA TOTAL BASE FPAGO VALOR
10 19.127 210.400 121.272 CXC 119.500
16 1.972 14.300 12.327 EFECTIVO 65.000
<null> <null> <null> <null> T.C. 15.000
<null> <null> <null> <null> T.D. 25.200
Utilizo Delphi 7, firebird 2.0 y QuickReport 4.05 espero que haya quedado clara la duda.
Gracias