Quintiq file version 2.0
Component GanttChartCapacityPlanning
{
  #keys: '[139394.1.1196563041]'
  BaseType: 'WebGanttChart'
  Children:
  [
    #child: gcActionBarPageCapacityPlanning
    #child: gcContextMenuCapacityPlanning
    Component GanttChartRowCapacityPlanning
    {
      #keys: '[139394.1.1196563044]'
      BaseType: 'WebGanttChartRow'
      Children:
      [
        Component DataExtractorCapacityPlanning
        {
          #keys: '[139394.1.1196563045]'
          BaseType: 'WebDataExtractor'
          Properties:
          [
            DataType: 'structured[Entity]'
            Source: 'DataHolderCapacityPlanning'
            Taborder: 0
            Transformation: 'Elements'
          ]
        }
        Component GanttChartNodeCapacityPlanningUnit
        {
          #keys: '[139394.1.1196563046]'
          BaseType: 'WebGanttChartNode'
          Properties:
          [
            End: 'object.Period_MP().End()'
            FilterArguments: 'navperiods:QLibMacroPlannerWebUI::ApplicationMacroPlanner.DataHolderPeriods'
            FixedFilter: 'not object.Unit().IsForCapacityAggregation() and exists( navperiods, Elements, period, period=object.Period_MP() )'
            Relation: 'astype(Unit).UnitPeriod'
            Start: 'object.Period_MP().Start()'
            Taborder: 1
          ]
        }
        Component GanttChartRowCapacityPlanningChild
        {
          #keys: '[136682.2.832579498]'
          BaseType: 'WebGanttChartRow'
          Children:
          [
            Component GanttChartNodeCapacityPlanningChildUnit
            {
              #keys: '[136682.2.833673230]'
              BaseType: 'WebGanttChartNode'
              Properties:
              [
                End: 'object.Period_MP().End()'
                FilterArguments: 'navperiods:QLibMacroPlannerWebUI::ApplicationMacroPlanner.DataHolderPeriods'
                FixedFilter: 'exists( navperiods, Elements, period, period=object.Period_MP() )'
                Relation: 'astype(Unit).UnitPeriod'
                Start: 'object.Period_MP().Start()'
                Taborder: 0
              ]
            }
          ]
          Properties:
          [
            ContextMenu: 'gcContextMenuCapacityPlanningRow'
            Relation: 'ChildEntity'
            Taborder: 2
          ]
        }
      ]
      Properties:
      [
        Sort: 'FullHierarchyName'
        Taborder: 11
      ]
    }
    Component uciRowCapacityPlanningStockingPoint
    {
      #keys: '[139394.1.1196559225]'
      BaseType: 'WebUserConfigurableInformation'
      Properties:
      [
        ObjectType: 'StockingPoint_MP'
        Taborder: 9
        Text: '<table><tr><td>VALUE( object.Name() )</td><td></td><td>VALUE(object.ImgGanttChartSeverity() )</td><tr></table>'
        Tooltip: '<table><tr><td><b>Maximum capacity</b></td><td>VALUE( object.MaxCapacity() ) VALUE( " " + object.UnitOfMeasureName())</td></tr></table>VALUE(object.ImgGanttChartSeverity()) VALUE( object.GetWebDisplayText())'
      ]
    }
    Component uciNodeSPIP id:uciNodeSPIP_847
    {
      #keys: '[139394.1.1196618180]'
      BaseType: 'WebUserConfigurableInformation'
      Properties:
      [
        ObjectType: 'StockingPointInPeriod'
        Taborder: 0
        Text: 'VALUE( MacroPlan::GetDisplayValue( object.UtilizationPercentage() )  )VALUE( ifexpr(object.MaxCapacity() >0 or object.UtilizationPercentage()=0,\'%\', " " + object.StockingPoint_MP().UnitOfMeasureName()) )'
        Tooltip:
        [*
          <table><tr><td><b>Period </b></td><td>VALUE( object.Start() )  to VALUE(  object.End() )</td></tr><tr><td><b>Maximum capacity </b></td><td>VALUE( object.MaxCapacity() ) VALUE( " " + object.StockingPoint_MP().UnitOfMeasureName())</td></tr><tr><td><b>Used capacity </b></td><td>VALUE( object.InventoryLevelEnd() ) VALUE( " " + object.StockingPoint_MP().UnitOfMeasureName())</td></tr><tr><td><b>Free capacity </b></td><td>VALUE( maxvalue( object.MaxCapacity()- object.InventoryLevelEnd(), 0 ) ) VALUE( " " + object.StockingPoint_MP().UnitOfMeasureName())</td></tr></table>
          VALUE( object.ImgGantChartSeverity()) VALUE( object.GetWebDisplayText())
        *]
      ]
    }
    Component uciNodeUnitPeriodInFinite
    {
      #keys: '[136682.2.655017226]'
      BaseType: 'WebUserConfigurableInformation'
      Properties:
      [
        ObjectType: 'UnitPeriodInfinite'
        Taborder: 1
        Tooltip:
        [*
          <table>
          <tr><td><b>Period </b></td><td>VALUE( object.Start() ) to VALUE( object.End() )</td></tr>
          <tr><td><b>Total available capacity </b></td><td>VALUE(object.Unit().CapacityType())</td></tr>
          <tr><td><b>Used capacity </b></td><td>VALUE( object.UsedCapacity) VALUE( " " + object.Unit().UnitOfMeasureName())</td></tr><tr>
          </table>
        *]
      ]
    }
    Component uciNodeUnitPeriodTime id:uciNodeUnitPeriodTime_549
    {
      #keys: '[136682.2.656219143]'
      BaseType: 'WebUserConfigurableInformation'
      Properties:
      [
        ObjectType: 'UnitPeriodTimeBase'
        Precondition: 'not object.Unit().IsForCapacityAggregation()'
        Taborder: 2
        Text: "VALUE( object.ImgHasFeedback() )VALUE( ifexpr( object.IsUtilizationInUOM(), object.UsedCapacity().HoursAsReal(),  object.UtilizationPercentage() * object.MaximumLoadPercentage() / 100 ) )VALUE( ifexpr( object.IsUtilizationInUOM() , Translations::MP_GlobalParameters_Hour(), '%' ) )"
        Tooltip:
        [*
          <table><tr><td><b>Period</b></td><td>VALUE ( object.Start() ) to VALUE( object.End() )</td></tr>
          <tr><td><b>Shift pattern</b></td>VALUE( guard(  object.ShiftPattern().Name() , "-" ) )<td></td></tr>
          <tr><td><b>SYNONYM(object.BaseAvailableCapacity) </b></td><td>VALUE(object.BaseAvailableCapacity())</td></tr>
          <tr><td><b>SYNONYM(object.TotalAvailableCapacity) </b></td><td>VALUE(object.TotalAvailableCapacity())</td></tr><tr><td><b>SYNONYM(object.UsedCapacity) </b></td><td>VALUE(object.UsedCapacity())</td></tr><tr><td><b>SYNONYM(object.FreeCapacity) </b></td><td>VALUE(object.FreeCapacity())</td></tr></table>VALUE( object.ImgWebGanttChartSeverity() ) VALUE( object.GetCapacitySeverityText() )
        *]
      ]
    }
    Component uciRowCapacityPlanningUnitTimeAggregated
    {
      #keys: '[136682.2.655018095]'
      BaseType: 'WebUserConfigurableInformation'
      Properties:
      [
        ObjectType: 'Unit'
        Precondition: 'object.HasCapacityTypeAggregation() '
        Taborder: 10
        Text: '<table><tr><td>VALUE( object.Name() )</td><td></td><td>VALUE(object.ImgWebGanttChartSeverity() )</td><tr></table>'
        Tooltip: '<table><tr><td><b>Capacity type</b></td><td>VALUE( object.CapacityType() )</td></tr><tr><td><b>Number of children </b></td><td>VALUE( object.Child(relsize))</td></tr></table>VALUE(object.ImgWebGanttChartSeverity() ) VALUE( object.GetCapacitySeverityText() )'
      ]
    }
    Component uciRowCapacityPlanningUnit
    {
      #keys: '[136682.2.663296590]'
      BaseType: 'WebUserConfigurableInformation'
      Properties:
      [
        ObjectType: 'Unit'
        Precondition: 'not object.HasCapacityTypeAggregation() '
        Taborder: 8
        Text: '<table><tr><td>VALUE( object.Name() )</td><td></td><td>VALUE(object.ImgWebGanttChartSeverity() )</td><tr></table>'
        Tooltip: '<table><tr><td><b>Capacity type</b></td><td>VALUE( object.DisplayCapacityTypeText() ) </td></tr></table>VALUE(object.ImgWebGanttChartSeverity() ) VALUE( object.GetCapacitySeverityText() )'
      ]
    }
    Component uciNodeUnitPeriodTimeAggregation
    {
      #keys: '[136682.2.768796628]'
      BaseType: 'WebUserConfigurableInformation'
      Properties:
      [
        ObjectType: 'UnitPeriodTimeAggregation'
        Taborder: 4
        Text: "VALUE( object.ImgHasFeedback() )VALUE( ifexpr( object.IsUtilizationInUOM(), object.UsedCapacity().HoursAsReal(),  object.UtilizationPercentage() * object.MaximumLoadPercentage() / 100 ) )VALUE( ifexpr( object.IsUtilizationInUOM(), Translations::MP_GlobalParameters_Hour(), '%' ) )"
        Tooltip:
        [*
          <table><tr><td><b>Period</b></td><td>VALUE (object.Start() ) to VALUE(  object.End() )</td>
          <tr><td><b>SYNONYM(object.BaseAvailableCapacity) </b></td><td>VALUE(object.BaseAvailableCapacity())</td></tr>
          <tr><td><b>SYNONYM(object.TotalAvailableCapacity) </b></td><td>VALUE(object.TotalAvailableCapacity())</td></tr><tr><td><b>SYNONYM(object.UsedCapacity)</b></td><td>VALUE(object.UsedCapacity())</td></tr><tr><td><b>SYNONYM(object.FreeCapacity) </b></td><td>VALUE(object.FreeCapacity())</td></tr></table>
          VALUE( object.ImgWebGanttChartSeverity() ) VALUE( object.GetCapacitySeverityText() )
        *]
      ]
    }
    Component uciNodeUnitPeriodTransportQuantity
    {
      #keys: '[136682.2.781320454]'
      BaseType: 'WebUserConfigurableInformation'
      Properties:
      [
        ObjectType: 'UnitPeriodTransportQuantity'
        Taborder: 7
        Text: "VALUE( object.ImgHasFeedback() )VALUE( ifexpr( object.IsUtilizationInUOM(), object.UsedQuantity(),  ( object.DisplayUtilizationPercentageWithMaxLoadRatio() ))) VALUE( ifexpr( object.IsUtilizationInUOM(), object.Unit().UnitOfMeasureName(), '%') )"
        Tooltip: '<table><tr><td><b>Period</b></td><td>VALUE( object.Start() ) to VALUE( object.End()) </td></tr><tr><td><b>SYNONYM(object.TotalMaximumQuantity)     </b></td><td>VALUE(object.TotalMaximumQuantity() ) VALUE( "" + object.Unit().UnitOfMeasure_MP().Name())</td></tr><tr><td><b>SYNONYM(object.UsedQuantity)</b></td><td>VALUE(object.UsedQuantity()) VALUE( "" + object.Unit().UnitOfMeasure_MP().Name())</td></tr><tr><td><b>SYNONYM(object.FreeQuantity)</b></td><td>VALUE(object.FreeQuantity()) VALUE( "" + object.Unit().UnitOfMeasure_MP().Name())</td></tr></table>VALUE( object.ImgWebGanttChartSeverity()) VALUE( object.GetCapacitySeverityText() )'
      ]
    }
    Component uciNodeUnitPeriodQuantity
    {
      #keys: '[136682.2.778547178]'
      BaseType: 'WebUserConfigurableInformation'
      Properties:
      [
        ObjectType: 'UnitPeriodQuantityBase'
        Precondition: 'not object.Unit().IsForCapacityAggregation()'
        Taborder: 5
        Text: "VALUE( object.ImgHasFeedback() )VALUE( ifexpr( object.IsUtilizationInUOM(), object.UsedCapacity(),  object.UtilizationPercentage()  * object.MaximumLoadPercentage() / 100 ) ) VALUE( ifexpr( object.IsUtilizationInUOM(), object.Unit().UnitOfMeasureName(), '%' ) )"
        Tooltip:
        [*
          <table><tr><td><b>Period</b></td><td>VALUE ( object.Start() ) to VALUE( object.End() )</td></tr>
          <tr><td><b>SYNONYM(object.BaseAvailableCapacity) </b></td><td>VALUE(object.BaseAvailableCapacity() ) VALUE( "" +object.Unit().UnitOfMeasureName() )</td></tr>
          <tr><td><b>SYNONYM(object.TotalAvailableCapacity) </b></td><td>VALUE(object.TotalAvailableCapacity() ) VALUE( "" +object.Unit().UnitOfMeasureName() )</td></tr>
          <tr><td><b>SYNONYM(object.UsedCapacity) </b></td><td>VALUE(object.UsedCapacity() ) VALUE( "" +object.Unit().UnitOfMeasureName())</td></tr><tr><td><b>SYNONYM(object.FreeCapacity) </b></td><td>VALUE(object.FreeCapacity()) VALUE( ""+ object.Unit().UnitOfMeasureName())</td></tr></table>VALUE( object.ImgWebGanttChartSeverity ) VALUE( object.GetCapacitySeverityText() )
        *]
      ]
    }
    Component uciNodePeriodTimeChild
    {
      #keys: '[136682.2.833673516]'
      BaseType: 'WebUserConfigurableInformation'
      Properties:
      [
        Identifier: 'UnitPeriodTimeChild'
        ObjectType: 'UnitPeriodTime'
        Precondition: 'object.Unit().IsForCapacityAggregation()'
        Taborder: 3
        Text: 'VALUE( ifexpr( object.NrOfOpen() <> 0 and object.GetHasAvailableCapacity(), object.ParentOfUnitDimension().UtilizationPercentage(), 0 ) )%'
        Tooltip:
        [*
          <table><tr><td><b>Period</b></td><td>VALUE ( object.Start() ) to VALUE( object.End() )</td></tr>
          <tr><td><b>Shift pattern</b></td>VALUE( guard(  object.ShiftPattern().Name() , "-" ) )<td></td></tr>
          <tr><td><b>SYNONYM(object.BaseAvailableCapacity) </b></td><td>VALUE(object.BaseAvailableCapacity())</td></tr>
          <tr><td><b>SYNONYM(object.TotalAvailableCapacity) </b></td><td>VALUE(object.TotalAvailableCapacity())</td></tr>
          <tr><td><b>SYNONYM(object.UsedCapacity) </b></td><td>VALUE(ifexpr( object.Unit().IsForCapacityAggregation() and object.GetHasAvailableCapacity(), object.TotalAvailableCapacity()*guard(object.ParentOfUnitDimension().UtilizationPercentage(), 0 )/100, object.UsedCapacity()) )</td></tr>
          <tr><td><b>SYNONYM(object.FreeCapacity) </b></td><td>VALUE(ifexpr( object.Unit().IsForCapacityAggregation() and object.GetHasAvailableCapacity(), maxvalue( object.TotalAvailableCapacity()*(100-guard(object.ParentOfUnitDimension().UtilizationPercentage(), 0 ) )/100, Duration::Zero() ), object.FreeCapacity()) )</td></tr>
          </table>VALUE( object.ImgWebGanttChartSeverity() ) VALUE( object.GetCapacitySeverityText() )
        *]
      ]
    }
    Component DataHolderSelection
    {
      #keys: '[136682.2.1104707623]'
      BaseType: 'WebDataHolder'
      Databinding: 'structured[Object]*'
      Properties:
      [
        Taborder: 14
      ]
    }
    Component uciNodeUnitPeriodQuantityChild
    {
      #keys: '[145730.1.1059819540]'
      BaseType: 'WebUserConfigurableInformation'
      Properties:
      [
        ObjectType: 'UnitPeriodQuantityBase'
        Precondition: 'object.Unit().IsForCapacityAggregation()'
        Taborder: 6
        Text: "VALUE( object.ImgHasFeedback() )VALUE( ifexpr( object.GetHasAvailableCapacity(), object.ParentOfUnitDimension().UtilizationPercentageExplicit()  * object.ParentOfUnitDimension().MaximumLoadPercentage() / 100, 0.0 ) ) VALUE( '%' )"
        Tooltip:
        [*
          <table><tr><td><b>Period</b></td><td>VALUE ( object.Start() ) to VALUE( object.End() )</td></tr>
          <tr><td><b>SYNONYM(object.BaseAvailableCapacity()) </b></td><td>VALUE(object.BaseAvailableCapacity() ) VALUE( "" +object.Unit().UnitOfMeasureName() )</td></tr>
          <tr><td><b>SYNONYM(object.TotalAvailableCapacity) </b></td><td>VALUE(object.TotalAvailableCapacity() ) VALUE( "" +object.Unit().UnitOfMeasureName() )</td></tr>
          <tr><td><b>SYNONYM(object.UsedCapacity) </b></td><td>VALUE( object.ParentOfUnitDimension().UtilizationPercentage()*object.TotalAvailableCapacity()/100 ) VALUE( "" +object.Unit().UnitOfMeasureName())</td></tr><tr><td><b>SYNONYM(object.FreeCapacity) </b></td><td>VALUE(maxvalue(object.TotalAvailableCapacity()*(100-object.ParentOfUnitDimension().UtilizationPercentage())/100, 0.0 )) VALUE( ""+ object.Unit().UnitOfMeasureName())</td></tr></table>VALUE( object.ImgWebGanttChartSeverity ) VALUE( object.GetCapacitySeverityText() )
        *]
      ]
    }
    #child: gcContextMenuCapacityPlanningRow
  ]
  Properties:
  [
    ContextMenu: 'gcContextMenuCapacityPlanning'
    MonthScaleFormat: 'MM Y'
    NavigationRange: "{  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}"
    Taborder: 1
  ]
  ResponseDefinitions:
  [
    DelegatedResponseDefinition OnClick id:Responsedef_GanttChartCapacityPlanning_WebMenu_OnClick
    {
      #keys: '[151892.0.49010338]'
      Initiator: 'WebMenu'
      IsInherited: false
      ResponseType: 'OnClick'
      Arguments:
      [
        ResponseDefinitionArgument row
        {
          #keys: '[111.0.3112281]'
          Binding: 'this.ContextMenuRow()'
        }
      ]
    }
    DelegatedResponseDefinition OnClick id:Responsedef_GanttChartCapacityPlanning_WebMenu_OnClick_57
    {
      #keys: '[151892.0.52064043]'
      Initiator: 'WebMenu'
      IsInherited: false
      ResponseType: 'OnClick'
      Arguments:
      [
        ResponseDefinitionArgument selection
        {
          #keys: '[119.0.6480486]'
          Binding: 'GanttChartCapacityPlanning.Selection()'
        }
      ]
    }
  ]
}
