如何使Acumatica自定义操作更新当前记录

如何使Acumatica自定义操作更新当前记录,acumatica,Acumatica,我正在尝试使自定义操作更新当前记录上的自定义字段。最终我需要通过所有的数据收集一些数据,但现在我只需要点击按钮,让它更新当前记录。或多或少,我认为我无法理解如何获取这样的行级事件中的数据protectedvoid SOOrder\u RowSelected(PXCache缓存,PXRowSelectedEventArgs e) 公共PXAction查找; [PXButton(CommitChanges=true)] [PXUIField(DisplayName=“查找运费”)] 受保护的void

我正在尝试使自定义操作更新当前记录上的自定义字段。最终我需要通过所有的数据收集一些数据,但现在我只需要点击按钮,让它更新当前记录。或多或少,我认为我无法理解如何获取这样的行级事件中的数据
protectedvoid SOOrder\u RowSelected(PXCache缓存,PXRowSelectedEventArgs e)

公共PXAction查找;
[PXButton(CommitChanges=true)]
[PXUIField(DisplayName=“查找运费”)]
受保护的void lookupShipping()
{
SOOrder TheRow=Base.Document.Current;
}

提前感谢。

如果您试图更新自定义字段

首先,您需要通过以下方式连接到DAC扩展:

SOOrderExt sOOrderExt = PXCache<SOOrder>.GetExtension<SOOrderExt>(TheRow);
别忘了保存记录,假设这个按钮应该是一站式的

Save.Press();
如果您试图简单地更新现有视图中的值,那么可以非常轻松地完成

TheRow.FieldName = InsertValueHere;
Document.Current.Update(TheRow);
Save.Press();
你可以在HB_Acumatica的回答中看到一些更新值的好方法,我问了一些类似的问题。。。

Base.Caches[typeof(SOOrder)].Update(sOOrderExt);
Save.Press();
TheRow.FieldName = InsertValueHere;
Document.Current.Update(TheRow);
Save.Press();