| Quintiq file version 2.0 | 
| Component GanttChartDemandSupplyGroup | 
| { | 
|   #keys: '[108486.0.1858741403]' | 
|   BaseType: 'GanttChart' | 
|   Children: | 
|   [ | 
|     Component menuGanttChart1 | 
|     { | 
|       #keys: '[108486.0.1858741432]' | 
|       BaseType: 'popupGanttchart' | 
|       Children: | 
|       [ | 
|         Component PopupParent | 
|         { | 
|           #keys: '[514.0.555535]' | 
|           BaseType: 'PopupParent' | 
|           IsDerived: true | 
|           Children: | 
|           [ | 
|             Component MenuLegend { #keys: '[108486.0.1858741433]' BaseType: 'Menu' Properties: [ Image: 'COLORS' Shortcut: 'Ctrl+L' Text: 'Legend...' ] } | 
|             Component Menu4 { #keys: '[108486.0.1858741434]' BaseType: 'Menu' Properties: [ Separator: true ] } | 
|             Component MenuShowSupply { #keys: '[108486.0.1858741435]' BaseType: 'Menu' Properties: [ BindDoubleClick: true Image: 'ELEMENT_INTO' Shortcut: 'Enter' Text: 'Show supplies...' ] } | 
|             Component MenuShowDemandsSupplies { #keys: '[108486.0.1858741437]' BaseType: 'Menu' Properties: [ Checkmark: true HasMemory: true Image: 'EXCHANGE' Shortcut: 'Alt+V' Text: 'Show demands / supplies...' ] } | 
|             Component Menu2 { #keys: '[108486.0.1858741438]' BaseType: 'Menu' Properties: [ Separator: true ] } | 
|             Component MenuEditInventorySpecification { #keys: '[108486.0.1858741440]' BaseType: 'Menu' ViewSecurity: 'InventorySpecifications' Properties: [ Image: 'AVERAGE' Shortcut: 'Alt+X' Text: 'Edit inventory specification...' ] } | 
|             Component MenuNewInventorySupply { #keys: '[108486.0.1858741439]' BaseType: 'Menu' ViewSecurity: 'InventorySupplies' Properties: [ Image: 'CUBES_BLUE' Shortcut: 'Alt+Y' Text: 'New inventory supply...' ] } | 
|             Component MenuResetManualPlan { #keys: '[108486.0.1858741436]' BaseType: 'Menu' Properties: [ Image: 'trash' Shortcut: 'Alt+O' Text: 'Reset locked plan' ] } | 
|             Component MenuShowUpstreamProcesses { #keys: '[108486.0.1858741441]' BaseType: 'Menu' Properties: [ Image: 'FOLDER_INTO' Shortcut: 'Alt+U' Text: 'Show upstream processes...' ] } | 
|             Component Menu8 { #keys: '[110880.5.885591929]' BaseType: 'Menu' Properties: [ Separator: true ] } | 
|             Component MenuShowInventorySupply { #keys: '[110880.5.885594662]' BaseType: 'Menu' ViewSecurity: 'InventorySupplies' Properties: [ Image: 'FOLDER_CUBES' Shortcut: 'Alt+Z' Text: 'Show inventory supplies...' ] } | 
|             Component MenuCreateSalesDemands { #keys: '[110880.8.28704079]' BaseType: 'Menu' Properties: [ Image: 'NOTE_NEW' Shortcut: 'Alt+S' Text: 'Create sales demands' ] } | 
|             Component MenuShowTrip { #keys: '[110880.9.1045609448]' BaseType: 'Menu' ViewSecurity: 'TransportationPlanning' Properties: [ Image: 'TRUCK_RED' Shortcut: 'Alt+Enter' Text: 'Show trips...' ] } | 
|             Component MenuNewTrips { #keys: '[110880.9.1054559210]' BaseType: 'Menu' ViewSecurity: 'TransportationPlanning' Properties: [ Image: 'TRUCK_RED' Shortcut: 'Alt+N' Text: 'New trip...' ] } | 
|             Component Menu11 { #keys: '[110880.9.1109559449]' BaseType: 'Menu' Properties: [ Separator: true ] } | 
|             Component MenuResetOptimizerPlan { #keys: '[121036.0.697343425]' BaseType: 'Menu' Properties: [ Image: 'trash' Shortcut: 'Alt+Ctrl+O' Text: 'Reset optimizer plan' ] } | 
|             Component Menu12 { #keys: '[121036.0.697344163]' BaseType: 'Menu' Properties: [ Separator: true ] } | 
|             Component MenuEditIDisaggregationFactor { #keys: '[124808.0.2146091868]' BaseType: 'Menu' ViewSecurity: 'AggregatedPlanning' Properties: [ Image: 'CHEST' Shortcut: 'Alt+W' Text: 'Edit disaggregation factor...' ] } | 
|             Component Menu3 { #keys: '[122872.1.834488800]' BaseType: 'Menu' Properties: [ Separator: true ] } | 
|             Component MenuSmartPlan { #keys: '[122872.1.834494014]' BaseType: 'Menu' Properties: [ Image: 'COMPONENT_GREEN' Shortcut: 'Alt+P' Text: 'Smart plan...' ] } | 
|             Component MenuSmartPlanRows { #keys: '[124808.2.525193060]' BaseType: 'Menu' Properties: [ Image: 'COMPONENT_GREEN' Shortcut: 'Alt+Ctrl+P' Text: 'Smart plan rows...' ] } | 
|             Component MenuFilterByProductionSteps | 
|             { | 
|               #keys: '[127710.1.746503869]' | 
|               BaseType: 'Menu' | 
|               Children: | 
|               [ | 
|                 Component MenuFilterByUpstreamProducts id:MenuFilterByUpstreamProducts_971 { #keys: '[127710.1.746503870]' BaseType: 'Menu' Properties: [ Checkmark: true HasMemory: true Text: 'Filter by upstream products' Tooltip: 'Filter the product planning chart to only show the products that are in the upstream supply chain of the selected product' ] } | 
|                 Component MenuFilterByDownstreamProducts { #keys: '[127710.1.746503871]' BaseType: 'Menu' Properties: [ Checkmark: true HasMemory: true Image: 'FUNNEL_DOWN' Text: 'Filter by downstream products' Tooltip: 'Filter the product planning chart to only show the products that are in the downstream supply chain of the selected product' ] } | 
|               ] | 
|               Properties: | 
|               [ | 
|                 Image: 'FUNNEL' | 
|                 Text: 'Filter by production steps' | 
|                 ModeledStringList ChildOrdering | 
|                 { | 
|                   c: MenuFilterByUpstreamProducts_971 | 
|                   c: MenuFilterByDownstreamProducts | 
|                 } | 
|               ] | 
|             } | 
|             Component MenuShowDownstreamProcesses { #keys: '[127710.1.746514886]' BaseType: 'Menu' Properties: [ Image: 'FOLDER_INTO' Shortcut: 'Alt+D' Text: 'Show downstream processes...' ] } | 
|             Component MenuLock { #keys: '[121072.0.288128772]' BaseType: 'Menu' Properties: [ Image: 'LOCK' Shortcut: 'Alt+L' Text: 'Lock' ] } | 
|             Component MenuUnlock { #keys: '[121072.0.288129740]' BaseType: 'Menu' Properties: [ Image: 'LOCK_OPEN' Shortcut: 'Alt+Ctrl+L' Text: 'Unlock' ] } | 
|             Component MenuEditStockingPointCapacity { #keys: '[121072.0.289591101]' BaseType: 'Menu' Properties: [ Image: 'Edit' Shortcut: 'Alt+Ctrl+C' Text: 'Edit stocking point capacity...' ] } | 
|           ] | 
|           Properties: | 
|           [ | 
|             ModeledStringList ChildOrdering | 
|             { | 
|               c: MenuActions | 
|               c: MenuFilter | 
|               c: MenuFilterByProductionSteps | 
|               c: MenuNavigation | 
|               c: MenuLegend | 
|               c: Menu4 | 
|               c: MenuSmartPlan | 
|               c: MenuSmartPlanRows | 
|               c: MenuLock | 
|               c: MenuUnlock | 
|               c: Menu3 | 
|               c: MenuShowDemandsSupplies | 
|               c: MenuShowSupply | 
|               c: MenuNewTrips | 
|               c: MenuShowTrip | 
|               c: MenuNewInventorySupply | 
|               c: MenuShowInventorySupply | 
|               c: Menu12 | 
|               c: MenuResetManualPlan | 
|               c: MenuResetOptimizerPlan | 
|               c: Menu2 | 
|               c: MenuEditStockingPointCapacity | 
|               c: MenuEditIDisaggregationFactor | 
|               c: MenuEditInventorySpecification | 
|               c: Menu11 | 
|               c: MenuCreateSalesDemands | 
|               c: Menu8 | 
|               c: MenuShowUpstreamProcesses | 
|               c: MenuShowDownstreamProcesses | 
|             } | 
|           ] | 
|         } | 
|       ] | 
|       Properties: | 
|       [ | 
|         PosX: 44 | 
|         PosY: 57 | 
|         SizePosition: 'lt81 107 37 63' | 
|       ] | 
|     } | 
|     Component menuGanttChartRows1 | 
|     { | 
|       #keys: '[108486.0.1858741420]' | 
|       BaseType: 'popupGanttchartRows' | 
|       Children: | 
|       [ | 
|         Component PopupParent id:PopupParent_1 | 
|         { | 
|           #keys: '[530.0.59473]' | 
|           BaseType: 'PopupParent' | 
|           IsDerived: true | 
|           Children: | 
|           [ | 
|             Component MenuSortGanttChartRows | 
|             { | 
|               #keys: '[104128.0.40951323]' | 
|               BaseType: 'MenuSortGanttChartRows' | 
|               IsDerived: true | 
|               Children: | 
|               [ | 
|                 Component menuGCRMoveToTop { #keys: '[104128.0.40961065]' BaseType: 'menuGCRMoveToTop' IsDerived: true ResponseDefinitions: [ ResponseDefinition OnClick id:Responsedef_GanttChartDemandSupplyGroup_menuGCRMoveToTop_OnClick | 
|                     { | 
|                       #keys: '[104220.0.341400416]' | 
|                       IsInherited: false | 
|                       ResponseType: 'OnClick' | 
|                       Arguments: | 
|                       [ | 
|                         ResponseDefinitionArgument row | 
|                         { | 
|                           #keys: '[104220.0.341404843]' | 
|                           Binding: 'GanttChartDemandSupplyGroup.ContextMenuRowObject()' | 
|                         } | 
|                       ] | 
|                     } | 
|                   ] } | 
|                 Component menuGCRMoveUp { #keys: '[104128.0.40963528]' BaseType: 'menuGCRMoveUp' IsDerived: true ResponseDefinitions: [ ResponseDefinition OnClick id:Responsedef_GanttChartDemandSupplyGroup_menuGCRMoveUp_OnClick | 
|                     { | 
|                       #keys: '[104220.0.341445251]' | 
|                       IsInherited: false | 
|                       ResponseType: 'OnClick' | 
|                       Arguments: | 
|                       [ | 
|                         ResponseDefinitionArgument row | 
|                         { | 
|                           #keys: '[104220.0.341445252]' | 
|                           Binding: 'GanttChartDemandSupplyGroup.ContextMenuRowObject()' | 
|                         } | 
|                       ] | 
|                     } | 
|                   ] } | 
|                 Component menuGCRMoveDown { #keys: '[104128.0.40966471]' BaseType: 'menuGCRMoveDown' IsDerived: true ResponseDefinitions: [ ResponseDefinition OnClick id:Responsedef_GanttChartDemandSupplyGroup_menuGCRMoveDown_OnClick | 
|                     { | 
|                       #keys: '[104220.0.341473288]' | 
|                       IsInherited: false | 
|                       ResponseType: 'OnClick' | 
|                       Arguments: | 
|                       [ | 
|                         ResponseDefinitionArgument row | 
|                         { | 
|                           #keys: '[104220.0.341474697]' | 
|                           Binding: 'GanttChartDemandSupplyGroup.ContextMenuRowObject()' | 
|                         } | 
|                       ] | 
|                     } | 
|                   ] } | 
|                 Component menuGCRMoveToBottom { #keys: '[104128.0.40968902]' BaseType: 'menuGCRMoveToBottom' IsDerived: true ResponseDefinitions: [ ResponseDefinition OnClick id:Responsedef_GanttChartDemandSupplyGroup_menuGCRMoveToBottom_OnClick | 
|                     { | 
|                       #keys: '[104220.0.341517322]' | 
|                       IsInherited: false | 
|                       ResponseType: 'OnClick' | 
|                       Arguments: | 
|                       [ | 
|                         ResponseDefinitionArgument row | 
|                         { | 
|                           #keys: '[104220.0.341518731]' | 
|                           Binding: 'GanttChartDemandSupplyGroup.ContextMenuRowObject()' | 
|                         } | 
|                       ] | 
|                     } | 
|                   ] } | 
|                 Component MenuEditDisplayIndex { #keys: '[112610.0.975197348]' BaseType: 'Menu' Properties: [ Image: 'UP_DOWN_QUESTION' Text: 'Edit display index...' ] } | 
|               ] | 
|               Properties: | 
|               [ | 
|                 ModeledStringList ChildOrdering | 
|                 { | 
|                   c: MenuEditDisplayIndex | 
|                   c: MenuSortGanttChartRows1 | 
|                   c: Menu2_1 | 
|                   c: menuGCRMoveToTop | 
|                   c: menuGCRMoveUp | 
|                   c: menuGCRMoveDown | 
|                   c: menuGCRMoveToBottom | 
|                 } | 
|               ] | 
|             } | 
|             Component MenuFilter id:MenuFilter_1 | 
|             { | 
|               #keys: '[104128.0.41519836]' | 
|               BaseType: 'MenuFilter' | 
|               IsDerived: true | 
|               Children: | 
|               [ | 
|                 Component MenuFIlterByProducts { #keys: '[127710.1.1026457799]' BaseType: 'Menu' Properties: [ Checked: true Checkmark: true Text: 'Products' ] } | 
|                 Component MenuFIlterByStockingPoints { #keys: '[127710.1.1026458341]' BaseType: 'Menu' Properties: [ Checked: true Checkmark: true Text: 'Stocking points' ] } | 
|                 Component menuSeparator160 { #keys: '[127710.1.1026458945]' BaseType: 'Menu' Properties: [ Separator: true ] } | 
|                 Component MenuFIlterByPeriods { #keys: '[131438.0.418823075]' BaseType: 'Menu' Properties: [ Checked: true Checkmark: true Text: 'Periods' ] } | 
|               ] | 
|               Properties: | 
|               [ | 
|                 ModeledStringList ChildOrdering | 
|                 { | 
|                   c: menuEditFilter | 
|                   c: MenuFIlterByProducts | 
|                   c: MenuFIlterByStockingPoints | 
|                   c: MenuStoredFilters | 
|                   c: MenuFIlterByPeriods | 
|                   c: menuSeparator160 | 
|                   c: MenuClearFilter | 
|                   c: Menu_1 | 
|                   c: menuHideGanttchartRow | 
|                   c: MenuUnhideAllRows | 
|                   c: Menu1_1 | 
|                   c: menuShowAllGanttChartRows | 
|                 } | 
|               ] | 
|             } | 
|             Component MenuLegend id:MenuLegend_1 { #keys: '[108486.0.1858741423]' BaseType: 'Menu' Properties: [ Image: 'COLORS' Shortcut: 'Ctrl+L' Text: 'Legend...' ] } | 
|             Component MenuHideDSUnusedRows { #keys: '[108486.0.1858741421]' BaseType: 'Menu' Properties: [ Checkmark: true Text: 'Hide unused rows' ] } | 
|             Component MenuHideBalancedRows { #keys: '[108486.0.1858741422]' BaseType: 'Menu' Properties: [ Checkmark: true Text: 'Hide balanced rows' ] } | 
|             Component MenuPegDemandsToSupplies { #keys: '[108486.1.1592764257]' BaseType: 'Menu' ViewSecurity: 'Pegging' Properties: [ Image: 'STEP' Text: 'Peg demands to supplies' ] } | 
|             Component Menu6 { #keys: '[108486.2.918953401]' BaseType: 'Menu' Properties: [ Separator: true ] } | 
|             Component Menu7 { #keys: '[108486.2.918961293]' BaseType: 'Menu' Properties: [ Separator: true ] } | 
|             Component MenuShowAllProducts { #keys: '[110880.5.1650587154]' BaseType: 'Menu' Properties: [ Image: 'NAVIGATE_DOWN2' Text: 'Show all products' ] } | 
|             Component MenuHideAllProducts { #keys: '[110880.5.1650590454]' BaseType: 'Menu' Properties: [ Image: 'NAVIGATE_RIGHT2' Text: 'Hide all products' ] } | 
|             Component MenuShowHideProducts { #keys: '[110880.5.1650593219]' BaseType: 'Menu' Properties: [ BindDoubleClick: true Text: 'Show / Hide products' ] } | 
|             Component MenuShowDashboard { #keys: '[110880.5.1891685043]' BaseType: 'Menu' Properties: [ Checkmark: true HasMemory: true Text: 'Show dashboard' ] } | 
|             Component Menu5 { #keys: '[110880.6.379876597]' BaseType: 'Menu' Properties: [ Separator: true ] } | 
|             Component MenuShowSystemUserInfo { #keys: '[110880.7.1048250042]' BaseType: 'Menu' Properties: [ Checkmark: true HasMemory: true Text: 'Use user configuration' ] } | 
|             Component Menu9 { #keys: '[110880.9.773576316]' BaseType: 'Menu' Properties: [ Separator: true ] } | 
|             Component MenuShowSuppliedByOperations { #keys: '[110880.9.785598573]' BaseType: 'Menu' Properties: [ Checked: true Checkmark: true HasMemory: true Text: 'Show supplied by operations' ] } | 
|             Component MenuShowTransportedByLanes { #keys: '[110880.9.785600688]' BaseType: 'Menu' ViewSecurity: 'TransportationPlanning' Properties: [ Checked: true Checkmark: true HasMemory: true Text: 'Show transported by lanes' ] } | 
|             Component Menu10 { #keys: '[112884.1.1412508372]' BaseType: 'Menu' Properties: [ Separator: true ] } | 
|             Component MenuSmartPlanForGanttChartRows { #keys: '[124808.2.276335699]' BaseType: 'Menu' Properties: [ Image: 'COMPONENT_GREEN' Shortcut: 'Alt+P' Text: 'Smart plan...' ] } | 
|             Component Menu13 { #keys: '[124808.2.276335891]' BaseType: 'Menu' Properties: [ Separator: true ] } | 
|             Component MenuToggleIsNegativeInventoryAllowed { #keys: '[124808.2.617171315]' BaseType: 'Menu' Properties: [ Checkmark: true Image: 'CHECKEDCHECKBOX' Text: 'Allow negative inventory' Tooltip: 'Allows negative inventory on this product in stocking point.' ] } | 
|           ] | 
|           Properties: | 
|           [ | 
|             ModeledStringList ChildOrdering | 
|             { | 
|               c: MenuFilter_1 | 
|               c: MenuSortGanttChartRows | 
|               c: MenuLegend_1 | 
|               c: Menu6 | 
|               c: MenuSmartPlanForGanttChartRows | 
|               c: Menu13 | 
|               c: MenuShowAllProducts | 
|               c: MenuHideAllProducts | 
|               c: MenuShowHideProducts | 
|               c: Menu5 | 
|               c: MenuHideDSUnusedRows | 
|               c: MenuHideBalancedRows | 
|               c: Menu7 | 
|               c: MenuShowTransportedByLanes | 
|               c: MenuShowSuppliedByOperations | 
|               c: Menu9 | 
|               c: MenuToggleIsNegativeInventoryAllowed | 
|               c: MenuPegDemandsToSupplies | 
|               c: Menu10 | 
|               c: MenuShowDashboard | 
|               c: MenuShowSystemUserInfo | 
|             } | 
|           ] | 
|         } | 
|       ] | 
|       Properties: | 
|       [ | 
|         PosX: 15 | 
|         PosY: 55 | 
|         SizePosition: 'lt10 36 100 126' | 
|       ] | 
|     } | 
|     Component ChartMarkingStartOfPlanningHorizon | 
|     { | 
|       #keys: '[108486.0.1858741442]' | 
|       BaseType: 'ChartMarking' | 
|       Properties: | 
|       [ | 
|         MarkPosition: 'guard(MacroPlan.StartOfPlanning(), DateTime::Now())' | 
|         PosX: 114 | 
|         PosY: 57 | 
|         SizePosition: 'lt141 167 39 65' | 
|       ] | 
|     } | 
|     Component NavigationToolbar | 
|     { | 
|       #keys: '[108486.0.1858741448]' | 
|       BaseType: 'NavigationToolbar' | 
|       GBLayout | 
|       { | 
|         Type: 'internal[GBLayoutDefinition]' | 
|         Columns: | 
|         [ | 
|           GBFlow.Column { grow: 0 id: 439 parent: 0 } | 
|           GBFlow.Column { grow: 0 id: 135 parent: 0 } | 
|           GBFlow.Column { grow: 128 id: 1 parent: 0 } | 
|         ] | 
|         Elements: | 
|         [ | 
|           GBElement | 
|           { | 
|             Component => /dpNavigationPanel | 
|             Position { startcolumn: 1 startrow: 2 endcolumn: 1 endrow: 2 } | 
|           } | 
|           GBElement | 
|           { | 
|             Component => ImageFilterBy889 | 
|             Position { startcolumn: 135 startrow: 2 endcolumn: 135 endrow: 488 } | 
|           } | 
|           GBElement | 
|           { | 
|             Component => ImageWarningSizing | 
|             Position { startcolumn: 439 startrow: 2 endcolumn: 439 endrow: 488 } | 
|           } | 
|         ] | 
|         Gaps: [ left: 5 right: 5 top: 0 bottom: 0 inner: 5 ] | 
|         Rows: | 
|         [ | 
|           GBFlow.Row { grow: 0 id: 2 parent: 0 } | 
|           GBFlow.Row { grow: 128 id: 488 parent: 0 } | 
|         ] | 
|       } | 
|       Children: | 
|       [ | 
|         #child: dpNavigationPanel | 
|         Component ImageFilterBy889 | 
|         { | 
|           #keys: '[127710.1.1041563478]' | 
|           BaseType: 'Image' | 
|           Properties: | 
|           [ | 
|             Image: 'FUNNEL' | 
|             Tooltip: 'Filter the Product planning Gantt chart based on the selection in the navigation panel.' | 
|             Transparent: true | 
|           ] | 
|         } | 
|         Component ImageWarningSizing | 
|         { | 
|           #keys: '[136770.0.52937006]' | 
|           BaseType: 'Image' | 
|           Properties: | 
|           [ | 
|             Image: 'WARNING' | 
|             Tooltip: 'This form is read-only because the size of the dataset is violating the sizing parameters.<br>Please reduce the size of the dataset to regain functionality.<br>The sizing parameters can be found in Edit > Configuration > Sizing parameters.' | 
|             Transparent: true | 
|           ] | 
|         } | 
|       ] | 
|       Properties: | 
|       [ | 
|         Priority: 3 | 
|         Size: 32 | 
|         ModeledStringList ChildOrdering | 
|         { | 
|           c: dpNavigationPanel | 
|           c: ImageFilterBy889 | 
|           c: ImageWarningSizing | 
|         } | 
|       ] | 
|     } | 
|     Component Font | 
|     { | 
|       #keys: '[108486.0.1858741447]' | 
|       BaseType: 'Font' | 
|       Properties: | 
|       [ | 
|         Bold: true | 
|         FontName: 'Arial Black' | 
|         Italic: true | 
|         PosX: 77 | 
|         PosY: 57 | 
|         Size: 9 | 
|         SizePosition: 'lt112 138 38 64' | 
|         Underlined: true | 
|       ] | 
|     } | 
|     Component DataHolderUpstreamPISPs | 
|     { | 
|       #keys: '[112884.1.670130849]' | 
|       BaseType: 'DataHolder' | 
|       Databinding: 'structured[ProductInStockingPoint_MP]*' | 
|       Properties: | 
|       [ | 
|         PosX: 17 | 
|         PosY: 26 | 
|         ShowName: true | 
|       ] | 
|     } | 
|     #child: GanttChartRowDefinitionStockingPoint | 
|     Component UserConfigurableInformation | 
|     { | 
|       #keys: '[112884.1.975332292]' | 
|       BaseType: 'UserConfigurableInformation' | 
|       Properties: | 
|       [ | 
|         Identification: 'Historical period' | 
|         ObjectBackgroundColor: 'ColorScheme.Period_HistoricalPeriods' | 
|         ObjectType: 'Period_MP' | 
|         PosX: 87 | 
|         PosY: 105 | 
|         SizePosition: 'lt106 132 89 115' | 
|       ] | 
|     } | 
|     Component UserConfigurableInformationStockingPointInPeriod | 
|     { | 
|       #keys: '[112884.1.975332541]' | 
|       BaseType: 'UserConfigurableInformation' | 
|       Properties: | 
|       [ | 
|         Identification: 'Stocking point in period' | 
|         ObjectBackgroundColor: 'White' | 
|         ObjectText: 'VALUE( MacroPlan::GetDisplayValue( object.InventoryLevelEnd() )  )' | 
|         ObjectType: 'StockingPointInPeriod' | 
|         PosX: 52 | 
|         PosY: 139 | 
|         SizePosition: 'lt50 76 117 143' | 
|         TooltipText: | 
|         [* | 
|           <table> | 
|           <tr> | 
|           <td><b>Unit of measurement </b></td> | 
|           <td>VALUE( object..StockingPoint_MP().UnitOfMeasure_MP().Name() )</td> | 
|           </tr> | 
|           </table> | 
|           <hr> | 
|           <table> | 
|           <tr> | 
|           <td><font color="#0000FF"><b>Inventory end (quantity)</b></font></td> | 
|           <td><font color="#0000FF">VALUE( MacroPlan::GetDisplayValue( object.InventoryLevelEnd() ) )</font></td> | 
|           <td></td> | 
|           <td><b>Inventory holding cost </b></td> | 
|           <td>VALUE(object.TotalInventoryHoldingCost()) </td> | 
|           </tr> | 
|           <tr><td>Inventory end (days)</td><td>VALUE(object.StockLevelInDays())</td></tr> | 
|           <tr> | 
|           <td><font color="#088A08"><b>Total supply </b></font></td> | 
|           <td><font color="#088A08">VALUE(object.SupplyQuantity())</font></td> | 
|           <td></td> | 
|           <td><font color="#FF8000"><b>Total demand </b><font></td> | 
|           <td><font color="#FF8000">VALUE(object.DemandQuantity())</font></td> | 
|           </tr> | 
|            | 
|           </br> | 
|            | 
|           <tr> | 
|           <td><b>Inventory start </b></td> | 
|           <td>VALUE(object.Previous().InventoryLevelEnd())</td> | 
|           <td></td> | 
|           <td><b>Sales demand </b></td> | 
|           <td>VALUE(object.SalesDemandQuantity())</td> | 
|           </tr> | 
|            | 
|           <tr> | 
|           <td><b>New supply </b></td> | 
|           <td>VALUE(object.NewSupplyQuantity())</td> | 
|           <td></td> | 
|           <td><b>Dependent demand </b></td> | 
|           <td>VALUE(object.DependentDemandQuantity())</td> | 
|           </tr> | 
|            | 
|           <tr> | 
|           <td><b>Inventory supply </b></td> | 
|           <td>VALUE(object.InventorySupplyQuantity())</td> | 
|           <td></td> | 
|           <td><b>Target inventory level </b></td> | 
|           <td>VALUE(object.TargetInventoryLevel())</td> | 
|           </tr> | 
|           </table> | 
|         *] | 
|       ] | 
|     } | 
|     Component UserConfigurableInformationPISP | 
|     { | 
|       #keys: '[112884.1.975332797]' | 
|       BaseType: 'UserConfigurableInformation' | 
|       Properties: | 
|       [ | 
|         Identification: 'Product' | 
|         ObjectText: 'VALUE( object.IndentationSymbol() ) VALUE( object.Product_MP().Name() )  VALUE( object.ImgIsExcluded() )' | 
|         ObjectType: 'ProductInStockingPoint_MP' | 
|         PosX: 91 | 
|         PosY: 137 | 
|         SizePosition: 'lt28 54 3 29' | 
|         TooltipText: | 
|         [* | 
|           <table> | 
|           <tr><td><b>Product</b></td><td>VALUE(object.Product_MP().Name())</td></tr> | 
|           <tr><td><b>Unit of measurement</b></td><td>VALUE(object.UnitOfMeasureName())</td></tr> | 
|           <tr><td><b>Supplied by</b></td><td>VALUE(object.ImgIsTransportedByLane())VALUE(object.ImgIsSuppliedByOperation())</td></tr> | 
|           </table> | 
|         *] | 
|       ] | 
|     } | 
|     Component UserConfigurableInformationStockingPointSystem | 
|     { | 
|       #keys: '[112884.1.975333042]' | 
|       BaseType: 'UserConfigurableInformation' | 
|       Properties: | 
|       [ | 
|         CanConfigure: false | 
|         Identification: 'Stocking point' | 
|         ObjectText: '<b>VALUE("▼  "+object.Name() ) </b>  VALUE(object.ImgIsBottleneck())' | 
|         ObjectType: 'StockingPoint_MP' | 
|         PosX: 54 | 
|         PosY: 181 | 
|         SizePosition: 'lt27 53 3 29' | 
|         TooltipText: | 
|         [* | 
|           <table> | 
|           <tr><td><b>Stocking point</b></td><td>VALUE(object.Name())</td></tr> | 
|           <tr><td><b>Unit of measurement</b></td><td>VALUE(object.UnitOfMeasureName())</td></tr> | 
|           </table> | 
|         *] | 
|       ] | 
|     } | 
|     Component UserConfigurableInformationStockingPointUser | 
|     { | 
|       #keys: '[112884.1.975333309]' | 
|       BaseType: 'UserConfigurableInformation' | 
|       Properties: | 
|       [ | 
|         Identification: 'Stocking point' | 
|         ObjectText: '<b>VALUE(object.Name()) </b> VALUE(object.ImgIsBottleneck())' | 
|         ObjectType: 'StockingPoint_MP' | 
|         PosX: 91 | 
|         PosY: 181 | 
|         SizePosition: 'lt27 53 3 29' | 
|         TooltipText: | 
|         [* | 
|           <table> | 
|           <tr><td><b>Stocking point</b></td><td>VALUE(object.Name())</td></tr> | 
|           <tr><td><b>Unit of measurement</b></td><td>VALUE(object.UnitOfMeasureName())</td></tr> | 
|           </table> | 
|         *] | 
|       ] | 
|     } | 
|     Component GUIDataExtractorStockingPointsForProductPlanning | 
|     { | 
|       #keys: '[127710.1.1026450441]' | 
|       BaseType: 'GUIDataExtractor' | 
|       Properties: | 
|       [ | 
|         Component: 'DataHolderChildStockingPoints' | 
|         DataType: 'structured[StockingPoint_MP]' | 
|         PosX: 138 | 
|         PosY: 141 | 
|         Transformation: 'Elements' | 
|       ] | 
|     } | 
|     Component UserConfigurableInformationPISPIP | 
|     { | 
|       #keys: '[133968.0.459325563]' | 
|       BaseType: 'UserConfigurableInformation' | 
|       Properties: | 
|       [ | 
|         Identification: 'Product in stocking point in period' | 
|         ObjectBackgroundColor: 'White' | 
|         ObjectText: 'VALUE( object.ImgHasManualDecision() )VALUE( object.ImgHasFeedback() )VALUE( MacroPlan::GetDisplayValue( ifexpr( object.HasFulfilledAllDemand(), object.InventoryLevelEnd(), ifexpr( object.ChildOfProductDimension( relsize ) > 0, -object.GetUnfulfilledQuantity(), ( object.SupplyQuantity() - object.GetDemandQuantity() - object.OptimizerReservedQuantity() ) ) ) ) )' | 
|         ObjectType: 'ProductInStockingPointInPeriod' | 
|         PosX: 50 | 
|         PosY: 98 | 
|         SizePosition: 'lt50 76 89 115' | 
|         TooltipText: | 
|         [* | 
|           <table> | 
|           <tr> | 
|           <td><b>Unit of measurement </b></td> | 
|           <td>VALUE( object.ProductInStockingPoint_MP().UnitOfMeasure_MP().Name() )</td> | 
|           </tr> | 
|           </table> | 
|           <hr> | 
|           <table> | 
|           <td><font color="#0000FF"><b>Inventory end (quantity)</b></font></td> | 
|           <td><font color="#0000FF">VALUE( MacroPlan::GetDisplayValue( object.InventoryLevelEnd() ) )</font></td> | 
|           <td></td> | 
|           <td><b>Inventory holding cost </b></td> | 
|           <td>VALUE(object.TotalBaseInventoryHoldingCost())</td> | 
|           <td>VALUE( ifexpr( object.IsLeaf(), '[' + object.TotalBaseInventoryHoldingCostPerQuantity().Format('N(Dec(2))') + object.ProductInStockingPoint_MP().StockingPoint_MP().Currency_MP().Symbol()  + '/' + object.ProductInStockingPoint_MP().UnitOfMeasure_MP().Name() + ']', '' ) ) </td> | 
|           </tr> | 
|           <tr><td>Inventory end (days)</td><td>VALUE(object.StockLevelInDays())</td></tr> | 
|           <tr> | 
|           <td><font color="#088A08"><b>Total supply </b></font></td> | 
|           <td><font color="#088A08">VALUE(object.SupplyQuantity())</font></td> | 
|           <td></td> | 
|           <td><font color="#FF8000"><b>Total demand </b><font></td> | 
|           <td><font color="#FF8000">VALUE(object.GetDemandQuantity())</font></td> | 
|           </tr> | 
|            | 
|           <br /> | 
|            | 
|           <tr> | 
|           <td><b>Inventory start </b></td> | 
|           <td>VALUE( MacroPlan::GetDisplayValue( object.InventoryLevelStartPISPIP().InventoryLevelEnd() ) )</td> | 
|           <td></td> | 
|           <td><b>Sales demand </b></td> | 
|           <td>VALUE(object.SalesDemandQuantity())</td> | 
|           </tr> | 
|            | 
|           <tr> | 
|           <td><b>New supply </b></td> | 
|           <td>VALUE(object.NewSupplyQuantity())</td> | 
|           <td></td> | 
|           <td><b>Dependent demand </b></td> | 
|           <td>VALUE(object.DependentDemandQuantity())</td> | 
|           </tr> | 
|            | 
|           <tr> | 
|           <td><b>Inventory supply </b></td> | 
|           <td>VALUE(object.InventorySupplyQuantity())</td> | 
|           <td></td> | 
|           <td><b>VALUE( ifexpr( object.TargetInventoryLevel() >= object.MinInventoryLevel() , 'Target inventory level', 'Minimum inventory level' ) ) </b></td> | 
|           <td>VALUE( ifexpr( object.TargetInventoryLevel() >= object.MinInventoryLevel() , object.TargetInventoryLevel(), object.MinInventoryLevel() ) )</td> | 
|           </tr> | 
|           </table> | 
|         *] | 
|       ] | 
|     } | 
|   ] | 
|   Properties: | 
|   [ | 
|     BackgroundColor: 'ButtonHighlight' | 
|     ContextMenu: 'menuGanttChart1' | 
|     FastSynchronization: true | 
|     NavigationRangeManager: | 
|     [* | 
|       { | 
|         Name := '1 Day' | 
|         Interval := 2 | 
|         Count := 1 | 
|         Offset := 0 | 
|         Interval := 1 | 
|         Count := 2 | 
|         Offset := 0 | 
|         IntervalStartType := 2 | 
|         Item := 0 | 
|       } | 
|       { | 
|         Name := '2 Days' | 
|         Interval := 2 | 
|         Count := 2 | 
|         Offset := 0 | 
|         Interval := 1 | 
|         Count := 2 | 
|         Offset := 0 | 
|         IntervalStartType := 2 | 
|         Item := 0 | 
|       } | 
|       { | 
|         Name := '4 Days' | 
|         Interval := 2 | 
|         Count := 4 | 
|         Offset := 0 | 
|         Interval := 1 | 
|         Count := 2 | 
|         Offset := 0 | 
|         IntervalStartType := 2 | 
|         Item := 0 | 
|       } | 
|       { | 
|         Name := '1 Week' | 
|         Interval := 3 | 
|         Count := 1 | 
|         Offset := 0 | 
|         Interval := 1 | 
|         Count := 2 | 
|         Offset := 0 | 
|         IntervalStartType := 3 | 
|         Item := 0 | 
|       } | 
|       { | 
|         Name := '2 Weeks' | 
|         Interval := 3 | 
|         Count := 2 | 
|         Offset := 0 | 
|         Interval := 2 | 
|         Count := 1 | 
|         Offset := 0 | 
|         IntervalStartType := 3 | 
|         Item := 0 | 
|       } | 
|       { | 
|         Name := '4 Weeks' | 
|         Interval := 3 | 
|         Count := 4 | 
|         Offset := 0 | 
|         Interval := 2 | 
|         Count := 1 | 
|         Offset := 0 | 
|         IntervalStartType := 3 | 
|         Item := 0 | 
|       } | 
|       { | 
|         Name := '1 Month' | 
|         Interval := 4 | 
|         Count := 1 | 
|         Offset := 0 | 
|         Interval := 2 | 
|         Count := 2 | 
|         Offset := 0 | 
|         IntervalStartType := 4 | 
|         Item := 1 | 
|       } | 
|       { | 
|         Name := '3 Months' | 
|         Interval := 4 | 
|         Count := 3 | 
|         Offset := 0 | 
|         Interval := 3 | 
|         Count := 1 | 
|         Offset := 0 | 
|         IntervalStartType := 4 | 
|         Item := 1 | 
|       } | 
|       { | 
|         Name := '6 Months' | 
|         Interval := 4 | 
|         Count := 6 | 
|         Offset := 0 | 
|         Interval := 3 | 
|         Count := 1 | 
|         Offset := 0 | 
|         IntervalStartType := 4 | 
|         Item := 1 | 
|       } | 
|       { | 
|         Name := '1 Year' | 
|         Interval := 5 | 
|         Count := 1 | 
|         Offset := 0 | 
|         Interval := 3 | 
|         Count := 1 | 
|         Offset := 0 | 
|         IntervalStartType := 6 | 
|         Item := 1 | 
|       } | 
|       { | 
|         Name := '5 Years' | 
|         Interval := 5 | 
|         Count := 5 | 
|         Offset := 0 | 
|         Interval := 4 | 
|         Count := 1 | 
|         Offset := 0 | 
|         IntervalStartType := 6 | 
|         Item := 1 | 
|       } | 
|     *] | 
|     RowContextMenu: 'menuGanttChartRows1' | 
|     RowLines: true | 
|     ScaleHeight: 22 | 
|     ScrollOnHighlight: true | 
|     SizePosition: 'ss0 0 0 0' | 
|     StatusbarTimeFormat: 'D2-M2-Y' | 
|     ModeledStringList ChildOrdering | 
|     { | 
|       c: menuGanttChartRows1 | 
|       c: menuGanttChart1 | 
|       c: NavigationToolbar | 
|       c: ChartMarkingStartOfPlanningHorizon | 
|       c: UserConfigurableInformationStockingPointInPeriod | 
|       c: UserConfigurableInformationPISP | 
|       c: UserConfigurableInformationStockingPointSystem | 
|       c: UserConfigurableInformation | 
|       c: Font | 
|       c: UserConfigurableInformationStockingPointUser | 
|       c: GanttChartRowDefinitionStockingPoint | 
|       c: DataHolderUpstreamPISPs | 
|       c: GUIDataExtractorStockingPointsForProductPlanning | 
|       c: UserConfigurableInformationPISPIP | 
|     } | 
|   ] | 
|   ResponseDefinitions: | 
|   [ | 
|     DelegatedResponseDefinition OnClick id:Responsedef_GanttChartDemandSupplyGroup_Menu_OnClick | 
|     { | 
|       #keys: '[11660.0.111672756]' | 
|       Initiator: 'Menu' | 
|       IsInherited: false | 
|       ResponseType: 'OnClick' | 
|       Arguments: | 
|       [ | 
|         ResponseDefinitionArgument selection | 
|         { | 
|           #keys: '[11660.0.111672757]' | 
|           Binding: 'GanttChartDemandSupplyGroup.Selection()' | 
|         } | 
|         ResponseDefinitionArgument row | 
|         { | 
|           #keys: '[11660.0.111672764]' | 
|           Binding: 'this.ContextMenuRowObject()' | 
|         } | 
|       ] | 
|     } | 
|     DelegatedResponseDefinition OnClick id:Responsedef_GanttChartDemandSupplyGroup_GUIButtonBase_OnClick | 
|     { | 
|       #keys: '[11660.0.111672771]' | 
|       Initiator: 'GUIButtonBase' | 
|       IsInherited: false | 
|       ResponseType: 'OnClick' | 
|       Arguments: | 
|       [ | 
|         ResponseDefinitionArgument selection | 
|         { | 
|           #keys: '[11660.0.111672772]' | 
|           Binding: 'this.Selection()' | 
|         } | 
|         ResponseDefinitionArgument row | 
|         { | 
|           #keys: '[11660.0.111672779]' | 
|           Binding: 'this.ContextMenuRowObject()' | 
|         } | 
|       ] | 
|     } | 
|   ] | 
| } |