我尝试在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事件中
答案 0 :(得分:2)
从我的观点来看,实现这一目标的最佳方式是PXFormula和一些标题DAC,其中将存储结果。
E.g。你会得到一些DAC'Header'只有一个名为'Sum'的字段。该字段在屏幕上是不可见的。 之后,您将PXFormula放在行上以计算“Sum”。 之后,将值设置为RowInserted上的新行,如下所示:
protected virtual void RowInserted(PXCache sender, PXRowInsertedEventArgs e)
{
SomeType line = (SomeType)e.Row;
line.Value=Header.Current.Sum;
}