Acumatica Opportunities(CR304000)选择器值刷新后消失问题求助
解决Acumatica Opportunities页面选择器值刷新后消失的问题
你的问题根源是自定义字段数据类型与选择器绑定的源字段类型不匹配:
- SalesPerson表的
salesPersonID字段是整数类型(PXDBInt),但你定义的UsrSalesPerson用了PXDBString存储。 - 保存时字符串形式的ID能写入数据库,但刷新后系统尝试用字符串值匹配整数类型的销售代表ID,匹配失败,导致选择器无法加载对应显示文本,字段显示空白。
解决方案
- 调整字段代码,匹配源字段类型
修改字段的存储类型、属性类型及BQL抽象类,与SalesPerson.salesPersonID的类型保持一致:#region UsrSalesPerson [PXDBInt] [PXUIField(DisplayName = "Sales Person")] [PXSelector(typeof(Search<SalesPerson.salesPersonID>), SubstituteKey = typeof(SalesPerson.descr), DescriptionField = typeof(SalesPerson.descr))] public virtual int? UsrSalesPerson { get; set; } public abstract class usrSalesPerson : PX.Data.BQL.BqlInt.Field<usrSalesPerson> { } #endregion - 同步数据库结构
修改代码后发布Acumatica项目,让系统自动更新数据库中该字段的存储类型。 - 验证修复效果
重新打开Opportunities(CR304000)页面,选择销售代表并保存,刷新页面后确认字段值正常显示。
内容的提问来源于stack exchange,提问作者Miss. Developer
相关产品推荐
相关产品推荐

