| | |
| | | [* |
| | | // çå
°é¸½ Jun-25-2024 (created) |
| | | //æ¥è¯¢æ¥æè¿åéè¦å¨è®¡åæ¥æä¹å
|
| | | traverse( owner, Period_MP, period, not period.IsHistorical() and period.StartDate() >= startdate and period.EndDate() <= enddate |
| | | and ( ( timeunit = 'All' and ( period.TimeUnit() = Translations::MP_GlobalParameters_Day() or period.TimeUnit() = Translations::MP_GlobalParameters_Week() ) ) |
| | | or period.TimeUnit() = timeunit ) ){ |
| | | periodtime := period.StartDate(); |
| | | periodname := periodtime.Format( "M2/D2/Y" ); |
| | | weekstart := owner.StartOfPlanning().Date(); |
| | | traverse( owner, Period_MP, period, not period.IsHistorical() and period.TimeUnit() = Translations::MP_GlobalParameters_Day() ){ |
| | | if( timeunit = 'All' or timeunit = Translations::MP_GlobalParameters_Day() ){ |
| | | periodtime := period.StartDate(); |
| | | periodname := periodtime.Format( "M2/D2/Y" ); |
| | | |
| | | this.Column( relnew, Name := periodname, Period := periodtime, TimeUnit := Translations::MP_GlobalParameters_Day() ); |
| | | } |
| | | |
| | | this.Column( relnew, Name := periodname, Period := periodtime, TimeUnit := period.TimeUnit() ); |
| | | if( timeunit = 'All' or timeunit = Translations::MP_GlobalParameters_Week() ){ |
| | | if( period.StartDate() = weekstart ){ |
| | | weekperiodname := weekstart.Format( "M2/D2/Y" ); |
| | | this.Column( relnew, Name := weekperiodname, Period := weekstart, TimeUnit := Translations::MP_GlobalParameters_Week() ); |
| | | weekstart := ( weekstart + Duration::Days( 7 ) ).Date(); |
| | | } |
| | | } |
| | | } |
| | | *] |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | Method GetColumnByUnit ( |
| | | String unit, |
| | | Date period |
| | | ) as EnginePipelineColumn |
| | | { |
| | | TextBody: |
| | | [* |
| | | // çå
°é¸½ Aug-7-2024 (created) |
| | | periodname := period.Format( "M2/D2/Y" ); |
| | | |
| | | column := selectobject( this, Column, column, column.Name() = periodname and column.Period() = period and column.TimeUnit() = unit ); |
| | | |
| | | return column; |
| | | *] |
| | | } |
| | |
| | | TextBody: |
| | | [* |
| | | // çå
°é¸½ Jun-25-2024 (created) |
| | | return 'é¿æ¥'; |
| | | return 'é¿æ¥å·¥å'; |
| | | //return 'Assembly Plant (France)'; |
| | | *] |
| | | } |
| | |
| | | TextBody: |
| | | [* |
| | | // çå
°é¸½ Jun-25-2024 (created) |
| | | return '大è¿'; |
| | | return '大è¿å·¥å'; |
| | | //return 'Assembly Plant (Spain)'; |
| | | *] |
| | | } |
| | |
| | | #parent: #root |
| | | Method SetCellProductionValue ( |
| | | EnginePipelineColumn column, |
| | | String unit, |
| | | Boolean isccunit, |
| | | Real quantity |
| | | ) |
| | | { |
| | |
| | | production := cell.Production( relnew, EngineType := cell.Row().Name(), Period := column.Period(), DLProduction := 0, CCProduction := 0 ); |
| | | } |
| | | |
| | | if( unit = EnginePipelineReport::GetDefaultCCUnit() ){ |
| | | if( isccunit ){ |
| | | production.CCProduction( production.CCProduction() + quantity ); |
| | | }else if( unit = EnginePipelineReport::GetDefaultDLUnit() ){ |
| | | } else { |
| | | production.DLProduction( production.DLProduction() + quantity ); |
| | | } |
| | | *] |
| | |
| | | products := construct( Product_MPs ); |
| | | //åå§åå |
| | | table.GenerateColumn( owner, 'All', search.StartDate(), search.EndDate() ); |
| | | endperiod := maxobject( owner, Period_MP, period, not period.IsHistorical() and period.TimeUnit() = Translations::MP_GlobalParameters_Day(), period.StartDate() ); |
| | | |
| | | //çæç产ååºåæ°æ® |
| | | traverse( owner, Product_MP.ProductInStockingPoint_MP, pisp, pisp.IsLeaf() and not pisp.IsSystem() ){ |
| | | unit := pisp.StockingPoint_MP().UnitID(); |
| | | // info( unit, pisp.ProductID() ); |
| | | //åå§åè¡ |
| | | row := table.GetRow( pisp.ProductID() ); |
| | | traverse( owner, StockingPoint_MP, stockingpoint ){ |
| | | unit := stockingpoint.Unit(); |
| | | parentunits := unit.GetAllParent(); |
| | | //æ¯å¦å±äºé¿æ¥å·¥å |
| | | iscc := unit.ID() = ccunit or exists( parentunits, Elements, punit, punit.ID() = ccunit ); |
| | | //æ¯å¦å±äºå¤§è¿å·¥å |
| | | isdl := unit.ID() = dlunit or exists( parentunits, Elements, punit, punit.ID() = dlunit ); |
| | | |
| | | traverse( pisp, ProductInStockingPointInPeriod, pispip, not pispip.Period_MP().IsHistorical() |
| | | and ( pispip.Period_MP().TimeUnit() = Translations::MP_GlobalParameters_Day() |
| | | or pispip.Period_MP().TimeUnit() = Translations::MP_GlobalParameters_Week() ) ){ |
| | | periodtime := pispip.Period_MP().StartDate(); |
| | | periodname := periodtime.Format( "M2/D2/Y" ); |
| | | // info( '---------------------------------', periodtime, table.Column( relsize ), pispip.Period_MP().TimeUnit() ); |
| | | column := selectobject( table, Column, column, column.Name() = periodname and column.Period() = periodtime and column.TimeUnit() = pispip.Period_MP().TimeUnit() ); |
| | | // info( '---------------------------------', isnull( column ), isnull( row ) ); |
| | | // info( '---------------------------------', column.Name(), row.Name() ); |
| | | if( unit = ccunit or unit = dlunit ){ |
| | | row.SetCellProductionValue( column, unit, pispip.NewSupplyProductionQuantity() ); |
| | | traverse( stockingpoint, ProductInStockingPoint_MP, pisp, pisp.Product_MP().IsLeaf() and not pisp.IsSystem() ){ |
| | | weekstart := owner.StartOfPlanning().Date(); |
| | | pispips := selectsortedset( pisp, ProductInStockingPointInPeriod, pispip, not pispip.Period_MP().IsHistorical() |
| | | and pispip.Period_MP().TimeUnit() = Translations::MP_GlobalParameters_Day(), pispip.Start() ); |
| | | row := table.GetRow( pisp.ProductID() ); |
| | | traverse( pispips, Elements, pispip ){ |
| | | //天 |
| | | daycolumn := table.GetColumnByUnit( Translations::MP_GlobalParameters_Day(), pispip.Start().Date() ); |
| | | //å¨ |
| | | weekcolumn := table.GetColumnByUnit( Translations::MP_GlobalParameters_Week(), weekstart ); |
| | | supplyquantity := [Real]ceil( pispip.NewSupplyQuantity() );//åä¸åæ´ |
| | | inventoryquantity := [Real]ceil( pispip.PlannedInventoryLevelEnd() );//åä¸åæ´ |
| | | //äº§éæ¯å æ» |
| | | if( iscc or isdl ){ |
| | | row.SetCellProductionValue( daycolumn, iscc, supplyquantity ); |
| | | row.SetCellProductionValue( weekcolumn, iscc, supplyquantity ); |
| | | } |
| | | //åºåéè¦åæåä¸å¤© |
| | | row.SetCellInventoryValue( daycolumn, pispip.PlannedInventoryLevelEnd() ); |
| | | |
| | | if( pispip.Start() = weekstart + Duration::Days( 6 ) or pispip.Period_MP() = endperiod ){ |
| | | weekstart := ( weekstart + Duration::Days( 7 ) ).Date(); |
| | | |
| | | row.SetCellInventoryValue( weekcolumn, inventoryquantity ); |
| | | } |
| | | } |
| | | row.SetCellInventoryValue( column, pispip.PlannedInventoryLevelEnd() ); |
| | | } |
| | | } |
| | | |
| | | //çæéæ±æ°æ® |
| | | traverse( owner, SalesDemand.astype( Forecast ), forecast, ( forecast.EndDate() - forecast.StartDate() ) < 8){ |
| | | row := table.GetRow( forecast.ProductID() ); |
| | | weekdate := ( forecast.StartDate() - Duration::Days( 7 ) ).Date(); |
| | | periodtime := forecast.StartDate(); |
| | | periodname := periodtime.Format( "M2/D2/Y" ); |
| | | |
| | | column := selectobject( table, Column, column, column.Name() = periodname and column.Period() = periodtime and column.TimeUnit() = Translations::MP_GlobalParameters_Day() ); |
| | | weekcolumn := minobject( table, Column, wcolumn, wcolumn.Period() <= weekdate and wcolumn.TimeUnit() = Translations::MP_GlobalParameters_Week(), wcolumn.Period() ); |
| | | |
| | | if( not isnull( column ) ){ |
| | | row.SetCellDemandValue( column, forecast.SalesSegmentName(), forecast.Quantity() ); |
| | | } |
| | | |
| | | if( not isnull( weekcolumn ) ){ |
| | | row.SetCellDemandValue( weekcolumn, forecast.SalesSegmentName(), forecast.Quantity() ); |
| | | traverse( owner, SalesDemand.astype( Forecast ), forecast ){ |
| | | row := table.GetRow( forecast.ProductID() ); |
| | | weekstart := owner.StartOfPlanning().Date(); |
| | | traverse( forecast, PlanningSalesDemandInPeriod, psdip ){ |
| | | //天 |
| | | daycolumn := table.GetColumnByUnit( Translations::MP_GlobalParameters_Day(), psdip.StartDate() ); |
| | | //å¨ |
| | | weekcolumn := table.GetColumnByUnit( Translations::MP_GlobalParameters_Week(), weekstart ); |
| | | |
| | | if( not isnull( daycolumn ) ){ |
| | | row.SetCellDemandValue( daycolumn, forecast.SalesSegmentName(), forecast.Quantity() ); |
| | | } |
| | | if( not isnull( weekcolumn ) ){ |
| | | row.SetCellDemandValue( weekcolumn, forecast.SalesSegmentName(), forecast.Quantity() ); |
| | | } |
| | | } |
| | | } |
| | | |
| | | rows := selectsortedset( table, Row, row, row.Name() ); |
| | | i := 0; |
| | | traverse( rows, Elements, e ){ |
| | |
| | | [* |
| | | // çå
°é¸½ Jun-25-2024 (created) |
| | | //æ¥è¯¢æ¥æè¿åéè¦å¨è®¡åæ¥æä¹å
|
| | | traverse( owner, Period_MP, period, not period.IsHistorical() and period.StartDate() >= startdate and period.EndDate() <= enddate |
| | | and ( ( timeunit = 'All' and ( period.TimeUnit() = Translations::MP_GlobalParameters_Day() or period.TimeUnit() = Translations::MP_GlobalParameters_Week() ) ) |
| | | or period.TimeUnit() = timeunit ) ){ |
| | | periodtime := period.StartDate(); |
| | | periodname := periodtime.Format( "M2/D2/Y" ); |
| | | weekstart := owner.StartOfPlanning().Date(); |
| | | traverse( owner, Period_MP, period, not period.IsHistorical() and period.TimeUnit() = Translations::MP_GlobalParameters_Day() ){ |
| | | if( timeunit = 'All' or timeunit = Translations::MP_GlobalParameters_Day() ){ |
| | | periodtime := period.StartDate(); |
| | | periodname := periodtime.Format( "M2/D2/Y" ); |
| | | |
| | | this.Column( relnew, Name := periodname, Period := periodtime, TimeUnit := Translations::MP_GlobalParameters_Day() ); |
| | | } |
| | | |
| | | this.Column( relnew, Name := periodname, Period := periodtime, TimeUnit := period.TimeUnit() ); |
| | | if( timeunit = 'All' or timeunit = Translations::MP_GlobalParameters_Week() ){ |
| | | if( period.StartDate() = weekstart ){ |
| | | weekperiodname := weekstart.Format( "M2/D2/Y" ); |
| | | this.Column( relnew, Name := weekperiodname, Period := weekstart, TimeUnit := Translations::MP_GlobalParameters_Week() ); |
| | | weekstart := ( weekstart + Duration::Days( 7 ) ).Date(); |
| | | } |
| | | } |
| | | } |
| | | *] |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | Method GetColumnByUnit ( |
| | | String unit, |
| | | Date period |
| | | ) as MachiningPipelineColumn |
| | | { |
| | | TextBody: |
| | | [* |
| | | // çå
°é¸½ Aug-7-2024 (created) |
| | | periodname := period.Format( "M2/D2/Y" ); |
| | | |
| | | column := selectobject( this, Column, column, column.Name() = periodname and column.Period() = period and column.TimeUnit() = unit ); |
| | | |
| | | return column; |
| | | *] |
| | | } |
| | |
| | | TextBody: |
| | | [* |
| | | // çå
°é¸½ Jun-25-2024 (created) |
| | | return 'é¿æ¥'; |
| | | return 'é¿æ¥å·¥å'; |
| | | //return 'Assembly Plant (France)'; |
| | | *] |
| | | } |
| | |
| | | TextBody: |
| | | [* |
| | | // çå
°é¸½ Jun-25-2024 (created) |
| | | return '大è¿'; |
| | | return '大è¿å·¥å'; |
| | | //return 'Assembly Plant (Spain)'; |
| | | *] |
| | | } |
| | |
| | | #parent: #root |
| | | Method SetCellAssemblyValue ( |
| | | MachiningPipelineColumn column, |
| | | String unit, |
| | | Boolean iscc, |
| | | Real quantity |
| | | ) |
| | | { |
| | |
| | | // çå
°é¸½ Jun-24-2024 (created) |
| | | cell := selectobject( this, Cell, cell, cell.Column() = column ); |
| | | |
| | | if( unit = MachiningPipelineReport::GetDefaultCCAssemnlyUnit() ){ |
| | | if( iscc ){ |
| | | cell.CCAssemblyPlanQty( cell.CCAssemblyPlanQty() + quantity ); |
| | | }else if( unit = MachiningPipelineReport::GetDefaultDLAssemnlyUnit() ){ |
| | | } else { |
| | | cell.DLAssemblyPlanQty( cell.DLAssemblyPlanQty() + quantity ); |
| | | } |
| | | *] |
| | |
| | | #parent: #root |
| | | Method SetCellInventoryValue ( |
| | | MachiningPipelineColumn column, |
| | | String unit, |
| | | Boolean iscc, |
| | | Real quantity |
| | | ) |
| | | { |
| | |
| | | // çå
°é¸½ Jun-24-2024 (created) |
| | | cell := selectobject( this, Cell, cell, cell.Column() = column ); |
| | | |
| | | if( unit = MachiningPipelineReport::GetDefaultCCUnit() ){ |
| | | if( iscc ){ |
| | | cell.CCInventoryQty( cell.CCInventoryQty() + quantity ); |
| | | }else if( unit = MachiningPipelineReport::GetDefaultDLUnit() ){ |
| | | } else { |
| | | cell.DLInventoryQty( cell.DLInventoryQty() + quantity ); |
| | | } |
| | | *] |
| | |
| | | #parent: #root |
| | | Method SetCellProductionValue ( |
| | | MachiningPipelineColumn column, |
| | | String unit, |
| | | Boolean iscc, |
| | | Real quantity |
| | | ) |
| | | { |
| | |
| | | // çå
°é¸½ Jun-24-2024 (created) |
| | | cell := selectobject( this, Cell, cell, cell.Column() = column ); |
| | | |
| | | if( unit = MachiningPipelineReport::GetDefaultCCProductionUnit() ){ |
| | | if( iscc ){ |
| | | cell.CCProductionQty( cell.CCProductionQty() + quantity ); |
| | | }else if( unit = MachiningPipelineReport::GetDefaultDLProductionUnit() ){ |
| | | } else { |
| | | cell.DLProductionQty( cell.DLProductionQty() + quantity ); |
| | | } |
| | | *] |
| | |
| | | products := construct( Product_MPs ); |
| | | //åå§åå |
| | | table.GenerateColumn( owner, 'All', search.StartDate(), search.EndDate() ); |
| | | endperiod := maxobject( owner, Period_MP, period, not period.IsHistorical() and period.TimeUnit() = Translations::MP_GlobalParameters_Day(), period.StartDate() ); |
| | | |
| | | //çæè£
é
ãç产ååºåæ°æ® |
| | | traverse( owner, Product_MP.ProductInStockingPoint_MP, pisp, pisp.IsLeaf() and not pisp.IsSystem() ){ |
| | | unit := pisp.StockingPoint_MP().UnitID(); |
| | | //åå§åè¡ |
| | | row := table.GetRow( pisp.ProductID() ); |
| | | |
| | | traverse( pisp, ProductInStockingPointInPeriod, pispip, not pispip.Period_MP().IsHistorical() |
| | | and ( pispip.Period_MP().TimeUnit() = Translations::MP_GlobalParameters_Day() |
| | | or pispip.Period_MP().TimeUnit() = Translations::MP_GlobalParameters_Week() ) ){ |
| | | periodtime := pispip.Period_MP().StartDate(); |
| | | periodname := periodtime.Format( "M2/D2/Y" ); |
| | | column := selectobject( table, Column, column, column.Name() = periodname and column.Period() = periodtime and column.TimeUnit() = pispip.Period_MP().TimeUnit() ); |
| | | |
| | | //è£
é
线 |
| | | if( unit = MachiningPipelineReport::GetDefaultCCAssemnlyUnit() or unit = MachiningPipelineReport::GetDefaultDLAssemnlyUnit() ){ |
| | | row.SetCellAssemblyValue( column, unit, pispip.NewSupplyProductionQuantity() ); |
| | | } |
| | | //æºå 线 |
| | | if( unit = MachiningPipelineReport::GetDefaultCCProductionUnit() or unit = MachiningPipelineReport::GetDefaultDLProductionUnit() ){ |
| | | row.SetCellProductionValue( column, unit, pispip.NewSupplyProductionQuantity() ); |
| | | } |
| | | if( unit = ccunit or unit = dlunit ){ |
| | | row.SetCellInventoryValue( column, unit, pispip.PlannedInventoryLevelEnd() ); |
| | | traverse( owner, StockingPoint_MP, stockingpoint ){ |
| | | unit := stockingpoint.Unit(); |
| | | parentunits := unit.GetAllParent(); |
| | | //æ¯å¦å±äºé¿æ¥å·¥å |
| | | iscc := unit.ID() = ccunit or exists( parentunits, Elements, punit, punit.ID() = ccunit ); |
| | | //æ¯å¦å±äºå¤§è¿å·¥å |
| | | isdl := unit.ID() = dlunit or exists( parentunits, Elements, punit, punit.ID() = dlunit ); |
| | | //æ¯å¦å±äºé¿æ¥è£
é
线 |
| | | isccassemnly := unit.ID() = MachiningPipelineReport::GetDefaultCCAssemnlyUnit() or exists( parentunits, Elements, punit, punit.ID() = MachiningPipelineReport::GetDefaultCCAssemnlyUnit() ); |
| | | //æ¯å¦å±äºå¤§è¿è£
é
线 |
| | | isdlassemnly := unit.ID() = MachiningPipelineReport::GetDefaultDLAssemnlyUnit() or exists( parentunits, Elements, punit, punit.ID() = MachiningPipelineReport::GetDefaultDLAssemnlyUnit() ); |
| | | //æ¯å¦å±äºé¿æ¥æºå 产线 |
| | | isccproduction := unit.ID() = MachiningPipelineReport::GetDefaultCCProductionUnit() or exists( parentunits, Elements, punit, punit.ID() = MachiningPipelineReport::GetDefaultCCProductionUnit() ); |
| | | //æ¯å¦å±äºå¤§è¿æºå 产线 |
| | | isdlproduction := unit.ID() = MachiningPipelineReport::GetDefaultDLProductionUnit() or exists( parentunits, Elements, punit, punit.ID() = MachiningPipelineReport::GetDefaultDLProductionUnit() ); |
| | | if( iscc or isdl ){ |
| | | traverse( stockingpoint, ProductInStockingPoint_MP, pisp, pisp.Product_MP().IsLeaf() and not pisp.IsSystem() ){ |
| | | row := table.GetRow( pisp.ProductID() ); |
| | | |
| | | weekstart := owner.StartOfPlanning().Date(); |
| | | pispips := selectsortedset( pisp, ProductInStockingPointInPeriod, pispip, not pispip.Period_MP().IsHistorical() |
| | | and pispip.Period_MP().TimeUnit() = Translations::MP_GlobalParameters_Day(), pispip.Start() ); |
| | | |
| | | traverse( pispips, Elements, pispip ){ |
| | | //天 |
| | | daycolumn := table.GetColumnByUnit( Translations::MP_GlobalParameters_Day(), pispip.Start().Date() ); |
| | | //å¨ |
| | | weekcolumn := table.GetColumnByUnit( Translations::MP_GlobalParameters_Week(), weekstart ); |
| | | |
| | | supplyquantity := [Real]ceil( pispip.NewSupplyQuantity() );//åä¸åæ´ |
| | | inventoryquantity := [Real]ceil( pispip.PlannedInventoryLevelEnd() );//åä¸åæ´ |
| | | |
| | | //è£
é
线 |
| | | if( isccassemnly or isdlassemnly ){ |
| | | row.SetCellAssemblyValue( daycolumn, isccassemnly, supplyquantity ); |
| | | row.SetCellAssemblyValue( weekcolumn, isccassemnly, supplyquantity ); |
| | | } |
| | | |
| | | //æºå 线 |
| | | if( isccproduction or isdlproduction ){ |
| | | row.SetCellProductionValue( daycolumn, isccproduction, supplyquantity ); |
| | | row.SetCellProductionValue( weekcolumn, isccproduction, supplyquantity ); |
| | | } |
| | | //åºå |
| | | if( iscc or isdl ){ |
| | | row.SetCellInventoryValue( daycolumn, iscc, inventoryquantity ); |
| | | if( pispip.Start() = weekstart + Duration::Days( 6 ) or pispip.Period_MP() = endperiod ){ |
| | | weekstart := ( weekstart + Duration::Days( 7 ) ).Date(); |
| | | row.SetCellInventoryValue( weekcolumn, iscc, inventoryquantity ); |
| | | } |
| | | } |
| | | } |
| | | } |
| | | } |
| | | } |
| | |
| | | Taborder: 4 |
| | | ] |
| | | } |
| | | Component ButtonEnginePipelineReport |
| | | Component ButtonPipelineReport |
| | | { |
| | | #keys: '[415136.0.884991586]' |
| | | BaseType: 'WebButton' |
| | | Children: |
| | | [ |
| | | #child: ContextMenuPipelineReport |
| | | ] |
| | | Properties: |
| | | [ |
| | | Image: 'DOCUMENT_CONNECTION' |
| | | Label: 'Engine pipeline report' |
| | | Label: 'Pipeline report' |
| | | Taborder: 5 |
| | | ] |
| | | } |
| | |
| | | Image: 'DOCUMENT_INFO' |
| | | Label: '产éå¯¹æ¯æ¥è¡¨' |
| | | Taborder: 6 |
| | | ] |
| | | } |
| | | Component ButtonScenarioComparisonDemandComparison id:ButtonScenarioComparisonDemandComparison_256 |
| | | { |
| | | #keys: '[412672.1.90201789]' |
| | | BaseType: 'WebButton' |
| | | Properties: |
| | | [ |
| | | Image: 'EQUALS' |
| | | Label: '鿱坹æ¯' |
| | | Taborder: 7 |
| | | ] |
| | | } |
| | | ] |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | Component ContextMenuPipelineReport |
| | | { |
| | | #keys: '[415136.0.973375806]' |
| | | BaseType: 'WebContextMenu' |
| | | Children: |
| | | [ |
| | | Component MenuEnginePipelineReport |
| | | { |
| | | #keys: '[415136.0.973375807]' |
| | | BaseType: 'WebMenu' |
| | | Properties: |
| | | [ |
| | | Image: 'DOCUMENT_CONNECTION' |
| | | Taborder: 0 |
| | | Title: 'Engine pipeline report' |
| | | ] |
| | | } |
| | | Component MenuMachiningPipelineReport |
| | | { |
| | | #keys: '[415136.0.972180572]' |
| | | BaseType: 'WebMenu' |
| | | Properties: |
| | | [ |
| | | Image: 'DOCUMENT_CONNECTION' |
| | | Taborder: 1 |
| | | Title: 'Machining pipeline report' |
| | | ] |
| | | } |
| | | ] |
| | | Properties: |
| | | [ |
| | | Taborder: 0 |
| | | ] |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: ContextMenuPipelineReport/MenuEnginePipelineReport |
| | | Response OnClick () id:Response_MacroPlanner_ContextMenuPipelineReport_MenuEnginePipelineReport_OnClick |
| | | { |
| | | #keys: '[415136.0.972180722]' |
| | | CanBindMultiple: false |
| | | DefinitionID: 'Responsedef_WebMenu_OnClick' |
| | | QuillAction |
| | | { |
| | | Body: |
| | | [* |
| | | ApplicationScope.ViewManager().ResetUserViewById( "Engine_pipleline_report", true); |
| | | *] |
| | | GroupServerCalls: false |
| | | } |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: ContextMenuPipelineReport/MenuMachiningPipelineReport |
| | | Response OnClick () id:Response_MacroPlanner_ContextMenuPipelineReport_MenuMachiningPipelineReport_OnClick |
| | | { |
| | | #keys: '[415136.0.972180898]' |
| | | CanBindMultiple: false |
| | | DefinitionID: 'Responsedef_WebMenu_OnClick' |
| | | QuillAction |
| | | { |
| | | Body: |
| | | [* |
| | | ApplicationScope.ViewManager().ResetUserViewById( "Machining_pipeline_report_view", true); |
| | | *] |
| | | GroupServerCalls: false |
| | | } |
| | | } |
| | |
| | | Properties: |
| | | [ |
| | | Image: 'IMPORT1' |
| | | Taborder: 1 |
| | | ] |
| | | } |
| | | Component ButtonSearch id:ButtonSearch_88 |
| | | { |
| | | #keys: '[415136.0.972181163]' |
| | | BaseType: 'WebButton' |
| | | Properties: |
| | | [ |
| | | Image: 'VIEW' |
| | | Taborder: 0 |
| | | ] |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: PanelExport_570/ButtonSearch_88 |
| | | Response OnClick () id:Response_PanelExport_ButtonSearch_OnClick_648 |
| | | { |
| | | #keys: '[415136.0.972181162]' |
| | | CanBindMultiple: false |
| | | DefinitionID: 'Responsedef_WebButton_OnClick' |
| | | QuillAction |
| | | { |
| | | Body: |
| | | [* |
| | | DataHolderTable.Data().Generate( dhSearch.Data(), DataHolderProduct.Data() ); |
| | | *] |
| | | GroupServerCalls: false |
| | | } |
| | | } |
| | |
| | | }else{ |
| | | if( dhSearch.Data().EndDate() <> this.Date() ){ |
| | | dhSearch.Data().EndDate( this.Date() ); |
| | | DataHolderTable.Data().Generate( dhSearch.Data(), DataHolderProduct.Data() ); |
| | | // DataHolderTable.Data().Generate( dhSearch.Data(), DataHolderProduct.Data() ); |
| | | } |
| | | } |
| | | *] |
| | |
| | | }else{ |
| | | if( dhSearch.Data().StartDate() <> this.Date() ){ |
| | | dhSearch.Data().StartDate( this.Date() ); |
| | | DataHolderTable.Data().Generate( dhSearch.Data(), DataHolderProduct.Data() ); |
| | | // DataHolderTable.Data().Generate( dhSearch.Data(), DataHolderProduct.Data() ); |
| | | } |
| | | } |
| | | *] |
| | |
| | | //åºé´æ¹ååå·æ°æ¾ç¤º |
| | | if( dhSearch.Data().TimeUnit() <> this.BoundValue() ){ |
| | | dhSearch.Data().TimeUnit( this.BoundValue() ); |
| | | DataHolderTable.Data().Generate( dhSearch.Data(), DataHolderProduct.Data() ); |
| | | // DataHolderTable.Data().Generate( dhSearch.Data(), DataHolderProduct.Data() ); |
| | | } |
| | | *] |
| | | GroupServerCalls: false |
| | |
| | | Properties: |
| | | [ |
| | | Image: 'IMPORT1' |
| | | Taborder: 1 |
| | | ] |
| | | } |
| | | Component ButtonSearch |
| | | { |
| | | #keys: '[415136.0.972181477]' |
| | | BaseType: 'WebButton' |
| | | Properties: |
| | | [ |
| | | Image: 'VIEW' |
| | | Taborder: 0 |
| | | ] |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: PanelExport/ButtonSearch |
| | | Response OnClick () id:Response_PanelExport_570_ButtonSearch_OnClick |
| | | { |
| | | #keys: '[415136.0.972181476]' |
| | | CanBindMultiple: false |
| | | DefinitionID: 'Responsedef_WebButton_OnClick' |
| | | QuillAction |
| | | { |
| | | Body: |
| | | [* |
| | | DataHolderTable.Data().Generate( dhSearch.Data(), DataHolderProduct.Data() ); |
| | | *] |
| | | GroupServerCalls: false |
| | | } |
| | | } |
| | |
| | | }else{ |
| | | if( dhSearch.Data().EndDate() <> this.Date() ){ |
| | | dhSearch.Data().EndDate( this.Date() ); |
| | | DataHolderTable.Data().Generate( dhSearch.Data(), DataHolderProduct.Data() ); |
| | | // DataHolderTable.Data().Generate( dhSearch.Data(), DataHolderProduct.Data() ); |
| | | } |
| | | } |
| | | *] |
| | |
| | | }else{ |
| | | if( dhSearch.Data().StartDate() <> this.Date() ){ |
| | | dhSearch.Data().StartDate( this.Date() ); |
| | | DataHolderTable.Data().Generate( dhSearch.Data(), DataHolderProduct.Data() ); |
| | | // DataHolderTable.Data().Generate( dhSearch.Data(), DataHolderProduct.Data() ); |
| | | } |
| | | } |
| | | *] |
| | |
| | | //åºé´æ¹ååå·æ°æ¾ç¤º |
| | | if( dhSearch.Data().TimeUnit() <> this.BoundValue() ){ |
| | | dhSearch.Data().TimeUnit( this.BoundValue() ); |
| | | DataHolderTable.Data().Generate( dhSearch.Data(), DataHolderProduct.Data() ); |
| | | // DataHolderTable.Data().Generate( dhSearch.Data(), DataHolderProduct.Data() ); |
| | | } |
| | | *] |
| | | GroupServerCalls: false |
| | |
| | | } |
| | | } |
| | | } |
| | | form_FormMachiningPipelineReport |
| | | { |
| | | title: 'QMacroPlanner::FormMachiningPipelineReport' |
| | | shown: true |
| | | componentID: 'QMacroPlanner::FormMachiningPipelineReport' |
| | | layout |
| | | { |
| | | mode: 'open' |
| | | rowPosition: 16 |
| | | rowSpan: 19 |
| | | columnPosition: 1 |
| | | columnSpan: 12 |
| | | } |
| | | components |
| | | { |
| | | FormMachiningPipelineReport_PanelHeader |
| | | { |
| | | sizeRatio: 1 |
| | | } |
| | | FormMachiningPipelineReport_PanelSearch |
| | | { |
| | | sizeRatio: 1 |
| | | } |
| | | FormMachiningPipelineReport_PanelPeriod |
| | | { |
| | | sizeRatio: 1 |
| | | } |
| | | FormMachiningPipelineReport_PanelTimeUnit |
| | | { |
| | | sizeRatio: 1 |
| | | } |
| | | FormMachiningPipelineReport_PanelExport |
| | | { |
| | | sizeRatio: 1 |
| | | } |
| | | FormMachiningPipelineReport_PanelTable |
| | | { |
| | | sizeRatio: 1 |
| | | } |
| | | FormMachiningPipelineReport_MatrixEditorTable |
| | | { |
| | | gridColor: '#c4c4c4' |
| | | totalHeaderWidth: 200 |
| | | attributeHeaderWidthRatio: 0.6 |
| | | nameHeaderWidthRatio: 0.4 |
| | | columnWidth: 100 |
| | | horizontalGrid: true |
| | | verticalGrid: true |
| | | backendState |
| | | { |
| | | componentId: 'QMacroPlanner::FormMachiningPipelineReport.MatrixEditorTable' |
| | | state |
| | | { |
| | | cells |
| | | { |
| | | attributes |
| | | { |
| | | attribute_CCAssemblyPlanQty |
| | | { |
| | | type: 'MatrixEditorWebApiCellDataModelInterest' |
| | | index: 0 |
| | | rowsubtotal: '' |
| | | columnsubtotal: '' |
| | | attribute: 'CCAssemblyPlanQty' |
| | | } |
| | | attribute_CCProductionQty |
| | | { |
| | | type: 'MatrixEditorWebApiCellDataModelInterest' |
| | | index: 1 |
| | | rowsubtotal: '' |
| | | columnsubtotal: '' |
| | | attribute: 'CCProductionQty' |
| | | } |
| | | attribute_CCTransferQty |
| | | { |
| | | type: 'MatrixEditorWebApiCellDataModelInterest' |
| | | index: 2 |
| | | rowsubtotal: '' |
| | | columnsubtotal: '' |
| | | attribute: 'CCTransferQty' |
| | | } |
| | | attribute_CCInventoryQty |
| | | { |
| | | type: 'MatrixEditorWebApiCellDataModelInterest' |
| | | index: 3 |
| | | rowsubtotal: '' |
| | | columnsubtotal: '' |
| | | attribute: 'CCInventoryQty' |
| | | } |
| | | attribute_DLAssemblyPlanQty |
| | | { |
| | | type: 'MatrixEditorWebApiCellDataModelInterest' |
| | | index: 4 |
| | | rowsubtotal: '' |
| | | columnsubtotal: '' |
| | | attribute: 'DLAssemblyPlanQty' |
| | | } |
| | | attribute_DLProductionQty |
| | | { |
| | | type: 'MatrixEditorWebApiCellDataModelInterest' |
| | | index: 5 |
| | | rowsubtotal: '' |
| | | columnsubtotal: '' |
| | | attribute: 'DLProductionQty' |
| | | } |
| | | attribute_DLTransferQty |
| | | { |
| | | type: 'MatrixEditorWebApiCellDataModelInterest' |
| | | index: 6 |
| | | rowsubtotal: '' |
| | | columnsubtotal: '' |
| | | attribute: 'DLTransferQty' |
| | | } |
| | | attribute_DLInventoryQty |
| | | { |
| | | type: 'MatrixEditorWebApiCellDataModelInterest' |
| | | index: 7 |
| | | rowsubtotal: '' |
| | | columnsubtotal: '' |
| | | attribute: 'DLInventoryQty' |
| | | } |
| | | attribute_TotalInventoryQty |
| | | { |
| | | type: 'MatrixEditorWebApiCellDataModelInterest' |
| | | index: 8 |
| | | rowsubtotal: '' |
| | | columnsubtotal: '' |
| | | attribute: 'TotalInventoryQty' |
| | | } |
| | | } |
| | | } |
| | | columns |
| | | { |
| | | sorting |
| | | { |
| | | criteria: "datamember:'Index'" |
| | | } |
| | | } |
| | | rows |
| | | { |
| | | sorting |
| | | { |
| | | criteria: "datamember:'RowNr'" |
| | | } |
| | | } |
| | | } |
| | | } |
| | | } |
| | | } |
| | | } |
| | | form_FormOptimizerPuzzles |
| | | { |
| | | title: 'Optimizer Puzzles' |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | { |
| | | viewcontents |
| | | { |
| | | forms |
| | | { |
| | | form_FormMachiningPipelineReport |
| | | { |
| | | title: 'QMacroPlanner::FormMachiningPipelineReport' |
| | | shown: true |
| | | componentID: 'QMacroPlanner::FormMachiningPipelineReport' |
| | | layout |
| | | { |
| | | mode: 'open' |
| | | rowPosition: 1 |
| | | rowSpan: 14 |
| | | columnPosition: 1 |
| | | columnSpan: 12 |
| | | } |
| | | components |
| | | { |
| | | FormMachiningPipelineReport_PanelHeader |
| | | { |
| | | sizeRatio: 1 |
| | | } |
| | | FormMachiningPipelineReport_PanelSearch |
| | | { |
| | | sizeRatio: 1 |
| | | } |
| | | FormMachiningPipelineReport_PanelPeriod |
| | | { |
| | | sizeRatio: 1 |
| | | } |
| | | FormMachiningPipelineReport_PanelTimeUnit |
| | | { |
| | | sizeRatio: 1 |
| | | } |
| | | FormMachiningPipelineReport_PanelExport |
| | | { |
| | | sizeRatio: 1 |
| | | } |
| | | FormMachiningPipelineReport_PanelTable |
| | | { |
| | | sizeRatio: 1 |
| | | } |
| | | FormMachiningPipelineReport_MatrixEditorTable |
| | | { |
| | | gridColor: '#c4c4c4' |
| | | totalHeaderWidth: 200 |
| | | attributeHeaderWidthRatio: 0.6 |
| | | nameHeaderWidthRatio: 0.4 |
| | | columnWidth: 100 |
| | | horizontalGrid: true |
| | | verticalGrid: true |
| | | backendState |
| | | { |
| | | componentId: 'QMacroPlanner::FormMachiningPipelineReport.MatrixEditorTable' |
| | | state |
| | | { |
| | | cells |
| | | { |
| | | attributes |
| | | { |
| | | attribute_CCAssemblyPlanQty |
| | | { |
| | | type: 'MatrixEditorWebApiCellDataModelInterest' |
| | | index: 0 |
| | | rowsubtotal: '' |
| | | columnsubtotal: '' |
| | | attribute: 'CCAssemblyPlanQty' |
| | | } |
| | | attribute_CCProductionQty |
| | | { |
| | | type: 'MatrixEditorWebApiCellDataModelInterest' |
| | | index: 1 |
| | | rowsubtotal: '' |
| | | columnsubtotal: '' |
| | | attribute: 'CCProductionQty' |
| | | } |
| | | attribute_CCTransferQty |
| | | { |
| | | type: 'MatrixEditorWebApiCellDataModelInterest' |
| | | index: 2 |
| | | rowsubtotal: '' |
| | | columnsubtotal: '' |
| | | attribute: 'CCTransferQty' |
| | | } |
| | | attribute_CCInventoryQty |
| | | { |
| | | type: 'MatrixEditorWebApiCellDataModelInterest' |
| | | index: 3 |
| | | rowsubtotal: '' |
| | | columnsubtotal: '' |
| | | attribute: 'CCInventoryQty' |
| | | } |
| | | attribute_DLAssemblyPlanQty |
| | | { |
| | | type: 'MatrixEditorWebApiCellDataModelInterest' |
| | | index: 4 |
| | | rowsubtotal: '' |
| | | columnsubtotal: '' |
| | | attribute: 'DLAssemblyPlanQty' |
| | | } |
| | | attribute_DLProductionQty |
| | | { |
| | | type: 'MatrixEditorWebApiCellDataModelInterest' |
| | | index: 5 |
| | | rowsubtotal: '' |
| | | columnsubtotal: '' |
| | | attribute: 'DLProductionQty' |
| | | } |
| | | attribute_DLTransferQty |
| | | { |
| | | type: 'MatrixEditorWebApiCellDataModelInterest' |
| | | index: 6 |
| | | rowsubtotal: '' |
| | | columnsubtotal: '' |
| | | attribute: 'DLTransferQty' |
| | | } |
| | | attribute_DLInventoryQty |
| | | { |
| | | type: 'MatrixEditorWebApiCellDataModelInterest' |
| | | index: 7 |
| | | rowsubtotal: '' |
| | | columnsubtotal: '' |
| | | attribute: 'DLInventoryQty' |
| | | } |
| | | attribute_TotalInventoryQty |
| | | { |
| | | type: 'MatrixEditorWebApiCellDataModelInterest' |
| | | index: 8 |
| | | rowsubtotal: '' |
| | | columnsubtotal: '' |
| | | attribute: 'TotalInventoryQty' |
| | | } |
| | | } |
| | | } |
| | | columns |
| | | { |
| | | sorting |
| | | { |
| | | criteria: "datamember:'Index'" |
| | | } |
| | | } |
| | | rows |
| | | { |
| | | sorting |
| | | { |
| | | criteria: "datamember:'RowNr'" |
| | | } |
| | | } |
| | | } |
| | | } |
| | | } |
| | | } |
| | | } |
| | | form_FormOptimizerPuzzles |
| | | { |
| | | title: 'Optimizer Puzzles' |
| | | shown: false |
| | | componentID: 'FormOptimizerPuzzles' |
| | | layout |
| | | { |
| | | mode: 'dockright' |
| | | index: 0 |
| | | } |
| | | components |
| | | { |
| | | FormOptimizerPuzzles_ListOptimizerPuzzles |
| | | { |
| | | } |
| | | FormOptimizerPuzzles_DataSetLevelOptimizerPuzzles |
| | | { |
| | | groupDepth: -1 |
| | | column_All_constraints |
| | | { |
| | | columnId: 'All constraints' |
| | | dataPath: 'All constraints' |
| | | dataType: 'string' |
| | | title: 'All constraints' |
| | | index: 0 |
| | | subtotals: '' |
| | | width: 32 |
| | | } |
| | | column_Name |
| | | { |
| | | columnId: 'Name' |
| | | dataPath: 'Name' |
| | | dataType: 'string' |
| | | title: 'Name' |
| | | index: 1 |
| | | subtotals: '' |
| | | width: 109 |
| | | } |
| | | column_Description |
| | | { |
| | | columnId: 'Description' |
| | | dataPath: 'Description' |
| | | dataType: 'string' |
| | | title: 'Description' |
| | | index: 2 |
| | | subtotals: '' |
| | | width: 207 |
| | | } |
| | | } |
| | | } |
| | | } |
| | | form_FormKPI |
| | | { |
| | | title: 'KPI Dashboard' |
| | | shown: true |
| | | componentID: 'FormKPI' |
| | | layout |
| | | { |
| | | mode: 'dockright' |
| | | index: 1 |
| | | } |
| | | components |
| | | { |
| | | FormKPI_PanelKPI |
| | | { |
| | | sizeRatio: 1 |
| | | activeChild: 'PanelKPISelection' |
| | | } |
| | | FormKPI_PanelKPIDashboard |
| | | { |
| | | sizeRatio: 1 |
| | | } |
| | | FormKPI_PanelKPISelection |
| | | { |
| | | sizeRatio: 1 |
| | | } |
| | | FormKPI_ListKPISelection |
| | | { |
| | | QuillViewData |
| | | { |
| | | Food_KPISetting: 'Cost of sales;Fulfillment;Fulfillment target;Inventory holding cost;Labor cost;Margin;Safety stock;Sales;Sourcing cost;Total CO2 emission;Transportation cost;Volume' |
| | | } |
| | | } |
| | | FormKPI_DataSetLevelKPISelection |
| | | { |
| | | groupDepth: -1 |
| | | column_All_constraints |
| | | { |
| | | columnId: 'All constraints' |
| | | dataPath: 'All constraints' |
| | | dataType: 'string' |
| | | title: 'All constraints' |
| | | index: 0 |
| | | subtotals: '' |
| | | width: 32 |
| | | } |
| | | column_Name |
| | | { |
| | | columnId: 'Name' |
| | | dataPath: 'Name' |
| | | dataType: 'string' |
| | | title: 'Name' |
| | | index: 1 |
| | | subtotals: '' |
| | | width: 200 |
| | | } |
| | | } |
| | | } |
| | | } |
| | | } |
| | | userconfigurableinformation |
| | | { |
| | | } |
| | | page: '' |
| | | group: '' |
| | | index: 25 |
| | | image: 'DOCUMENT_CONNECTION' |
| | | description: '' |
| | | } |
| | | formatversion: 2 |
| | | id: 'Machining_pipeline_report_view' |
| | | name: 'Machining pipeline report view' |
| | | isglobal: false |
| | | isroot: true |
| | | } |