Quintiq file version 2.0 
 | 
#parent: #root 
 | 
StaticMethod Update ( 
 | 
  Accounts accounts, 
 | 
  Boolean isbatcheditparent, 
 | 
  Account parent, 
 | 
  Boolean isbatcheditaccounttype, 
 | 
  String accounttype, 
 | 
  Boolean isbatcheditreporttype, 
 | 
  String reporttype, 
 | 
  Boolean isbatcheditbudget, 
 | 
  Real budget, 
 | 
  Boolean isbatcheditdefaultcost, 
 | 
  Real defaultcost, 
 | 
  String defaultcostdriver, 
 | 
  Number defaultlengthoftime, 
 | 
  String defaulttimeunit 
 | 
) 
 | 
{ 
 | 
  Description: 'Batch update accounts' 
 | 
  TextBody: 
 | 
  [* 
 | 
    // Batch update the selected set of accounts 
 | 
    traverse( accounts, Elements, account ) 
 | 
    { 
 | 
      // Set the corresponding parent, account type, report type, and budget according to the batch edit settings 
 | 
      parent := ifexpr( isbatcheditparent, parent, account.Parent() ); 
 | 
      accounttype := ifexpr( isbatcheditaccounttype, accounttype, account.AccountTypeName() ); 
 | 
      reporttype := ifexpr( isbatcheditreporttype, reporttype, account.ReportType() ); 
 | 
      budget := ifexpr( isbatcheditbudget, budget, account.Budget() ); 
 | 
       
 | 
      // If default cost attributes are not selected to be batch edited,  
 | 
      if( not isbatcheditdefaultcost ) 
 | 
      { 
 | 
        defaultcost := account.DefaultCost(); 
 | 
        defaultcostdriver := account.DefaultCostDriver(); 
 | 
        defaultlengthoftime := account.DefaultLengthOfTime(); 
 | 
        defaulttimeunit := account.DefaultTimeUnit(); 
 | 
      } 
 | 
     
 | 
      // Update account's attributes 
 | 
      account.Update( guard( parent.Name(), '' ), accounttype, reporttype, budget, 
 | 
                      defaultcost, defaultcostdriver, defaultlengthoftime, defaulttimeunit, account.IsPercentage() ); 
 | 
    } 
 | 
     
 | 
    // This will update all the accounts 
 | 
    scenariomanager := accounts.Element( 0 ).ScenarioManager(); 
 | 
    if( not isnull( scenariomanager ) ) 
 | 
    { 
 | 
      scenariomanager.UpdateAccountChanges(); 
 | 
    } 
 | 
  *] 
 | 
} 
 |