Quintiq file version 2.0 
 | 
#parent: #root 
 | 
Method O_OnExportStatusChanged () derived id:Method_DialogExcelExport_O_OnExportStatusChanged 
 | 
{ 
 | 
  #keys: '[144528.1.240694106]' 
 | 
  BaseType: 'Method_LibSOPImpExp_DialogExcelExport_O_OnExportStatusChanged' 
 | 
  Body: 
 | 
  [* 
 | 
    // TO OVERRIDE. On changed of export status 
 | 
    // Can be use to download Excel files to client and/or close export dialog 
 | 
    if( status = LibSOPImpExp_ImportExportBase::Status_Done() ) 
 | 
    { 
 | 
      // Retrieve the export result from server 
 | 
      exportExcel := Form.O_GetAppExportObject().astype( ExportExcel ); 
 | 
       
 | 
      // If only 1 Excel, download to client as it is 
 | 
      if( exportExcel.LibSOPImpExp_ExportExcelFile( relsize ) = 1 ) 
 | 
      { 
 | 
        file := exportExcel.LibSOPImpExp_ExportExcelFile( relget ).Element( 0 ); 
 | 
        Form.DownloadExcelFile( file.BinaryContent(), file.BrokerName() );  
 | 
      } 
 | 
      else // If more than 1 Excel, zip it and download 
 | 
      { 
 | 
        json := JSON::Array(); 
 | 
        traverse( Form.O_GetAppExportObject(), astype( ExportExcel ).LibSOPImpExp_ExportExcelFile, file ) 
 | 
        { 
 | 
          fileJson := Form.FormatJSONForPackAsZip( file.BinaryContent(), file.BrokerName() ); 
 | 
          json.Add( fileJson ); 
 | 
        } 
 | 
         
 | 
        Application.DownloadArchive( 'MP_Excels_' + DateTime::Now().Format( 'YMMD' ) + '.zip', json.Build() );  
 | 
      } 
 | 
       
 | 
      Form.Close(); 
 | 
    } 
 | 
  *] 
 | 
} 
 |