【发布时间】:2018-01-23 05:19:00
【问题描述】:
我目前在 Acumatica 的 SOLine 和 POLine 上有自定义 RowPersisted 事件。基本上,当用户将它们保存在 Acumatica 中时,我需要确保所有链接的 PO 和 SO 中的自定义供应商成本字段和 PO 中的单价字段相互更新。所以我在 POLine_RowPersisted 中有这样的东西:
soRecExt.UsrVendorCost = line.CuryUnitCost;
SOOrderEntry graph = PXGraph.CreateInstance<SOOrderEntry>();
graph.CurrentDocument.Current = soOrd;
var result = graph.Transactions.Select();
graph.Transactions.Update(soRec);
graph.Actions.PressSave();
在 SOLine_RowPersisted 中是这样的:
poRec.CuryUnitCost = lineExt.UsrVendorCost;
POOrderEntry graph = PXGraph.CreateInstance<POOrderEntry>();
graph.CurrentDocument.Current = poOrd;
var result = graph.Transactions.Select();
graph.Transactions.Update(poRec);
graph.Actions.PressSave();
不幸的是,当一个更新时,整个事情进入无限循环。我尝试过这样的事情:
POOrderEntry_Extension graphExt = graph.GetExtension<POOrderEntry_Extension>();
graphExt.RowPersisted.RemoveHandler<SOOrderEntry_Extension>(graphExt.POLine_RowPersisted);
但是,图形扩展上没有 RowPersisted。我的活动设置为公开。有人可以帮忙吗?
【问题讨论】:
-
我会在图表中尝试这个持久化事务与行持久化。这是昨天刚刚问到的在事务中做多图的示例:stackoverflow.com/questions/48364638/…
标签: acumatica