| 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; | 
|   *] | 
| } |