我遇到了这个特殊字段默认方法的问题。我过去做过很多事,没有任何问题。由于某种原因,它没有在“业务帐户”页面上分配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;
}
}
答案 0 :(得分:0)
使用rowselecting事件而不是字段默认来获得正确的结果。