| Quintiq file version 2.0 | 
| #parent: #root | 
| Method GetQuantityForOptimizer ( | 
|   const LibOpt_Scope scope | 
| ) const as Real | 
| { | 
|   TextBody: | 
|   [* | 
|     value := this.Quantity();  | 
|     assert( not this.IsPostponed() or this.IsManuallyPostponed(), 'we should only be calling this in the optimizer on original sales demand in period, not postponed one' );  | 
|       | 
|     if ( this.CanBePostponed() and not this.IsManuallyPostponed() ) // add quantity that has been postponed within the scope. This is all the sd that can be replanned.  | 
|     { | 
|       value := value + sum(  this,  | 
|                              PostponedSalesDemand,  | 
|                              postponedsd, | 
|                              not postponedsd.IsManuallyPostponed() // exclude manually postponed quantity as the optimizer does not change it | 
|                              and scope.Contains( postponedsd.ProductInStockingPointInPeriodPlanning().PISPIPInOptimizerRun() ), | 
|                              postponedsd.QuantityToPlan() );   | 
|     } | 
|      | 
|     return value; | 
|   *] | 
|   InterfaceProperties { Accessibility: 'Module' } | 
| } |