Quintiq file version 2.0
|
#parent: #root
|
StaticMethod CanCreate (
|
output String feedback_o,
|
Units units,
|
MacroPlan macroplan
|
) declarative remote as Boolean
|
{
|
Description: 'Can create new operation'
|
TextBody:
|
[*
|
// Ensure units dropped are not child of units with aggregated capacity
|
isrootunits := not exists( units, Elements, e, e.IsChildOfAggregatedCapacity() );
|
|
// Ensure that we have at least a unit in MacroPlan when creating a new operation.
|
hasunits := macroplan.Unit( relsize ) > 0 ;
|
|
// Has no transport unit
|
hasnotransportunits := not exists( units, Elements, e, e.HasCapacityTypeTransportBase() );
|
|
isvalid := isrootunits and hasunits and hasnotransportunits;
|
|
if( not isrootunits )
|
{
|
feedback_o := Translations::MP_Operation_CanCreate_NotAggregatedUnit();
|
}
|
else if( not hasunits )
|
{
|
feedback_o := Translations::MP_Operation_CanCreate_IsUnitExists();
|
}
|
// Transport unit cannot be used for operation
|
else if( not hasnotransportunits )
|
{
|
feedback_o := Translations::MP_Process_ValidateInput_IsNotTransportUnit();
|
}
|
|
return isvalid;
|
*]
|
}
|