Acumatica 2020R1自定义界面新操作定义分组与隐藏失效排查
问题修复方案
你遇到的两个问题是Acumatica 2020R1版本操作Fluent配置的高频踩坑点,按以下步骤调整即可:
- 先清理页面级自定义覆盖:打开自定义项目的屏幕编辑器,进入对应页面的「操作」配置标签,删除所有针对这4个操作的手动修改配置,页面级配置优先级高于Graph代码配置,会直接覆盖你写的逻辑。
- 调整配置顺序并补全文件夹注册:2020R1要求归属文件夹的操作必须先显式注册文件夹,且带文件夹归属的操作要放在无归属操作之前配置,否则归组逻辑会失效。
- 检查操作特性配置:确认
ActionSetEmbryoIDGen操作的定义上没有标注[PXUIField(Visible = true)]这类显式设置可见性的特性,特性优先级高于Fluent API配置,存在的话需要删除Visible属性设置。 - 强制刷新前端缓存:发布完成后按
Ctrl+Shift+R强制刷新浏览器,Acumatica前端会默认缓存操作配置,很多时候失效是缓存未更新导致。
修正后配置代码
public override void Configure(PXScreenConfiguration graph) { var context = graph.GetScreenConfigurationContext<NGBiopsyEntry, NGBiopsy>(); context.AddScreenConfigurationFor(screenConfig => screenConfig .WithActions(actions => { // 2020R1必需先显式注册文件夹,否则操作归属逻辑失效 actions.WithFolder(FolderType.ActionsFolder, folderConfig => folderConfig.WithDisplayName("操作")); // 带文件夹归属的操作统一放在前面 actions.Add(a=>a.ActionRefreshWorkTickets, config=>config .InFolder(FolderType.ActionsFolder)); actions.Add(a=>a.ActionStartPGTMTesting, config=>config .InFolder(FolderType.ActionsFolder)); actions.Add(a=>a.ActionSetEmbryoIDGen, config=>config .InFolder(FolderType.ActionsFolder) .IsHiddenAlways()); // 无归属的操作放在最后 actions.Add(a=>a.ActionSubmitBiopsy); })); }
内容的提问来源于stack exchange,提问作者Kyle Vanderstoep
相关产品推荐
相关产品推荐

