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