在本地ACUMATICA中生成多个文本文件

时间:2019-07-08 15:13:19

标签: acumatica acumatica-kb

如何在本地同时生成多个文本文件?

我正在使用以下方法: 引发新的PXRedirectToFileException(文件,为true); ![在此处输入图片描述] [1]

但是,此方法仅生成1个文本文件。我一次需要生成多个文本文件。

                List<object> data1099Misc = new List<object> { };
                ARInvoice ari = Base.Document.Current;
                foreach (xvrFSCab diot in PXSelect<xvrFSCab,
                Where<xvrFSCab.invoiceNbr,
                In<Required<xvrFSCab.invoiceNbr>>>>.Select(Base, ari.InvoiceNbr))
                {
                    data1099Misc.Add(CreatePayerARecord(diot));
                }

                FixedLengthFile flatFile = new FixedLengthFile();

                flatFile.WriteToFile(data1099Misc, sw);
                sw.Flush();
                sw.FlushAsync();
                int cont = 0;
                while ( cont<3)
                {
                    cont = cont + 1;
                    string path = "DIOTJOSE" + ".txt";
                    PX.SM.FileInfo file = new PX.SM.FileInfo(path, null, stream.ToArray());
                    throw new PXRedirectToFileException(file, true);
                }

1 个答案:

答案 0 :(得分:0)

Acumatica不得不一键打开多个报表(带有RedirectException)时遇到相同的问题。

因此,Acumatica仅支持针对Reports的多个RequiredException。 他们有一个称为“ CombineReport”的方法,可以与多个PXReportRequiredException(PXReportsRedirectList)一起使用

遗憾的是,他们没有为其他RequiredException或 RedirectException

做任何事情

我试图制作自己的“ Combine”方法,但由于RedirectHelper.TryRedirect方法在主体内部使用RedirectException的硬编码类型而不是使用通用或基础对象,所以无法创建它:(