| Quintiq file version 2.0 | 
| Component CustomDrawRC | 
| { | 
|   #keys: '[139394.0.1274469910]' | 
|   BaseType: 'WebCustomDraw' | 
|   Children: | 
|   [ | 
|     #child: customdrawContextMenuRC | 
|     Component CustomDrawDataLayerRC | 
|     { | 
|       #keys: '[139394.0.1274470045]' | 
|       BaseType: 'WebCustomDrawDataLayer' | 
|       Children: | 
|       [ | 
|         Component DataExtractorRC | 
|         { | 
|           #keys: '[139394.0.1274470046]' | 
|           BaseType: 'WebDataExtractor' | 
|           Properties: | 
|           [ | 
|             DataType: 'Routing' | 
|             Source: 'DataHolderRouting' | 
|             Taborder: 0 | 
|           ] | 
|         } | 
|       ] | 
|       Properties: | 
|       [ | 
|         AutoDrawHighlighting: 'none' | 
|         AutoDrawSelection: 'none' | 
|         ContextMenu: 'customdrawContextMenuRC' | 
|         Taborder: 6 | 
|       ] | 
|     } | 
|     Component CustomDrawDataLayerRS | 
|     { | 
|       #keys: '[139394.0.1276708762]' | 
|       BaseType: 'WebCustomDrawDataLayer' | 
|       Children: | 
|       [ | 
|         Component DataExtractorRS | 
|         { | 
|           #keys: '[139394.0.1276708763]' | 
|           BaseType: 'WebDataExtractor' | 
|           Properties: | 
|           [ | 
|             DataType: 'Routing' | 
|             Source: 'DataHolderRouting' | 
|             Taborder: 0 | 
|             Transformation: 'RoutingStep' | 
|           ] | 
|         } | 
|         Component UserConfigurableInformationRS | 
|         { | 
|           #keys: '[139394.0.1282166082]' | 
|           BaseType: 'WebUserConfigurableInformation' | 
|           Properties: | 
|           [ | 
|             ObjectType: 'RoutingStep' | 
|             Taborder: 1 | 
|             Tooltip: '<table><tr><td><b>Routing step</b></td><td>VALUE( object.Name())</td></tr></table><hr><table><tr>Drop a <b>unit from the navigation panel</b> here to add the unit as an operation on the routing step</tr></table>' | 
|           ] | 
|         } | 
|       ] | 
|       Properties: | 
|       [ | 
|         ContextMenu: 'ContextMenuRoutingStep' | 
|         Taborder: 7 | 
|       ] | 
|     } | 
|     Component CustomDrawDataLayerOp | 
|     { | 
|       #keys: '[139394.0.1282171555]' | 
|       BaseType: 'WebCustomDrawDataLayer' | 
|       Children: | 
|       [ | 
|         Component DataExtractorOp | 
|         { | 
|           #keys: '[139394.0.1282171556]' | 
|           BaseType: 'WebDataExtractor' | 
|           Properties: | 
|           [ | 
|             DataType: 'Routing' | 
|             Source: 'DataHolderRouting' | 
|             Taborder: 0 | 
|             Transformation: 'RoutingStep.Operation' | 
|           ] | 
|         } | 
|         Component UserConfigurableInformationOp | 
|         { | 
|           #keys: '[139394.0.1282171691]' | 
|           BaseType: 'WebUserConfigurableInformation' | 
|           Properties: | 
|           [ | 
|             ObjectType: 'Operation' | 
|             Taborder: 1 | 
|             Text: 'VALUE( object.Unit().Name() ) VALUE(ifexpr(object.Unit().CapacityType() ~ \'Time\', \'(\'+object.Throughput().Format("N(Dec(2))")+\' \'+object.Unit().UnitOfMeasureName()+\'/Hour\'+\')\', \' \'))' | 
|             Tooltip: '<table><tr><td><b>Operation by</b></td><td>VALUE( object.Unit().Name() )</td></tr></table><hr><table><tr><td><b>Throughput</b></td><td>VALUE(ifexpr(object.Unit().CapacityType() ~ \'Time\', object.Throughput().Format("N(Dec(2))")+\' \'+object.Unit().UnitOfMeasureName()+\'/Hour\', \'-\'))</td><td><b>Lead time</b></td><td>VALUE(object.LeadTime())</td></tr><tr><td><b>VALUE(object.GetDisplayAccount())</b></td><td>VALUE(object.GetDisplayCost())</td></tr></table><hr><table><tr>Drop a <b>product</b> here to create a new input</tr><tr>Drop this <b>operation</b> on a product to create a new output</tr><tr>Drop this <b>operation</b> on an operation to create a link between the operations</tr><tr>Drop this <b>operation</b> on a routing step to change the assigned routing step</tr></table>' | 
|           ] | 
|         } | 
|       ] | 
|       Properties: | 
|       [ | 
|         ContextMenu: 'ContextMenuOp' | 
|         Taborder: 10 | 
|       ] | 
|     } | 
|     Component CustomDrawDataLayerInputGroupGrouping | 
|     { | 
|       #keys: '[139394.0.1283366448]' | 
|       BaseType: 'WebCustomDrawDataLayer' | 
|       Children: | 
|       [ | 
|         Component DataExtractorInputGroupGrouping | 
|         { | 
|           #keys: '[139394.0.1283366449]' | 
|           BaseType: 'WebDataExtractor' | 
|           Properties: | 
|           [ | 
|             DataType: 'Routing' | 
|             Source: 'DataHolderRouting' | 
|             Taborder: 0 | 
|             Transformation: 'RoutingStep.OperationInput.OperationInputGroup' | 
|           ] | 
|         } | 
|       ] | 
|       Properties: | 
|       [ | 
|         ContextMenu: 'ContextMenuOpInputOutputPISP' | 
|         Taborder: 8 | 
|       ] | 
|     } | 
|     Component CustomDrawDataLayerPISPInputNodeInRouting | 
|     { | 
|       #keys: '[139394.0.1283361994]' | 
|       BaseType: 'WebCustomDrawDataLayer' | 
|       Children: | 
|       [ | 
|         Component DataExtractorPISPInputNodeInRouting | 
|         { | 
|           #keys: '[139394.0.1283361995]' | 
|           BaseType: 'WebDataExtractor' | 
|           Properties: | 
|           [ | 
|             DataType: 'Routing' | 
|             Source: 'DataHolderRouting' | 
|             Taborder: 0 | 
|             Transformation: 'OperationInput.OperationInputPISPNode' | 
|           ] | 
|         } | 
|         Component UserConfigurableInformationPISPInputNodeInRouting | 
|         { | 
|           #keys: '[139394.0.1283355963]' | 
|           BaseType: 'WebUserConfigurableInformation' | 
|           Properties: | 
|           [ | 
|             ObjectType: 'OperationInputPISPNode' | 
|             Taborder: 1 | 
|             Tooltip: '<table><tr><td><b>Product in stocking point</b></td><td>VALUE( ifexpr( object.PISPNodeInRouting().IsFloating(), object.PISPNodeInRouting().ProductInStockingPoint_MP().Product_MP().Name(), object.PISPNodeInRouting().ProductInStockingPoint_MP().Name() ) )</td></tr></table><hr><table><tr>Drop this <b>product</b> on an operation to add as input of the operation</tr><tr>Drop an <b>operation</b> here to add this product as output of the operation</tr><tr>Drop a <b>product from the navigation panel</b> here to change the product</tr><tr>Drop a <b>stocking point from the navigation panel</b> here to change the stocking point</tr> </table>' | 
|           ] | 
|         } | 
|       ] | 
|       Properties: | 
|       [ | 
|         ContextMenu: 'ContextMenuOpInputOutputPISP' | 
|         Taborder: 9 | 
|       ] | 
|     } | 
|     Component CustomDrawDataLayerBlendingOperation | 
|     { | 
|       #keys: '[139394.0.1283380409]' | 
|       BaseType: 'WebCustomDrawDataLayer' | 
|       Children: | 
|       [ | 
|         Component UserConfigurableInformationBlending | 
|         { | 
|           #keys: '[139394.0.1283380411]' | 
|           BaseType: 'WebUserConfigurableInformation' | 
|           Properties: | 
|           [ | 
|             ObjectType: 'Operation' | 
|             Taborder: 1 | 
|             Tooltip: "<table><tr>Blending operation</tr></table><hr><table><tr><td>Input products</td><td>VALUE( selectvalues( object, OperationInputGroup.OperationInput.ProductInStockingPoint_MP.Product_MP, p, p.HasRecipe(), p.Name() ).Concatenate( ', ' ) )</td><tr></tr><td>Output products</td><td>VALUE(guard( select( object, OperationOutput.ProductInStockingPoint_MP.Product_MP , p, p.HasRecipe(), true ).Name(), '<product name>' ))</td></tr></table>" | 
|           ] | 
|         } | 
|         Component DataExtractorOpBlend | 
|         { | 
|           #keys: '[139276.1.713440273]' | 
|           BaseType: 'WebDataExtractor' | 
|           Properties: | 
|           [ | 
|             DataType: 'Routing' | 
|             Source: 'DataHolderRouting' | 
|             Taborder: 0 | 
|             Transformation: 'RoutingStep.Operation' | 
|           ] | 
|         } | 
|       ] | 
|       Properties: | 
|       [ | 
|         Taborder: 11 | 
|       ] | 
|     } | 
|     Component CustomDrawDataLayerOperationInputGroup | 
|     { | 
|       #keys: '[139394.0.1283393003]' | 
|       BaseType: 'WebCustomDrawDataLayer' | 
|       Children: | 
|       [ | 
|         Component DataExtractorOperationInputGroup | 
|         { | 
|           #keys: '[139394.0.1283393004]' | 
|           BaseType: 'WebDataExtractor' | 
|           Properties: | 
|           [ | 
|             DataType: 'Routing' | 
|             Source: 'DataHolderRouting' | 
|             Taborder: 0 | 
|             Transformation: 'RoutingStep.OperationInput.OperationInputGroup' | 
|           ] | 
|         } | 
|         Component UserConfigurableInformationOperationInputGroup | 
|         { | 
|           #keys: '[139394.0.1283392348]' | 
|           BaseType: 'WebUserConfigurableInformation' | 
|           Properties: | 
|           [ | 
|             ObjectType: 'OperationInputGroup' | 
|             Taborder: 1 | 
|             Text: 'VALUE( object.InputGroupQuantity()  ) VALUE(object.UnitOfMeasureName())' | 
|             Tooltip: "<table><tr><td><b>Input group</b></td></tr><tr><td><b>Quantity</b></td><td>VALUE(object.InputGroupQuantity() ) VALUE( ' ' + object.UnitOfMeasureName())</td></tr></table><hr><table><tr>Drop an <b>input of this operation</b> here to merge in this input group</tr><tr>Drop a <b>product</b> here to merge in this input group</tr></table>" | 
|           ] | 
|         } | 
|       ] | 
|       Properties: | 
|       [ | 
|         ContextMenu: 'ContextMenuOpInputOutputPISP' | 
|         Taborder: 12 | 
|       ] | 
|     } | 
|     Component CustomDrawDataLayerOperationInput | 
|     { | 
|       #keys: '[139394.0.1283387096]' | 
|       BaseType: 'WebCustomDrawDataLayer' | 
|       Children: | 
|       [ | 
|         Component DataExtractorOperationInput | 
|         { | 
|           #keys: '[139394.0.1283387097]' | 
|           BaseType: 'WebDataExtractor' | 
|           Properties: | 
|           [ | 
|             DataType: 'Routing' | 
|             Source: 'DataHolderRouting' | 
|             Taborder: 0 | 
|             Transformation: 'RoutingStep.OperationInput' | 
|           ] | 
|         } | 
|         Component UserConfigurableInformationOperationInput | 
|         { | 
|           #keys: '[139394.0.1283387098]' | 
|           BaseType: 'WebUserConfigurableInformation' | 
|           Properties: | 
|           [ | 
|             ObjectType: 'OperationInput' | 
|             Taborder: 1 | 
|             Text: 'VALUE( object.Quantity()  ) VALUE(object.PISPUnitOfMeasurement().Name())' | 
|             Tooltip: "<table><tr><td><b>Input from</b></td><td>VALUE(ifexpr(object.ProductInStockingPoint_MP().IsSystem(),object.BaseOperationLink().OperationOutput().Operation().Name(), object.Name()))</td><td></td><td></td></tr><tr><td><b>Quantity</b></td><td>VALUE(object.Quantity()) VALUE( ' ' + object.ProductInStockingPoint_MP().UnitOfMeasure_MP().Name())</td></tr></table><hr><table><tr>Drop a <b>product</b> here to merge into a input group</tr><tr>Drop an <b>input of this operation</b> here to merge into a input group</tr></table>" | 
|           ] | 
|         } | 
|       ] | 
|       Properties: | 
|       [ | 
|         ContextMenu: 'ContextMenuOpInputOutputPISP' | 
|         Taborder: 13 | 
|       ] | 
|     } | 
|     Component CustomDrawDataLayerOperationOutput | 
|     { | 
|       #keys: '[139394.0.1290756940]' | 
|       BaseType: 'WebCustomDrawDataLayer' | 
|       Children: | 
|       [ | 
|         Component DataExtractorOperationOutput | 
|         { | 
|           #keys: '[139394.0.1290756941]' | 
|           BaseType: 'WebDataExtractor' | 
|           Properties: | 
|           [ | 
|             DataType: 'Routing' | 
|             Source: 'DataHolderRouting' | 
|             Taborder: 0 | 
|             Transformation: 'RoutingStep.OperationOutput' | 
|           ] | 
|         } | 
|         Component UserConfigurableInformationOperationOutput | 
|         { | 
|           #keys: '[139394.0.1290772095]' | 
|           BaseType: 'WebUserConfigurableInformation' | 
|           Properties: | 
|           [ | 
|             ObjectType: 'OperationOutput' | 
|             Taborder: 1 | 
|             Text: 'VALUE( object.Quantity()  ) VALUE(object.PISPUnitOfMeasurement().Name())' | 
|             Tooltip: "<table><tr><td><b>Output</b></td><td>VALUE(object.Name())</td></tr><tr><td><b>Quantity</b></td><td>VALUE(object.Quantity() )VALUE( ' ' + object.ProductInStockingPoint_MP().UnitOfMeasure_MP().Name())</td></tr></table><hr><table><tr>Drop <b>this</b> on an operation to create a link to the operation</tr></table>" | 
|           ] | 
|         } | 
|       ] | 
|       Properties: | 
|       [ | 
|         ContextMenu: 'ContextMenuOpInputOutputPISP' | 
|         Taborder: 14 | 
|       ] | 
|     } | 
|     Component CustomDrawDataLayerExcludedOperationInput | 
|     { | 
|       #keys: '[139394.0.1292638250]' | 
|       BaseType: 'WebCustomDrawDataLayer' | 
|       Children: | 
|       [ | 
|         Component UserConfigurableInformationExcludedOperationInput | 
|         { | 
|           #keys: '[139394.0.1292648328]' | 
|           BaseType: 'WebUserConfigurableInformation' | 
|           Properties: | 
|           [ | 
|             ObjectType: 'OperationInput' | 
|             Taborder: 0 | 
|             Tooltip: 'Operation input or output is excluded from the utilization of unit.' | 
|           ] | 
|         } | 
|         Component DataExtractorOperationInput743 | 
|         { | 
|           #keys: '[139276.1.721133530]' | 
|           BaseType: 'WebDataExtractor' | 
|           Properties: | 
|           [ | 
|             DataType: 'Routing' | 
|             Source: 'DataHolderRouting' | 
|             Taborder: 1 | 
|             Transformation: 'RoutingStep.OperationInput' | 
|           ] | 
|         } | 
|       ] | 
|       Properties: | 
|       [ | 
|         Taborder: 15 | 
|       ] | 
|     } | 
|     Component CustomDrawDataLayerExcludedOperationOutput | 
|     { | 
|       #keys: '[139394.0.1292638851]' | 
|       BaseType: 'WebCustomDrawDataLayer' | 
|       Children: | 
|       [ | 
|         Component UserConfigurableInformationExcludedOperationOutput | 
|         { | 
|           #keys: '[139394.0.1292649468]' | 
|           BaseType: 'WebUserConfigurableInformation' | 
|           Properties: | 
|           [ | 
|             ObjectType: 'OperationOutput' | 
|             Taborder: 0 | 
|             Tooltip: 'Operation input or output is excluded from the utilization of unit.' | 
|           ] | 
|         } | 
|         Component DataExtractorOperationOutput642 | 
|         { | 
|           #keys: '[139276.1.721133589]' | 
|           BaseType: 'WebDataExtractor' | 
|           Properties: | 
|           [ | 
|             DataType: 'Routing' | 
|             Source: 'DataHolderRouting' | 
|             Taborder: 1 | 
|             Transformation: 'RoutingStep.OperationOutput' | 
|           ] | 
|         } | 
|       ] | 
|       Properties: | 
|       [ | 
|         Taborder: 16 | 
|       ] | 
|     } | 
|     Component CustomDrawDataLayerOperationLinkEdge | 
|     { | 
|       #keys: '[139394.0.1292636138]' | 
|       BaseType: 'WebCustomDrawDataLayer' | 
|       Children: | 
|       [ | 
|         Component DataExtractorOperationLinkEdge | 
|         { | 
|           #keys: '[139394.0.1292636139]' | 
|           BaseType: 'WebDataExtractor' | 
|           Properties: | 
|           [ | 
|             DataType: 'Routing' | 
|             Source: 'DataHolderRouting' | 
|             Taborder: 0 | 
|             Transformation: 'RoutingStep.Operation.SourceOperationLink.OperationLinkEdge' | 
|           ] | 
|         } | 
|       ] | 
|       Properties: | 
|       [ | 
|         ContextMenu: 'ContextMenuOperationLink' | 
|         Taborder: 17 | 
|       ] | 
|     } | 
|     Component CustomDrawDataLayerOperationInputEdge | 
|     { | 
|       #keys: '[139394.0.1302353904]' | 
|       BaseType: 'WebCustomDrawDataLayer' | 
|       Children: | 
|       [ | 
|         Component DataExtractorOperationInputEdge | 
|         { | 
|           #keys: '[139394.0.1302353905]' | 
|           BaseType: 'WebDataExtractor' | 
|           Properties: | 
|           [ | 
|             DataType: 'Routing' | 
|             Source: 'DataHolderRouting' | 
|             Taborder: 0 | 
|             Transformation: 'PISPNodeInRouting.PISPOperationInputEdge' | 
|           ] | 
|         } | 
|       ] | 
|       Properties: | 
|       [ | 
|         ContextMenu: 'ContextMenuOperationLink' | 
|         Taborder: 18 | 
|       ] | 
|     } | 
|     Component CustomDrawDataLayerOperationOutputEdge | 
|     { | 
|       #keys: '[139394.0.1302356354]' | 
|       BaseType: 'WebCustomDrawDataLayer' | 
|       Children: | 
|       [ | 
|         Component DataExtractorOperationOutputEdge | 
|         { | 
|           #keys: '[139394.0.1302356355]' | 
|           BaseType: 'WebDataExtractor' | 
|           Properties: | 
|           [ | 
|             DataType: 'Routing' | 
|             Source: 'DataHolderRouting' | 
|             Taborder: 0 | 
|             Transformation: 'PISPNodeInRouting.PISPOperationOutputEdge' | 
|           ] | 
|         } | 
|       ] | 
|       Properties: | 
|       [ | 
|         ContextMenu: 'ContextMenuOperationLink' | 
|         Taborder: 19 | 
|       ] | 
|     } | 
|     Component CustomDrawDataLayerOutputPISPNodeInRouting | 
|     { | 
|       #keys: '[139394.0.1306664908]' | 
|       BaseType: 'WebCustomDrawDataLayer' | 
|       Children: | 
|       [ | 
|         Component DataExtractorOutputPISPNodeInRouting | 
|         { | 
|           #keys: '[139394.0.1306664909]' | 
|           BaseType: 'WebDataExtractor' | 
|           Properties: | 
|           [ | 
|             DataType: 'Routing' | 
|             Source: 'DataHolderRouting' | 
|             Taborder: 0 | 
|             Transformation: 'OperationOutput.OperationOutputPISPNode' | 
|           ] | 
|         } | 
|         Component UserConfigurableInformationOutputPISPNodeInRouting | 
|         { | 
|           #keys: '[139394.0.1306666250]' | 
|           BaseType: 'WebUserConfigurableInformation' | 
|           Properties: | 
|           [ | 
|             ObjectType: 'OperationOutputPISPNode' | 
|             Taborder: 1 | 
|             Tooltip: '<table><tr><td><b>Product in stocking point</b></td><td>VALUE( ifexpr( object.PISPNodeInRouting().IsFloating(), object.PISPNodeInRouting().ProductInStockingPoint_MP().Product_MP().Name(), object.PISPNodeInRouting().ProductInStockingPoint_MP().Name() ) )</td></tr></table><hr><table><tr>Drop this <b>product</b> on an operation to add as input of the operation</tr><tr>Drop an <b>operation</b> here to add this product as output of the operation</tr><tr>Drop a <b>product from the navigation panel</b> here to change the product</tr><tr>Drop a <b>stockingpoint from the navigation panel</b> here to change the stockingpoint</tr> </table>' | 
|           ] | 
|         } | 
|       ] | 
|       Properties: | 
|       [ | 
|         ContextMenu: 'ContextMenuOpInputOutputPISP' | 
|         Taborder: 20 | 
|       ] | 
|     } | 
|     Component CustomDrawDataLayerOperationInputGroupEdge | 
|     { | 
|       #keys: '[139394.0.1306656146]' | 
|       BaseType: 'WebCustomDrawDataLayer' | 
|       Children: | 
|       [ | 
|         Component DataExtractorOperationInputGroupEdge | 
|         { | 
|           #keys: '[139394.0.1306656147]' | 
|           BaseType: 'WebDataExtractor' | 
|           Properties: | 
|           [ | 
|             DataType: 'Routing' | 
|             Source: 'DataHolderRouting' | 
|             Taborder: 0 | 
|             Transformation: 'OperationInput.OperationInputGroupEdge' | 
|           ] | 
|         } | 
|       ] | 
|       Properties: | 
|       [ | 
|         ContextMenu: 'ContextMenuOperationLink' | 
|         Taborder: 21 | 
|       ] | 
|     } | 
|     #child: ContextMenuOpInputOutputPISP_549 | 
|     #child: ContextMenuOp_593 | 
|     #child: ContextMenuOperationLink | 
|     #child: ContextMenuRoutingStep | 
|     Component CustomDrawDataLayerMacroPlan | 
|     { | 
|       #keys: '[139394.0.1649356437]' | 
|       BaseType: 'WebCustomDrawDataLayer' | 
|       Children: | 
|       [ | 
|         Component DataExtractorMacroPlan | 
|         { | 
|           #keys: '[139394.0.1649356438]' | 
|           BaseType: 'WebDataExtractor' | 
|           Properties: | 
|           [ | 
|             DataType: 'MacroPlan' | 
|             Source: 'MacroPlan' | 
|             Taborder: 0 | 
|           ] | 
|         } | 
|       ] | 
|       Properties: | 
|       [ | 
|         AutoDrawHighlighting: 'none' | 
|         AutoDrawSelection: 'none' | 
|         ContextMenu: 'customdrawContextMenuRC' | 
|         Taborder: 5 | 
|       ] | 
|     } | 
|   ] | 
|   Properties: | 
|   [ | 
|     Taborder: 1 | 
|   ] | 
|   ResponseDefinitions: | 
|   [ | 
|     DelegatedResponseDefinition OnClick id:Responsedef_CustomDrawRC_WebButton_OnClick | 
|     { | 
|       #keys: '[139394.0.2086142299]' | 
|       Initiator: 'WebButton' | 
|       IsInherited: false | 
|       ResponseType: 'OnClick' | 
|       Arguments: | 
|       [ | 
|         ResponseDefinitionArgument selection | 
|         { | 
|           #keys: '[6763.0.7984767]' | 
|           Binding: 'this.Selection()' | 
|         } | 
|       ] | 
|     } | 
|     DelegatedResponseDefinition OnClick id:Responsedef_CustomDrawRC_WebMenu_OnClick | 
|     { | 
|       #keys: '[139394.0.2086142300]' | 
|       Initiator: 'WebMenu' | 
|       IsInherited: false | 
|       ResponseType: 'OnClick' | 
|       Arguments: | 
|       [ | 
|         ResponseDefinitionArgument selection | 
|         { | 
|           #keys: '[6763.0.7984840]' | 
|           Binding: 'this.Selection()' | 
|         } | 
|       ] | 
|     } | 
|   ] | 
| } |