Quintiq file version 2.0 
 | 
#parent: #root 
 | 
Method Generate ( 
 | 
  InventoryPlanArchiveVersionSearch search, 
 | 
  Strings products, 
 | 
  Strings units 
 | 
) 
 | 
{ 
 | 
  TextBody: 
 | 
  [* 
 | 
    // 甄兰鸽 Jun-25-2024 (created) 
 | 
    info( '-----------Search start-------' ); 
 | 
    table                   := selectobject( this,InterfaceDataset.InventoryPlanArchiveVersion, report, not report.IsShow() ); 
 | 
    //清空之前存储的显示数据 
 | 
    aopcolumns              := selectuniquevalues(  table, Column, aopcolumn, aopcolumn.TimeUnit() = search.TimeUnit() and aopcolumn.StartDate() >= search.StartDate() and aopcolumn.StartDate() <= search.EndDate(), aopcolumn.StartDate() ); 
 | 
    this.Clear( aopcolumns ); 
 | 
    traverse( table, Row, row, ( units.Size() = 0 or units.Find( row.Unit() ) > -1 ) and ( products.Size() = 0 or products.Find( row.Name() ) > -1 ) ){ 
 | 
       
 | 
      showrow               := selectobject( this, Row, showrow, showrow.Name() = row.Name() and showrow.Unit() = search.Unit() ); 
 | 
      if( isnull( showrow ) ){ 
 | 
        showrow             := this.Row( relnew, Name := row.Name(), ProductID := row.ProductID(), Unit := search.Unit() ); 
 | 
      } 
 | 
      traverse( row, Cell, cell, cell.Column().TimeUnit() = search.TimeUnit() ){ 
 | 
        column              := selectobject( this, Column, column, column.Name() = cell.Column().Name() ); 
 | 
        if( not isnull( column ) ){ 
 | 
          showcell          := selectobject( showrow, Cell, showcell, showcell.Column() = column ); 
 | 
          if( isnull( showcell ) ){ 
 | 
            showcell        := showrow.Cell( relnew, PlanQuantity := 0, ActualQuantity := 0 ); 
 | 
            column.Cell( relinsert, showcell ); 
 | 
          } 
 | 
          showcell.PlanQuantity( cell.PlanQuantity() + showcell.PlanQuantity() ); 
 | 
          showcell.ActualQuantity( cell.ActualQuantity() + showcell.ActualQuantity() ); 
 | 
        } 
 | 
      } 
 | 
    } 
 | 
    info( '-----------Search end-------' ); 
 | 
  *] 
 | 
} 
 |