Ayuda Ayuda Please

10/09/2004 - 17:00 por Alma Alicia Gutierrez | Informe spam
Estimados Amigos!!!

Tengo rato de tratar de resolver este problema... y ya no puede mas y pido
ayuda..

Lo que quiero es:

Poder sacar un reporte que me de las facturas que emití en un periodo
especificico(fechaini and fechafin) y ademas me de cuales de esas facturas
fueron canceladas en ese mismo periodo.. ya sea mediante una nota de credito
o recibo.. Es decir obtener el saldo..

Lo que he hecho:

Primero hice una consulta de Union donde pongo:
SELECT ' ' AS documento, f.fact_id, F.fact_Fecha, 0 AS recibo, 0 AS
credito, 0 AS debito
FROM factura AS f
UNION ALL
SELECT 'REC- ' + CONVERT(VARCHAR(8), RF.Rec_Id, 112) AS DOCUMENTO,
RF.Fact_Id, R.Rec_Fecha, RF.Rec_cantidad AS RECIBO, 0 AS CREDITO,
0 AS DEBITO
FROM dbo.RECIBO R INNER JOIN
dbo.RECIBO_FACTURA RF ON R.Rec_Id = RF.Rec_Id
UNION ALL
SELECT 'CRE- ' + CONVERT(VARCHAR(8), CF.Cre_Id, 112) AS DOCUMENTO,
CF.Fact_Id, C.Cre_Fecha, 0 AS RECIBO, CF.Cre_Cantidad AS CREDITO,
0 AS DEBITO
FROM dbo.NOTA_CREDITO C INNER JOIN
dbo.[NCREDITO-FACTURA] CF ON C.Cre_Id = CF.Cre_Id
UNION ALL
SELECT 'DEB- ' + CONVERT(VARCHAR(8), DF.Deb_Id, 112) AS DOCUMENTO,
DF.FACT_ID, D .DEB_FECHA, 0 AS RECIBO, 0 AS CREDITO,
DF.DEB_CANTIDAD
FROM NOTA_DEBITO AS D, [NDEBITO-FACTURA] AS DF
WHERE D .DEB_ID = DF.DEB_ID

El problema es que como es una consulta de union, se repiten las facturas,
com puedo evitarlo...

Quizas estoy encolochandome.. y a hay otra forma facil de hacerlo...

de esta consulta yo pretendo sacar Los saldos a una fecha asi.. como lo
planteado anteriormente...


Saludos@

Alma Alicia

Preguntas similare

Leer las respuestas

#6 Maxi
11/09/2004 - 22:49 | Informe spam
hola la fecha pasala asi

yyyymmdd


Salu2
Maxi
Buenos Aires - Argentina
Desarrollador Microsoft 3 Estrellas .NET
Nunca consideres el estudio como una obligación sino como
una oportunidad para penetrar en el bello y maravillosos
mundo del saber.
- Albert Einstein



"Alma Alicia Gutierrez" escribió en el mensaje
news:udZA%
Estimado Maxi.. Estoy haciendo lo que me indicaste...


SELECT F.Fact_Id, F.Fact_Fecha, F.Fact_FechaVenc, F.Fact_Total,


F.Op_id,
CST_MOVIMIENTOS1.RECIBO, CST_MOVIMIENTOS1.CREDITO,
CST_MOVIMIENTOS1.DEBITO, CST_MOVIMIENTOS1.REC_FECHA
FROM dbo.FACTURA F LEFT OUTER JOIN
(SELECT CST_MOVIMIENTOS1.FACT_ID,
CST_MOVIMIENTOS1.RECIBO, CST_MOVIMIENTOS1.CREDITO,


CST_MOVIMIENTOS1.DEBITO,

CST_MOVIMIENTOS1.REC_FECHA
FROM CST_MOVIMIENTOS1
WHERE CST_MOVIMIENTOS1.REC_FECHA BETWEEN
@FECHAINI AND @FECHAFIN) CST_MOVIMIENTOS1 ON
F.Fact_Id = CST_MOVIMIENTOS1.FACT_ID
WHERE (F.Fact_Fecha BETWEEN @fechaini AND @FECHAFIN)

Lo unico que cuando me pide el parametro de la fecha.. no reconce el


formato
fecha
eje: 01/08/04 - 31/08/04 (como que es un campo tipo string.)
Los campos fechas yo los tengo como tipo datetime

Perdona la molestia...

Agradezco la ayuda que puedas darme.

Saludos@

"Maxi" escribió en el mensaje
news:%
> Alma, fijate el ejemplo que yo te arme y pone los where dentro de


Recibos
y
> Facturas.
>
> Y algo muy importante, debes hacer un LEFT JOIN asi te trae todas las
> facturas, tengan o no pagos
>
>
> Salu2
> Maxi
> Buenos Aires - Argentina
> Desarrollador Microsoft 3 Estrellas .NET
> Nunca consideres el estudio como una obligación sino como
> una oportunidad para penetrar en el bello y maravillosos
> mundo del saber.
> - Albert Einstein
>
>
>
> "Alma Alicia Gutierrez" escribió en el


mensaje
> news:
> > Gracias Maxi!!
> >
> > Entiendo tu colaboracion, creo que no me explique bien.. estoy aun
tierna
> > en esto..
> >
> > lo que quiero es obetern las facturas que generaron en Agosto
> > (fechaini/08/04 and fechafin1/08/04) ademas de los pagos


generados
> > sobre esas facturas en ese mismo mes (Agosto).. yo hasta hoy obtengo


las
> > facturas generadas en agosto
> >
> >
> > yo pongo en el criterio de Fact_fecha = between @fechaini and


@fechafin
> > y luego en el criterio de Rec_fecha= <=@fechafin.
> >
> > .. el problema que solo me da las facturas que tubieron movimientos...
las
> > que se pagaron. o se les hicieron nota de credito o debito...
> >
> > Yo necesito todas las facturas de ese mes. con pagos o no.. Dentre de
ese
> > perido..
> >
> > Puedes ayudarme...
> >
> > Gracias por tu colaboracion.
> >
> >
> >
> >
> >
> > "Maxi" escribió en el mensaje
> > news:
> > > Hola, si las tablas es un poco deficil pero vayamos igual ;-)
> > >
> > > Una factura se cancela bajo un RECIBO, NOTA Debito o Credito
> > >
> > > Ahora bien, si vos queres saber cuanto se cancelo, suponiendo que un
> > recibo
> > > no cancele el total de la factura deberias hacer algo asi como
> > >
> > > SELECT FACTURA.ID,FACTURA.IMPORTE,RECIBOS.IMPORTE, FACTURA.IMPORTE -
> > > RECIBOS.IMPORTE AS SALDO
> > > FROM FACTURAS LEFT JOIN (SELECT FACTURAID,SUM(IMPORTE) AS IMPORTE


FROM
> > > RECIBOS
> > > GROUP BY FACTURAID) RECIBOS ON
> > > FACTURAS.ID = RECIBOS.FACTURAID
> > > WHERE FACTURA.IMPORTE - RECIBOS.IMPORTE > 0
> > >
> > >
> > > Es solo un modelo.
> > >
> > > Si queres en el union que no repita valores, debes usar UNION y no
UNION
> > > ALL, en otras palabras sacale el ALL ;-)
> > >
> > >
> > > Salu2
> > > Maxi
> > > Buenos Aires - Argentina
> > > Desarrollador Microsoft 3 Estrellas .NET
> > > Nunca consideres el estudio como una obligación sino como
> > > una oportunidad para penetrar en el bello y maravillosos
> > > mundo del saber.
> > > - Albert Einstein
> > >
> > >
> > >
> > > "Alma Alicia Gutierrez" escribió en el
> mensaje
> > > news:%
> > > > Estimados Amigos!!!
> > > >
> > > > Tengo rato de tratar de resolver este problema... y ya no puede


mas
y
> > pido
> > > > ayuda..
> > > >
> > > > Lo que quiero es:
> > > >
> > > > Poder sacar un reporte que me de las facturas que emití en un
periodo
> > > > especificico(fechaini and fechafin) y ademas me de cuales de esas
> > facturas
> > > > fueron canceladas en ese mismo periodo.. ya sea mediante una nota


de
> > > credito
> > > > o recibo.. Es decir obtener el saldo..
> > > >
> > > > Lo que he hecho:
> > > >
> > > > Primero hice una consulta de Union donde pongo:
> > > > SELECT ' ' AS documento, f.fact_id, F.fact_Fecha, 0 AS recibo,


0
> AS
> > > > credito, 0 AS debito
> > > > FROM factura AS f
> > > > UNION ALL
> > > > SELECT 'REC- ' + CONVERT(VARCHAR(8), RF.Rec_Id, 112) AS
DOCUMENTO,
> > > > RF.Fact_Id, R.Rec_Fecha, RF.Rec_cantidad AS RECIBO, 0 AS CREDITO,
> > > > 0 AS DEBITO
> > > > FROM dbo.RECIBO R INNER JOIN
> > > > dbo.RECIBO_FACTURA RF ON R.Rec_Id RF.Rec_Id
> > > > UNION ALL
> > > > SELECT 'CRE- ' + CONVERT(VARCHAR(8), CF.Cre_Id, 112) AS
DOCUMENTO,
> > > > CF.Fact_Id, C.Cre_Fecha, 0 AS RECIBO, CF.Cre_Cantidad AS CREDITO,
> > > > 0 AS DEBITO
> > > > FROM dbo.NOTA_CREDITO C INNER JOIN
> > > > dbo.[NCREDITO-FACTURA] CF ON C.Cre_Id > > CF.Cre_Id
> > > > UNION ALL
> > > > SELECT 'DEB- ' + CONVERT(VARCHAR(8), DF.Deb_Id, 112) AS
DOCUMENTO,
> > > > DF.FACT_ID, D .DEB_FECHA, 0 AS RECIBO, 0 AS CREDITO,
> > > > DF.DEB_CANTIDAD
> > > > FROM NOTA_DEBITO AS D, [NDEBITO-FACTURA] AS DF
> > > > WHERE D .DEB_ID = DF.DEB_ID
> > > >
> > > > El problema es que como es una consulta de union, se repiten las
> > facturas,
> > > > com puedo evitarlo...
> > > >
> > > > Quizas estoy encolochandome.. y a hay otra forma facil de


hacerlo...
> > > >
> > > > de esta consulta yo pretendo sacar Los saldos a una fecha asi..


como
> lo
> > > > planteado anteriormente...
> > > >
> > > >
> > > > Saludos@
> > > >
> > > > Alma Alicia
> > > >
> > > >
> > >
> > >
> > >
> > > Outgoing mail is certified Virus Free.
> > > Checked by AVG anti-virus system (http://www.grisoft.com).
> > > Version: 6.0.748 / Virus Database: 500 - Release Date: 01/09/2004
> > >
> > >
> >
> >
>
>
>
> Outgoing mail is certified Virus Free.
> Checked by AVG anti-virus system (http://www.grisoft.com).
> Version: 6.0.748 / Virus Database: 500 - Release Date: 01/09/2004
>
>







Outgoing mail is certified Virus Free.
Checked by AVG anti-virus system (http://www.grisoft.com).
Version: 6.0.748 / Virus Database: 500 - Release Date: 01/09/2004
email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una pregunta AnteriorRespuesta Tengo una respuesta
Search Busqueda sugerida