Quintiq file version 2.0
|
#root
|
#parent: LibMacroPlannerTCUI
|
OrphanComponent FormProductPlanningMatrix
|
{
|
#keys: '[127710.1.818301225]'
|
Accessibility: 'Extensible'
|
BaseType: 'Form'
|
GBLayout
|
{
|
Type: 'internal[GBLayoutDefinition]'
|
Columns:
|
[
|
GBFlow.Column { grow: 0 id: 366 parent: 0 }
|
GBFlow.Column { grow: 0 id: 617 parent: 0 }
|
GBFlow.Column { grow: 0 id: 256 parent: 0 }
|
GBFlow.Column { grow: 0 id: 285 parent: 0 }
|
GBFlow.Column { grow: 16 id: 891 parent: 0 }
|
GBFlow.Column { grow: 128 id: 261 parent: 0 }
|
]
|
Elements:
|
[
|
GBElement
|
{
|
Component => MatrixEditorProductPlanning
|
Position { startcolumn: 366 startrow: 185 endcolumn: 261 endrow: 185 }
|
}
|
GBElement
|
{
|
Component => CheckBoxFilterByProductLevel
|
Position { startcolumn: 285 startrow: 438 endcolumn: 285 endrow: 438 }
|
}
|
GBElement
|
{
|
Component => StringSelectionProductLevel
|
Position { startcolumn: 891 startrow: 438 endcolumn: 891 endrow: 438 }
|
}
|
GBElement
|
{
|
Component => ButtonShowStartOfPlanningHorizon
|
Position { startcolumn: 617 startrow: 438 endcolumn: 617 endrow: 438 }
|
}
|
GBElement
|
{
|
Component => ImageFilterBy889
|
Position { startcolumn: 256 startrow: 438 endcolumn: 256 endrow: 438 }
|
}
|
GBElement
|
{
|
Component => ImageWarningSizing
|
Position { startcolumn: 366 startrow: 438 endcolumn: 366 endrow: 438 }
|
}
|
]
|
Gaps: [ left: 0 right: 0 top: 0 bottom: 0 inner: 5 ]
|
Rows:
|
[
|
GBFlow.Row { grow: 0 id: 438 parent: 0 }
|
GBFlow.Row { grow: 128 id: 185 parent: 0 }
|
]
|
}
|
Children:
|
[
|
Component MatrixEditorProductPlanning
|
{
|
#keys: '[127710.1.818312567]'
|
BaseType: 'MatrixEditor'
|
GBLayout
|
{
|
Type: 'internal[GBLayoutDefinition]'
|
Gaps: [ left: 5 right: 5 top: 5 bottom: 5 inner: 5 ]
|
}
|
Children:
|
[
|
Component AttributeContextMenu
|
{
|
#keys: '[127710.1.818312568]'
|
BaseType: 'popupMatrixEditorAttributeHeader'
|
Children:
|
[
|
Component PopupParent
|
{
|
#keys: '[124988.0.211591097]'
|
BaseType: 'PopupParent'
|
IsDerived: true
|
Children:
|
[
|
Component MenuFilter
|
{
|
#keys: '[127710.1.1040933440]'
|
BaseType: 'Menu'
|
Children:
|
[
|
Component MenuFIlterByProducts { #keys: '[127710.1.1040933441]' BaseType: 'Menu' Properties: [ Checked: true Checkmark: true Text: 'Products' ] }
|
Component MenuFIlterByStockingPoints { #keys: '[127710.1.1040933442]' BaseType: 'Menu' Properties: [ Checked: true Checkmark: true Text: 'Stocking points' ] }
|
Component MenuFIlterByPeriodsAttribute { #keys: '[131438.0.418831676]' BaseType: 'Menu' Properties: [ Checked: true Checkmark: true Text: 'Periods' ] }
|
]
|
Properties:
|
[
|
Image: 'FUNNEL'
|
Text: 'Filter'
|
ModeledStringList ChildOrdering
|
{
|
c: MenuFIlterByProducts
|
c: MenuFIlterByStockingPoints
|
c: MenuFIlterByPeriodsAttribute
|
}
|
]
|
}
|
]
|
Properties:
|
[
|
ModeledStringList ChildOrdering
|
{
|
c: MenuEditRepresesntation
|
c: menuSeparator279
|
c: MenuFilter
|
c: MenuSUbtotal
|
}
|
]
|
}
|
]
|
Properties:
|
[
|
PosX: 136
|
PosY: 181
|
]
|
}
|
Component menuMatrixEditorCell
|
{
|
#keys: '[127710.1.818312569]'
|
BaseType: 'popupMatrixEditor'
|
Children:
|
[
|
Component PopupParent id:PopupParent_1
|
{
|
#keys: '[107036.0.311161801]'
|
BaseType: 'PopupParent'
|
IsDerived: true
|
Children:
|
[
|
Component menuSeparator694 { #keys: '[127710.1.828509803]' BaseType: 'Menu' Properties: [ Separator: true ] }
|
Component MenuSmartPlan { #keys: '[127710.1.829788744]' BaseType: 'Menu' Properties: [ Image: 'COMPONENT_GREEN' Shortcut: 'Alt+P' Text: 'Smart plan...' ] }
|
Component MenuReset { #keys: '[127710.1.830274473]' BaseType: 'Menu' Properties: [ Image: 'trash' Shortcut: 'Del' Text: 'Reset' ] }
|
Component MenuLock { #keys: '[121072.0.288277152]' BaseType: 'Menu' Properties: [ Image: 'LOCK' Shortcut: 'Alt+L' Text: 'Lock' ] }
|
Component MenuUnlock { #keys: '[121072.0.288277402]' BaseType: 'Menu' Properties: [ Image: 'LOCK_OPEN' Shortcut: 'Alt+Ctrl+L' Text: 'Unlock' ] }
|
Component menuSeparator852 { #keys: '[130238.0.374686170]' BaseType: 'Menu' Properties: [ Separator: true ] }
|
Component MenuAdvance
|
{
|
#keys: '[130238.0.374686506]'
|
BaseType: 'Menu'
|
Children:
|
[
|
Component MenuNewInventorySupply { #keys: '[130238.0.374687363]' BaseType: 'Menu' ViewSecurity: 'InventorySupplies' Properties: [ Image: 'CUBES_BLUE' Shortcut: 'Alt+Y' Text: 'New inventory supply...' ] }
|
Component MenuEditInventorySpecification { #keys: '[130238.0.374687782]' BaseType: 'Menu' ViewSecurity: 'InventorySpecifications' Properties: [ Image: 'AVERAGE' Shortcut: 'Alt+X' Text: 'Edit inventory specification...' ] }
|
Component MenuCreateSalesDemand { #keys: '[130238.0.374688159]' BaseType: 'Menu' Properties: [ Image: 'NOTE_NEW' Shortcut: 'Alt+S' Text: 'Create sales demand...' ] }
|
Component menuSeparator575 { #keys: '[130238.0.374688389]' BaseType: 'Menu' Properties: [ Separator: true ] }
|
Component MenuAllowNegativeInventory { #keys: '[130238.0.374915913]' BaseType: 'Menu' Properties: [ Image: 'CUBE_BLUE' Shortcut: 'Alt+N' Text: 'Allow negative inventory' ] }
|
Component MenuDisallowNegativeInventory { #keys: '[130238.0.374916245]' BaseType: 'Menu' Properties: [ Image: 'CUBE_YELLOW' Shortcut: 'Alt+Ctrl+N' Text: 'Disallow negative inventory' ] }
|
Component menuSeparator268 { #keys: '[130238.0.374916476]' BaseType: 'Menu' Properties: [ Separator: true ] }
|
Component MenuEditComment { #keys: '[133706.0.592791681]' BaseType: 'Menu' Properties: [ Image: 'TEXT_MARKED' Shortcut: 'Alt+E' Text: 'Edit not&e...' ] }
|
Component menuSeparator725 { #keys: '[133706.0.592792372]' BaseType: 'Menu' Properties: [ Separator: true ] }
|
Component MenuNewActual { #keys: '[136856.0.990456556]' BaseType: 'Menu' Properties: [ Image: 'SHAPE_CIRCLE' Shortcut: 'Alt+A' Text: 'New actual...' ] }
|
]
|
Properties:
|
[
|
Text: 'Advanced'
|
ModeledStringList ChildOrdering
|
{
|
c: MenuNewInventorySupply
|
c: MenuNewActual
|
c: MenuEditInventorySpecification
|
c: menuSeparator575
|
c: MenuAllowNegativeInventory
|
c: MenuDisallowNegativeInventory
|
c: menuSeparator268
|
c: MenuEditComment
|
c: menuSeparator725
|
c: MenuCreateSalesDemand
|
}
|
]
|
}
|
Component MenuSmartPlanRow { #keys: '[130238.0.384087853]' BaseType: 'Menu' Properties: [ Image: 'COMPONENTS' Shortcut: 'Alt+Ctrl+P' Text: 'Smart plan row...' ] }
|
Component MenuLegend { #keys: '[130076.0.811622717]' BaseType: 'Menu' Properties: [ Image: 'COLORS' Text: 'Legend...' ] }
|
Component MenuActions
|
{
|
#keys: '[107054.0.263260024]'
|
BaseType: 'MenuActions'
|
IsDerived: true
|
Properties:
|
[
|
ModeledStringList ChildOrdering
|
{
|
c: menuExportList
|
c: MenuCopy
|
c: MenuPaste
|
c: menuSeparator_1
|
c: MenuConfigureMatrixEditor
|
c: MenuChangeAttribute
|
c: MenuEditRepresentation
|
}
|
]
|
}
|
]
|
Properties:
|
[
|
ModeledStringList ChildOrdering
|
{
|
c: MenuActions
|
c: Menu
|
c: menuSeparator694
|
c: MenuSmartPlan
|
c: MenuSmartPlanRow
|
c: MenuLock
|
c: MenuUnlock
|
c: MenuReset
|
c: menuSeparator852
|
c: MenuAdvance
|
c: MenuLegend
|
}
|
]
|
}
|
]
|
Properties:
|
[
|
PosX: 53
|
PosY: 175
|
]
|
}
|
Component GUIDataExtractor
|
{
|
#keys: '[127710.1.818312574]'
|
BaseType: 'GUIDataExtractor'
|
Properties:
|
[
|
DataSet: 'MacroPlan'
|
DataType: 'MacroPlan'
|
FixedFilter: 'object.ProductInStockingPoint_MP().IsUsed()'
|
PosX: 5
|
PosY: 30
|
Transformation: 'Product_MP.ProductInStockingPoint_MP.ProductInStockingPointInPeriod'
|
]
|
}
|
Component popupScaleView
|
{
|
#keys: '[127710.1.818316484]'
|
BaseType: 'popupScaleView'
|
Children:
|
[
|
Component PopupParent id:PopupParent_2
|
{
|
#keys: '[107036.0.337329115]'
|
BaseType: 'PopupParent'
|
IsDerived: true
|
Children:
|
[
|
Component MenuSubtotal
|
{
|
#keys: '[107036.0.2002902351]'
|
BaseType: 'MenuSubtotal'
|
IsDerived: true
|
Children:
|
[
|
Component MenuCount id:MenuCount_1 { #keys: '[107036.0.2002903591]' BaseType: 'MenuCount' IsDerived: true }
|
Component MenuSum id:MenuSum_1 { #keys: '[107036.0.2002904543]' BaseType: 'MenuSum' IsDerived: true }
|
Component MenuAverage id:MenuAverage_1 { #keys: '[107036.0.2002905513]' BaseType: 'MenuAverage' IsDerived: true }
|
Component MenuStdDev id:MenuStdDev_1 { #keys: '[107036.0.2002908342]' BaseType: 'MenuStdDev' IsDerived: true }
|
Component MenuRemoveSubtotal id:MenuRemoveSubtotal_1 { #keys: '[107036.0.2004963099]' BaseType: 'MenuRemoveSubtotal' IsDerived: true }
|
]
|
Properties:
|
[
|
ModeledStringList ChildOrdering
|
{
|
c: MenuCount_1
|
c: MenuSum_1
|
c: MenuAverage_1
|
c: MenuMin
|
c: MenuMax
|
c: MenuStdDev_1
|
c: Menu_1
|
c: MenuRemoveSubtotal_1
|
}
|
]
|
}
|
]
|
}
|
]
|
Properties:
|
[
|
PosX: -2
|
PosY: -1
|
]
|
}
|
Component MatrixEditorRows
|
{
|
#keys: '[127710.1.819572710]'
|
BaseType: 'GUIScaleView'
|
Children:
|
[
|
Component GUIDataExtractorMatrixRow
|
{
|
#keys: '[127710.1.819572711]'
|
BaseType: 'GUIDataExtractor'
|
Properties:
|
[
|
Component: 'DataHolderUsedPISP'
|
DataType: 'structured[ProductInStockingPoint_MP]'
|
PosX: 5
|
PosY: 30
|
Transformation: 'Elements'
|
]
|
}
|
Component UserConfigurableInformationPISP
|
{
|
#keys: '[127710.1.820300549]'
|
BaseType: 'UserConfigurableInformation'
|
Properties:
|
[
|
Identification: 'Row: Product in stocking point'
|
ObjectText: 'VALUE( object.IndentationSymbol() ) VALUE( object.Name() )'
|
ObjectType: 'ProductInStockingPoint_MP'
|
PosX: 57
|
PosY: 82
|
TooltipText: 'Tooltip test 123'
|
]
|
}
|
]
|
Properties:
|
[
|
PosX: 5
|
PosY: 70
|
SortCriteria: "datamember:'Product_MP.DisplayIndex';datamember:'Name'"
|
ModeledStringList ChildOrdering
|
{
|
c: GUIDataExtractorMatrixRow
|
c: UserConfigurableInformationPISP
|
}
|
]
|
}
|
Component RowViewContextMenu
|
{
|
#keys: '[127710.1.819572712]'
|
BaseType: 'popupScaleView'
|
Children:
|
[
|
Component PopupParent id:PopupParent_4
|
{
|
#keys: '[107036.0.337329115]'
|
BaseType: 'PopupParent'
|
IsDerived: true
|
Children:
|
[
|
Component MenuSort id:MenuSort_2 { #keys: '[107036.0.337333420]' BaseType: 'MenuSort' IsDerived: true Properties: [ Text: '&Sort rows...' ] }
|
Component MenuSubtotal id:MenuSubtotal_2
|
{
|
#keys: '[107036.0.2002902351]'
|
BaseType: 'MenuSubtotal'
|
IsDerived: true
|
Children:
|
[
|
Component MenuCount id:MenuCount_3 { #keys: '[107036.0.2002903591]' BaseType: 'MenuCount' IsDerived: true }
|
Component MenuSum id:MenuSum_3 { #keys: '[107036.0.2002904543]' BaseType: 'MenuSum' IsDerived: true }
|
Component MenuAverage id:MenuAverage_3 { #keys: '[107036.0.2002905513]' BaseType: 'MenuAverage' IsDerived: true }
|
Component MenuMin id:MenuMin_2 { #keys: '[107036.0.2002906456]' BaseType: 'MenuMin' IsDerived: true }
|
Component MenuMax id:MenuMax_2 { #keys: '[107036.0.2002907419]' BaseType: 'MenuMax' IsDerived: true }
|
Component MenuStdDev id:MenuStdDev_3 { #keys: '[107036.0.2002908342]' BaseType: 'MenuStdDev' IsDerived: true }
|
Component MenuRemoveSubtotal id:MenuRemoveSubtotal_3 { #keys: '[107036.0.2004963099]' BaseType: 'MenuRemoveSubtotal' IsDerived: true }
|
]
|
Properties:
|
[
|
ModeledStringList ChildOrdering
|
{
|
c: MenuCount_3
|
c: MenuSum_3
|
c: MenuAverage_3
|
c: MenuMin_2
|
c: MenuMax_2
|
c: MenuStdDev_3
|
c: Menu_2
|
c: MenuRemoveSubtotal_3
|
}
|
]
|
}
|
Component MenuFilter438
|
{
|
#keys: '[127710.1.1040931729]'
|
BaseType: 'Menu'
|
Children:
|
[
|
Component MenuFIlterByProducts id:MenuFIlterByProducts_539 { #keys: '[127710.1.1040931730]' BaseType: 'Menu' Properties: [ Checked: true Checkmark: true Text: 'Products' ] }
|
Component MenuFIlterByStockingPoints id:MenuFIlterByStockingPoints_799 { #keys: '[127710.1.1040931731]' BaseType: 'Menu' Properties: [ Checked: true Checkmark: true Text: 'Stocking points' ] }
|
Component MenuFIlterByPeriods { #keys: '[131438.0.418825031]' BaseType: 'Menu' Properties: [ Checked: true Checkmark: true Text: 'Periods' ] }
|
]
|
Properties:
|
[
|
Image: 'FUNNEL'
|
Text: 'Filter'
|
ModeledStringList ChildOrdering
|
{
|
c: MenuFIlterByProducts_539
|
c: MenuFIlterByStockingPoints_799
|
c: MenuFIlterByPeriods
|
}
|
]
|
}
|
Component MenuLegend393 { #keys: '[127238.0.1917278610]' BaseType: 'Menu' Properties: [ Image: 'COLORS' Text: 'Legend...' ] }
|
Component menuSeparator464 { #keys: '[127238.0.1917278685]' BaseType: 'Menu' Properties: [ Separator: true ] }
|
]
|
Properties:
|
[
|
ModeledStringList ChildOrdering
|
{
|
c: MenuFilter438
|
c: MenuSubtotal_2
|
c: MenuSort_2
|
c: menuSeparator464
|
c: MenuLegend393
|
}
|
]
|
}
|
]
|
Properties:
|
[
|
PosX: 4
|
PosY: 104
|
]
|
}
|
Component MatrixEditorColumns
|
{
|
#keys: '[127710.1.819572713]'
|
BaseType: 'GUIScaleView'
|
Children:
|
[
|
Component GUIDataExtractorMatrixColumn
|
{
|
#keys: '[127710.1.819572715]'
|
BaseType: 'GUIDataExtractor'
|
Properties:
|
[
|
Component: 'DataHolderActivePeriods'
|
DataType: 'structured[Period_MP]'
|
PosX: 5
|
PosY: 30
|
Transformation: 'Elements'
|
]
|
}
|
Component UserConfigurableInformationPeriod
|
{
|
#keys: '[127710.1.820829335]'
|
BaseType: 'UserConfigurableInformation'
|
Properties:
|
[
|
Identification: 'Column: Period'
|
ObjectType: 'Period_MP'
|
PosX: 55
|
PosY: 57
|
TooltipText: 'Tooltip test 123'
|
]
|
}
|
]
|
Properties:
|
[
|
PosX: 40
|
PosY: 70
|
SortCriteria: "datamember:'StartDate'"
|
ModeledStringList ChildOrdering
|
{
|
c: GUIDataExtractorMatrixColumn
|
c: UserConfigurableInformationPeriod
|
}
|
]
|
}
|
Component ColumnViewContextMenu
|
{
|
#keys: '[127710.1.819572714]'
|
BaseType: 'popupScaleView'
|
Children:
|
[
|
Component PopupParent id:PopupParent_5
|
{
|
#keys: '[107036.0.337329115]'
|
BaseType: 'PopupParent'
|
IsDerived: true
|
Children:
|
[
|
Component MenuSort id:MenuSort_3 { #keys: '[107036.0.337333420]' BaseType: 'MenuSort' IsDerived: true Properties: [ Text: '&Sort columns...' ] }
|
Component MenuSubtotal id:MenuSubtotal_3
|
{
|
#keys: '[107036.0.2002902351]'
|
BaseType: 'MenuSubtotal'
|
IsDerived: true
|
Children:
|
[
|
Component MenuCount id:MenuCount_4 { #keys: '[107036.0.2002903591]' BaseType: 'MenuCount' IsDerived: true }
|
Component MenuSum id:MenuSum_4 { #keys: '[107036.0.2002904543]' BaseType: 'MenuSum' IsDerived: true }
|
Component MenuAverage id:MenuAverage_4 { #keys: '[107036.0.2002905513]' BaseType: 'MenuAverage' IsDerived: true }
|
Component MenuMin id:MenuMin_3 { #keys: '[107036.0.2002906456]' BaseType: 'MenuMin' IsDerived: true }
|
Component MenuMax id:MenuMax_3 { #keys: '[107036.0.2002907419]' BaseType: 'MenuMax' IsDerived: true }
|
Component MenuStdDev id:MenuStdDev_4 { #keys: '[107036.0.2002908342]' BaseType: 'MenuStdDev' IsDerived: true }
|
Component MenuRemoveSubtotal id:MenuRemoveSubtotal_4 { #keys: '[107036.0.2004963099]' BaseType: 'MenuRemoveSubtotal' IsDerived: true }
|
]
|
Properties:
|
[
|
ModeledStringList ChildOrdering
|
{
|
c: MenuCount_4
|
c: MenuSum_4
|
c: MenuAverage_4
|
c: MenuMin_3
|
c: MenuMax_3
|
c: MenuStdDev_4
|
c: Menu_3
|
c: MenuRemoveSubtotal_4
|
}
|
]
|
}
|
]
|
Properties:
|
[
|
ModeledStringList ChildOrdering
|
{
|
c: MenuSubtotal_3
|
c: MenuSort_3
|
}
|
]
|
}
|
]
|
Properties:
|
[
|
PosX: 47
|
PosY: 105
|
]
|
}
|
Component DataHolderActivePeriodsProductPlanningMatrix
|
{
|
#keys: '[130256.0.413604009]'
|
BaseType: 'DataHolder'
|
Databinding: 'structured[Period_MP]*'
|
Children:
|
[
|
Component GUIDataExtractorPeriods
|
{
|
#keys: '[130256.0.413604010]'
|
BaseType: 'GUIDataExtractor'
|
Properties:
|
[
|
Component: 'DataHolderActivePeriods'
|
DataType: 'structured[Period_MP]'
|
PosX: 11
|
PosY: 10
|
Transformation: 'Elements'
|
]
|
}
|
]
|
Properties:
|
[
|
Description: 'Periods selected on Periods navigation panel'
|
PosX: 583
|
PosY: 31
|
]
|
}
|
Component GUITimerMoveToStartOfPlanning
|
{
|
#keys: '[130256.0.413964179]'
|
BaseType: 'GUITimer'
|
Properties:
|
[
|
Interval: 300
|
PosX: 545
|
PosY: 30
|
]
|
}
|
Component DataHolderProductPlanningMatrixSelection
|
{
|
#keys: '[132478.0.31031468]'
|
BaseType: 'DataHolder'
|
Databinding: 'structured[ProductInStockingPointInPeriod]*'
|
Children:
|
[
|
Component GUIDataExtractor979
|
{
|
#keys: '[132478.0.31031721]'
|
BaseType: 'GUIDataExtractor'
|
Properties:
|
[
|
Component: 'MatrixEditorProductPlanning'
|
DataType: 'ProductInStockingPointInPeriod'
|
PosX: 11
|
PosY: 14
|
]
|
}
|
]
|
Properties:
|
[
|
PosX: 294
|
PosY: 75
|
ShowName: true
|
]
|
}
|
Component UserConfigurableInformationPISPIP
|
{
|
#keys: '[132448.0.676875063]'
|
BaseType: 'UserConfigurableInformation'
|
Properties:
|
[
|
Identification: 'Cell: PISPIP'
|
ObjectType: 'ProductInStockingPointInPeriod'
|
PosX: 54
|
PosY: 142
|
Precondition:
|
[*
|
// Workaround for generating binding to make matrix update cells when the attributes on which color depends changes.
|
( true
|
or object.HasUserCreatedSupply()
|
or object.HasTotalSupplyUser()
|
or object.HasProductionSupply()
|
or object.ProductInStockingPoint_MP().IsNegativeInventoryAllowed()
|
or object.HasFulfilledDependentDemand()
|
or object.GetHasMisMatchAvailableUserSupply()
|
or object.HasFulfilledSalesDemand()
|
)
|
*]
|
TooltipText:
|
[*
|
<table>
|
<td><font color="#0000FF"><b>SYNONYM(object.InventoryLevelEnd())</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>SYNONYM(object.StockLevelInDays())</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( guard( MacroPlan::GetDisplayValue( object.GetDisplayInventoryStart() ), 0.0 ) )</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>
|
VALUE(object.DisplayShelfLife() )
|
*]
|
]
|
}
|
Component DataHolderUsedPISP
|
{
|
#keys: '[127238.1.1586288534]'
|
BaseType: 'DataHolder'
|
Databinding: 'structured[ProductInStockingPoint_MP]*'
|
Children:
|
[
|
Component GUIDataExtractor983
|
{
|
#keys: '[127238.1.1586288967]'
|
BaseType: 'GUIDataExtractor'
|
Properties:
|
[
|
Component: 'DataHolderChildPISPs'
|
DataType: 'structured[ProductInStockingPoint_MP]'
|
FixedFilter: 'object.IsUsed()'
|
PosX: 41
|
PosY: 63
|
Transformation: 'Elements'
|
]
|
}
|
]
|
Properties:
|
[
|
PosX: 217
|
PosY: 45
|
]
|
}
|
]
|
Properties:
|
[
|
AllowMultipleAttributes: true
|
AllowUserAttributeChange: true
|
AttributeContextMenu: 'AttributeContextMenu'
|
Attributes: 'InventoryLevelStart;DependentDemandAndSalesDemandQuantity;InventorySupplyAndNewSupplyQuantity;InventoryLevelEnd;TargetInventoryLevel;StockLevelInDays'
|
Border: true
|
ColumnHeaderContextMenu: 'ColumnViewContextMenu'
|
ColumnHeaderPath: 'Start'
|
ColumnView: 'MatrixEditorColumns'
|
ColumnViewRelation: 'Period_MP'
|
ContextMenu: 'menuMatrixEditorCell'
|
DoubleBuffering: false
|
RowHeaderContextMenu: 'RowViewContextMenu'
|
RowHeaderPath: 'Name'
|
RowView: 'MatrixEditorRows'
|
RowViewRelation: 'ProductInStockingPoint_MP'
|
ModeledStringList ChildOrdering
|
{
|
c: AttributeContextMenu
|
c: menuMatrixEditorCell
|
c: GUIDataExtractor
|
c: popupScaleView
|
c: MatrixEditorRows
|
c: RowViewContextMenu
|
c: MatrixEditorColumns
|
c: ColumnViewContextMenu
|
c: DataHolderActivePeriodsProductPlanningMatrix
|
c: GUITimerMoveToStartOfPlanning
|
c: DataHolderProductPlanningMatrixSelection
|
c: UserConfigurableInformationPISPIP
|
c: DataHolderUsedPISP
|
}
|
]
|
ResponseDefinitions:
|
[
|
DelegatedResponseDefinition OnClick id:Responsedef_FormProductPlanningMatrix_MatrixEditor_Menu_OnClick
|
{
|
#keys: '[127710.1.818312570]'
|
Initiator: 'Menu'
|
IsInherited: false
|
ResponseType: 'OnClick'
|
Arguments:
|
[
|
ResponseDefinitionArgument cell
|
{
|
#keys: '[127710.1.818312571]'
|
Binding: 'this.Selection()'
|
}
|
]
|
}
|
DelegatedResponseDefinition OnClick id:Responsedef_FormProductPlanningMatrix_MatrixEditor_Menu_OnClick_19
|
{
|
#keys: '[127710.1.818312572]'
|
Initiator: 'Menu'
|
IsInherited: false
|
ResponseType: 'OnClick'
|
Arguments:
|
[
|
ResponseDefinitionArgument objects
|
{
|
#keys: '[127710.1.818312573]'
|
Binding: 'this.SelectionObjects()'
|
}
|
]
|
}
|
ResponseDefinition OnStartEdit id:Responsedef_FormProductPlanningMatrix_MatrixEditorProductPlanning_OnStartEdit
|
{
|
#keys: '[132448.0.53409359]'
|
IsInherited: false
|
ResponseType: 'OnStartEdit'
|
Arguments:
|
[
|
ResponseDefinitionArgument newvalue
|
{
|
#keys: '[132448.0.53409652]'
|
Binding: 'this.Selection()'
|
}
|
]
|
}
|
]
|
}
|
#child: StringSelectionProductLevel
|
Component CheckBoxFilterByProductLevel
|
{
|
#keys: '[127710.1.821866707]'
|
BaseType: 'CheckBox'
|
Properties:
|
[
|
HasMemory: 'ViewsAndSettings'
|
Text: 'Product level'
|
]
|
}
|
Component DataHolderMatrixFrom
|
{
|
#keys: '[127710.1.837273364]'
|
BaseType: 'DataHolder'
|
Databinding: 'Period_MP'
|
Properties:
|
[
|
PosX: 721
|
]
|
}
|
Component DataHolderMatrixTo
|
{
|
#keys: '[127710.1.837275943]'
|
BaseType: 'DataHolder'
|
Databinding: 'Period_MP'
|
Properties:
|
[
|
PosX: 696
|
PosY: 1
|
]
|
}
|
Component ButtonShowStartOfPlanningHorizon
|
{
|
#keys: '[127710.1.845269079]'
|
BaseType: 'Button'
|
Properties:
|
[
|
Image: 'CLOCK'
|
Tooltip: 'Go to planning start'
|
]
|
}
|
Component ImageFilterBy889
|
{
|
#keys: '[127710.1.1041562540]'
|
BaseType: 'Image'
|
Properties:
|
[
|
Image: 'FUNNEL'
|
Tooltip: 'Filter the Product planning matrix based on the selection in the navigation panel.'
|
Transparent: true
|
]
|
}
|
Component ImageWarningSizing
|
{
|
#keys: '[136770.0.49615375]'
|
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:
|
[
|
Height: 475
|
Image: 'LINE-CHART'
|
IncludeInView: true
|
Title: 'Product planning matrix'
|
Width: 1012
|
ModeledStringList ChildOrdering
|
{
|
c: ButtonShowStartOfPlanningHorizon
|
c: CheckBoxFilterByProductLevel
|
c: DataHolderMatrixFrom
|
c: StringSelectionProductLevel
|
c: DataHolderMatrixTo
|
c: MatrixEditorProductPlanning
|
c: ImageFilterBy889
|
c: ImageWarningSizing
|
}
|
]
|
}
|