Quiero relacionar las Facturas de Proveedor (OPCH) con las entradas (OPDN) y estoy usando el campo BaseEntry para las facturas de proveedor y el capo TrgetEntry si la factura es de reserva. El problema es que si una factura tiene mas de una entrada por la misma linea solo me muestra la primera ya que el campo que estoy usando solo almacena 1 dato.
Tienen alguna idea para hacer esta relación en estos casos particulares.
Hola, no te bases en la cabecera del documento ya que al copiar a o de copias por partidas no por documento, utiliza PCH1 y considera los campos BaseType y BaseEntry
@pcarrasco, si estoy usando los campos de la PCH1.
@Jesus_V, asi es como hago la relacion, el caso es el siguiente.
Tengo una factura de reserva con una sola linea, de esta factura tengo relacionadas 2 entradas de mercancía. Al tomar el campo TrgetEntry de la PCH1 solo me muestra una de las dos entradas por que ese campo solo almacena 1 DocEntry y la otra entrada no tengo como ligarla.
SELECT T0."DocNum" AS "N° Factura R", T2."DocNum" AS "N° Entrada"
FROM OPCH T0 INNER JOIN PCH1 T1 ON T0."DocEntry" = T1."DocEntry"
LEFT JOIN OPDN T2 ON T1."TrgetEntry" = T2."DocEntry"
LEFT JOIN PDN1 T3 ON T2."DocEntry" = T3."DocEntry"
Si corres esta consulta te dará la entrada relacionada por cada linea de la factura, pero si una linea tiene mas de una entrada solo te muestra la primera que se creo.
Saludos, hermano , hice uno que te dice la factura del proveedor, fecha, vencimiento, nombre y a vez nuestra el número de la entrada de mercancía y a su vez me da también el número de la orden de compras
Ejemplo factura 09856- entrada No. 345 y su orden de compras 987543, avísame si te sirve o si no te envío las tablas con su relación y tú lo hacés, saludos
Existe alguna forma desde la factura de ligar las dos entregas y la nc? La factura solo tiene 1 linea, por lo que el campo TrgetEntry solo tiene la información de un documento destino.
si sigues la misma linea solo seria agregar el OPDN Y PDN1 AL FROM
FROM OPCH T0 INNER JOIN PCH1 T1 ON T0."DocEntry" = T1."DocEntry" INNER JOIN RPC1 T2 ON T1."TrgetEntry" = T2."DocEntry"LEFT JOIN ORPC T3 ON T2."DocEntry"=T3."DocEntry"
Dejame checar si puedo hacer que funcione y te lo posteo. también trata de hacerlo.
El problema es que de esa manera solo puedo ligar un documento, si ejecuto el siguiente query:
SELECT T1."TrgetEntry", T1."TargetType" FROM OPCH T0 INNER JOIN PCH1 T1 ON T0."DocEntry" = T1."DocEntry" WHERE T0."DocNum" = 272
Me muestra que el campo TrgetEntry solo contiene el DocEntry de una de las entradas. Entonces de que campo puedo sacar el DocEntry de la otra entrada y el de la nc para poder ligarlos?
En mi humilde opinion… hazlo al reves…no unas documento base con documebto destino…
Mejor unir documento destino con documento base…
Es decir…olvidate del trgetentry…unelo por el baseentry…
… porque? Porque 1linea de documento tiene como mucho uno y solo un padre (el doc baseentry)… sin embargo una linea de documento puede tener mas de un documento hijo (y el trgetentry te apuntaria solo a uno de ellos y si tienes varios para una misma linea… seria un mal asunto…
Es una buena observación, el tema es que también tengo una entrada con mas de una factura por lo que llegaría al mismo problema. Por lo pronto lo hice partiendo de las entradas pero quería ver si había alguna forma de hacer esa unión.
Claro, metí, fue el monto de la factura, no se si vik desea los montos de la orden de compras y el monto de la entrada, bueno realmente lo hice para ayudar avik, esto lo hice fue en Crystal report, voy a ver si lo monto cómo query en sap
@AlexMoran, el tema sigue siendo el mismo, si existen dos entradas para una linea de la factura con la unión que propones solo tomara en cuenta una, esto es porque los campos “BaseEntry” y “TrgetEntry” solo almacenan un dato por linea.
@IKASHIMI, es una buena opción revisar en CR. Parece ser que por el Query Manager no será posible.
Olvida el targetentry!!!.. mira bien la propuesta de sql que te he comentado… porque precisamente insisto en que te olvides del taegertentry y uses el baseentry y baseline…
Por cierto que es IMPOSIBLE que en SAP B1 haya una linea de factura asociada a dos albaranes diferentes… el escenario que planteas es IMPOSIBLE que suceda
Pd: con el query manager si que es posible sacar los datos que necesitas… solo es cuestion de entender como obtener los datos que necesitas
El escenario es posible, o al menos es así en mi localización que es México. Tengo una factura de reserva a la cual están ligadas dos entradas. Mientras la linea no sea cerrada con la primer entrada se pueden agregar tantas como la operación lo necesite hasta que se complete la cantidad de la linea.
Por otra parte me costo un poco analizar lo que me comentabas pero al final entendi lo que me decías. El query me quedo así:
SELECT T0."DocEntry", T1."DocEntry"
FROM PCH1 T0 LEFT JOIN PDN1 T1 ON T1."BaseEntry" = T0."DocEntry" AND T1."BaseLine" = T0."LineNum" AND T1."BaseType" = 18
Esto me muestra la factura y sus dos entradas relacionadas a la linea. Lo seguiré desarrollando pero esta es la base que necesitaba.