通过Acumatica REST API获取PDF格式的报告输出

时间:2018-03-16 11:00:17

标签: rest pdf acumatica

是否可以通过REST API获取针对特定屏幕调用的操作而生成的报告的PDF输出?

例如,我们希望为外部应用程序的用户提供在 Acumatica 的AR发票屏幕中为特定发票执行“打印发票/备忘表”操作的功能。他们希望通过电话会议获得PDF格式的发票表格。

如果没有这样的选项,也许有一种方法可以生成一个链接,该链接将用户带到使用指定参数值集执行的Invoice表单报告。 Acumatica 登录信息和报告参数值存储在外部应用程序中。

谢谢!

1 个答案:

答案 0 :(得分:4)

简短回答是,长期回答......不容易。

要实现您请求的功能,必须执行以下步骤。

首先在AR发票屏幕上创建一个操作,该操作将生成报告,保存并将其附加到文档。

class Program
{
    static void Main(string[] args)
    {
        AcumaticaProcessor processor = new AcumaticaProcessor();
        processor.Login();
        File[] result = processor.RetrieveReport("Invoice", "001007");
    }
}

public class AcumaticaProcessor
{
    DefaultSoapClient client = new DefaultSoapClient();

    public void Login()
    {
        client.Login("Username", "Password", "Company", "Branch", null);
    }

    public File[] RetrieveReport(string docType, string refNbr)
    {
        ARInvoice invoiceToFind = new ARInvoice()
        {
            Type = new StringSearch() { Value = docType },
            ReferenceNbr = new StringSearch() { Value = refNbr }
        };
        invoiceToFind = client.Get(invoiceToFind) as ARInvoice;

        InvokeResult result = client.Invoke(invoiceToFind, new ExportReport());


        return client.GetFiles(invoiceToFind) as File[];
    }
}

其次,您必须使用Contract API创建一个方法来查找Invoice,触发操作,然后检索附加到文档的文件。

csv