Estimados, tengo un requerimiento que aun no puedo resolver, un reporte (Query) por armar en donde pueda obtener la relación de los dividendos (INV6) de las facturas (OINV) con todas las formas de pago relacionadas desde ORCT con RCT1, RCT2 y RCT3; lo que requerio es conocer si el dividendo se pago con efectivo (cuando), con cheque al dia o cheque a fecha, he estado revisando pero no encuentro la forma de poder realizar las relaciones respectivas con las tablas hasta INV6 en donde se guardan los dividendos de las facturas.
Hola @gftomala , tal vez deberías cruzar las tablas ORCT, RCT2, OINV Y INV6…
se me ocurre algo asi…
SELECT * FROM ORCT T0
INNER JOIN RCT2 T2 ON T0."DocEntry" = T2."DocNum"
INNER JOIN OINV T3 ON T2."DocEntry" = T3."DocEntry"
INNER JOIN INV6 T4 ON T3."DocEntry" = T4."DocEntry"
Hola @anon3368014 gracias por responder, la relacion entre las tablas:
RCT2, veo que se guarda la data pagos en efectivo y/o trasferencias
RCT3, almacena data de Cheques a Fecha o Letras de Cambio (no encuentro como realizar la relación).
RCT1, almacena data de Cheques al dia para cobros inmediatos (no encuentro como realizar la relación).
Conoces por si acaso de un sitio en donde exista el diccionario de datos de SAP B1 con todas las relaciones entre tablas?
Mira, ahora te dejo un link con lo que solicitas, pero antes te dejo las capturas del Generador de consultas que trae SAP B1:
estúdialo bien, hay casos que no existe una relación entre las tablas y hay que buscar por otro lado… pero en caso de las tablas “hijas” en el 99% de los casos hay relación…
LINK TABLAS SAP:
h_tp://www.saptables.net/?schema=BusinessOne9.3&table=rct1
Estimado @anon3368014 revisando el mapa de relaciones de SAP B1, por si acaso conoces cual es el query que me puede devolver la relación de los pagos asociados a la factura, según el print adjunto es lo que me estan solicitando ahora pero en el script no me esta generando de forma completa según el print.
Estimado, ejecute la siguiente QUERY:
SELECT
T0."DocEntry" AS "ID FC VENTA",
T0."DocNum" AS "N° Int. FC VENTA",
T3."DueDate" AS "Fecha de vencimiento",
T3."Paid" AS "Pagado",
T3."VatSum" AS "Impuesto total",
T3."PaidToDate" AS "Pagado a la fecha",
T2."DocNum" AS "N° RECIBO"
FROM OINV T0
INNER JOIN RCT2 T1 ON T0."DocEntry" = T1."DocEntry"
INNER JOIN ORCT T2 ON T2."DocEntry" = T1."DocNum"
INNER JOIN INV6 T3 ON T0."DocEntry" = T3."DocEntry"
siendo OINV = Factura de Venta; ORCT = “Pagos Recibidos”; RCT2 = “Detalle del Pago de facturas”; INV6 = “Dividendos de la Factura de venta”
Espero le sirva…
Slds.
NOTA: sugiero utilizar la clausula WHERE con el Número de su Recibo para no ejecutar todo lo existente.
Según el mapa de realaciones esa factura de 959,60 has cobrado 1.189,12
En esa vista gráfica ya tienes la información que requieren… ¿porque queréis una consulta que de lo mismo que ya te lo da el programa de manera nativa?
La consulta tienes que partir de RCT2 que es la que registra los cobros de facturas a nivel de líneas, ya que puedes cobrar varias facturas en un mismo documento.
Relacionas con ORCT para saber de que forma se ha cobrado, te lo indica esta tabla.
Luego tienes que relacionar desde RCT2 con la tabla OINV por el docentry de la factura para obtener los datos de la factura o con INV6 si generas vencimientos.
Estimado @meqs el requerimiento que me han solicitado es un reporte de la forma como se han cancelado los dividendos de las facturas y que muestre la fecha de pago ya sea por efectivo, cheques al día o por depositar, etc, hasta donde he visto en SAP B1 no encuentro un reporte nativo que me muestre esa generacion de data.
En lo que me indicas ahora entiendo que RCT2 es la relación con OINV, pero me puedes indicar que tipo de data (relación) se guarda en RCT1 y RCT3?
RCT1 si cobras mediante cheques y RCT3 si cobras con la funcionalidad de tarjetas de crédito, que creo no uses.
La tabla INV6 (plazos) la puedes unir con RCT2 usando:
RCT2.InstId = INV6.InstlmntID
RCT2.InvType = INV6.ObjType
RCT2.DocEntry = INV6.DocEntry
Si quieres mostrar info general de la factura (Header), entonces unes INV6 con OINV (INV6.DocEntry = OINV.DocEntry).
Esperemos con esto puedas avanzar.
Saludos,
JC.
Este tema se cerró automáticamente 7 días después de la última publicación. No se permiten nuevas respuestas.