| Quintiq file version 2.0 | 
| #parent: #root | 
| Method GetOperationsForUnitPeriod ( | 
|   const LibOpt_Scope scope, | 
|   const UnitPeriod unitperiod | 
| ) const as constcontent owning Operations | 
| { | 
|   Description: 'Returns the operations that should be considered by the optimizer for this unitperiod' | 
|   TextBody: | 
|   [* | 
|     operations := null( Operations, owning, constcontent ); | 
|      | 
|     if( this.GetPeriodsFromPeriodTaskOperation() ) | 
|     { | 
|       operations := selectset(  unitperiod,  | 
|                                 PeriodTaskOperationInScope.Operation,  | 
|                                 operation,  | 
|                                 true,  | 
|                                 true );  | 
|     } | 
|     else | 
|     // if this is a regular optimizer run, select all operations in this algorithm run that could have a valid PT for this period | 
|     { | 
|       operations := selectset( unitperiod,  | 
|                                Unit.Operation,  | 
|                                operation,  | 
|                                scope.Contains(  operation.OperationInOptimizerRun() )  | 
|                                and not operation.IsFrozenInPeriod( unitperiod.Period_MP() )  | 
|                                and PeriodTaskOperation::GetIsValidPeriodTask( operation, unitperiod.Period_MP() ) | 
|                              ); | 
|     } | 
|      | 
|     return &operations | 
|   *] | 
|   InterfaceProperties { Accessibility: 'Module' } | 
| } |