Buenas Tardes realice este Query, pero no logro hacer que me de un resultado simplificado (ejemplo el cliente me compro mil cucharas y dos meses antes me habia comprado otras mil), en si lo que pasa es que me aparece el movimiento por cada factura y yo quisiera que fuera un resumen de cada producto comprado por el cliente e intentado crear otro Query que indique que clientes ya pagaron factura al dia porque en el SAP solo me marca nota pagado
SELECT
T4."CardCode" AS "Codigo Cliente",
T4."CardName" AS "Nombre del Cliente",
T0."DocDate" AS "Fecha",
T1."ItemCode" AS "Codigo Articulo",
T2."ItmsGrpNam" AS "Familia",
T1."ItemName" AS "Nombre del Articulo",
T0."Price" AS "Precio",
T0."Quantity" AS "Cantidad",
T0."LineTotal" AS "Total",
T6."SlpName" AS "Vendedor"
FROM
"SBO_EHO_PROD"."INV1" T0
INNER JOIN "SBO_EHO_PROD"."OITM" T1 ON T0."ItemCode" = T1."ItemCode"
INNER JOIN "SBO_EHO_PROD"."OITB" T2 ON T1."ItmsGrpCod" = T2."ItmsGrpCod"
INNER JOIN "SBO_EHO_PROD"."OINV" T3 ON T0."DocEntry" = T3."DocEntry"
INNER JOIN "SBO_EHO_PROD"."OCRD" T4 ON T0."BaseCard" = T4."CardCode"
INNER JOIN "SBO_EHO_PROD"."OCRG" T5 ON T4."GroupCode" = T5."GroupCode"
INNER JOIN OSLP T6 ON T0."SlpCode" = T6."SlpCode"
WHERE
T6."SlpName" = '[%0]'
AND T0."DocDate" >= '[%1]'
AND T0."DocDate" <= '[%2]'
order by T4."CardCode"
Te podría recomendar que no hagas otro Query, llevate tu consulta al Crystal como un comando, ahí podrás hacer exactamente lo que quieres: Agrupar por cliente, artículo o como tú lo desees. Puedes totalizar los campos, añadir nuevos con las fórmulas que necesites y más.
Query literal es consulta, para un resumen o reporte el CR se te dará mucho mejor.
Si no lo has manejado va a ser un reto, aunque te podría decir que es intuitivo parte desde sino lo tienes conectado a SAP hay que hacerlo, luego el diseño y para terminar importarlo en SAP.
Aquí hay varios temas #crystalreport en el foro que te podrían ayudar si tienes el tiempo necesario. Entonces intenta sumar QUANTITY o traete de la cabecera el PAIDSUM para ver que facturas están pagadas.
Hola @Zelf cuando postees código sql recuerda formatearlo adecuadamente.
Debes hacer un GROUP BY por el campo que quieres obtener el resumen, en este caso debes hacerlo a 2 niveles, primero por Cliente y luego por Artículo
En la parte del group by, debes hacer GROUP BY T3.CardCode, T1.ItemCode
Al hacer un group by tienes que añadir en la select en los campos que tienen que sumar el correspondiente SUM y eliminar del select aquellos que no necesitas como por ejemplo la fecha, la familia y el Precio. Si quieres resumir no puedes mostrar ese detalle.
Te recomendaría también cambiar en las join el inner por left, a no ser, que siempre uses artículos en los documentos.
SELECT
T4."CardName" AS "Nombre del Cliente",
T1."ItemCode" AS "Codigo Articulo",
T2."ItmsGrpNam" AS "Familia",
T1."ItemName" AS "Nombre del Articulo",
SUM(T0."Quantity") AS "Cantidad",
SUM(T0."LineTotal") AS "Total"
FROM
INV1 T0
INNER JOIN OITM T1 ON T0."ItemCode" = T1."ItemCode"
INNER JOIN OITB T2 ON T1."ItmsGrpCod" = T2."ItmsGrpCod"
INNER JOIN OINV T3 ON T0."DocEntry" = T3."DocEntry"
INNER JOIN OCRD T4 ON T0."BaseCard" = T4."CardCode"
INNER JOIN OCRG T5 ON T4."GroupCode" = T5."GroupCode"
INNER JOIN OSLP T6 ON T0."SlpCode" = T6."SlpCode"
WHERE
T4."CardName" = '[%0]'
Group by T4."CardName", T1."ItemCode", T1."ItemName",T2."ItmsGrpNam"
no siempre manejan documentos pero en la mayoría de los casos si, igual creo que puede funcionar si quito el join del ItmsGrpCod, DocEntry, slpcode
Muy bien @Zelf para la próxima formatea el código sql para que se vea que es código y no texto plano.
Ahora solo te queda marcar una solución para poder cerrar el tema.