【发布时间】:2016-08-01 23:25:23
【问题描述】:
我有一个由 PXAction 调用的存储过程。我知道使用存储过程违反了 Acumatica 的最佳实践,但我还没有为我的目标找到替代解决方案。存储过程根据决定单价的 breakQuantity 评估每个行项目及其关联的价格类别。如果多个项目属于同一价格 class== 或超过中断数量,则单价降低。
我开始的是行更新
protected virtual void SOLine_RowUpdating(PXCache sender, PXRowUpdatingEventArgs e)
{
SOLine row = (SOLine)e.Row;
formalizeOrderTotal(row);
}
然后在我的formalizeOrderTotal 函数中,它在SOLine in lines.Select() 上执行了一个foreach 循环来增加订单数量。作为测试,我只是尝试将所有订单数量相加并将其应用于每个订单项。这仅在刷新后更新,这否定了将存储过程移动到 c# 函数/Acumatica 事件处理程序的目的。
如果有人对更新缓存中的所有行项目有一些建议,如果您能提供一些输入,我们将不胜感激。
【问题讨论】:
-
'This only updated after refresh',你是指在刷新屏幕/网格之后?
-
你是对的!抱歉,我没有具体说明。
-
Base.Transactions.View.RequestRefresh();将解决您的问题。
标签: acumatica