SOLine在更新orderQty后应用业务逻辑(又称为更新价格)

时间:2018-12-05 21:59:37

标签: acumatica

我创建了一些代码,该代码使用许多字段(例如:长度,宽度,LbsPerInch)来计算订单数量。我用了这个:

cache.SetValue<SOLine.orderQty>(e.Row, dQO); 

那部分工作得很好。更新之后,我需要让该行更新其余的行,就像orderQty是手动更新的一样。

我尝试使用以下内容,但这一定不正确,因为它似乎在运行时完全交出了表格。

Base.Transactions.Update(row);
Base.Transactions.View.RequestRefresh();

谢谢!

1 个答案:

答案 0 :(得分:0)

当用户在屏幕上修改字段时,它将引发该字段的FieldUpdated事件。 您扩展的基础图可以声明这些FieldUpdated事件的处理程序。问题可能是没有引发OrderQty字段事件,基础图使用这些事件来更新其他值取决于OrderQty的字段。

SetValue方法将更改字段值,而不会引发字段事件。

SetValueExt方法会更改字段值并引发字段事件。

您可以尝试使用SetValueExt代替SetValue

cache.SetValueExt<SOLine.orderQty>(e.Row, dQO); 

通常就足够了。通常,最顽固的刷新问题可以通过在修改字段后调用RaiseRowUpdated方法来引发行事件来解决。