0% found this document useful (0 votes)
30 views

SQLQuery 2

The document defines SQL queries and variables to generate reports summarizing sales transaction data between specified date ranges for a selected store. It selects data from various invoice, payment, and store tables, and aggregates fields like subtotals, taxes, payments by type to calculate totals. Report data is grouped and summarized by date, document number, customer and store.

Uploaded by

bryan pineda
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as TXT, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
30 views

SQLQuery 2

The document defines SQL queries and variables to generate reports summarizing sales transaction data between specified date ranges for a selected store. It selects data from various invoice, payment, and store tables, and aggregates fields like subtotals, taxes, payments by type to calculate totals. Report data is grouped and summarized by date, document number, customer and store.

Uploaded by

bryan pineda
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as TXT, PDF, TXT or read online on Scribd
You are on page 1/ 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