默认销售 Order/Quote 菜单在发布定制后消失
Default Sales Order/Quote menu disappers after publishing customization
我们进入 acumatica 20 r2,当我们发布自定义包时,默认报告菜单打印 salesorder/quote 选项消失。
我们有自定义报告,这些报告是通过覆盖我的扩展程序中 salesorderentry 图表的初始化方法添加的。
public override void Initialize()
{
base.Initialize();
base.Base.report.AddMenuAction(embroideryreport);
base.Base.report.AddMenuAction(embroiderysoreport);
base.Base.report.AddMenuAction(screenprintreport);
base.Base.report.AddMenuAction(screenprintsoreport);
}
我无法找出报告丢失的原因。我已将工作流程升级到最新版本,但问题仍然存在。
更新
我最初没有调用 base.Initialize() 并且由于默认报告没有出现,我认为这可能是由于没有调用基本方法。
我已经尝试了 bahaa-zantout 的建议,并且基本报告已经被标记到报告菜单中,当我在 Initialize 方法中评论添加报告的代码时,默认报告再次出现在报告菜单下。
工作流程好像有冲突,我没办法解决。
我尝试将这些报告添加到工作流操作部分并将它们标记为报告,但整个报告菜单都消失了
将您的初始化方法更改为....
public override void Initialize()
{
base.Base.report.AddMenuAction(embroideryreport);
base.Base.report.AddMenuAction(embroiderysoreport);
base.Base.report.AddMenuAction(screenprintreport);
base.Base.report.AddMenuAction(screenprintsoreport);
}
来自 Acumatica DEV 文档门户
您不需要在以前的扩展级别上显式调用 Initialize() 方法;这些方法会自动调用。调用 base.Initialize() 没有任何意义,因为基础变量指向基础 class,即 PXGraphExtension(不是基础图)。 PXGraphExtension class 将 Initialize() 定义为空方法。
您可以尝试以下操作来恢复工具栏菜单项。
导航到自定义项目中的“销售订单”屏幕
转到操作
找到丢失的打印选项(即 printSalesOrder)并将 Toolbar 文件夹放在原始文件夹中,在本例中为“Reports”。如果它不起作用,请尝试移至“操作”并查看它是否出现。
See example screenshot.
我不确定是不是因为这个声明,但是当我更改以下声明时它解决了问题
[PXButton(SpecialType = PXSpecialButtonType.ReportsFolder)]
至
[PXButton]
举报行动
public PXAction<SOOrder> embroideryreport;
[PXUIField(DisplayName = "Embroidery Production Report", MapEnableRights = PXCacheRights.Select)]
//[PXButton(SpecialType = PXSpecialButtonType.ReportsFolder)]
[PXButton]
我们进入 acumatica 20 r2,当我们发布自定义包时,默认报告菜单打印 salesorder/quote 选项消失。
我们有自定义报告,这些报告是通过覆盖我的扩展程序中 salesorderentry 图表的初始化方法添加的。
public override void Initialize()
{
base.Initialize();
base.Base.report.AddMenuAction(embroideryreport);
base.Base.report.AddMenuAction(embroiderysoreport);
base.Base.report.AddMenuAction(screenprintreport);
base.Base.report.AddMenuAction(screenprintsoreport);
}
我无法找出报告丢失的原因。我已将工作流程升级到最新版本,但问题仍然存在。
更新
我最初没有调用 base.Initialize() 并且由于默认报告没有出现,我认为这可能是由于没有调用基本方法。
我已经尝试了 bahaa-zantout 的建议,并且基本报告已经被标记到报告菜单中,当我在 Initialize 方法中评论添加报告的代码时,默认报告再次出现在报告菜单下。
工作流程好像有冲突,我没办法解决。
我尝试将这些报告添加到工作流操作部分并将它们标记为报告,但整个报告菜单都消失了
将您的初始化方法更改为....
public override void Initialize()
{
base.Base.report.AddMenuAction(embroideryreport);
base.Base.report.AddMenuAction(embroiderysoreport);
base.Base.report.AddMenuAction(screenprintreport);
base.Base.report.AddMenuAction(screenprintsoreport);
}
来自 Acumatica DEV 文档门户
您不需要在以前的扩展级别上显式调用 Initialize() 方法;这些方法会自动调用。调用 base.Initialize() 没有任何意义,因为基础变量指向基础 class,即 PXGraphExtension(不是基础图)。 PXGraphExtension class 将 Initialize() 定义为空方法。
您可以尝试以下操作来恢复工具栏菜单项。
导航到自定义项目中的“销售订单”屏幕
转到操作
找到丢失的打印选项(即 printSalesOrder)并将 Toolbar 文件夹放在原始文件夹中,在本例中为“Reports”。如果它不起作用,请尝试移至“操作”并查看它是否出现。
See example screenshot.
我不确定是不是因为这个声明,但是当我更改以下声明时它解决了问题
[PXButton(SpecialType = PXSpecialButtonType.ReportsFolder)]
至
[PXButton]
举报行动
public PXAction<SOOrder> embroideryreport;
[PXUIField(DisplayName = "Embroidery Production Report", MapEnableRights = PXCacheRights.Select)]
//[PXButton(SpecialType = PXSpecialButtonType.ReportsFolder)]
[PXButton]