我在CROpportunity中有一个名为UsrOrderTotalValue的字段。 销售订单(SO301000)和机会(CR304000)链接到,并添加到SOOrder选项卡自定义字段UsrOpportunityID。 当在销售订单上按“保存”按钮时,需要将一些值保存到UsrOrderTotalValue中。 下面提供了一些代码片段。 除了下面的内容,我尝试了使用Persist的不同方法,但是没有任何效果。 我的Acumatica版本: Acumatica 2018 R1(18.110.0017)
OpportunityMaint opportunityGraph = PXGraph.CreateInstance<OpportunityMaint>();
SOOrderExt sOOrderExt = row.GetExtension<SOOrderExt>();
CROpportunity cROpportunity = Opportunity.Select(sOOrderExt.UsrOpportunityID);
opportunityGraph.Opportunity.Update(cROpportunity);
opportunityGraph.Save.Press();
答案 0 :(得分:0)
请尝试如下所示,我具有硬编码值,请替换为您的字段。
[PXOverride]
public void Persist(Action del)
{
if ((Base.Document.Cache.GetStatus(Base.Document.Current) == PXEntryStatus.Inserted || Base.Document.Cache.GetStatus(Base.Document.Current) == PXEntryStatus.Updated))
{
OpportunityMaint opportunityGraph = PXGraph.CreateInstance<OpportunityMaint>();
CROpportunity cROpportunity = new CROpportunity();
cROpportunity.OpportunityID = "000001";
cROpportunity = opportunityGraph.Opportunity.Current = opportunityGraph.Opportunity.Select(cROpportunity);
if (cROpportunity != null)
cROpportunity.OpportunityName = "test";
opportunityGraph.Opportunity.Update(cROpportunity);
opportunityGraph.Save.Press();
}
del();
}