Acumatica 如何在TX503500上为流程按钮添加条件

Acumatica 如何在TX503500上为流程按钮添加条件,acumatica,Acumatica,我必须添加一个必需的描述字段,以便执行处理操作,但是我有点困惑,因为该字段位于过滤区域,稍后将在要处理的描述中复制 我如何定制操作流程ProcessAll 我在重写方法中找不到这些操作 谢谢你的帮助,我对这件事真的很陌生 抱歉,如果我的英语不太好基本上,流程/流程所有操作都映射到一个方法,该方法使用处理数据视图的SetProcessDelegate方法。 您需要做的是首先定位到识别输入VAT屏幕(TX503500)的图形(ProcessInputSVAT)。打开该图的源代码后,您可以看到它是从P

我必须添加一个必需的描述字段,以便执行处理操作,但是我有点困惑,因为该字段位于过滤区域,稍后将在要处理的描述中复制

我如何定制操作流程ProcessAll

我在重写方法中找不到这些操作

谢谢你的帮助,我对这件事真的很陌生


抱歉,如果我的英语不太好

基本上,流程/流程所有操作都映射到一个方法,该方法使用处理数据视图的SetProcessDelegate方法。 您需要做的是首先定位到识别输入VAT屏幕(TX503500)的图形(ProcessInputSVAT)。打开该图的源代码后,您可以看到它是从ProcessVatBase类派生的。当您进入该类时,您将看到数据视图调用的SetProcessDelegate函数:

    protected virtual void SVATTaxFilter_RowSelected(PXCache sender, PXRowSelectedEventArgs e)
    {
        SVATTaxFilter filter = (SVATTaxFilter)e.Row;
        if (filter == null)
        {
            return;
        }
        this.SVATDocuments.SetProcessDelegate(delegate(List<SVATConversionHistExt> list)
        {
            ProcessSVATBase.ProcessPendingVATProc(list, filter);
        });
    }
protected virtual void SVATTaxFilter_row选中(PXCache sender,PXRowSelectedEventArgs e)
{
SVATTaxFilter=(SVATTaxFilter)e.Row;
if(filter==null)
{
返回;
}
this.SVATDocuments.SetProcessDelegate(委托(列表)
{
ProcessVatBase.ProcessPendingVATProc(列表,过滤器);
});
}
因此,我们已经确定了应该创建哪个图形扩展。现在,有必要在扩展图中覆盖SVATTaxFilter DAC的RowSelected事件

public class ProcessSVATBaseExt : PXGraphExtension<ProcessSVATBase>
{
    public virtual void SVATTaxFilter_RowSelected(PXCache sender, PXRowSelectedEventArgs e)
    {
        SVATTaxFilter filter = e.Row as SVATTaxFilter;
        if (filter != null)
        {
            Base.SVATDocuments.SetProcessDelegate(delegate (List<SVATConversionHistExt> list)
            {
                // Here you can manage the list items and then call the base method
                // ...
                ProcessSVATBase.ProcessPendingVATProc(list, filter); // the base method
                // Here you can manage the list items after the base method
                // ...
            });
        }
    }
}
public类processsvatabaseext:PXGraphExtension
{
公共虚拟空间SVATTaxFilter_RowSelected(PXCache发送方,PXRowSelectedEventArgs e)
{
SVATTaxFilter=e.行作为SVATTaxFilter;
if(过滤器!=null)
{
Base.SVATDocuments.SetProcessDelegate(委托(列表)
{
//在这里,您可以管理列表项,然后调用基本方法
// ...
ProcessVatBase.ProcessPendingVATProc(列表,过滤器);//基本方法
//在这里,您可以在基本方法之后管理列表项
// ...
});
}
}
}