使用actions \ Copy Order时自定义总和字段的重置值

问题描述 投票:0回答:1

我有几个自定义摘要字段,这些字段用于计算总计。似乎这些行正确地对它们进行了总计,但是鉴于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);

关于它的价值,我创建了一个带有操作按钮的菜单,该菜单确实修复了摘要字段,但这对用户来说是一个非常笨拙的解决方案。

提前感谢。

acumatica
1个回答
0
投票

如果只想重置自定义字段。这样做。

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;

}
© www.soinside.com 2019 - 2024. All rights reserved.