Acumatica 在新屏幕上发布发票

Acumatica 在新屏幕上发布发票,acumatica,acumatica-kb,Acumatica,Acumatica Kb,我需要你的帮助。 我已经创建了一个新屏幕,在那里我调用所有待发布的发票 我有问题要发布,我会在你要求的地方发送一条消息(你想发布)。 它向我展示了无限的信息。 你只要问我一次,然后你就应该走出去,按照正常的流程去做 publicprocessdocnew() { //Acuminator禁用一次PX1008 LongOperationDelegateSynchronousExecution[对正] Document.SetProcessDelegate( 代表(名单) { List newli

我需要你的帮助。 我已经创建了一个新屏幕,在那里我调用所有待发布的发票

我有问题要发布,我会在你要求的地方发送一条消息(你想发布)。 它向我展示了无限的信息。 你只要问我一次,然后你就应该走出去,按照正常的流程去做

publicprocessdocnew()
{
//Acuminator禁用一次PX1008 LongOperationDelegateSynchronousExecution[对正]
Document.SetProcessDelegate(
代表(名单)
{
List newlist=新列表(List.Count);
foreach(列表中的文件)
{
newlist.Add(doc);
}
ProcessDoc(newlist,true);
}
);
Document.SetProcessCaption(ActionsMensje.Process);
Document.SetProcessAllCaption(ActionsMensje.ProcessAll);
}
公共虚拟void ProcessDoc(列表,bool-ismasssprocess)
{
字符串title=“Test”;
字符串sms=“?戳记?”;
var-Graph=PXGraph.CreateInstance();
ARInvoice document=document.Current;
PEFEStampDocument timbrar=new PEFEStampDocument();/*这是一个类,我的所有方法都是这样*/
if(isMassProcess==true)
{
Document.Ask(标题、短信、MessageButtons.YesNo、MessageIcon.Question);
{
PXLongOperation.StartOperation(图形,委托
{
timbrar.Stamp(文档、图形);/*这里有我的发布方法*/
});
}
}
}
公共静态类ActionsMensje
{
public const string Process=“Process”;
public const string ProcessAll=“Process All”;
}
我等待你的评论

你只要问我一次,然后你就应该出去跟着我走 正常过程

这不是处理模式的工作方式。每个记录都会调用process delegate,因此它不是显示只应显示一次的消息的有效位置

您需要添加一个自定义操作来实现该行为。您正在寻找的场景应该使用处理过滤器复选框和处理过滤器来实现,以符合最佳实践:

有关处理屏幕实施的文档可在以下位置获得:

    public ProcessDocNew()
    {

        // Acuminator disable once PX1008 LongOperationDelegateSynchronousExecution [Justification]
        Document.SetProcessDelegate(
            delegate (List<ARInvoice> list)
            {
                List<ARRegister> newlist = new List<ARRegister>(list.Count);
                foreach (ARInvoice doc in list)
                {
                    newlist.Add(doc);
                }
                ProcessDoc(newlist, true);
            }
        );


        Document.SetProcessCaption(ActionsMensje.Process);
        Document.SetProcessAllCaption(ActionsMensje.ProcessAll);
    }

    public virtual void ProcessDoc(List<ARRegister> list, bool isMassProcess)
    {

        string title = "Test";
        string sms = "¿Stamp?";
        var Graph = PXGraph.CreateInstance<ARInvoiceEntry>();
        ARInvoice document = Document.Current;
        PEFEStampDocument timbrar = new PEFEStampDocument();/*This is a class where it is, all my method*/

        if (isMassProcess == true)
        {
            Document.Ask(title, sms, MessageButtons.YesNo, MessageIcon.Question);
            {

                PXLongOperation.StartOperation(Graph, delegate
                {
                    timbrar.Stamp(document, Graph); /*here I have my release method*/
                });
            }
        }
    }

    public static class ActionsMensje
    {
        public const string Process = "Process";
        public const string ProcessAll = "Process All";
    }