Quintiq file version 2.0 
 | 
#parent: #root 
 | 
Method GetNextScopeThinID () as Number 
 | 
{ 
 | 
  TextBody: 
 | 
  [* 
 | 
    value := 0; 
 | 
     
 | 
    queue := this.ScopeThinQueue().Size(); 
 | 
    if( queue > 0 ) 
 | 
    { 
 | 
      vector := NumberVector::Construct( this.ScopeThinQueue() ); 
 | 
      value := vector.Get( vector.Size() - 1 ); 
 | 
      vector.Resize( vector.Size() - 1 ); 
 | 
      this.ScopeThinQueue( vector.AsBinaryValue() ); 
 | 
    } 
 | 
    else 
 | 
    { 
 | 
      value := this.NextScopeThinID(); 
 | 
      this.NextScopeThinID( value + 1 ); 
 | 
    } 
 | 
     
 | 
    return value; 
 | 
  *] 
 | 
  InterfaceProperties { Accessibility: 'Module' } 
 | 
} 
 |