【问题标题】:Adding a Detail line total field to a screen将明细行总计字段添加到屏幕
【发布时间】:2020-05-26 22:35:33
【问题描述】:

我试图简单地向“采购收据”屏幕标题添加一个新的总计字段(由于某种原因,在最近的 Acumatica 版本中删除了总计金额)。看起来这应该很简单,但是我无法获得任何我尝试过的方法;当在细节行中进行任何更改时,在我尝试在自定义代码中手动汇总所有细节行之前,我想了解如何以正确的方式执行此操作。到目前为止,我已经尝试了以下方法,但似乎不起作用,我的总字段仍然为零:

1.) POReceipt DAC 扩展上的新自定义字段上的 PXFormula(我也尝试使用 PXUnboundFormula,因为这是一个未绑定的字段):

    [PXFormula(typeof(Mult<POReceiptLine.unitCost, POReceiptLine.receiptQty>), typeof(SumCalc<POReceiptExt.usrTotalAmt>))]

2.) 在 POReceiptLine DAC 扩展上的新自定义字段上使用 PXFormula(我也尝试使用 PXUnboundFormula,因为这是一个未绑定的字段):

    [PXFormula(typeof(Mult<POReceiptLine.unitCost, POReceiptLine.receiptQty>), typeof(SumCalc<POReceiptExt.usrTotalAmt>))]

3.) PXDBCalced 在 POReceiptLine DAC 扩展上的新自定义字段上执行计算:

    [PXDBCalced(typeof(Mult<POReceiptLine.unitCost, POReceiptLine.receiptQty>), typeof(decimal))]

然后尝试用一个新视图来合计

    public PXSelectGroupBy<POReceiptLine, Where<POReceiptLine.receiptNbr, Equal<Required<POReceipt.receiptNbr>>>,Aggregate<GroupBy<POReceiptLine.receiptNbr, Sum<POReceiptLineExtension.usrLineAmt>>>> Totals;

4.) 定义一个 dataview 方法来手动构建视图内容和总计。

什么是正确的方法?或者,即使您可以指出上一版本中计算此总数的代码,我也可以使用它。

【问题讨论】:

  • “在自定义代码中手动汇总所有详细信息行”,不幸的是,这通常需要解决 DAC 属性无法正确更新的刷新问题
  • 不幸的是,这也不起作用,因为缓存中没有更改的值。即使我尝试查看 Inserted 和 Updated 集合。
  • Acumatica 支持向我发送了此链接 --> asiablog.acumatica.com/2019/06/… 但我的代码从未超过第一行代码,因为 Base.Document.Current 始终为空。
  • 方法错误,您正在阅读来自文档委托的文档。在 RowSelected 事件中尝试。

标签: acumatica


【解决方案1】:

以下帖子最终引导我找到了一个对我有用的解决方案 --> https://stackoverflow.com/a/36870660/7376238 通过在 RowSelected 事件处理程序中手动求和总数。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多