如何设置用户定义的字段?

问题描述 投票:0回答:2

我已将用户定义的复选框UsrContractCustomer添加到CRCase。我的第一步是在用户选择业务帐户(CustomerID)时尝试设置复选框。

这是我最近设置复选框的尝试。

  protected void CRCase_CustomerID_FieldUpdated(PXCache cache, PXFieldUpdatedEventArgs e)
  {
    var row = (CRCase)e.Row;
    if (row.CustomerID != null)
    {
      //CRCaseExt rowExt = PXCache<CRCase>.GetExtension<CRCaseExt>(row);
      CRCaseExt rowExt = row.GetExtension<CRCaseExt>();
      rowExt.UsrContractCustomer = true;
    }
  }
acumatica
2个回答
0
投票

在您的dac扩展中的字段上,您应该能够使用公式来设置值。这将在输入或删除客户时检查或取消选中您的字段。在场上使用逻辑也消除了编写图形级别更改(例如事件)的需要。

[PXFormula(typeof(IIf<Where<CRCase.customerID, IsNull>, False, True>))]

如果您想要使用该事件,我会尝试缓存设置值,例如:

cache.SetValueExt<CRCaseExt.usrContractCustomer>(e.Row, row.CustomerID != null);

0
投票

布兰登的解决方案是正确的。在另一篇文章中,我检索了我想用来设置用户定义字段的值。 'false'被替换为设置复选框字段的条件。

sender.SetValueExt<CRCaseExt.usrContractCustomer>(crcase, false);

感谢您的帮助和支持。

© www.soinside.com 2019 - 2024. All rights reserved.