我的目标是,从给定的屏幕: - 在付款和广告的“调整”标签中添加行。应用图 - 发布
我试着这样做:
override public void createLettering(List<ARRegister> lines)
{
string refNbr = "";
foreach (ARRegister line in lines)
{
if (line.DocType == "PMT") refNbr = line.RefNbr;
}
// Get the paymententry graph, and add the invoice
ARPaymentEntry graphPmt = PXGraph.CreateInstance<ARPaymentEntry>();
ARPayment pmt = PXSelect<ARPayment, Where<ARPayment.refNbr, Equal<Required<ARPayment.refNbr>>,
And<ARPayment.docType, Equal<Required<ARPayment.docType>>>>>
.Select(this,refNbr, "PMT");
graphPmt.Document.Current = pmt;
if (pmt == null) throw new PXException(Constantes.errNotFound);
//pmt.CuryOrigDocAmt = 0m;
//graphPmt.Document.Update(pmt);
ARAdjust adj = new ARAdjust();
foreach(ARRegister line in lines)
{
if (line.DocType == "INV")
{
adj = new ARAdjust();
adj.AdjdDocType = line.DocType;
adj.AdjdRefNbr = line.RefNbr;
graphPmt.Adjustments.Insert(adj);
}
}
PXAdapter adapter = new PXAdapter(new PXView(graphPmt,true, graphPmt.Document.View.BqlSelect));
graphPmt.Persist();
graphPmt.Release(adapter);
}
我的问题是我认为我的适配器获得了每一个ARPayment,因此试图释放它们。 (此函数的输出是:处理时间过长,然后告诉我&#39; PaymentMethod不能为空,但是当我签入调试时,我的graphPmt.Document的paymentMethod不为空。)< / p>
那么如何从我的另一个自定义图表中将正确的PXAdapter传递给PaymentEntry图表的Release(PXAdapter适配器)方法?
答案 0 :(得分:1)
我认为你应该可以调用诸如......之类的动作。
graphPmt.release.Press();
我没有对此进行过测试,但我记得在过去的其他行动中做了类似的事情。