企业帐户(BAccount)Fielddefaulting无法正常工作

时间:2016-06-22 15:42:41

标签: acumatica

我遇到了这个特殊字段默认方法的问题。我过去做过很多事,没有任何问题。由于某种原因,它没有在“业务帐户”页面上分配ClassID。我已经浏览了调试器并逐步执行了包含正确值的cus.CustomerClassID;另外,在调试器中正确分配了e.NewValue。但是当页面实际打开时,该字段仍为空白。由于通用查询,是否存在BAccountMaint字段默认的特殊情况?

 protected void BAccount_ClassID_FieldDefaulting(PXCache cache, PXFieldDefaultingEventArgs e, PXFieldDefaulting InvokeBaseHandler)
    {
        if (InvokeBaseHandler != null)
            InvokeBaseHandler(cache, e);

        BAccount row = (BAccount)e.Row;

        AR.Customer cus = PXSelect<AR.Customer, Where<AR.Customer.acctCD, Equal<Required<AR.Customer.acctCD>>>>.Select(Base, row.AcctCD);
        if (row.AcctCD != null)
        {

            e.NewValue = cus.CustomerClassID;
            e.Cancel = true;
        }
    }

1 个答案:

答案 0 :(得分:0)

使用rowselecting事件而不是字段默认来获得正确的结果。