| Quintiq file version 2.0 | 
| #parent: #root | 
| Method GetUnitForShiftOptimization () const as owning Units | 
| { | 
|   Description: 'Returns the set of units on which shift pattern optimization can be used (if the unit does not have an aggregated capacity, returns the unit itself).' | 
|   TextBody: | 
|   [* | 
|     value := construct( Units ); | 
|      | 
|     if( this.GetUseShiftOptimization() ) | 
|     { | 
|       if( this.HasCapacityTypeTime() ) | 
|       { | 
|         value := value.Merge( this ); | 
|       } | 
|       else if( this.HasCapacityTypeTimeAggregation() ) | 
|       { | 
|         traverse( this, Child, child ) | 
|         { | 
|           value := value.Union( child.GetUnitForShiftOptimization() ); | 
|         } | 
|       } | 
|     } | 
|      | 
|     return &value; | 
|   *] | 
|   InterfaceProperties { Accessibility: 'Module' } | 
| } |