Сохранить каждую запись в таблице как PDF
Имея две записи в таблице под названием 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;
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 Dynamics NAV Server. Если вы вызываете эту функцию из клиента RoleTailored, например, из действия на странице, используйте функцию ЗАГРУЗИТЬ (Файл), чтобы загрузить файл.pdf с компьютера, на котором работает Microsoft Dynamics NAV Server, на компьютер, на котором работает клиент RoleTailored.
Так что не ищите ваш файл на локальной машине, где работает клиент.
Любые другие проблемы побудили вас опубликовать вопрос дважды?