Acumatica 打印SO时的标记-针灸

Acumatica 打印SO时的标记-针灸,acumatica,Acumatica,我感兴趣的是连接到销售订单上的打印报告操作,以便在有人打印特定报告时标记“Traveler Printed”。如何做到这一点的建议?我知道这是在PO上完成的,但我正在努力解析它的位置和方式。在自定义项目编辑器代码部分,为SOOrderEntry创建一个图形扩展 自定义项目编辑器具有覆盖方法功能,可方便地生成事件处理程序原型: 然后,您可以编辑生成的存根定义,如下所示: namespace PX.Objects.SO { public class SOOrderEntry_Extensio

我感兴趣的是连接到销售订单上的打印报告操作,以便在有人打印特定报告时标记“Traveler Printed”。如何做到这一点的建议?我知道这是在PO上完成的,但我正在努力解析它的位置和方式。

在自定义项目编辑器代码部分,为SOOrderEntry创建一个图形扩展

自定义项目编辑器具有覆盖方法功能,可方便地生成事件处理程序原型:

然后,您可以编辑生成的存根定义,如下所示:

namespace PX.Objects.SO
{ 
  public class SOOrderEntry_Extension:PXGraphExtension<SOOrderEntry>
  {
    #region Event Handlers
    public delegate IEnumerable ReportDelegate(PXAdapter adapter, String reportID);

    [PXOverride]
    public IEnumerable Report(PXAdapter adapter, String reportID, ReportDelegate baseMethod)
    {
      if (reportID == "SO641010")
      {
          PXTrace.WriteInformation("I'm doing my things here, after report action has been invoked, just before report is actually launched.");
      }

      return baseMethod(adapter,reportID);
    }
    #endregion
  }
}
名称空间PX.Objects.SO
{ 
公共类SOOrderEntry\u扩展:pxGrapherExtension
{
#区域事件处理程序
公共委托IEnumerable ReportDelegate(PXAdapter适配器,字符串reportID);
[PXOverride]
公共IEnumerable报表(PXAdapter适配器、字符串reportID、ReportDelegate baseMethod)
{
如果(reportID==“SO641010”)
{
PXTrace.WriteInformation(“我在这里做我的事情,在调用报表操作之后,就在实际启动报表之前。”);
}
返回baseMethod(适配器、报告ID);
}
#端区
}
}