¡Caminando hacia el éxito!

Aprende en Comunidad

Avalados por :

Cómo migrar reportes de XL a Crystal Reports y extraer ventas mensuales por líneas

  • Creado 01/03/2024
  • Modificado 01/03/2024
  • 4 Vistas
0
Cargando...

Buenas, les escribo para solicitar ayuda con respecto a un informe de ventas. Actualmente, en donde trabajo se manejaban algunos reportes con XL Reporter, pero estamos en la versión 8.82 y ahora vamos a actualizar a la 9.1. Necesitamos una manera de migrar los reportes del XL a Crystal Reports, o al menos necesito en este caso obtener una consulta con la que pueda extraer las ventas mensuales por líneas. Realicé una consulta por generador, pero no arroja el mismo resultado que el reporte que siempre hemos utilizado; hay ventas que no se reflejan y sí en el XL. Además, aquí no aparecen las notas. En el filtro que realicé, las notas se filtran por [TargetType], si es 14 son notas. Agradezco su ayuda para obtener una consulta y exportarla al Crystal.

SELECT T1.[DocStatus], T1.[DocNum], T1.[DocDate], T1.[CardCode], T2.[CardName], T0.[ItemCode], T0.[Dscription], T0.[Quantity], T0.[LineTotal], T0.[TargetType], T0.[TrgetEntry], T3.[U_BKV_LINEA], T3.[U_BKV_SERIE], T3.[U_BKV_COLECCION], T4.[SlpName], T4.[Memo]

FROM INV1 T0 INNER JOIN OINV T1 ON T0.DocEntry = T1.DocEntry INNER JOIN OCRD T2 ON T0.BaseCard = T2.CardCode INNER JOIN OITM T3 ON T0.ItemCode = T3.ItemCode INNER JOIN OSLP T4 ON T0.SlpCode = T4.SlpCode

WHERE T1.[CardCode] = T2.[CardCode] AND T3.[ItemCode] = T0.[ItemCode] AND T0.[SlpCode] = T4.[SlpCode] AND T0.[DocDate] >=[%0] AND T0.[DocDate] <=[%1]

De antemano, muchas gracias.

Pedro Pascal
Se unió el 07/03/2018
Pinterest
Telegram
Linkedin
Whatsapp

4 Respuestas

0
Cargando...

Prueba con este código:

SELECT T1.[DocStatus], T1.[DocNum], T1.[DocDate], T1.[CardCode], T2.[CardName], T0.[ItemCode], T0.[Dscription], T0.[Quantity], T0.[LineTotal], T0.[TargetType], T0.[TrgetEntry], T3.[U_BKV_LINEA], T3.[U_BKV_SERIE], T3.[U_BKV_COLECCION], T4.[SlpName], T4.[Memo]

FROM INV1 T0 INNER JOIN OINV T1 ON T0.DocEntry = T1.DocEntry INNER JOIN OCRD T2 ON T1.Cardcode = T2.CardCode LFT JOIN OITM T3 ON T0.ItemCode = T3.ItemCode INNER JOIN OSLP T4 ON T0.SlpCode = T4.SlpCode

WHERE T0.[DocDate] >=[%0] AND T0.[DocDate] <=[%1]

Respondido el 15/04/2024
LUCIANO RIOJA GHIOTTO
Se unió el 13/07/2019
0
Cargando...

Perfecto, asegúrate de cerrar la discusión y calificar las respuestas destacadas.

Saludos,

Manuel Díaz

Respondido el 15/04/2024
LUCIANO RIOJA GHIOTTO
Se unió el 13/07/2019
0
Cargando...

Buenas, ya los probé y funcionan excelente, me muestran la cantidad y monto correctos. Me han sido de gran ayuda los dos, ahora solo voy a añadir algunos campos que me faltan para las estadísticas y listo. Muchas gracias de verdad.

Respondido el 15/04/2024
LUCIANO RIOJA GHIOTTO
Se unió el 13/07/2019
0
Cargando...

Pedro:

Prueba con estas dos consultas:

----- CONSULTA 1-------

SELECT

T1.DocNum 'N° Interno SAP',

T1.CardCode AS 'Código de deudor/acreedor',

T1.CardName AS 'Nombre de deudor/acreedor',

T3.StateB 'Región',

T1.FolioNum, month(T1.DocDate) AS 'mes de contabilización',

year(T1.DocDate) 'Año',Max (T0.ItemCode) AS 'Número de artículo',

T0.Dscription AS 'Descripción artículo/serv.',

sum(T0.Quantity) AS 'Cantidad',

AVG(T0.Price) AS 'Precio',

sum(T0.LineTotal) AS 'Total líneas'

FROM  [dbo].[INV1] T0

INNER  JOIN [dbo].[OINV] T1  ON  T1.DocEntry = T0.DocEntry

inner join [dbo].[OITM] T2 on T0.ItemCode = t2.ItemCode

INNER JOIN [dbo].[INV12] T3 on T1.[DocEntry] = T3.[DocEntry]

WHERE (T1.docdate  >= '[%1]') AND (T1.docdate  <= '[%2]')

group by T1.CardCode, T1.CardName, month(T1.DocDate), year(T1.DocDate),T0.ItemCode,T0.Dscription, T1.FolioNum, T3.StateB, T1.DocNum

Union All

SELECT

T1.DocNum 'N° Interno SAP',

T1.CardCode AS 'Código de deudor/acreedor',

T1.CardName AS 'Nombre de deudor/acreedor',

T3.StateB 'Región',

T1.FolioNum, month(T1.DocDate) AS 'mes de contabilización',

year(T1.DocDate) 'Año',max (T0.ItemCode) AS 'Número de artículo',

T0.Dscription AS 'Descripción artículo/serv.',

sum(T0.Quantity *-1) AS 'Cantidad',

AVG(T0.Price) AS 'Precio',

sum(T0.LineTotal *-1) AS 'Total líneas'

FROM  [dbo].[rin1] T0

INNER  JOIN [dbo].[orin] T1  ON  T1.DocEntry = T0.DocEntry

inner join [dbo].[OITM] T2 on T0.ItemCode = t2.ItemCode

INNER JOIN [dbo].[INV12] T3 on T1.[DocEntry] = T3.[DocEntry]

WHERE   (T1.docdate  >= '[%1]' )and (T1.docdate  <= '[%2]')

group by T1.CardCode, T1.CardName, month(T1.DocDate), year(T1.DocDate),T0.ItemCode,T0.Dscription, T1.FolioNum, T3.StateB, T1.DocNum

-------CONSULTA 2------

/* Reporte de Facturas y Notas de Crédito por Fecha con el costo del artículo*/

select

CASE T0.DocSubType

WHEN 'DN' THEN 'Nota de Débito'

WHEN 'IB' THEN 'Boleta'

WHEN 'IE' THEN 'Factura Exenta'

WHEN 'IX' THEN 'Factura de Exportación'

ELSE 'Factura'

END as TipoDoc,

T0.DocNum as '[Num Interno]',

T0.FolioNum as '[Folio Fiscal]',

T1.DocDate as '[Fecha Contabilización]',

T6.GroupName as '[Grupo Cliente]',

T2.CardCode as '[Código Cliente]',

T2.CardName as '[Nombre Cliente]',

T1.itemcode as '[Código Items]',

T1.Dscription as '[Descripción de Artículo]',

T1.WhsCode as '[Sucursal]',

T1.PriceBefDi as '[Precio Unitario]',

T1.DiscPrcnt as '[Descuento]',

T1.Price as '[Precio Final]',

T1.Quantity as '[Cantidad]',

T1.LineTotal as '[Total]',

T8.SlpName as '[Vendedor]',

T0.DiscPrcnt as '[Porcentaje Total Descuento]',

((100-T0.DiscPrcnt)/100)*T1.LineTotal as '[Total Final]',

T1.[StockPrice] as '[Costo Artículo]',

T1.[StockPrice]*T1.Quantity as '[Total Costo]',

T0.[GrossProfit] as '[Ganancia Bruta]'

from INV1 T1 inner join

Respondido el 15/04/2024
LUCIANO RIOJA GHIOTTO
Se unió el 13/07/2019

contacto@primeinstitute.com

(+51) 1641 9379
(+57) 1489 6964

© 2024 Copyright. Todos los derechos reservados.

Desarrollado por Prime Institute

¡Hola! Soy Diana, asesora académica de Prime Institute, indícame en que curso estas interesado, saludos!
Hola ¿Puedo ayudarte?