2020R2 创建销售订单付款
Create Sales Order Payment in 2020R2
我正在升级能够通过代码在销售订单上创建付款的定制。在 2020R2 之前,我可以使用类似...
PXGraph graph;
orderEntry.CreatePaymentProc(orderEntry.Document.Current, out graph);
ARPaymentEntry paymentEntry = (ARPaymentEntry)graph;
ARPayment payment = paymentEntry.Document.Select();
payment.PaymentMethodID = ...;
payment.CuryOrigDocAmt = ...;
payment.ExtRefNbr = ...;
payment.CashAccountID = ...;
paymentEntry.Document.Update(payment);
paymentEntry.Actions.PressSave();
从 Acumatica 2020R2 开始,CreatePaymentProc
不再是 SOOrderEntry
的方法。
怎样才能达到同样的结果?
在 Acumatica 2020R2 版本中为销售订单记录创建的所有付款方法和操作,您可以在扩展 CreatePaymentExt
[=22= 中找到].
自 Acumatica 2020R2 CreatePaymentProc
已更改 CreatePaymentExt
class.[=14 上的 CreatePayment
方法=]
这里的完整解决方案涉及几个额外的方法调用...
SOOrder order = orderEntry.Document.Current;
CreatePaymentExt createPaymentExt = orderEntry.GetExtension<CreatePaymentExt>();
SOQuickPayment payment = createPaymentExt.QuickPayment.Current;
createPaymentExt.SetDefaultValues(payment, order);
payment.PaymentMethodID = ...;
payment.CuryOrigDocAmt = ...;
payment.ExtRefNbr = ...;
payment.CashAccountID = ...;
ARPaymentEntry paymentEntry = createPaymentExt.CreatePayment(payment, order, ARPaymentType.Payment);
paymentEntry.Save.Press();
我正在升级能够通过代码在销售订单上创建付款的定制。在 2020R2 之前,我可以使用类似...
PXGraph graph;
orderEntry.CreatePaymentProc(orderEntry.Document.Current, out graph);
ARPaymentEntry paymentEntry = (ARPaymentEntry)graph;
ARPayment payment = paymentEntry.Document.Select();
payment.PaymentMethodID = ...;
payment.CuryOrigDocAmt = ...;
payment.ExtRefNbr = ...;
payment.CashAccountID = ...;
paymentEntry.Document.Update(payment);
paymentEntry.Actions.PressSave();
从 Acumatica 2020R2 开始,CreatePaymentProc
不再是 SOOrderEntry
的方法。
怎样才能达到同样的结果?
在 Acumatica 2020R2 版本中为销售订单记录创建的所有付款方法和操作,您可以在扩展 CreatePaymentExt
[=22= 中找到].
自 Acumatica 2020R2 CreatePaymentProc
已更改 CreatePaymentExt
class.[=14 上的 CreatePayment
方法=]
这里的完整解决方案涉及几个额外的方法调用...
SOOrder order = orderEntry.Document.Current;
CreatePaymentExt createPaymentExt = orderEntry.GetExtension<CreatePaymentExt>();
SOQuickPayment payment = createPaymentExt.QuickPayment.Current;
createPaymentExt.SetDefaultValues(payment, order);
payment.PaymentMethodID = ...;
payment.CuryOrigDocAmt = ...;
payment.ExtRefNbr = ...;
payment.CashAccountID = ...;
ARPaymentEntry paymentEntry = createPaymentExt.CreatePayment(payment, order, ARPaymentType.Payment);
paymentEntry.Save.Press();