1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
  | Quintiq file version 2.0 
 |  #parent: #root 
 |  FunctionOverride CalcPenalty 
 |  { 
 |    TextBody: 
 |    [* 
 |      penalty := 0.0; 
 |       
 |      if( this.IsPostponed() and not isnull( this.RootSalesDemand() ) ) 
 |      { 
 |        value := this.GetPenalty(); 
 |       
 |        postponedprd := guard( this.AsSalesDemandInPeriodBase().Period_MP().SequenceNr() 
 |                               - this.RootSalesDemand().AsSalesDemandInPeriodBase().Period_MP().SequenceNr(), 
 |                               0 ); 
 |        penalty := postponedprd * value * this.Quantity(); 
 |      } 
 |      this.Penalty( penalty ); 
 |    *] 
 |  } 
 |  
  |