| Quintiq file version 2.0 | 
| #parent: #root | 
| Function CalcStartTime | 
| { | 
|   TextBody: | 
|   [* | 
|     value := this.OptCampaignUnitSubPeriod().StartTime(); | 
|     if( this.IsFirstElementTypeInCombi() ) | 
|     { | 
|       //////////////////////////////////////////////////////////////////////////////////////////// | 
|       //If this is the first element type in the combi then take the combi start time | 
|       //////////////////////////////////////////////////////////////////////////////////////////// | 
|       value := this.OptCampaignCombi().StartTimeFirstElement();   | 
|     } | 
|     else if( not isnull( this.PreviousCombiElement() )  | 
|              and ( not this.PreviousCombiElement().IsFirstElementTypeInCombi() )  | 
|            ) | 
|     { | 
|       //////////////////////////////////////////////////////////////////////////////////////////// | 
|       //The second element type in the combi will start at the start of the period as that would  | 
|       //make sure we add all possible combinations in the last subperiod will be generated. Subsequent | 
|       //elements will start at the min end time of the previous element. | 
|       //////////////////////////////////////////////////////////////////////////////////////////// | 
|       value := this.PreviousCombiElement().MinEndTime(); | 
|     } | 
|      | 
|     this.StartTime( value ); | 
|   *] | 
| } |