Necesita ayuda para obtener los datos de Microsoft Dynamics GP 10
-
28-09-2019 - |
Pregunta
Tengo una necesidad de devolver el contenido de la ventana Zoom Distribución por pagar a otra aplicación que estoy escribiendo. He utilizado con éxito EConnect a retirar las entradas de transacción de cuentas por pagar, pero no puedo encontrar dónde obtener el detalle del artículo de línea. ¿Alguien me puede apuntar en la dirección correcta? Nunca he trabajado con la dinámica. No estoy en contra de ir directamente a la base de datos, pero (hasta ahora) no he encontrado muy buenas referencias para el diseño de base de datos.
Cualquier ayuda es muy apreciada.
Solución
Me voy a publicar mi solución actual, que se reunió mis necesidades, pero si alguien ve una mejor manera de lograr esto por favor hágamelo saber!
El SQL:
SELECT
P1.VENDORID
,LTRIM(RTRIM(GL1.ACTNUMBR_1)) + '-' + LTRIM(RTRIM(GL1.ACTNUMBR_2)) AS 'ACCOUNT'
,P2.DISTTYPE
,P2.DEBITAMT
,P2.CRDTAMNT
,V.[Vendor Name]
,P1.VCHRNMBR
,P1.DOCNUMBR
,P1.DOCDATE
,P1.BACHNUMB
,P1.TRXDSCRN
,P2.DOCTYPE
,C.ACTINDX
,P3.DOCNUMBR
FROM
PM30200 P1 WITH(NOLOCK)
INNER JOIN
PM30600 P2 ON P1.VCHRNMBR = P2.VCHRNMBR
INNER JOIN
GL00100 GL1 ON GL1.ACTINDX = P2.DSTINDX
INNER JOIN
Vendors V ON V.[Vendor ID] = P1.VENDORID
LEFT OUTER JOIN
PM00400 P3 ON P3.TRXSORCE = P1.TRXSORCE AND P3.CNTRLTYP = 1 AND P3.DOCTYPE = 6 AND P3.VENDORID = P1.VENDORID
LEFT OUTER JOIN
CM00100 C ON C.CHEKBKID = P3.CHEKBKID
También creó dos enumeraciones para trazar algunos de los datos:
public enum DISTTYPE
{
Cash = 1,
Pay = 2,
Avail = 3,
Taken = 4,
Fnchg = 5,
Purch = 6,
Trade = 7,
Misc = 8,
Freight = 9,
Taxes = 10,
Write = 11,
Other = 12,
Gst = 13,
Wh = 14,
Unit = 15,
Round = 16
}
public enum DOCTYPE
{
Invoice = 1,
[Description("Finance Charge")]
FinanceCharge = 2,
[Description("Miscellaneaous Charge")]
MiscellaneaousCharge = 3,
Return = 4,
[Description("Credit Memo")]
CreditMemo = 5,
[Description("Manual Checks")]
ManualChecks = 6
}