如何配置Maximo lookup字段选择后显示关联值而非存储的ID
Maximo人员lookup显示友好名称配置方案
Maximo原生支持该需求,不需要额外开发复杂自定义逻辑,推荐优先使用标准配置方案实现:
方案1:原生对象+界面配置(无代码,最推荐)
- 第一步:给你的业务对象新增2个字段
- 持久化存储字段:类型为
ALN,长度和PERSON.PERSONID保持一致,命名例如SELECTED_PERSONID,该字段用来后台存储PERSONID值,设置为界面不可见、不可编辑 - 前端显示字段:非持久化
ALN类型,长度和PERSON.DISPLAYNAME保持一致,命名例如SELECTED_PERSON_NAME,配置关联关系:关联对象为PERSON,关联条件为PERSON.PERSONID = :SELECTED_PERSONID,关联取值属性为DISPLAYNAME
- 持久化存储字段:类型为
- 第二步:配置lookup返回映射
在应用设计器中打开你绑定的PERSON自定义lookup,新增两条返回规则:PERSONID返回赋值给SELECTED_PERSONID,DISPLAYNAME返回赋值给SELECTED_PERSON_NAME - 第三步:界面控件配置
把SELECTED_PERSON_NAME字段拖到目标界面位置,设置控件属性lookup="你的自定义person lookup id",同时设置inputmode="readonly",即可实现用户只能通过lookup选择人员,不可手动编辑输入框内容
该方案完全基于Maximo标准能力实现,不受版本升级影响,后续维护成本最低。
方案2:自动化脚本增强(适配特殊逻辑场景)
如果你的业务有特殊校验、联动逻辑,可以搭配自动化脚本实现:
- 触发事件选择
SELECTED_PERSON_NAME字段的lookup值返回事件 - 脚本逻辑:获取lookup返回的PERSONID后,自动查询PERSON表对应的DISPLAYNAME赋值给前端显示字段,同时把PERSONID赋值给持久化存储字段即可
注意事项
- 不要使用多部分文本框控件,该控件原生逻辑就是固定显示底层ID+描述,不符合仅展示友好名称的要求
- 显示字段设置
inputmode="readonly"后,系统会自动隐藏输入光标,仅保留lookup按钮入口,满足强制用户通过lookup修改值的需求
内容的提问来源于stack exchange,提问作者user2339421
相关产品推荐
相关产品推荐

