Quintiq file version 2.0
|
#parent: #root
|
Function CalcHasIllegalNextElement
|
{
|
TextBody:
|
[*
|
value := false;
|
next := this.NextCombiElement();
|
if ( not isnull( next ) and next.OptCampaignElementType() <> this.OptCampaignElementType() ) // ok to continue with the same element type as those will be planned back as one
|
{
|
if ( this.istype( OptCampaignCombiElementTransition ) )
|
{
|
requirednextcampaign := this.OptCampaignElementType().astype( OptCampaignTransitionType ).TransitionType_MP().ToCampaignType();
|
value := guard( not next.astype( OptCampaignCombiElementCampaign ).CampaignType_MP() = requirednextcampaign, true );
|
}
|
else
|
{
|
requirednextfromcampaign := this.OptCampaignElementType().astype( OptCampaignCampaignType ).CampaignType_MP();
|
value := guard( not next.OptCampaignElementType().astype( OptCampaignTransitionType ).TransitionType_MP().FromCampaignType() = requirednextfromcampaign, // next must be transition starting out with my type
|
true );
|
}
|
}
|
|
this.HasIllegalNextElement( value );
|
*]
|
InterfaceProperties { Accessibility: 'Module' }
|
}
|