【问题标题】:Save every record in the table as PDF将表格中的每条记录保存为 PDF
【发布时间】:2016-10-16 18:20:02
【问题描述】:
在一个名为 Bill Info 的表中有两条记录,
我已经为表格设计了一个报告,需要将每条记录保存到特定文件夹中的 pdf 文件中。
CustBill.RESET;
CustBill.SETFILTER(CustBill."Customer No.",'%1',Customers."No.");
IF CustBill.FIND('-') THEN
Customers.GET(Customers."No.");
IF Customers.FIND('-')THEN BEGIN
REPEAT
CustNumber:= Customers."No.";
tofile := '.pdf';
Filename := 'C:\reports\'+CustNumber+tofile;
REPORT.SAVEASPDF(50050, Filename,Runrpt);
UNTIL CustBill.NEXT=0;
END;
【问题讨论】:
标签:
dynamics-nav-2013
dynamics-nav-2016
dynamics-nav-2015
【解决方案1】:
您的代码一团糟。我在这里给你修好了。
CustBill.RESET;
CustBill.SETFILTER(CustBill."Customer No.",'%1',Customers."No.");
IF CustBill.FIND('-') THEN
BEGIN //you missed this one
CustLocal.SETRANGE("No.", Customers."No.");
IF CustLocal.FINDSET THEN //use findset already its year 2016
BEGIN
REPEAT
CustNumber:= CustLocal."No.";
tofile := '.pdf';
Filename := 'C:\reports\'+CustNumber+tofile;
REPORT.SAVEASPDF(50050, Filename, CustLocal); //propper parameters
UNTIL CustBill.NEXT=0;
end;
END;
注意这一行
REPORT.SAVEASPDF(50050, Filename, CustLocal);
根据报告中的数据项,您可能必须使用 CustLocal 或 CustBill 变量作为最后一个参数。它将用作您的报告的过滤器集。
还有一件事。正如MSDN 所说:
FileName 参数指定正在运行的计算机上的位置
Microsoft 动态导航服务器。如果您从
RoleTailored 客户端,例如从一个页面上的一个动作,然后使用
下载功能(文件)从计算机下载 .pdf 文件
运行 Microsoft Dynamics NAV Server 的计算机
RoleTailored 客户端。
所以不要在运行客户端的本地机器上查找您的文件。
还有什么问题催你发question两次吗?