| 1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
 | | Quintiq file version 2.0 |  | #parent: #root |  | Method GetPeriodsForOTS ( |  |   output Period_MP periodstart, |  |   output Period_MP periodend, |  |   OptimizerSettings settings |  | ) as owning Period_MPs |  | { |  |   TextBody: |  |   [* |  |     availableperiods := this.GetOptimizerPeriods( periodstart, periodend ); |  |      |  |     periodstart := minselect( availableperiods, Elements, p, true, p.StartDate() );  |  |     periodend := maxselect( availableperiods, Elements, p, true, p.StartDate() );  |  |      |  |     if ( settings.FirstPlanningPeriodDate().IsFinite() and settings.FirstPlanningPeriodDate() >= periodstart.StartDate() )  |  |     { |  |       periodstart := minselect( availableperiods, Elements, p, p.StartDate() >= settings.FirstPlanningPeriodDate(), p.StartDate() );  |  |     } |  |     if ( settings.LastPlanningPeriodDate().IsFinite() and settings.LastPlanningPeriodDate() <= periodend.StartDate() )  |  |     { |  |       periodend := maxselect( availableperiods, Elements, p, p.StartDate() <= settings.LastPlanningPeriodDate(), p.StartDate() );  |  |     } |  |     periods := selectset( availableperiods, Elements, p, true, p.StartDate() >= periodstart.StartDate() and p.StartDate() <= periodend.StartDate() );  |  |      |  |     return &periods |  |   *] |  |   InterfaceProperties { Accessibility: 'Extensible' } |  | } | 
 |