我有以下任务:以一定的间隔执行一些事件。在 T200 手册中,我发现它可以通过处理页面完成。为此,我需要添加带有后缀过程的图形。但是令我困惑的是如何使按钮出现进程,处理所有,时间表?我的另一个问题是如何在 Acumatica 中按计划执行某些操作?推荐的方法是什么?
问问题
571 次
1 回答
3
将处理图与 Acumatica 中其他类型的页面区分开来的关键是它们具有类型的数据视图PXProcessing<>
或PXProcessingJoin<>
- 这些,连同在图中定义的处理例程,将使系统创建Process、Process All和Schedule按钮在相应的屏幕上。通常,您的图表将如下所示:
public class YourProcessingGraph : PXGraph<YourProcessingGraph>
{
//Data view that provides a list of items to process
public PXProcessing<ARInvoice,
Where<ARInvoice.released, Equal<boolFalse>>> DocumentsToProcess;
public YourProcessingGraph()
{
DocumentsToProcess.SetProcessDelegate(DoActualProcessing);
//You can also change button captions
DocumentsToProcess.SetProcessCaption("Do");
DocumentsToProcess.SetProcessAllCaption("Do For All");
}
public static void DoActualProcessing(List<ARInvoice> itemsToProcess)
{
// Do something cool here
}
}
您可以在您提到的 T200 培训以及 Acumatica 的源代码中找到如何正确定义处理图的更好示例 - 例如ARDocumentRelease
图。
在确定什么是什么时,Acumatica 不依赖于您定义的类的名称(无论是 DAC 还是图形),因此Process后缀(以及Entry和Maint)只是样式/约定的问题。(一个重要的例外是带有Cst
前缀/后缀的自定义对象,但这些有点不同。)
至于定期执行某些操作,为此您使用自动化计划 (SM205020) - 当您在任何处理屏幕上单击计划按钮时打开的屏幕。在那里,您可以创建一个计划,在特定的处理屏幕上启动处理。可以对时间表进行微调,以在执行频率方面与您的目标相匹配,甚至允许进行一些额外的过滤。
于 2015-02-08T16:48:49.007 回答