我有兴趣参与销售订单上的打印报告操作,以标记SO" Traveller Printed"当有人打印出特定报告时。关于如何做到这一点的建议?我知道它已在PO上完成,但我正在努力解析它的位置和方式。
答案 0 :(得分:1)
在“自定义项目编辑器代码”部分中,为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
}
}