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();
|
}
|
*]
|
}
|