在Acumatica安排一些任务

时间:2015-02-06 16:36:57

标签: schedule acumatica

我有以下任务:以某个间隔执行某个事件。在T200手册中,我发现它可以通过Processing页面完成。为此,我需要添加带后缀的图形。但令我困惑的是如何使按钮Process,Process All,Schedules出现?我的另一个问题是如何通过Acumatica的某些时间表执行某些操作?推荐的方法是什么?

1 个答案:

答案 0 :(得分:3)

将处理图与Acumatica中其他类型的页面区分开来的关键是它们具有类型为PXProcessing<>PXProcessingJoin<>的数据视图 - 这些与图中定义的处理例程一起,将使系统在相应屏幕上创建过程处理所有计划按钮。通常,您的图表将如下所示:

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 后缀(以及条目维护)只是风格/惯例的问题。 (一个重要的例外是带有Cst前缀/后缀的自定义对象,但这些故事有点不同。)

至于定期执行某些操作,为此您使用自动化时间表(SM205020) - 当您单击 Schedule 按钮时打开的屏幕任何处理屏幕。在那里,您可以创建一个可在特定处理屏幕上启动处理的计划。可以对计划进行微调,以便在执行频率方面与您的目标相匹配,甚至允许进行一些额外的过滤。