Acumatica 如何平均细节字段值的总和并将结果放入标题中

Acumatica 如何平均细节字段值的总和并将结果放入标题中,acumatica,Acumatica,我在自定义屏幕的细节/网格部分有一个字段,我希望基本上平均(总和除以行数),然后在标题部分显示该值。我似乎找不到任何关于如何使用PXFormula字段执行此操作的示例。如果我需要使用RowSelected事件(或FieldUpdate事件),那就这样吧,但我希望用PXFormula字段来实现这一点。我是这样做的: protected virtual void xTACProjectMaster_RowPersisting(PXCache sender, PXRowPersistingEv

我在自定义屏幕的细节/网格部分有一个字段,我希望基本上平均(总和除以行数),然后在标题部分显示该值。我似乎找不到任何关于如何使用PXFormula字段执行此操作的示例。如果我需要使用RowSelected事件(或FieldUpdate事件),那就这样吧,但我希望用PXFormula字段来实现这一点。

我是这样做的:

    protected virtual void xTACProjectMaster_RowPersisting(PXCache sender, PXRowPersistingEventArgs e)
    {
        Decimal? totPctComplete = 0;
        int rowCount = 0;

        var pj = e.Row as xTACProjectMaster;
        if (pj != null)
        {
            PXResultset<xTACProjectTask> res = PXSelect<xTACProjectTask,
                                               Where<xTACProjectTask.projectID, Equal<Required<xTACProjectTask.projectID>>>>.Select(this, pj.ProjectID);

            foreach (PXResult<xTACProjectTask> rec in res)
            {
                xTACProjectTask pt = rec;
                totPctComplete += pt.PctComplete;
                rowCount++;
            }

            if(rowCount > 0)
                pj.PctComplete = totPctComplete / rowCount;
        }
    }
受保护的虚拟空间xTACProjectMaster\u行持久化(PXCache发送方,PXRowPersistingEventArgs e)
{
十进制?totPctComplete=0;
int rowCount=0;
var pj=作为xTACProjectMaster的e行;
如果(pj!=null)
{
PXResultset res=PXSelect.Select(this,pj.ProjectID);
foreach(PXResult rec以res表示)
{
xTACProjectTask pt=rec;
totPctComplete+=pt.pctccomplete;
行计数++;
}
如果(行计数>0)
pj.PctComplete=totPctComplete/rowCount;
}
}

您可以这样做,但需要创建计数运算符。请参见下面链接中的示例