chenqinghong
2024-05-07 3ec06a830367465068963156dcc1d8e522571c13
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
30
31
32
33
34
35
36
37
Quintiq file version 2.0
#parent: #root
Method SynchronizePeriodAlignment (
  DateTime startofplanning,
  Boolean isupdatealignment,
  Boolean issynchronize,
  Boolean isfromdb
)
{
  Description: 'Adjust the start of current to the given datetime.'
  TextBody:
  [*
    // DWE2 Apr-28-2016 (created)
    newdate := startofplanning;
    
    if( isupdatealignment )
    {
      newdate := PeriodSpecification_MP::GetAlignedStart( this.PeriodAlignment(),
                                                          startofplanning,
                                                          this.TimeUnit(),
                                                          this.NrOfTimeUnit() );
    }
    
    this.Update( this.ID(),
                 this.TimeUnit(),
                 this.NrOfTimeUnit(),
                 newdate,
                 this.NrOfHistoricalPeriod(),
                 this.NrOfFuturePeriod(),
                 issynchronize,
                 isfromdb, // We will only sync the periods after we generate new periods.
                 this.IsUsedForPlanning(),
                 false /*iscleanupactuals*/ );  // This method is called when we call change in start of planning,
                                                // which will update multiple period specs, so we only clean up actualpispips
                                                // after all period specs have been updated
  *]
}