2015-02-06 74 views
0

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

+1

所以......这是两个不同的问题。 – 2015-02-06 16:37:54

回答

2

从其他种类的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 
    } 
} 

您可以在Acumatica的源代码如何正确地定义在T200培训处理图你提到还有一个更好的例子 - 例如ARDocumentRelease图。

Acumatica不依赖于你定义的(无论是数模转换器或图形)确定什么时候什么就是什么,所以过程后缀(以及进入MAINT)是类的名称只是一个风格/惯例的问题。 (一个重要的例外是,配备Cst前缀/后缀的定制对象,但它们有一点不同的故事。)

至于定期执行一些动作,为此,你使用自动化调度(SM205020) - 这是当您在任何处理屏幕上单击时间表按钮时,屏幕将打开。您可以创建一个计划,在特定的处理屏幕上启动处理。时间表可以根据执行频率进行调整,以匹配您的目标,甚至可以进行一些额外的过滤。

+0

什么是ARDocumentList? – 2015-02-09 08:48:17

+1

对不起,这是一个复制粘贴错误 - 应该是DocumentsToProcess。检查更新的代码。我的错。 – 2015-02-09 10:04:19