Acumatica 获取所有自定义网格列值总和的最佳方法?

Acumatica Best way to get Sum of all custom grid column values?

我正在尝试将下面字段的值设置为网格中所有成本的总和。

我试过在 DAC 中使用 PXFormula

[PXParent ( typeof(Select<ProjectEntry_Extension.atcProjectLinesTable,Where<ProjectEntry_Extension.atcProjectLinesTable.contractID,
Equal<Current<Contract.contractID>>>>))]
[PXFormula(null, typeof(SumCalc<ProjectEntry_Extension.atcProjectLinesTable.unPrice>))]
[PXUIField(DisplayName="Fixture Estimated Total")]

也尝试使用

cache.SetValueExt<ContractExt.usrFixtureTotals>(row.UnPrice, null); 

在 BLC 的 RowUpdated 事件中

在我看来,实现这一目标的最佳方法是 PXFormula 和一些 header DAC,结果将存储在其中。

例如您将拥有一些 DAC 'Header',其中只有一个名为 'Sum' 的字段。该字段在屏幕上可以是不可见的。 之后,您将 PXFormula 放在行上以计算 'Sum'。 之后,您将值设置为 RowInserted 上的新行,如下所示:

protected virtual void RowInserted(PXCache sender, PXRowInsertedEventArgs e)
{
    SomeType line = (SomeType)e.Row;
    line.Value=Header.Current.Sum;
}