Acumatica 发布自定义后,默认销售订单/报价菜单将消失

Acumatica 发布自定义后,默认销售订单/报价菜单将消失,acumatica,Acumatica,我们正在使用acumatica 20 r2,当我们发布自定义软件包时,默认报告菜单“打印销售订单/报价”选项将消失 我们有自定义报告,这些报告是通过覆盖my extension中salesorderentry graph的initialize方法添加的 public override void Initialize() { base.Initialize(); base.Base.report.AddMenuAction(embroideryreport);

我们正在使用acumatica 20 r2,当我们发布自定义软件包时,默认报告菜单“打印销售订单/报价”选项将消失

我们有自定义报告,这些报告是通过覆盖my extension中salesorderentry graph的initialize方法添加的

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(),因为默认报告不会出现,我认为这可能是因为没有调用base方法

我尝试了zantout的建议,基本报告已经标记到报告菜单中,当我对用于添加报告的初始化方法中的代码发表评论时,默认报告再次出现在报告菜单下

工作流程中似乎存在冲突,我无法解决


我试图在工作流操作部分添加这些报告,并将它们标记为报告,整个报告菜单消失了

将您的初始化方法更改为

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开发文档门户


您不需要在以前的扩展级别上显式调用Initialize()方法;这些方法是自动调用的。调用base.Initialize()没有任何意义,因为基变量指向基类,即pxGrapherXTension(不是基图)。PxGrapherXTension类将Initialize()定义为空方法。

您可以尝试以下操作以尝试还原工具栏菜单项

  • 导航到自定义项目中的“销售订单”屏幕

  • 进入行动

  • 找到缺少的打印选项(即printSalesOrder),并将工具栏文件夹放在本例中的原始文件夹“Reports”中。如果它不起作用,试着移动到“动作”,看看它是否出现


  • 我不确定这是不是因为这句话,但当我改变了下面的话,它解决了这个问题

    [PXButton(SpecialType = PXSpecialButtonType.ReportsFolder)]
    

    报告行动

    public PXAction<SOOrder> embroideryreport;
        [PXUIField(DisplayName = "Embroidery Production Report", MapEnableRights = PXCacheRights.Select)]
        //[PXButton(SpecialType = PXSpecialButtonType.ReportsFolder)]
        [PXButton]
    
    公共pxyReport;
    [PXUIField(DisplayName=“刺绣生产报告”,MapEnableRights=PXCacheRights.Select)]
    //[PXButton(SpecialType=PXSpecialButtonType.ReportsFolder)]
    [按钮]
    
    public PXAction<SOOrder> embroideryreport;
        [PXUIField(DisplayName = "Embroidery Production Report", MapEnableRights = PXCacheRights.Select)]
        //[PXButton(SpecialType = PXSpecialButtonType.ReportsFolder)]
        [PXButton]