yypsybs
2023-09-09 3cb5a54def670d97301f07170fcaad213bfc54f2
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
Quintiq file version 2.0
#parent: #root
Function CalcEarliestStart
{
  TextBody:
  [*
    // Use the LeadingParticipation to determine the EarliestStart.
    leadingParticipation := this.LeadingParticipation();
    
    if( not isnull( leadingParticipation ) )
    {
      // Don't start before the start of the calendar.
      earliestStart := this.Calendar().StartDate();
      
      // If the event is recurring, don't start before the StartDate of the RecurrencePeriod.
      if( leadingParticipation.IsRecurring() )
      {
        earliestStart := maxvalue( earliestStart, leadingParticipation.RecurrencePeriod().StartDate() );
      }
      
      this.EarliestStart( earliestStart );
    }
  *]
  InterfaceProperties { Accessibility: 'Module' }
}