Graph 确定是否在正在运行的计划任务中的方法?

Graph 确定是否在正在运行的计划任务中的方法?,graph,acumatica,schedule,Graph,Acumatica,Schedule,在图形处理逻辑中,我如何判断它是通过预定任务而不是通过用户交互执行的 PXProcessing似乎没有太多,AUSchedule表中的记录也没有 原因:如果我在交互式会话中,我想重定向到我创建的文档的多个屏幕。在计划的任务中,我不想用这些重定向扰乱服务器查看SOShipmentEntry的代码库。搜索SOInvoiceEntry,它将让您进入创建发票的操作函数。您可以看到,它们调用adapter.MassProcess函数来查看它是否在进程中运行,并根据状态抛出异常、设置信息或错误。 您还可以看

在图形处理逻辑中,我如何判断它是通过预定任务而不是通过用户交互执行的

PXProcessing似乎没有太多,AUSchedule表中的记录也没有


原因:如果我在交互式会话中,我想重定向到我创建的文档的多个屏幕。在计划的任务中,我不想用这些重定向扰乱服务器

查看SOShipmentEntry的代码库。搜索SOInvoiceEntry,它将让您进入创建发票的操作函数。您可以看到,它们调用adapter.MassProcess函数来查看它是否在进程中运行,并根据状态抛出异常、设置信息或错误。 您还可以看到AllowDirect标志正在使用中

以下是在装运发票创建结束时重定向到发票的示例:

SOInvoiceEntry ie = PXGraph.CreateInstance<SOInvoiceEntry>();
......
......
if (adapter.AllowRedirect && !adapter.MassProcess && created.Count > 0)
{
    using (new PXTimeStampScope(null))
    {
        ie.Clear();
        ie.Document.Current = ie.Document.Search<ARInvoice.docType, ARInvoice.refNbr>(((ARInvoice)created[0]).DocType, ((ARInvoice)created[0]).RefNbr, ((ARInvoice)created[0]).DocType);
        throw new PXRedirectRequiredException(ie, "Invoice");
    }
}
SOInvoiceEntry ie=PXGraph.CreateInstance();
......
......
if(adapter.AllowRedirect&&!adapter.MassProcess&&created.Count>0)
{
使用(新PXTimeStampScope(null))
{
即清除();
ie.Document.Current=ie.Document.Search(((ARInvoice)已创建[0]).DocType,((ARInvoice)已创建[0]).RefNbr,((ARInvoice)已创建[0]).DocType);
抛出新的异常(即“发票”);
}
}

查看SOShipmentEntry上的代码存储库。搜索SOInvoiceEntry,它将让您进入创建发票的操作函数。您可以看到,它们调用adapter.MassProcess函数来查看它是否在进程中运行,并根据状态抛出异常、设置信息或错误。 您还可以看到AllowDirect标志正在使用中

以下是在装运发票创建结束时重定向到发票的示例:

SOInvoiceEntry ie = PXGraph.CreateInstance<SOInvoiceEntry>();
......
......
if (adapter.AllowRedirect && !adapter.MassProcess && created.Count > 0)
{
    using (new PXTimeStampScope(null))
    {
        ie.Clear();
        ie.Document.Current = ie.Document.Search<ARInvoice.docType, ARInvoice.refNbr>(((ARInvoice)created[0]).DocType, ((ARInvoice)created[0]).RefNbr, ((ARInvoice)created[0]).DocType);
        throw new PXRedirectRequiredException(ie, "Invoice");
    }
}
SOInvoiceEntry ie=PXGraph.CreateInstance();
......
......
if(adapter.AllowRedirect&&!adapter.MassProcess&&created.Count>0)
{
使用(新PXTimeStampScope(null))
{
即清除();
ie.Document.Current=ie.Document.Search(((ARInvoice)已创建[0]).DocType,((ARInvoice)已创建[0]).RefNbr,((ARInvoice)已创建[0]).DocType);
抛出新的异常(即“发票”);
}
}

这当然有效。。。如果你有适配器对象!知道如何在流程委托中获取当前适配器吗?e、 g.have,在图形初始化中:this.Records.SetProcessDelegate(委托(列表){SubmitRecords(列表,false);});图ArdDocumentRelease显示他们调用下一个函数,并将IsMassProcess作为函数参数发送给它一个true。如果希望使用适配器执行此操作,请查看SoPostShipping中的代码。他们用特定的动作、图形和参数设置流程目标,并在目标图形上调用动作。这当然有效。。。如果你有适配器对象!知道如何在流程委托中获取当前适配器吗?e、 g.have,在图形初始化中:this.Records.SetProcessDelegate(委托(列表){SubmitRecords(列表,false);});图ArdDocumentRelease显示他们调用下一个函数,并将IsMassProcess作为函数参数发送给它一个true。如果希望使用适配器执行此操作,请查看SoPostShipping中的代码。它们使用特定的操作、图形和参数设置流程目标,并在目标图形上调用操作。