| Quintiq file version 2.0 | 
| #parent: #root | 
| StaticMethod RefreshData ( | 
|   InterfaceDataset interface, | 
|   MacroPlan macroPlan | 
| ) | 
| { | 
|   TextBody: | 
|   [* | 
|     //根据当前版本的装配上线计划 | 
|     //interface.AssemblyOnlinePlanVersion( relflush ); | 
|     allunit                := AssemblyOnlinePlanVersion::GetDefaultAllUnit(); | 
|     name                   := AssemblyOnlinePlanVersion::GetDefaultName();//search                 := | 
|     interface.AssemblyOnlinePlanVersionSearch( relnew, Product := allunit, ProductionLine := allunit, Unit := allunit, StartDate := Date::MinDate(), EndDate := Date::MaxDate() );//, TimeUnit := Translations::MP_GlobalParameters_Day() | 
|     table                  := selectobject( interface, AssemblyOnlinePlanVersion, version, not version.IsShow() ); | 
|     if( isnull( table ) ){ | 
|       table                := interface.AssemblyOnlinePlanVersion( relnew, ID := name, Name := name ); | 
|     } | 
|     //showtable              := selectobject( interface, AssemblyOnlinePlanVersion, version, version.IsShow() ); | 
|     //if( isnull( showtable ) ){ | 
|     //  showtable               := interface.AssemblyOnlinePlanVersion( relnew, ID := name, Name := name, IsShow := true ); | 
|     //} | 
|     aopcolumns             := selectuniquevalues(  macroPlan, NewAssemblyOnlinePlanColumn, aopcolumn, not exists( table, Column, column, column.StartDate() = aopcolumn.StartDate() ), aopcolumn.StartDate() );//, column.TimeUnit() = Translations::MP_GlobalParameters_Day() | 
|     if( aopcolumns.Size() > 0 ){ | 
|       table.GenerateColumn( aopcolumns, false ); | 
|     } | 
|     traverse( macroPlan, NewAssemblyOnlinePlanRow, aoprow, aoprow.Type() = '1' ){ | 
|       row                  := table.GetRow( aoprow ); | 
|       traverse( aoprow, NewAssemblyOnlinePlanCell, aopcell ){ | 
|         column             := selectobject( table, Column, column, column.StartDate() = aopcell.NewAssemblyOnlinePlanColumn().StartDate() ); | 
|          | 
|     //  traverse( table, Column, column, exists( aopcolumns, Elements, e, e = column.StartDate() ) ){//, aopcolumns.Find( column.StartDate() ) > -1 | 
|     //    qty                := se( aoprow, NewAssemblyOnlinePlanCell, aopcell, column.StartDate() <= aopcell.NewAssemblyOnlinePlanColumn().StartDate() | 
|     //                                     and column.EndDate() >= aopcell.NewAssemblyOnlinePlanColumn().StartDate(), aopcell.Quantity() ); | 
|          | 
|         cell               := selectobject( row, Cell, cell, cell.Column() = column ); | 
|         if( isnull( cell ) ){ | 
|           cell             := column.Cell( relnew, InventoryWeight := 0, ProductionSerialNumber := 0, Quantity := 0, Shift := '', Value := '' ); | 
|           row.Cell( relinsert, cell ); | 
|         } | 
|         cell.Order( aopcell.Order() ); | 
|         cell.OrderNr( aopcell.OrderNr() ); | 
|         cell.Quantity( aopcell.Quantity() ); | 
|       } | 
|     } | 
|     //productids             := selectuniquevalues( table, Row, row, row.Name() ); | 
|     //productlines           := selectuniquevalues( table, Row, row, row.ProductionLine() ); | 
|     //showtable.Generate( search, productids, productlines ); | 
|   *] | 
| } |