cancel
Showing results for 
Search instead for 
Did you mean: 

Consulta sobre reporte.

Former Member
0 Kudos

Buenos días,

A ver si me pueden ayudar con lo siguiente por favor, tengo la siguiente consulta:

SELECT T1.TransId 'Asiento', 
CASE T1.TransType
WHEN '13' THEN 'Factura Cliente'
WHEN '14' THEN 'N/C Cliente'
WHEN '15' THEN 'Entrega'
WHEN '18' THEN 'Factura Proveedor'
WHEN '19' THEN 'N/C Proveedor'
WHEN '20' THEN 'Entrada Mercaderias OP'
WHEN '21' THEN 'Devolucion Existencias'
WHEN '59' THEN 'Entrada de mercancías'
WHEN '67' THEN 'Traslado de stocks'
ELSE 'Otros'
END 'Tipo Documento',
T1.ProfitCode 'Cod.Centro de Beneficio', T2.OcrName'Centro de Beneficio', T1.ShortName 'Cuenta Contable', T1.BaseRef'# Doc interno', T1.Debit 'Gastos', T1.Credit 'Ingresos', T1.RefDate 'Fecha Contabilización', T1.DueDate 'Fecha Vencimiento'
FROM [dbo].[JDT1] T1
INNER JOIN [dbo].[OOCR] T2 ON T2.OcrCode=T1.ProfitCode
WHERE T1.[RefDate] >= '[%0]'  AND  T1.[RefDate] <= '[%1]' AND T1.TransType NOT IN ('13','15') AND T2.OcrName >= '[%2]' AND T2.OcrName <= '[%3]'
UNION ALL
SELECT T1.TransId, 
CASE T1.TransType
WHEN '13' THEN 'Factura Cliente'
WHEN '14' THEN 'N/C Cliente'
WHEN '15' THEN 'Entrega'
WHEN '18' THEN 'Factura Proveedor'
WHEN '19' THEN 'N/C Proveedor'
WHEN '20' THEN 'Entrada Mercaderias OP'
WHEN '21' THEN 'Devolucion Existencias'
WHEN '59' THEN 'Entrada de mercancías'
WHEN '67' THEN 'Traslado de stocks'
ELSE 'Otros'
END 'Tipo Documento',
T1.ProfitCode'Cod.Centro de Beneficio', T2.OcrName'Centro de Beneficio', T1.ShortName, T1.BaseRef, NULL AS 'Debit', 
ISNULL((SELECT SUM(Y.Quantity*Y.Price)-SUM(Y.Quantity*Y.StockPrice/*GrossBuyPr*/) FROM OINV Z INNER JOIN INV1 Y ON Y.DocEntry=Z.DocEntry WHERE Z.TransId = T1.Transid),0)'Credit',
T1.RefDate, T1.DueDate
FROM [dbo].[JDT1] T1
INNER JOIN [dbo].[OOCR] T2 ON T2.OcrCode=T1.ProfitCode
WHERE T1.[RefDate] >= '[%0]'  AND  T1.[RefDate] <= '[%1]' AND T1.TransType = 13 AND T2.OcrName >= '[%2]' AND T2.OcrName <= '[%3]'
GROUP BY T1.TransId, T1.ProfitCode, T1.ShortName, T1.TransType, T1.RefDate, T1.DueDate, T2.OcrName, T1.baseRef
ORDER BY 4

Este es un reporte que muestra el estado de resultados por vendedor (ingresos y gastos), por ej. para los ingresos unas de las cosas que se toma son las factura, pero no el total de la factura, se toma el total menos el costo de los artículos para poder obtener una ganancia real.

Ahora yo lo que quisiera también es poder agregarle a este reporte son las notas de crédito, pero de las misma forma que lo hago con las facturas, el total de la nota de crédito menos el costo de cada articulo.

Adicional a eso quisiera agregarle el nombre de la cuenta contable, ya este reporte trae el código de la cuenta pero no el nombre.

Por favor si me pueden ayudar con esto se los agradecería mucho.

Edit: Para ser mas claro, las notas de credito si estan incluidas en el reporte, pero les hace falta el mismo tratamiento de las facturas, restarle el costo de cada articulo.

Saludos.

Edited by: Miguel Angel Ascanio on Oct 17, 2011 5:13 PM

Accepted Solutions (1)

Accepted Solutions (1)

felipe_loyolarodriguez
Active Contributor
0 Kudos

Miguel

Lo que debes hacer es aislar las NC y las devoluciones del query principal

Luego agregar otro UNION

Y copiar el query del calculo de los ingresos pero cambiando el transtype 13 por el de las NC y las tablas por las de las NC y devolciones

Atte.

FLR

Answers (1)

Answers (1)

Former Member
0 Kudos

Si lo que quieres es que reste la NC, es decir no las tome en cuenta lo mas simple seria que no tome en cuenta las facturas que han sido canceladas, en este caso yo te diria en la INV1 hay un campo llamado TargetType usarlo en el WHERE para que no vea facturas canceladas.

Ejemplo

WHERE T0.[TargetType] <>'14'

Ahi le estas diciendo que si el documento destino de la factura es 14 (NC) no lo tome en cuenta.

Espero te ayude, saludos.

gabriel_donoso
Participant
0 Kudos

Estimado,

Ahi esta el query con la cuenta contable asociada:

SELECT T1.TransId 'Asiento',

CASE T1.TransType

WHEN '13' THEN 'Factura Cliente'

WHEN '14' THEN 'N/C Cliente'

WHEN '15' THEN 'Entrega'

WHEN '18' THEN 'Factura Proveedor'

WHEN '19' THEN 'N/C Proveedor'

WHEN '20' THEN 'Entrada Mercaderias OP'

WHEN '21' THEN 'Devolucion Existencias'

WHEN '59' THEN 'Entrada de mercancías'

WHEN '67' THEN 'Traslado de stocks'

ELSE 'Otros'

END 'Tipo Documento',

T1.ProfitCode 'Cod.Centro de Beneficio', T2.OcrName'Centro de Beneficio', T1.ShortName 'Cuenta Contable', T3.AcctName, T1.BaseRef'# Doc interno', T1.Debit 'Gastos', T1.Credit 'Ingresos', T1.RefDate 'Fecha Contabilización', T1.DueDate 'Fecha Vencimiento'

FROM .[JDT1] T1

INNER JOIN .[OOCR] T2 ON T2.OcrCode=T1.ProfitCode INNER JOIN OACT T3 ON T1.Account = T3.AcctCode

WHERE T1.[RefDate] >= '[%0]' AND T1.[RefDate] <= '[%1]' AND T1.TransType NOT IN ('13','15') AND T2.OcrName >= '[%2]' AND T2.OcrName <= '[%3]'

UNION ALL

SELECT T1.TransId,

CASE T1.TransType

WHEN '13' THEN 'Factura Cliente'

WHEN '14' THEN 'N/C Cliente'

WHEN '15' THEN 'Entrega'

WHEN '18' THEN 'Factura Proveedor'

WHEN '19' THEN 'N/C Proveedor'

WHEN '20' THEN 'Entrada Mercaderias OP'

WHEN '21' THEN 'Devolucion Existencias'

WHEN '59' THEN 'Entrada de mercancías'

WHEN '67' THEN 'Traslado de stocks'

ELSE 'Otros'

END 'Tipo Documento',

T1.ProfitCode'Cod.Centro de Beneficio', T2.OcrName'Centro de Beneficio', T1.ShortName, T3.AcctName, T1.BaseRef, NULL AS 'Debit',

ISNULL((SELECT SUM(Y.QuantityY.Price)-SUM(Y.QuantityY.StockPrice/GrossBuyPr/) FROM OINV Z INNER JOIN INV1 Y ON Y.DocEntry=Z.DocEntry WHERE Z.TransId = T1.Transid),0)'Credit',

T1.RefDate, T1.DueDate

FROM .[JDT1] T1

INNER JOIN .[OOCR] T2 ON T2.OcrCode=T1.ProfitCode INNER JOIN OACT T3 ON T1.Account = T3.AcctCode

WHERE T1.[RefDate] >= '[%0]' AND T1.[RefDate] <= '[%1]' AND T1.TransType = 13 AND T2.OcrName >= '[%2]' AND T2.OcrName <= '[%3]'

GROUP BY T1.TransId, T1.ProfitCode, T1.ShortName, T3.AcctName, T1.TransType, T1.RefDate, T1.DueDate, T2.OcrName, T1.baseRef

ORDER BY 4

En cuanto a las Nc me podrias explicar mejor como quieres que muestra la informacion, o tambien dibuja una tabla para ver de que forma quieres que se despliegue los datos.

Espero que te sirva.

Slds.

Edited by: GDonoso on Oct 21, 2011 9:02 PM