| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | Method Generate ( |
| | | OfflinePlanArchiveSearch search |
| | | OfflinePlanArchiveSearch search, |
| | | Strings products, |
| | | Strings units |
| | | ) |
| | | { |
| | | TextBody: |
| | |
| | | //清空之前存储的显示数据 |
| | | 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, ( search.Unit() = FinancialProductionReport::GetDefaultAllUnit() or row.Unit() = search.Unit() ) |
| | | and ( search.Product() = FinancialProductionReport::GetDefaultAllUnit() or search.Product() = row.Name() )){ |
| | | traverse( table, Row, row, units.Find( row.ProductionLine() ) > -1 and 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.ColumnName() = cell.Column().ColumnName() ); |
| | | traverse( this, Column, column ){ |
| | | cells := selectset( row, Cell, cell, cell.Column().TimeUnit() = Translations::MP_GlobalParameters_Day() |
| | | and cell.Column().StartDate() >= column.StartDate() |
| | | and cell.Column().StartDate() <= column.EndDate() ); |
| | | |
| | | // traverse( row, Cell, cell, cell.Column().TimeUnit() = search.TimeUnit() ){ |
| | | // column := selectobject( this, Column, column, column.ColumnName() = cell.Column().ColumnName() ); |
| | | if( not isnull( column ) ){ |
| | | showcell := selectobject( showrow, Cell, showcell, showcell.Column() = column ); |
| | | if( isnull( showcell ) ){ |
| | | showcell := showrow.Cell( relnew, Quantity := 0, ActualProductionQty := 0 ); |
| | | column.Cell( relinsert, showcell ); |
| | | } |
| | | showcell.Quantity( cell.Quantity() + showcell.Quantity() ); |
| | | showcell.ActualProductionQty( cell.ActualProductionQty() + showcell.ActualProductionQty() ); |
| | | qty := sum( cells, Elements, cell, cell.Quantity() ); |
| | | actqty := sum( cells, Elements, cell, cell.ActualProductionQty() ); |
| | | showcell.Quantity( qty + showcell.Quantity() ); |
| | | showcell.ActualProductionQty( actqty + showcell.ActualProductionQty() ); |
| | | if( search.TimeUnit() = Translations::MP_GlobalParameters_Day() ){ |
| | | showcell.Order( cells.Element( 0 ).Order() ); |
| | | showcell.OrderNr( cells.Element( 0 ).OrderNr() ); |
| | | } |
| | | } |
| | | } |
| | | } |