AYUDA PLEASE.!!!!!!!!!!!!!!!

22/09/2004 - 23:24 por Alma Alicia Gutierrez | Informe spam
Estimados Amigos, con el siguiente procedimiento yo genero todas las
facturas con saldo a una fecha definida, POR EJEMPLO AL 31 DE AGOSTO.. PERO
ahora , necesito generar este mismo informe pero tengo que tener un saldo
anterior (POR EJEMPLO AL 31 DE JULIO) Y LUEGO PONER EL MOVIMIENTO(FACTURAS
GENERANDAS) EN EL SIGUIENTE MES (EN ESTE CASO AGOSTO.)... SI ALGUIEN PUEDE
COLABORME... ALGUNA IDEA PARA GENERARLO...

Saludos

AA

CREATE PROCEDURE dbo.PCA_SALDOS_X_ANTIGUEDAD(@fechafin datetime)
AS SELECT F.Fact_Total, F.Op_id, ISNULL(CST_MOVIMIENTOS.RECIBO, 0) AS
RECIBO, ISNULL(CST_MOVIMIENTOS.CREDITO, 0) AS CREDITO,
ISNULL(CST_MOVIMIENTOS.DEBITO, 0) AS DEBITO,
(F.Fact_Total + ISNULL(CST_MOVIMIENTOS.DEBITO, 0)) -
(ISNULL(CST_MOVIMIENTOS.CREDITO,
0) + ISNULL(CST_MOVIMIENTOS.RECIBO, 0)) AS SALDO,
ISNULL(CST_MOVIMIENTOS.CREDITO, 0) + ISNULL(CST_MOVIMIENTOS.RECIBO, 0)
AS PAGOS, dbo.Operadores.OP_Nombre, F.Fact_FechaVenc,
dbo.Representantes.REP_Nombre, dbo.Ciudades.CUD_Nombre
FROM dbo.FACTURA F INNER JOIN
dbo.Operadores ON F.Op_id = dbo.Operadores.OP_ID INNER
JOIN
dbo.Representantes ON dbo.Operadores.REP_ID dbo.Representantes.REP_ID INNER JOIN
dbo.Ciudades ON dbo.Operadores.CUD_ID dbo.Ciudades.CUD_ID LEFT OUTER JOIN
(SELECT CST_MOVIMIENTOS.fact_id,
SUM(CST_MOVIMIENTOS.RECIBO) AS RECIBO, SUM(CST_MOVIMIENTOS.CREDITO) AS
CREDITO,

SUM(CST_MOVIMIENTOS.DEBITO) AS DEBITO
FROM CST_MOVIMIENTOS
WHERE CST_MOVIMIENTOS.REC_FECHA <@FECHAFIN
GROUP BY CST_MOVIMIENTOS.FACT_ID)
CST_MOVIMIENTOS ON F.Fact_Id = CST_MOVIMIENTOS.FACT_ID
WHERE (F.Fact_Fecha <= @FECHAFIN) AND ((F.Fact_Total +
ISNULL(CST_MOVIMIENTOS.DEBITO, 0)) - (ISNULL(CST_MOVIMIENTOS.CREDITO, 0)
+ ISNULL(CST_MOVIMIENTOS.RECIBO, 0)) > 0)
GO

Preguntas similare

Leer las respuestas

#1 Javier Loria
23/09/2004 - 05:13 | Informe spam
Hola:
Tal vez algo como esto?
==CREATE PROCEDURE PCA_SALDOS_X_ANTIGUEDAD(@fechaini datetime, @fechafin
datetime)
AS
SELECT F.Fact_Total
, F.Op_id
, F.Fact_Total+ISNULL(MovimientosAnteriores.MovimientoAnterior) AS
SaldoAnterior
, ISNULL(MovimientosMensuales.RECIBO, 0) AS RECIBO
, ISNULL(MovimientosMensuales.CREDITO, 0) AS CREDITO
, ISNULL(MovimientosMensuales.DEBITO, 0) AS DEBITO
, (F.Fact_Total + ISNULL(MovimientosMensuales.DEBITO, 0))
+ ISNULL(MovimientosAnteriores.MovimientoAnterior)
- (ISNULL(MovimientosMensuales.CREDITO, 0) +
ISNULL(MovimientosMensuales.RECIBO, 0))
AS SALDO
, ISNULL(MovimientosMensuales.CREDITO, 0) +
ISNULL(MovimientosMensuales.RECIBO, 0) AS PAGOS
, Operadores.OP_Nombre
, F.Fact_FechaVenc
, Representantes.REP_Nombre
, Ciudades.CUD_Nombre
FROM FACTURA F
INNER JOIN Operadores
ON F.Op_id = Operadores.OP_ID
INNER JOIN Representantes
ON Operadores.REP_ID =Representantes.REP_ID
INNER JOIN Ciudades ON Operadores.CUD_ID =Ciudades.CUD_ID
LEFT OUTER JOIN (SELECT CST_MOVIMIENTOS.fact_id
, SUM(CST_MOVIMIENTOS.DEBITO)
- SUM(CST_MOVIMIENTOS.CREDITO)
- SUM(CST_MOVIMIENTOS.RECIBO) AS MovimientoAnterior
FROM CST_MOVIMIENTOS
WHERE CST_MOVIMIENTOS.REC_FECHA <=@FECHAINI
GROUP BY CST_MOVIMIENTOS.FACT_ID) AS MovimientosAnteriores
ON F.Fact_Id = MovimientosAnteriores.FACT_ID
LEFT OUTER JOIN (SELECT CST_MOVIMIENTOS.fact_id
, SUM(CST_MOVIMIENTOS.RECIBO) AS RECIBO
, SUM(CST_MOVIMIENTOS.CREDITO) AS CREDITO
, SUM(CST_MOVIMIENTOS.DEBITO) AS DEBITO
FROM CST_MOVIMIENTOS
WHERE CST_MOVIMIENTOS.REC_FECHA BETWEEN
DATEADD(day,1,@FECHAINI) AND @FECHAFIN
GROUP BY CST_MOVIMIENTOS.FACT_ID) AS MovimientosMensuales
ON F.Fact_Id = MovimientosMensuales.FACT_ID
WHERE (F.Fact_Fecha <= @FECHAFIN) AND
((F.Fact_Total +ISNULL(MovimientosMensuales, 0)) -
(ISNULL(MovimientosMensuales.CREDITO, 0) +
ISNULL(MovimientosMensuales.RECIBO, 0)) > 0)
GO
==Saludos,


Javier Loria
Costa Rica
Se aprecia la inclusion de DDL (CREATE, INSERTS, etc.)
que pueda ser copiado y pegado al Query Analizer.
La version de SQL y Service Pack tambien ayuda

"Alma Alicia Gutierrez" wrote in message
news:#
Estimados Amigos, con el siguiente procedimiento yo genero todas las
facturas con saldo a una fecha definida, POR EJEMPLO AL 31 DE AGOSTO..


PERO
ahora , necesito generar este mismo informe pero tengo que tener un saldo
anterior (POR EJEMPLO AL 31 DE JULIO) Y LUEGO PONER EL MOVIMIENTO(FACTURAS
GENERANDAS) EN EL SIGUIENTE MES (EN ESTE CASO AGOSTO.)... SI ALGUIEN PUEDE
COLABORME... ALGUNA IDEA PARA GENERARLO...

Saludos

AA

CREATE PROCEDURE dbo.PCA_SALDOS_X_ANTIGUEDAD(@fechafin datetime)
AS SELECT F.Fact_Total, F.Op_id, ISNULL(CST_MOVIMIENTOS.RECIBO, 0) AS
RECIBO, ISNULL(CST_MOVIMIENTOS.CREDITO, 0) AS CREDITO,
ISNULL(CST_MOVIMIENTOS.DEBITO, 0) AS DEBITO,
(F.Fact_Total + ISNULL(CST_MOVIMIENTOS.DEBITO, 0)) -
(ISNULL(CST_MOVIMIENTOS.CREDITO,
0) + ISNULL(CST_MOVIMIENTOS.RECIBO, 0)) AS SALDO,
ISNULL(CST_MOVIMIENTOS.CREDITO, 0) + ISNULL(CST_MOVIMIENTOS.RECIBO, 0)
AS PAGOS, dbo.Operadores.OP_Nombre,


F.Fact_FechaVenc,
dbo.Representantes.REP_Nombre, dbo.Ciudades.CUD_Nombre
FROM dbo.FACTURA F INNER JOIN
dbo.Operadores ON F.Op_id = dbo.Operadores.OP_ID


INNER
JOIN
dbo.Representantes ON dbo.Operadores.REP_ID > dbo.Representantes.REP_ID INNER JOIN
dbo.Ciudades ON dbo.Operadores.CUD_ID > dbo.Ciudades.CUD_ID LEFT OUTER JOIN
(SELECT CST_MOVIMIENTOS.fact_id,
SUM(CST_MOVIMIENTOS.RECIBO) AS RECIBO, SUM(CST_MOVIMIENTOS.CREDITO) AS
CREDITO,

SUM(CST_MOVIMIENTOS.DEBITO) AS DEBITO
FROM CST_MOVIMIENTOS
WHERE CST_MOVIMIENTOS.REC_FECHA <> @FECHAFIN
GROUP BY CST_MOVIMIENTOS.FACT_ID)
CST_MOVIMIENTOS ON F.Fact_Id = CST_MOVIMIENTOS.FACT_ID
WHERE (F.Fact_Fecha <= @FECHAFIN) AND ((F.Fact_Total +
ISNULL(CST_MOVIMIENTOS.DEBITO, 0)) - (ISNULL(CST_MOVIMIENTOS.CREDITO, 0)
+ ISNULL(CST_MOVIMIENTOS.RECIBO, 0)) > 0)
GO


Respuesta Responder a este mensaje
#2 Alma Alicia Gutierrez
23/09/2004 - 19:52 | Informe spam
Estimado Javier... Agradezco tu colaboracion...
Funciona bien para los pagos, credito y saldos... en el caso del mes
corriente... el unico problema es que me suma el total facturado desde
siempre para ese cliente... y yo solo quiero mostrar el total facturado en
Agosto.

Saludos..
Alma Alicia
"Javier Loria" escribió en el mensaje
news:%23JP%
Hola:
Tal vez algo como esto?
==> CREATE PROCEDURE PCA_SALDOS_X_ANTIGUEDAD(@fechaini datetime, @fechafin
datetime)
AS
SELECT F.Fact_Total
, F.Op_id
, F.Fact_Total+ISNULL(MovimientosAnteriores.MovimientoAnterior) AS
SaldoAnterior
, ISNULL(MovimientosMensuales.RECIBO, 0) AS RECIBO
, ISNULL(MovimientosMensuales.CREDITO, 0) AS CREDITO
, ISNULL(MovimientosMensuales.DEBITO, 0) AS DEBITO
, (F.Fact_Total + ISNULL(MovimientosMensuales.DEBITO, 0))
+ ISNULL(MovimientosAnteriores.MovimientoAnterior)
- (ISNULL(MovimientosMensuales.CREDITO, 0) +
ISNULL(MovimientosMensuales.RECIBO, 0))
AS SALDO
, ISNULL(MovimientosMensuales.CREDITO, 0) +
ISNULL(MovimientosMensuales.RECIBO, 0) AS PAGOS
, Operadores.OP_Nombre
, F.Fact_FechaVenc
, Representantes.REP_Nombre
, Ciudades.CUD_Nombre
FROM FACTURA F
INNER JOIN Operadores
ON F.Op_id = Operadores.OP_ID
INNER JOIN Representantes
ON Operadores.REP_ID =Representantes.REP_ID
INNER JOIN Ciudades ON Operadores.CUD_ID =Ciudades.CUD_ID
LEFT OUTER JOIN (SELECT CST_MOVIMIENTOS.fact_id
, SUM(CST_MOVIMIENTOS.DEBITO)
- SUM(CST_MOVIMIENTOS.CREDITO)
- SUM(CST_MOVIMIENTOS.RECIBO) AS MovimientoAnterior
FROM CST_MOVIMIENTOS
WHERE CST_MOVIMIENTOS.REC_FECHA <=@FECHAINI
GROUP BY CST_MOVIMIENTOS.FACT_ID) AS


MovimientosAnteriores
ON F.Fact_Id = MovimientosAnteriores.FACT_ID
LEFT OUTER JOIN (SELECT CST_MOVIMIENTOS.fact_id
, SUM(CST_MOVIMIENTOS.RECIBO) AS RECIBO
, SUM(CST_MOVIMIENTOS.CREDITO) AS CREDITO
, SUM(CST_MOVIMIENTOS.DEBITO) AS DEBITO
FROM CST_MOVIMIENTOS
WHERE CST_MOVIMIENTOS.REC_FECHA BETWEEN
DATEADD(day,1,@FECHAINI) AND @FECHAFIN
GROUP BY CST_MOVIMIENTOS.FACT_ID) AS


MovimientosMensuales
ON F.Fact_Id = MovimientosMensuales.FACT_ID
WHERE (F.Fact_Fecha <= @FECHAFIN) AND
((F.Fact_Total +ISNULL(MovimientosMensuales, 0)) -
(ISNULL(MovimientosMensuales.CREDITO, 0) +
ISNULL(MovimientosMensuales.RECIBO, 0)) > 0)
GO
==> Saludos,


Javier Loria
Costa Rica
Se aprecia la inclusion de DDL (CREATE, INSERTS, etc.)
que pueda ser copiado y pegado al Query Analizer.
La version de SQL y Service Pack tambien ayuda

"Alma Alicia Gutierrez" wrote in message
news:#
> Estimados Amigos, con el siguiente procedimiento yo genero todas las
> facturas con saldo a una fecha definida, POR EJEMPLO AL 31 DE AGOSTO..
PERO
> ahora , necesito generar este mismo informe pero tengo que tener un


saldo
> anterior (POR EJEMPLO AL 31 DE JULIO) Y LUEGO PONER EL


MOVIMIENTO(FACTURAS
> GENERANDAS) EN EL SIGUIENTE MES (EN ESTE CASO AGOSTO.)... SI ALGUIEN


PUEDE
> COLABORME... ALGUNA IDEA PARA GENERARLO...
>
> Saludos
>
> AA
>
> CREATE PROCEDURE dbo.PCA_SALDOS_X_ANTIGUEDAD(@fechafin datetime)
> AS SELECT F.Fact_Total, F.Op_id, ISNULL(CST_MOVIMIENTOS.RECIBO, 0)


AS
> RECIBO, ISNULL(CST_MOVIMIENTOS.CREDITO, 0) AS CREDITO,
> ISNULL(CST_MOVIMIENTOS.DEBITO, 0) AS DEBITO,
> (F.Fact_Total + ISNULL(CST_MOVIMIENTOS.DEBITO, 0)) -
> (ISNULL(CST_MOVIMIENTOS.CREDITO,
> 0) + ISNULL(CST_MOVIMIENTOS.RECIBO, 0)) AS SALDO,
> ISNULL(CST_MOVIMIENTOS.CREDITO, 0) + ISNULL(CST_MOVIMIENTOS.RECIBO, 0)
> AS PAGOS, dbo.Operadores.OP_Nombre,
F.Fact_FechaVenc,
> dbo.Representantes.REP_Nombre, dbo.Ciudades.CUD_Nombre
> FROM dbo.FACTURA F INNER JOIN
> dbo.Operadores ON F.Op_id = dbo.Operadores.OP_ID
INNER
> JOIN
> dbo.Representantes ON dbo.Operadores.REP_ID > > dbo.Representantes.REP_ID INNER JOIN
> dbo.Ciudades ON dbo.Operadores.CUD_ID > > dbo.Ciudades.CUD_ID LEFT OUTER JOIN
> (SELECT CST_MOVIMIENTOS.fact_id,
> SUM(CST_MOVIMIENTOS.RECIBO) AS RECIBO, SUM(CST_MOVIMIENTOS.CREDITO) AS
> CREDITO,
>
> SUM(CST_MOVIMIENTOS.DEBITO) AS DEBITO
> FROM CST_MOVIMIENTOS
> WHERE CST_MOVIMIENTOS.REC_FECHA <> > @FECHAFIN
> GROUP BY CST_MOVIMIENTOS.FACT_ID)
> CST_MOVIMIENTOS ON F.Fact_Id = CST_MOVIMIENTOS.FACT_ID
> WHERE (F.Fact_Fecha <= @FECHAFIN) AND ((F.Fact_Total +
> ISNULL(CST_MOVIMIENTOS.DEBITO, 0)) - (ISNULL(CST_MOVIMIENTOS.CREDITO, 0)
> + ISNULL(CST_MOVIMIENTOS.RECIBO, 0)) > 0)
> GO
>
>


Respuesta Responder a este mensaje
#3 Javier Loria
23/09/2004 - 20:11 | Informe spam
Hola Alma Alicia:
Disculpa pero no entendi entonces que es lo que deseabas. Tal vez si nos
pones un ejemplo de como deberia quedar el resultado?
Saludos,

Javier Loria
Costa Rica
Se aprecia la inclusion de DDL (CREATE, INSERTS, etc.)
que pueda ser copiado y pegado al Query Analizer.
La version de SQL y Service Pack tambien ayuda

"Alma Alicia Gutierrez" wrote in message
news:
Estimado Javier... Agradezco tu colaboracion...
Funciona bien para los pagos, credito y saldos... en el caso del mes
corriente... el unico problema es que me suma el total facturado desde
siempre para ese cliente... y yo solo quiero mostrar el total facturado en
Agosto.

Saludos..
Alma Alicia
"Javier Loria" escribió en el mensaje
news:%23JP%
> Hola:
> Tal vez algo como esto?
> ==> > CREATE PROCEDURE PCA_SALDOS_X_ANTIGUEDAD(@fechaini datetime, @fechafin
> datetime)
> AS
> SELECT F.Fact_Total
> , F.Op_id
> , F.Fact_Total+ISNULL(MovimientosAnteriores.MovimientoAnterior) AS
> SaldoAnterior
> , ISNULL(MovimientosMensuales.RECIBO, 0) AS RECIBO
> , ISNULL(MovimientosMensuales.CREDITO, 0) AS CREDITO
> , ISNULL(MovimientosMensuales.DEBITO, 0) AS DEBITO
> , (F.Fact_Total + ISNULL(MovimientosMensuales.DEBITO, 0))
> + ISNULL(MovimientosAnteriores.MovimientoAnterior)
> - (ISNULL(MovimientosMensuales.CREDITO, 0) +
> ISNULL(MovimientosMensuales.RECIBO, 0))
> AS SALDO
> , ISNULL(MovimientosMensuales.CREDITO, 0) +
> ISNULL(MovimientosMensuales.RECIBO, 0) AS PAGOS
> , Operadores.OP_Nombre
> , F.Fact_FechaVenc
> , Representantes.REP_Nombre
> , Ciudades.CUD_Nombre
> FROM FACTURA F
> INNER JOIN Operadores
> ON F.Op_id = Operadores.OP_ID
> INNER JOIN Representantes
> ON Operadores.REP_ID =Representantes.REP_ID
> INNER JOIN Ciudades ON Operadores.CUD_ID =Ciudades.CUD_ID
> LEFT OUTER JOIN (SELECT CST_MOVIMIENTOS.fact_id
> , SUM(CST_MOVIMIENTOS.DEBITO)
> - SUM(CST_MOVIMIENTOS.CREDITO)
> - SUM(CST_MOVIMIENTOS.RECIBO) AS MovimientoAnterior
> FROM CST_MOVIMIENTOS
> WHERE CST_MOVIMIENTOS.REC_FECHA <=@FECHAINI
> GROUP BY CST_MOVIMIENTOS.FACT_ID) AS
MovimientosAnteriores
> ON F.Fact_Id = MovimientosAnteriores.FACT_ID
> LEFT OUTER JOIN (SELECT CST_MOVIMIENTOS.fact_id
> , SUM(CST_MOVIMIENTOS.RECIBO) AS RECIBO
> , SUM(CST_MOVIMIENTOS.CREDITO) AS CREDITO
> , SUM(CST_MOVIMIENTOS.DEBITO) AS DEBITO
> FROM CST_MOVIMIENTOS
> WHERE CST_MOVIMIENTOS.REC_FECHA BETWEEN
> DATEADD(day,1,@FECHAINI) AND @FECHAFIN
> GROUP BY CST_MOVIMIENTOS.FACT_ID) AS
MovimientosMensuales
> ON F.Fact_Id = MovimientosMensuales.FACT_ID
> WHERE (F.Fact_Fecha <= @FECHAFIN) AND
> ((F.Fact_Total +ISNULL(MovimientosMensuales, 0)) -
> (ISNULL(MovimientosMensuales.CREDITO, 0) +
> ISNULL(MovimientosMensuales.RECIBO, 0)) > 0)
> GO
> ==> > Saludos,
>
>
> Javier Loria
> Costa Rica
> Se aprecia la inclusion de DDL (CREATE, INSERTS, etc.)
> que pueda ser copiado y pegado al Query Analizer.
> La version de SQL y Service Pack tambien ayuda
>
> "Alma Alicia Gutierrez" wrote in message
> news:#
> > Estimados Amigos, con el siguiente procedimiento yo genero todas las
> > facturas con saldo a una fecha definida, POR EJEMPLO AL 31 DE AGOSTO..
> PERO
> > ahora , necesito generar este mismo informe pero tengo que tener un
saldo
> > anterior (POR EJEMPLO AL 31 DE JULIO) Y LUEGO PONER EL
MOVIMIENTO(FACTURAS
> > GENERANDAS) EN EL SIGUIENTE MES (EN ESTE CASO AGOSTO.)... SI ALGUIEN
PUEDE
> > COLABORME... ALGUNA IDEA PARA GENERARLO...
> >
> > Saludos
> >
> > AA
> >
> > CREATE PROCEDURE dbo.PCA_SALDOS_X_ANTIGUEDAD(@fechafin datetime)
> > AS SELECT F.Fact_Total, F.Op_id, ISNULL(CST_MOVIMIENTOS.RECIBO, 0)
AS
> > RECIBO, ISNULL(CST_MOVIMIENTOS.CREDITO, 0) AS CREDITO,
> > ISNULL(CST_MOVIMIENTOS.DEBITO, 0) AS DEBITO,
> > (F.Fact_Total + ISNULL(CST_MOVIMIENTOS.DEBITO, 0)) -
> > (ISNULL(CST_MOVIMIENTOS.CREDITO,
> > 0) + ISNULL(CST_MOVIMIENTOS.RECIBO, 0)) AS


SALDO,
> > ISNULL(CST_MOVIMIENTOS.CREDITO, 0) + ISNULL(CST_MOVIMIENTOS.RECIBO, 0)
> > AS PAGOS, dbo.Operadores.OP_Nombre,
> F.Fact_FechaVenc,
> > dbo.Representantes.REP_Nombre, dbo.Ciudades.CUD_Nombre
> > FROM dbo.FACTURA F INNER JOIN
> > dbo.Operadores ON F.Op_id = dbo.Operadores.OP_ID
> INNER
> > JOIN
> > dbo.Representantes ON dbo.Operadores.REP_ID > > > dbo.Representantes.REP_ID INNER JOIN
> > dbo.Ciudades ON dbo.Operadores.CUD_ID > > > dbo.Ciudades.CUD_ID LEFT OUTER JOIN
> > (SELECT CST_MOVIMIENTOS.fact_id,
> > SUM(CST_MOVIMIENTOS.RECIBO) AS RECIBO, SUM(CST_MOVIMIENTOS.CREDITO) AS
> > CREDITO,
> >
> > SUM(CST_MOVIMIENTOS.DEBITO) AS DEBITO
> > FROM CST_MOVIMIENTOS
> > WHERE CST_MOVIMIENTOS.REC_FECHA <> > > @FECHAFIN
> > GROUP BY CST_MOVIMIENTOS.FACT_ID)
> > CST_MOVIMIENTOS ON F.Fact_Id = CST_MOVIMIENTOS.FACT_ID
> > WHERE (F.Fact_Fecha <= @FECHAFIN) AND ((F.Fact_Total +
> > ISNULL(CST_MOVIMIENTOS.DEBITO, 0)) - (ISNULL(CST_MOVIMIENTOS.CREDITO,


0)
> > + ISNULL(CST_MOVIMIENTOS.RECIBO, 0)) > 0)
> > GO
> >
> >
>
>


Respuesta Responder a este mensaje
#4 Alma Alicia Gutierrez
23/09/2004 - 21:49 | Informe spam
Estimado Javier
te pongo un ejemplo de lo que quiero

cliente.=Carlos Sanchez saldo_anterior al 31 de JulioP00 , totalfacturado
en Agosto 00, luego pagos, debitos, creditos efectuados en Agosto..

gracias de antemano por tu colaboracion
Saludos@
Alma Alicia
"Javier Loria" escribió en el mensaje
news:%
Hola Alma Alicia:
Disculpa pero no entendi entonces que es lo que deseabas. Tal vez si


nos
pones un ejemplo de como deberia quedar el resultado?
Saludos,

Javier Loria
Costa Rica
Se aprecia la inclusion de DDL (CREATE, INSERTS, etc.)
que pueda ser copiado y pegado al Query Analizer.
La version de SQL y Service Pack tambien ayuda

"Alma Alicia Gutierrez" wrote in message
news:
> Estimado Javier... Agradezco tu colaboracion...
> Funciona bien para los pagos, credito y saldos... en el caso del mes
> corriente... el unico problema es que me suma el total facturado desde
> siempre para ese cliente... y yo solo quiero mostrar el total facturado


en
> Agosto.
>
> Saludos..
> Alma Alicia
> "Javier Loria" escribió en el mensaje
> news:%23JP%
> > Hola:
> > Tal vez algo como esto?
> > ==> > > CREATE PROCEDURE PCA_SALDOS_X_ANTIGUEDAD(@fechaini datetime, @fechafin
> > datetime)
> > AS
> > SELECT F.Fact_Total
> > , F.Op_id
> > , F.Fact_Total+ISNULL(MovimientosAnteriores.MovimientoAnterior) AS
> > SaldoAnterior
> > , ISNULL(MovimientosMensuales.RECIBO, 0) AS RECIBO
> > , ISNULL(MovimientosMensuales.CREDITO, 0) AS CREDITO
> > , ISNULL(MovimientosMensuales.DEBITO, 0) AS DEBITO
> > , (F.Fact_Total + ISNULL(MovimientosMensuales.DEBITO, 0))
> > + ISNULL(MovimientosAnteriores.MovimientoAnterior)
> > - (ISNULL(MovimientosMensuales.CREDITO, 0) +
> > ISNULL(MovimientosMensuales.RECIBO, 0))
> > AS SALDO
> > , ISNULL(MovimientosMensuales.CREDITO, 0) +
> > ISNULL(MovimientosMensuales.RECIBO, 0) AS PAGOS
> > , Operadores.OP_Nombre
> > , F.Fact_FechaVenc
> > , Representantes.REP_Nombre
> > , Ciudades.CUD_Nombre
> > FROM FACTURA F
> > INNER JOIN Operadores
> > ON F.Op_id = Operadores.OP_ID
> > INNER JOIN Representantes
> > ON Operadores.REP_ID =Representantes.REP_ID
> > INNER JOIN Ciudades ON Operadores.CUD_ID =Ciudades.CUD_ID
> > LEFT OUTER JOIN (SELECT CST_MOVIMIENTOS.fact_id
> > , SUM(CST_MOVIMIENTOS.DEBITO)
> > - SUM(CST_MOVIMIENTOS.CREDITO)
> > - SUM(CST_MOVIMIENTOS.RECIBO) AS MovimientoAnterior
> > FROM CST_MOVIMIENTOS
> > WHERE CST_MOVIMIENTOS.REC_FECHA <=@FECHAINI
> > GROUP BY CST_MOVIMIENTOS.FACT_ID) AS
> MovimientosAnteriores
> > ON F.Fact_Id = MovimientosAnteriores.FACT_ID
> > LEFT OUTER JOIN (SELECT CST_MOVIMIENTOS.fact_id
> > , SUM(CST_MOVIMIENTOS.RECIBO) AS RECIBO
> > , SUM(CST_MOVIMIENTOS.CREDITO) AS CREDITO
> > , SUM(CST_MOVIMIENTOS.DEBITO) AS DEBITO
> > FROM CST_MOVIMIENTOS
> > WHERE CST_MOVIMIENTOS.REC_FECHA BETWEEN
> > DATEADD(day,1,@FECHAINI) AND @FECHAFIN
> > GROUP BY CST_MOVIMIENTOS.FACT_ID) AS
> MovimientosMensuales
> > ON F.Fact_Id = MovimientosMensuales.FACT_ID
> > WHERE (F.Fact_Fecha <= @FECHAFIN) AND
> > ((F.Fact_Total +ISNULL(MovimientosMensuales, 0)) -
> > (ISNULL(MovimientosMensuales.CREDITO, 0) +
> > ISNULL(MovimientosMensuales.RECIBO, 0)) > 0)
> > GO
> > ==> > > Saludos,
> >
> >
> > Javier Loria
> > Costa Rica
> > Se aprecia la inclusion de DDL (CREATE, INSERTS, etc.)
> > que pueda ser copiado y pegado al Query Analizer.
> > La version de SQL y Service Pack tambien ayuda
> >
> > "Alma Alicia Gutierrez" wrote in message
> > news:#
> > > Estimados Amigos, con el siguiente procedimiento yo genero todas las
> > > facturas con saldo a una fecha definida, POR EJEMPLO AL 31 DE


AGOSTO..
> > PERO
> > > ahora , necesito generar este mismo informe pero tengo que tener un
> saldo
> > > anterior (POR EJEMPLO AL 31 DE JULIO) Y LUEGO PONER EL
> MOVIMIENTO(FACTURAS
> > > GENERANDAS) EN EL SIGUIENTE MES (EN ESTE CASO AGOSTO.)... SI ALGUIEN
> PUEDE
> > > COLABORME... ALGUNA IDEA PARA GENERARLO...
> > >
> > > Saludos
> > >
> > > AA
> > >
> > > CREATE PROCEDURE dbo.PCA_SALDOS_X_ANTIGUEDAD(@fechafin datetime)
> > > AS SELECT F.Fact_Total, F.Op_id, ISNULL(CST_MOVIMIENTOS.RECIBO,


0)
> AS
> > > RECIBO, ISNULL(CST_MOVIMIENTOS.CREDITO, 0) AS CREDITO,
> > > ISNULL(CST_MOVIMIENTOS.DEBITO, 0) AS DEBITO,
> > > (F.Fact_Total + ISNULL(CST_MOVIMIENTOS.DEBITO, 0)) -
> > > (ISNULL(CST_MOVIMIENTOS.CREDITO,
> > > 0) + ISNULL(CST_MOVIMIENTOS.RECIBO, 0)) AS
SALDO,
> > > ISNULL(CST_MOVIMIENTOS.CREDITO, 0) + ISNULL(CST_MOVIMIENTOS.RECIBO,


0)
> > > AS PAGOS, dbo.Operadores.OP_Nombre,
> > F.Fact_FechaVenc,
> > > dbo.Representantes.REP_Nombre, dbo.Ciudades.CUD_Nombre
> > > FROM dbo.FACTURA F INNER JOIN
> > > dbo.Operadores ON F.Op_id dbo.Operadores.OP_ID
> > INNER
> > > JOIN
> > > dbo.Representantes ON dbo.Operadores.REP_ID > > > > dbo.Representantes.REP_ID INNER JOIN
> > > dbo.Ciudades ON dbo.Operadores.CUD_ID > > > > dbo.Ciudades.CUD_ID LEFT OUTER JOIN
> > > (SELECT CST_MOVIMIENTOS.fact_id,
> > > SUM(CST_MOVIMIENTOS.RECIBO) AS RECIBO, SUM(CST_MOVIMIENTOS.CREDITO)


AS
> > > CREDITO,
> > >
> > > SUM(CST_MOVIMIENTOS.DEBITO) AS DEBITO
> > > FROM CST_MOVIMIENTOS
> > > WHERE CST_MOVIMIENTOS.REC_FECHA <> > > > @FECHAFIN
> > > GROUP BY CST_MOVIMIENTOS.FACT_ID)
> > > CST_MOVIMIENTOS ON F.Fact_Id = CST_MOVIMIENTOS.FACT_ID
> > > WHERE (F.Fact_Fecha <= @FECHAFIN) AND ((F.Fact_Total +
> > > ISNULL(CST_MOVIMIENTOS.DEBITO, 0)) -


(ISNULL(CST_MOVIMIENTOS.CREDITO,
0)
> > > + ISNULL(CST_MOVIMIENTOS.RECIBO, 0)) > 0)
> > > GO
> > >
> > >
> >
> >
>
>


email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida