You are on page 1of 7

SET DATEFORMAT DMY

/*SELECT FROM [dbo].[OINV] T0*/


declare @FInicial as Datetime
/* WHERE */
set @FInicial = /* T0.DocDate */ '[%0]'
--set @FInicial = /* T0.DocDate */ '14/01/2016'

/*SELECT FROM [dbo].[OINV] T1*/


declare @FFinal as Datetime
/* WHERE */
set @FFinal = /* T1.DocDate */ '[%1]'
--set @FFinal = /* T1.DocDate */ '14/01/2016'

declare @Tienda as Nvarchar(8)


SELECT @Tienda = T2.Code
FROM [dbo].[@TIENDAS] T2
WHERE T2.Code = '[%2]'

SELECT T0.Tienda
, T0.Nombre_Tienda
, T0.Reporte

, T0.Fecha
, T0.Factura
, T0.Tipo
, T0.Cliente
, CASE WHEN SUM(T0.Total_Factura) = 0 AND T0.Tipo <> 'PCR'
THEN '*** ANULADA ***'
ELSE T0.NOMBRE
END 'Nombre'
, T0.Nit
, SUM(T0.SubTotal) As 'SubTotal'
, SUM(T0.Iva) As 'Iva'
, SUM(T0.Total_Factura) As 'Total_Factura'
, SUM(T0.Saldo_Factura) As 'Saldo_Factura'
, SUM(T0.Efectivo_Q) As 'Efectivo_Q'
, SUM(T0.Efectivo_$) As 'Efectivo_$'
, SUM(T0.Cheque_Q) As 'Cheque_Q'
, SUM(T0.Cheque_$) As 'Cheque_$'
, T0.Tasa_Cambio
, SUM(T0.Deposito) As 'Deposito'
, SUM(T0.Tarjeta_Credito) As 'Tarjeta_Credito'
, SUM(T0.Total_Pago) As 'Total_Pago'
, t0.Vendedor as 'Vendedor',
CASE WHEN t0.Estado = 'C'
THEN 'CERRADO'
WHEN t0.Estado = 'O'
THEN 'ABIERTO'
END As 'Estado'

FROM
(
/* FACTURACION Y PAGOS DEL DIA */
SELECT T0.Tienda As 'Tienda'
, T2.Name As 'Nombre_Tienda'
, 1 As 'Reporte'
, T0.Fecha As 'Fecha'
, T0.Factura As 'Factura'
, T0.Tipo As 'Tipo'
, T0.Cliente As 'Cliente'
, T1.CardName As 'Nombre'
, T1.U_Nit As 'NIT'
, SUM(T0.SubTotal) As 'SubTotal'
, SUM(T0.IVA) As 'IVA'
, SUM(T0.Total_Factura) As 'Total_Factura'
, SUM(T0.Saldo_Factura) As 'Saldo_Factura'
, SUM(T0.CashSum_QTZ) As 'Efectivo_Q'
, SUM(T0.CashSum_USD) As 'Efectivo_$'
, SUM(T0.CheckSum_QTZ) As 'Cheque_Q'
, SUM(T0.CheckSum_USD) As 'Cheque_$'
, ISNULL(T0.Tasa_Cambio,0) As 'Tasa_Cambio'
, SUM(T0.Deposito) As 'Deposito'
, SUM(T0.CreditSum) As 'Tarjeta_Credito'
, SUM(T0.DocTotal) As 'Total_Pago'
, T0.VENDEDOR as 'Vendedor'
, T0.Estado as 'Estado'
FROM
(
SELECT T0.U_Tienda As 'Tienda'
, T0.TaxDate As 'Fecha'
, 'FAC' As 'Tipo'
, T0.CardCode As 'Cliente'
, T0.DocNum As 'Factura'
, SUM(T0.DocTotal)-SUM(T0.VatSum) As 'SubTotal'
, SUM(T0.VatSum) As 'IVA'
, SUM(T0.DocTotal) As 'Total_Factura'
, SUM(T0.DocTotal-T0.PaidToDate) As 'Saldo_Factura'
/* EFECTIVO Q*/
, (SELECT ISNULL(SUM(T1.CashSum),0)
FROM [dbo].[ORCT] T1 INNER JOIN [dbo].[RCT2] T2 ON T1.DocEntry =
T2.DocNum
WHERE T2.DocEntry = T0.DocEntry
AND T1.CashSum <> 0
AND T1.Canceled != 'Y'
AND T1.DocCurr = 'QTZ') As 'CashSum_QTZ'
/* EFECTIVO $*/
, (SELECT ISNULL(SUM(T1.CashSumSy),0)
FROM [dbo].[ORCT] T1 INNER JOIN [dbo].[RCT2] T2 ON T1.DocEntry =
T2.DocNum
WHERE T2.DocEntry = T0.DocEntry
AND T1.CashSum <> 0
AND T1.Canceled != 'Y'
AND T1.DocCurr = 'USD') As 'CashSum_USD'
/* CHEQUE QTZ */
, (SELECT ISNULL(SUM(T3.CheckSum),0)
FROM [dbo].[ORCT] T1 INNER JOIN [dbo].[RCT2] T2 ON T1.DocEntry =
T2.DocNum
INNER JOIN [dbo].[RCT1] T3 ON T2.DocNum = T3.DocNum
WHERE T2.DocEntry = T0.DocEntry AND T1.CardCode = T0.CardCode
AND T1.CheckSum <> 0
AND T1.Canceled != 'Y'
AND T1.DocCurr = 'QTZ') As 'CheckSum_QTZ'
/* CHEQUE USD */
, (SELECT ISNULL(SUM(T3.CheckSum),0)
FROM [dbo].[ORCT] T1 INNER JOIN [dbo].[RCT2] T2 ON T1.DocEntry =
T2.DocNum
INNER JOIN [dbo].[RCT1] T3 ON T2.DocNum = T3.DocNum
WHERE T2.DocEntry = T0.DocEntry AND T1.CardCode = T0.CardCode
AND T1.CheckSum <> 0
AND T1.Canceled != 'Y'
AND T1.DocCurr = 'USD') As 'CheckSum_USD'
/* TASA DE CAMBIO */
, (SELECT TOP 1 CASE WHEN T1.DocCurr = 'USD'
THEN T1.DocRate
ELSE 1
END
FROM [dbo].[ORCT] T1 INNER JOIN [dbo].[RCT2] T2 ON T1.DocEntry =
T2.DocNum
WHERE T2.DocEntry = T0.DocEntry
AND (T1.CashSum <> 0 OR T1.CheckSum <> 0)
AND T1.Canceled != 'Y')
As 'Tasa_Cambio'
/* TRANSFERENCIA O DEPOSITO */
, (SELECT ISNULL(SUM(T1.TrsfrSum),0)
FROM [dbo].[ORCT] T1 INNER JOIN [dbo].[RCT2] T2 ON T1.DocEntry =
T2.DocNum
WHERE T2.DocEntry = T0.DocEntry
AND T1.TrsfrSum <> 0
AND T1.Canceled != 'Y') As 'Deposito'
/* TARJETA DE CREDITO */
, (SELECT ISNULL(SUM(T3.CreditSum),0)
FROM [dbo].[ORCT] T1 INNER JOIN [dbo].[RCT2] T2 ON T1.DocEntry =
T2.DocNum
INNER JOIN [dbo].[RCT3] T3 ON T2.DocNum = T3.DocNum
WHERE T2.DocEntry = T0.DocEntry
AND T1.CreditSum <> 0
AND T1.Canceled != 'Y') As 'CreditSum'
, (SELECT ISNULL(SUM(T2.SumApplied),0)
FROM [dbo].[ORCT] T1 INNER JOIN [dbo].[RCT2] T2 ON T1.DocEntry =
T2.DocNum
WHERE T2.DocEntry = T0.DocEntry
AND T1.Canceled != 'Y'
AND T1.CardCode = T0.CardCode) As 'DocTotal'
, t5.slpname as 'Vendedor', t0.DocStatus as 'Estado'
FROM [dbo].[OINV] T0
inner join oslp t5 on t5.SlpCode = t0.SlpCode
WHERE (T0.DocDate >= @FInicial OR @FInicial = '') AND (T0.DocDate <=@FFinal
OR @FFinal = '')
AND (T0.U_Tienda = @Tienda OR @Tienda Is Null)
GROUP BY T0.U_Tienda, T0.TaxDate, T0.CardCode, T0.DocNum,
T0.DocEntry,T5.SLPname, t0.DocStatus

UNION ALL

SELECT T2.U_Tienda As 'Tienda'


, T2.TaxDate As 'Fecha'
, CASE WHEN T2.Series = (SELECT U_VALPAR FROM [dbo].[@PARAMETROS] WHERE
CODE = '01')
THEN 'FAC'
ELSE 'N/C'
END As 'Tipo'
, T2.CardCode As 'Cliente'
, CASE WHEN T2.Series = (SELECT U_VALPAR FROM [dbo].[@PARAMETROS] WHERE
CODE = '01')
THEN T1.BaseRef
ELSE T2.DocNum
END As 'Factura'
, -SUM (T1.LineTotal) As 'SubTotal'
, -SUM (T1.LineVat) As 'IVA'
, -SUM (T1.LineTotal+T1.LineVat) As 'Total_Factura'
, 0 As 'Saldo_Factura'
, 0 As 'CashSum_QTZ'
, 0 As 'CashSum_USD'
, 0 As 'CheckSum_QTZ'
, 0 As 'CheckSum_USD'
, 0 As 'Tasa_Cambio'
, 0 As 'Deposito'
, 0 As 'CreditSum'
, 0 As 'DocTotal'
, t5.slpname as 'Vendedor'
, T0.DocStatus as 'Estado'
FROM [dbo].[OINV] T0 INNER JOIN [dbo].[RIN1] T1 ON T0.DocEntry = T1.DocEntry
INNER JOIN [dbo].[ORIN] T2 ON T1.DocEntry = T2.DocEntry inner join OSLP T5 ON
T5.SLPCODE = T2.SLPCODE
WHERE (T2.DocDate >= @FInicial OR @FInicial = '') AND (T2.DocDate <=@FFinal
OR @FFinal = '')
AND (T2.U_Tienda = @Tienda OR @Tienda Is Null)
GROUP BY T2.U_Tienda, T2.TaxDate, T2.Series, T2.CardCode, T1.BaseRef,
T2.DocNum, T5.SLPname, t0.DocStatus
) T0
INNER JOIN OCRD T1 ON T0.Cliente = T1.CardCode
INNER JOIN [dbo].[@TIENDAS] T2 ON T0.Tienda = T2.Code
GROUP BY T0.Tienda
, T2.Name
, T0.Fecha
, T0.Factura
, T0.Tipo
, T0.Cliente
, T1.CardName
, T1.U_Nit
, T0.Tasa_Cambio
,T0.VENDEDOR
, T0.Estado

UNION ALL
/* PAGOS DE FACTURAS AL CREDITO */
SELECT T1.U_Tienda As 'Tienda'
, T5.Name As 'Nombre_Tienda'
, '1' As 'Reporte'
, T1.DocDate As 'Fecha'
, T1.DocNum As 'Factura'
, 'PCR' As 'Tipo'
, T1.CardCode As 'Cliente'
, T4.CardName As 'Nombre'
, '' As 'NIT'
, 0 As 'SubTotal'
, 0 As 'IVA'
, 0 As 'Total_Factura'
, SUM(T1.DocTotal) As 'Saldo_Factura'
/* EFECTIVO Q */
, CASE WHEN T1.DocCurr = 'QTZ'
THEN ISNULL(SUM(T1.CashSum),0)
ELSE 0
END As 'Efectivo_Q'
/* EFECTIVO $ */
, CASE WHEN T1.DocCurr = 'USD'
THEN ISNULL(SUM(T1.CashSumFC),0)
ELSE 0
END As 'Efectivo_$'
/* CHEQUE Q */
, CASE WHEN T1.DocCurr = 'QTZ'
THEN ISNULL(SUM(T1.CheckSum),0)
ELSE 0
END As 'Cheque_Q'
/* CHEQUE $ */
, CASE WHEN T1.DocCurr = 'USD'
THEN ISNULL(SUM(T1.CheckSumFC),0)
ELSE 0
END As 'Cheque_$'
, CASE WHEN T1.DocCurr = 'USD'
THEN T1.DocRate
ELSE 0
END As 'Tasa_Cambio'
, ISNULL(SUM(T1.TrsfrSum),0) As 'Deposito'
, ISNULL (SUM(T1.CreditSum),0) As 'Tarjeta_Credito'
, SUM(T1.DocTotal) As 'Total_Pago'
, ' ' as 'Vendedor'
, T1.Status as 'Estado'
FROM [dbo].[ORCT] T1
INNER JOIN [dbo].[OCRD] T4 ON T1.CardCode = T4.CardCode
INNER JOIN [dbo].[@TIENDAS] T5 ON T1.U_Tienda = T5.Code
WHERE (T1.DocDate >= @FInicial OR @FInicial = '') AND (T1.DocDate <=@FFinal OR
@FFinal = '')
AND (T1.U_Tienda = @Tienda OR @Tienda Is Null)
AND T1.Canceled != 'Y'
-- --------------------------------------------------------------------------
-- AUTOR: AR
-- FECHA: 29/MAY/2008
-- DESCRIPCION: RESOLUCION CASO DE DUPLICIDAD EN PAGOS DE FACTURAS DE CREDITO
-- --------------------------------------------------------------------------
AND T1.DocNum IN (SELECT T10.DocNum
FROM RCT2 T10, OINV T11
WHERE T10.DocNum = T1.DocNum
AND T10.DocEntry = T11.DocEntry
AND T11.DocDate < @FInicial)
GROUP BY T1.U_Tienda
, T5.Name
, T1.DocDate
, T1.DocNum
, T1.CardCode
, T4.CardName
, T1.DocCurr
, T1.DocRate,
T1.Status

) T0
GROUP BY T0.Tienda
, T0.Nombre_Tienda
, T0.Reporte
, T0.Fecha
, T0.Factura
, T0.Tipo
, T0.Cliente
, T0.Nombre
, T0.Nit
, T0.Tasa_Cambio
,t0.vendedor
, T0.estado
UNION ALL
/* PAGOS A CUENTA O ANTICIPOS */
SELECT T1.U_Tienda As 'Tienda'
, T5.Name As 'Nombre_Tienda'
, '1' As 'Reporte'
, T1.DocDate As 'Fecha'
, T1.DocNum As 'Factura'
, 'PAG' As 'Tipo'
, T1.CardCode As 'Emisor'
, T4.CardName As 'Nombre'
, '' As 'NIT'
, 0 As 'SubTotal'
, 0 As 'IVA'
, 0 As 'Total_Factura'
, 0 As 'Saldo_Factura'
/* EFECTIVO Q */
, CASE WHEN T1.DocCurr = 'QTZ'
THEN ISNULL(SUM(T1.CashSum),0)
ELSE 0
END As 'Efectivo_Q'
/* EFECTIVO $ */
, CASE WHEN T1.DocCurr = 'USD'
THEN ISNULL(SUM(T1.CashSumFC),0)
ELSE 0
END As 'Efectivo_$'
/* CHEQUE Q */
, CASE WHEN T1.DocCurr = 'QTZ'
THEN ISNULL(SUM(T1.CheckSum),0)
ELSE 0
END As 'Cheque_Q'
/* CHEQUE $ */
, CASE WHEN T1.DocCurr = 'USD'
THEN ISNULL(SUM(T1.CheckSumFC),0)
ELSE 0
END As 'Cheque_$'
, CASE WHEN T1.DocCurr = 'USD'
THEN T1.DocRate
ELSE 0
END As 'Tasa_Cambio'
, ISNULL(SUM(T1.TrsfrSum),0) As 'Deposito'
, ISNULL (SUM(T1.CreditSum),0) As 'Tarjeta_Credito'
, SUM(T1.DocTotal) As 'Total_Pago'
, ' ' as 'Vendedor'
, T1.Status as 'Estado'
FROM [dbo].[ORCT] T1
INNER JOIN [dbo].[OCRD] T4 ON T1.CardCode = T4.CardCode
INNER JOIN [dbo].[@TIENDAS] T5 ON T1.U_Tienda = T5.Code
WHERE (T1.DocDate >= @FInicial OR @FInicial = '') AND (T1.DocDate <=@FFinal OR
@FFinal = '')
AND (T1.U_Tienda = @Tienda OR @Tienda Is Null)
AND T1.Canceled != 'Y'
AND T1.PayNoDoc = 'Y'
GROUP BY T1.U_Tienda
, T5.Name
, T1.DocDate
, T1.DocNum
, T1.CardCode
, T4.CardName
, T1.DocCurr
, T1.DocRate
, T1.Status
UNION ALL
/* PAGOS CON TARJETA DE CREDITO */
SELECT T0.U_Tienda As 'Tienda'
, T3.Name As 'Nombre_Tienda'
, '2' As 'Reporte'
, T0.DocDate As 'Fecha'
, T0.DocNum As 'Factura'
, 'TCR' As 'Tipo'
, Convert(Varchar(8), T1.VoucherNum) As 'Emisor'
, T2.CardName As 'Nombre'
, '' As 'NIT'
, 0 As 'SubTotal'
, 0 As 'IVA'
, 0 As 'Total_Factura'
, 0 AS 'Saldo_Factura'
, 0 As 'Efectivo_Q'
, 0 As 'Efectivo_$'
, 0 As 'Cheque_Q'
, 0 As 'Cheque_$'
, 0 As 'Tasa_Cambio'
, 0 As 'Deposito'
, SUM(T1.CreditSum) As 'Tarjeta_Credito'
, SUM(T1.CreditSum) As 'Total_Pago'
, ' ' as 'Vendedor'
, '' as 'Estado'
FROM [dbo].[ORCT] T0 INNER JOIN [dbo].[RCT3] T1 ON T0.DocEntry = T1.DocNum
INNER JOIN [dbo].[OCRC] T2 ON T1.CreditCard = T2.CreditCard
INNER JOIN [dbo].[@TIENDAS] T3 ON T0.U_Tienda = T3.Code
WHERE (T0.DocDate >= @FInicial OR @FInicial = '') AND (T0.DocDate <=@FFinal OR
@FFinal = '')
AND (T0.U_Tienda = @Tienda OR @Tienda Is Null)
AND T0.Canceled != 'Y'
GROUP BY T0.U_Tienda
, T3.Name
, T0.DocDate
, T0.DocNum
, T1.VoucherNum
, T2.CardName
, T0.Status

ORDER BY T0.Reporte, T0.Tipo

You might also like