Quintiq file version 2.0 #parent: #root Method SetEndOfPeriod () id:Method_LibCal_dlgEvent_SetEndOfPeriod { #keys: '[131092.1.1284157]' Body: [* // When this method is called from response dsStartOfPeriod.OnChanged() because the value is set during // InitializeRecurrencePeriod(), the value of ckbEndOfPeriod.Checked() is *always* 'false', even when it is // explicitly set to 'true' during the initialization. This seems to be a bug in the Software. // As a workaround, the value of lblWorkaround.Text() is set to "initialized" when the value of ckbEndOfPeriod.Checked() is set. // When this method is called during initialization, the value of the label is still "" (which is WRONG, it should have been set!). // This can be used to let this method not be executed with a value of ckbEndOfPeriod.Checked() that is not // properly initialized. if( lblWorkaround.Text() <> "" ) { if( this.ValuesRecurrenceOK() ) { if( btnOnce.IsPressed() ) { dsEndOfPeriod.Date( dsStartOfPeriod.Date() ); } else { // Set the end of the period based on the start of the period and the #occurrences // IFF the end of the period is not manually set. if( not ckbEndBy.Checked() ) { endDate := this.DetermineEndDate( dsStartOfPeriod.Date(), [Number]edtNrOfOccurrences.Text() ); dsEndOfPeriod.Date( endDate ); } } } // else keep the value as it is, setting it to MinDate looks 'strange'. Form.UpdateTextualInfo(); } *] }