You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Acumatica选择器遇重复EIN值无法返回正确ID的解决方法

解决Acumatica选择器返回重复替代键记录ID错误的问题

问题核心:数据表中存在EIN(替代键)相同但主键ID不同的有效记录,当前选择器无论选择哪条,始终返回第一条记录的ID——原因是选择器依赖重复的EIN作为替代键进行匹配,导致Acumatica无法区分不同记录。

修改方案

调整选择器配置,明确主键匹配规则,并在下拉列表中显示唯一标识字段,确保选择时能区分并匹配正确记录:

  1. 在选择器的显示字段中添加主键xTACEntityMappingEIN.iD,让用户能直观区分EIN相同的不同记录;
  2. 通过PrimaryKey属性指定主键为xTACEntityMappingEIN.iD,强制Acumatica使用主键进行记录匹配,避免替代键重复导致的错误。

修改后的代码示例

public abstract class clientEINID : PX.Data.BQL.BqlInt.Field<clientEINID> { }
[PXDBInt()]
[PXDefault()]
[PXUIField(DisplayName = "Client FEIN")]
[PXSelector(
    typeof(Search<xTACEntityMappingEIN.iD, Where<xTACEntityMappingEIN.taxDeptUse, Equal<True>, And<xTACEntityMappingEIN.active, Equal<True>>>>),
    typeof(xTACEntityMappingEIN.iD),
    typeof(xTACEntityMappingEIN.eIN),
    typeof(xTACEntityMappingEIN.commonName),
    typeof(xTACEntityMappingEIN.entityType),
    SubstituteKey = typeof(xTACEntityMappingEIN.eIN),
    PrimaryKey = typeof(xTACEntityMappingEIN.iD)
)]
public virtual int? ClientEINID { get; set; }

说明

  • 显示主键ID后,用户在选择器下拉列表中可以清晰看到每条记录的唯一ID,避免选错;
  • PrimaryKey属性确保Acumatica在用户选择记录时,以主键ID为依据进行匹配,彻底解决替代键重复导致的ID返回错误问题。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.29 20:23:13