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: '
Routing stepVALUE( object.Name())

Drop a unit from the navigation panel here to add the unit as an operation on the routing step
' ] } ] 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: '
Operation byVALUE( object.Unit().Name() )

ThroughputVALUE(ifexpr(object.Unit().CapacityType() ~ \'Time\', object.Throughput().Format("N(Dec(2))")+\' \'+object.Unit().UnitOfMeasureName()+\'/Hour\', \'-\'))Lead timeVALUE(object.LeadTime())
VALUE(object.GetDisplayAccount())VALUE(object.GetDisplayCost())

Drop a product here to create a new inputDrop this operation on a product to create a new outputDrop this operation on an operation to create a link between the operationsDrop this operation on a routing step to change the assigned routing step
' ] } ] 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: '
Product in stocking pointVALUE( ifexpr( object.PISPNodeInRouting().IsFloating(), object.PISPNodeInRouting().ProductInStockingPoint_MP().Product_MP().Name(), object.PISPNodeInRouting().ProductInStockingPoint_MP().Name() ) )

Drop this product on an operation to add as input of the operationDrop an operation here to add this product as output of the operationDrop a product from the navigation panel here to change the productDrop a stocking point from the navigation panel here to change the stocking point
' ] } ] 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: "Blending operation

Input productsVALUE( selectvalues( object, OperationInputGroup.OperationInput.ProductInStockingPoint_MP.Product_MP, p, p.HasRecipe(), p.Name() ).Concatenate( ', ' ) )
Output productsVALUE(guard( select( object, OperationOutput.ProductInStockingPoint_MP.Product_MP , p, p.HasRecipe(), true ).Name(), '' ))
" ] } 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: "
Input group
QuantityVALUE(object.InputGroupQuantity() ) VALUE( ' ' + object.UnitOfMeasureName())

Drop an input of this operation here to merge in this input groupDrop a product here to merge in this input group
" ] } ] 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: "
Input fromVALUE(ifexpr(object.ProductInStockingPoint_MP().IsSystem(),object.BaseOperationLink().OperationOutput().Operation().Name(), object.Name()))
QuantityVALUE(object.Quantity()) VALUE( ' ' + object.ProductInStockingPoint_MP().UnitOfMeasure_MP().Name())

Drop a product here to merge into a input groupDrop an input of this operation here to merge into a input group
" ] } ] 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: "
OutputVALUE(object.Name())
QuantityVALUE(object.Quantity() )VALUE( ' ' + object.ProductInStockingPoint_MP().UnitOfMeasure_MP().Name())

Drop this on an operation to create a link to the operation
" ] } ] 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: '
Product in stocking pointVALUE( ifexpr( object.PISPNodeInRouting().IsFloating(), object.PISPNodeInRouting().ProductInStockingPoint_MP().Product_MP().Name(), object.PISPNodeInRouting().ProductInStockingPoint_MP().Name() ) )

Drop this product on an operation to add as input of the operationDrop an operation here to add this product as output of the operationDrop a product from the navigation panel here to change the productDrop a stockingpoint from the navigation panel here to change the stockingpoint
' ] } ] 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()' } ] } ] }