Quintiq file version 2.0
|
#parent: #root
|
Method GetBaseCost (
|
AccountCost accountcost,
|
StockingPointInPeriod spip
|
) remote as Real
|
{
|
Description: 'Returns base cost of a given period - used in designer'
|
TextBody:
|
[*
|
// tyg2 Aug-15-2016 (created)
|
|
basecost := 0.0;
|
|
if( not isnull( spip ) )
|
{
|
if( spip.Period_MP().IsPlanning() )
|
{
|
if( this.CostDriver() = Translations::MP_AccountAssignmentCostDriverFixed() )
|
{
|
basecost := spip.GetFixedBaseCost( this, accountcost );
|
}
|
}
|
else if( spip.IsBase() ) // Base, fraction the value from planning period
|
{
|
planningup := select( spip.StockingPoint_MP(), StockingPointInPeriod, e,
|
e.Period_MP() = spip.Period_MP().PlanningPeriod() );
|
basecost := this.GetBaseCost( accountcost, planningup ) * guard( planningup.Period_MP().PlanningSystemRatio(), 1.0 );
|
}
|
else // Non base non planning, retrieve the value of base periods
|
{
|
basecost := sum( spip.GetChildrenOfPeriodDimension(), Elements, up, this.GetBaseCost( accountcost, up ) )
|
}
|
}
|
|
return basecost;
|
*]
|
}
|