You need to enable JavaScript to run this app. Acumatica中Override Contact未勾选时如何禁用自定义Attention字段
优惠活动
大模型
产品
解决方案
定价
更多

Acumatica中Override Contact未勾选时如何禁用自定义Attention字段

解决方案

你只需要给Attention字段的PXUIField特性添加启用状态绑定即可,Acumatica框架会自动监听绑定字段的状态联动控制是否可编辑:

方案1:直接通过特性绑定(推荐)

假设你页面上Override Contact复选框绑定的DAC字段名为OverrideContact(如果实际名称不同请自行替换),修改你的字段配置代码如下:

[PXDBString(50)]
[PXUIField(DisplayName="Contact", Enabled = typeof(Current<OverrideContact>))]
[PXSelector(typeof(Search2<Contact.displayName,
LeftJoin<BAccount, On<BAccount.bAccountID, Equal<Contact.bAccountID>>>,
Where<Contact.contactType, Equal<ContactTypesAttribute.person>>>))]
[PXRestrictor(typeof(
    Where<Current<PMContact.customerID>,
            Like<Contact.bAccountID>>), "")]

修改后发布自定义即可生效,当OverrideContact为未勾选(false)时,字段会自动禁用,勾选后自动启用。

方案2:通过RowSelected事件控制

如果你的控制逻辑更复杂(比如还要同时判断其他字段的状态),可以在对应Graph的RowSelected事件中手动控制字段可用性:

protected void PMContact_RowSelected(PXCache cache, PXRowSelectedEventArgs e)
{
    PMContact row = e.Row as PMContact;
    if (row == null) return;
    // 控制Attention字段启用状态和OverrideContact保持一致
    PXUIFieldAttribute.SetEnabled<PMContact.attention>(cache, row, row.OverrideContact == true);
}

相关截图:

  • Attention Field:Attention字段界面
  • Override Contact:Override Contact复选框界面

内容的提问来源于stack exchange,提问作者Andrew Aiello

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.09 04:21:01