Quintiq file version 2.0 
 | 
#parent: #root 
 | 
Method GetValue ( 
 | 
  output Real value_o, 
 | 
  output Real valuewithinhorizon_o 
 | 
) declarative 
 | 
{ 
 | 
  Description: 'Return the final value of account after deduction.' 
 | 
  TextBody: 
 | 
  [* 
 | 
    // soh yee Dec-18-2013 (created) 
 | 
     
 | 
    if( this.IsMargin() ) 
 | 
    { 
 | 
      // Sales 
 | 
      traverse( this, MacroPlan.FinancialAccount, account, 
 | 
                account.AccountTypeName() = Translations::MP_Account_AccountTypeSales() 
 | 
                and isnull( account.Parent() ) ) 
 | 
      { 
 | 
        value_o := value_o + account.Cost(); 
 | 
        valuewithinhorizon_o := valuewithinhorizon_o + account.CostWithinHorizon(); 
 | 
      } 
 | 
     
 | 
      // Cost of sales - sum up cost of sales account on the highest level 
 | 
      traverse( this, MacroPlan.FinancialAccount, account, 
 | 
                account.AccountTypeName() = Translations::MP_Account_AccountTypeCostOfSales() 
 | 
                and isnull( account.Parent() ) ) 
 | 
      { 
 | 
        value_o := value_o - account.Cost(); 
 | 
        valuewithinhorizon_o := valuewithinhorizon_o - account.CostWithinHorizon(); 
 | 
      } 
 | 
    } 
 | 
    else 
 | 
    { 
 | 
      value_o := this.Cost(); 
 | 
      valuewithinhorizon_o := this.CostWithinHorizon(); 
 | 
    } 
 | 
  *] 
 | 
} 
 |