| Quintiq file version 2.0 | 
| #parent: #root | 
| MethodOverride GetVolumeAccountValueInPeriod ( | 
|   Period_MP period | 
| ) declarative remote as Real | 
| { | 
|   TextBody: | 
|   [* | 
|     /* For the sum, we need to compare the number of period.UnitPeriod and  | 
|      the number of UnitAccount.UnitAccountInPeriodForVolume, we use the traverse with the lowest | 
|      number to have the fastest calculation time. | 
|      | 
|      Example : period.UnitPeriod = 6343 and UA.UAIPFV = 7 | 
|      The total time is 95000 if using first sum and 19000 if using second sum */ | 
|      | 
|     value := 0.0; | 
|      | 
|     if( period.UnitPeriod( relsize ) * this.Unit().UnitAccount( relsize ) < this.UnitAccountInPeriodForVolume( relsize ) ) | 
|     { | 
|       value := sum( period, UnitPeriod.UnitAccountInPeriodForVolume, uaip, | 
|                     guard( uaip.UnitAccount() = this, false ), | 
|                     uaip.TotalBaseCost() ); | 
|     } | 
|     else | 
|     { | 
|       value := sum( this, UnitAccountInPeriodForVolume, uaipv, | 
|                     uaipv.UnitPeriod().Period_MP() = period , | 
|                     uaipv.TotalBaseCost() ); | 
|     } | 
|     return value; | 
|   *] | 
| } |