我有几个自定义摘要字段,这些字段用于计算总计。似乎这些行正确地对它们进行了总计,但是鉴于Acumatica并非每次都在重新计算SUM,而是对其进行了更改,所以当我复制时,最终得出的总和是两倍。
我尝试过此代码(该代码是从一个问题几乎完全相同的人的另一篇文章中劫持的,但我认为它甚至没有运行。我想我对这里应该发生的事情有很大的差距。
public delegate void CopyOrderProcDel(SOOrder order, CopyParamFilter copyFilter);
[PXOverride]
public void CopyOrderProc(SOOrder order, CopyParamFilter copyFilter, CopyOrderProcDel del)
{
Base.RowSelecting.AddHandler<SOOrder>((sender, e) =>
{
if (e.Row == null) return;
SOOrderExt orderExt = sender.GetExtension<SOOrderExt>(e.Row);
orderExt.UsrSpeedyTotalCost = 0m;
orderExt.UsrSpeedyTotalExt2 = 0m;
});
del(order, copyFilter);
关于它的价值,我创建了一个带有操作按钮的菜单,该菜单确实修复了摘要字段,但这对用户来说是一个非常笨拙的解决方案。
提前感谢。
如果只想重置自定义字段。这样做。
public delegate void CopyOrderProcDelegate(SOOrder sourceOrder, CopyParamFilter copyFilter);
[PXOverride]
public void CopyOrderProc(SOOrder sourceOrder, CopyParamFilter copyFilter, CopyOrderProcDelegate baseMethod)
{
baseMethod(sourceOrder,copyFilter);
SOOrderExt orderExt = Base.Document.Current.GetExtension<SOOrderExt>();
orderExt.UsrSpeedyTotalCost = 0m;
orderExt.UsrSpeedyTotalExt2 = 0m;
}