Antes que nada quiero desearles Feliz Año Nuevo, un nuevo comienzo y mil momentos que festejar, les deseo lo mejor de los años, que el amor, la fé, la generosidad y la salud nos permitan lograr lo que mas anhelamos. Saludos a todos.
Ahora ya menciono mi detalle, necesito un query donde me muestre el folio, fecha, folio electrónico cancelado y el usuario quien hizo la cancelación.
Tengo el siguiente query
SELECT T0.[DocNum], T0.[CANCELED], T2.ReportID as 'Folio 3.3', T0.[DocDate], T0.[CardCode], T0.[CardName], T0.[DocTotal], T1.[USER_CODE]
FROM OINV T0
INNER JOIN OUSR T1 ON T0.[UserSign] = T1.[USERID]
INNER JOIN ECM2 T2 ON T0.[DocEntry] = T2.[SrcObjAbs]
WHERE
T0.[DocDate] >=[%0] AND T0.[DocDate] <=[%1] AND T0.[CANCELED] ='Y'
¿Cual es el inconveniente?
¿El query que tienes no te sirve?
¿Te falta alguna información?
o ¿Nos estás ayudando con el query para la comunidad lo pueda utilizar?.
Ambos son las firmas del usuario que realiza el movimiento. solo tendrías que agregarlo en el select según te ayuden y ya los estás ligando con la OUSR con el campo de nombre de usuario (que creo es el u_name si no me equivoco)
Para cancelar el documento seguramente realizaron una “factura de cancelación”, en ese caso debes buscar el documento siguiente que le corresponde para su cierre. y es el usuario de ese segundo documento.
Tendrías que asociar un segundo query, donde el documento de origen es la factura original igual que el objettype de origen es el de la factura (creo que es 13 si no me equivoco) así lo localizarías.
Ahorita no tengo una BD a la que pueda acceder para realizarte el query… sorry
En ese caso debes buscar en las tablas de log de documentos ADOC y DOC1 , ubicar la ultima modificación (cancelación) y traer el UserSign2 que sería el que la canceló.
Gracias @felipe.loyola por tu respuesta, la tabla DOC1 no la encuentro, solo esta la ADOC y DOC20. Lo que hice es relacionar la OINV con la ADOC y OUSR con OINV asi si obtengo lo que necesito. Solo que se repiten los folios. Anexo el Query.
SELECT T0.DocNum, T0.Canceled,T0.objtype, T0.updatedate, T0.JrnlMemo, T0.EDocNum, T0.Series, T1.UpdateDate, T2.U_Name From OINV T0 left join ADOC T1 on T0.DocNum=T1.DocNum INNER JOIN OUSR T2 ON T0.UserSign2 = T2.USERID where T0.Series=4 and T0.Canceled='Y'
Claro que se te repiten, porque por cada modificación de 1 documento existe un registro en la tabla ADOC, debes traer en el join solo el registro que pertenece a la modificación o bien filtrarlo en el where.
Este tema se cerró por inactividad por parte del autor.
Copia la URL de este debate, y abre un nuevo tema en #feedback si:
El autor del debate no marcó ninguna respuesta como solución, y tú crees tener la solución
Crees tener otra solución a la que actualmente está marcada.
Si, en cambio tienes una duda parecida a la que se debatió, o la misma duda, abre un nuevo tema en la categoría que corresponda y pon que el tema se debatió oportunamente (pega el enlace a este debate), así los otros lectores pueden saber de qué hablas.