mirror of
https://github.com/microsoft/BCQuality.git
synced 2026-10-05 06:36:55 +01:00
* knowledge(performance): add job queue reliability guidance * Address Job Queue review feedback * Address Job Queue routing review feedback * Encode job queue conflict in fixtures * Add reporting review guidance and fixtures * Fix reporting article reference
37 lines
No EOL
1.5 KiB
AL
37 lines
No EOL
1.5 KiB
AL
codeunit 50106 "Download Customer Reports"
|
|
{
|
|
procedure DownloadReports(var Customer: Record Customer)
|
|
var
|
|
CustomerView: Record Customer;
|
|
CustomerList: Report "Customer - List";
|
|
DataCompression: Codeunit "Data Compression";
|
|
ReportTempBlob: Codeunit "Temp Blob";
|
|
ZipTempBlob: Codeunit "Temp Blob";
|
|
ReportInStream: InStream;
|
|
ZipInStream: InStream;
|
|
ReportOutStream: OutStream;
|
|
ZipOutStream: OutStream;
|
|
ZipFileName: Text;
|
|
begin
|
|
DataCompression.CreateZipArchive();
|
|
if Customer.FindSet() then
|
|
repeat
|
|
Clear(CustomerList);
|
|
Clear(ReportTempBlob);
|
|
CustomerView := Customer;
|
|
CustomerView.SetRecFilter();
|
|
CustomerList.SetTableView(CustomerView);
|
|
ReportTempBlob.CreateOutStream(ReportOutStream);
|
|
CustomerList.SaveAs('', ReportFormat::Pdf, ReportOutStream);
|
|
ReportTempBlob.CreateInStream(ReportInStream);
|
|
DataCompression.AddEntry(ReportInStream, Customer."No." + '.pdf');
|
|
until Customer.Next() = 0;
|
|
|
|
ZipTempBlob.CreateOutStream(ZipOutStream);
|
|
DataCompression.SaveZipArchive(ZipOutStream);
|
|
DataCompression.CloseZipArchive();
|
|
ZipTempBlob.CreateInStream(ZipInStream);
|
|
ZipFileName := 'CustomerReports.zip';
|
|
DownloadFromStream(ZipInStream, '', '', '*.zip', ZipFileName);
|
|
end;
|
|
} |