| Quintiq file version 2.0 | 
| #parent: #root | 
| MethodOverride GetWeightFactor ( | 
|   const LibOpt_Task task | 
| ) as Real | 
| { | 
|   TextBody: | 
|   [* | 
|     runcontext := RunContextForCapacityPlanning::GetRunContextCapacityPlanningConst( task.Run() );  | 
|     wl := runcontext.WeightLevelNonFinancial();  | 
|     weight := 0.0;  | 
|     candidates := LinkProbabilityPeriodTaskOperation::GetCandidatesConst( task.Scope() );  | 
|      | 
|     available := ( ( wl.LotSizeWeight() > 0 and wl.LotSizeLevel() = this.FocusLevel() ) | 
|                     or ( wl.ProcessMinimumQuantityWeight() > 0 and wl.LotSizeLevel() = this.FocusLevel() )  | 
|                     or ( wl.ProcessMaximumQuantityWeight() > 0 and wl.ProcessMaximumQuantityLevel() = this.FocusLevel() )  | 
|                  ) | 
|                  and candidates.Size() > 0;    | 
|     if ( available )  | 
|     { | 
|       weight := average(  candidates, Elements, c, true, c.EstimatedImprovementScore() ); | 
|     }   | 
|      | 
|     debuginfo(  'PTO[' + [String] weight + '] #cand=' + [String]candidates.Size() + [String] available );  | 
|     return weight; | 
|   *] | 
| } |