如何在Acumatica 2017 R2现代菜单中添加通用查询?
解决Acumatica 2017 R2无法将Generic Inquiry添加到现代菜单的问题
我之前在处理Acumatica 2017 R2的自定义菜单需求时,也碰到过类似找不到通用查询的情况,结合这个版本的特性,给你几个具体的排查和解决步骤:
1. 检查Generic Inquiry的核心属性配置
通过BLC创建的通用查询,有时候会默认关闭关键属性,导致无法在菜单中被检索到:
- 打开该通用查询的设计界面(
SM208000),切换到Properties标签页 - 确认以下两个属性是否勾选:
Is Public:这个属性控制查询是否对所有有权限的用户可见Show in Menu:确保该选项被勾选,否则查询不会出现在菜单选择列表中
2. 验证Site Map节点的配置细节
你已经将查询绑定到Site Map的Hidden文件夹,但需要确认节点的UI可见性设置:
- 打开Site Map配置界面(
SM200520),找到你绑定的Business Accounts节点 - 检查节点的Type是否选择为
Generic Inquiry,并确认对应的查询名称是否正确关联 - 切换到UI Settings标签页,确保
Visible in Modern UI选项被勾选(这是现代菜单能识别节点的关键) - 另外,Hidden文件夹只是默认不显示在默认菜单中,但自定义菜单时应该能检索到;如果还是找不到,可以尝试暂时将节点移到非Hidden的文件夹下,再去菜单编辑器里查找
3. 确认当前用户的权限配置
如果你的登录账号没有该通用查询的访问权限,菜单编辑器里也不会显示它:
- 打开角色权限配置界面(
SM201005),找到你当前使用的角色 - 在Access Rights标签页,搜索该通用查询的ID,确认角色拥有至少
Read权限 - 同时检查查询的Restrictions标签页,有没有设置特定的用户/角色限制,导致当前账号无法访问
4. 刷新Acumatica缓存
通过BLC创建的配置项,有时候需要手动刷新缓存才能生效:
- 登录系统后,点击右上角的用户名,选择Reset Cache
- 或者直接访问系统的
/Frames/ResetCache.aspx页面,完成缓存重置后再重新打开菜单编辑器
5. 正确使用现代菜单的搜索功能
现代菜单编辑器的搜索框可以直接搜索查询的名称,有时候层级太深找不到的话,直接搜索会更高效:
- 打开Customize Menu界面,在顶部的搜索框输入该通用查询的名称(比如
Business Accounts),看是否能检索到
如果以上步骤都试过还是不行,建议检查BLC创建查询时的代码,确认有没有设置额外的隐藏属性,比如在InqFilter或者InqView的配置中是否意外设置了IsHidden之类的参数。
内容的提问来源于stack exchange,提问作者EricP.
相关产品推荐
相关产品推荐

