如何在acumatica中对自定义处理页面进行基准测试

时间:2016-12-21 07:20:56

标签: acumatica

我有一个自定义包计算工资单。它有批处理页面,它根据截止开始和截止结束处理选定员工的工资单。我知道处理页面有它自己的"时间指示器"并且只是想知道这是否准确。我希望对代码的性能进行基准测试,并通过显示或将其保存在日志文件中来获得每个员工处理的时间。我们怎样才能做到这一点?一些示例代码将不胜感激。

1 个答案:

答案 0 :(得分:1)

我有类似的需求。您可以使用PX.Data.PXLongOperation.GetStatus。我的示例在Extension方法中使用它以使其更容易:

public static TimeSpan GetLongRunningTimeSpan<T>(this T graph) where T : PX.Data.PXGraph
{
    TimeSpan timespan;
    Exception ex;
    PX.Data.PXLongOperation.GetStatus(graph.UID, out timespan, out ex);
    return timespan;
}

TimeSpan值将包含长时间运行过程的当前运行时间。

如果使用扩展方法,则可以在图形过程中调用this.GetLongRunningTimeSpan()。

要显示值,您可以使用PXTrace.WriteInformation将消息发送到Acumatica跟踪窗口。这是一个例子:

PXTrace.WriteInformation("Employee {0} processed in {1} seconds",
      someEmployee, graph.GetLongRunningTimeSpan().TotalSeconds);

完成您的流程后,请转到帮助&gt;跟踪,您应该看到消息。