0

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

4

1 回答 1

3

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

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后缀(以及EntryMaint)只是样式/约定的问题。(一个重要的例外是带有Cst前缀/后缀的自定义对象,但这些有点不同。)

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

于 2015-02-08T16:48:49.007 回答