Quintiq file version 2.0
|
#parent: #root
|
StaticMethod GetChangeOfPlanningPeriodsAtEdition (
|
MacroPlan macroplan,
|
PeriodSpecification_MP periodspecification,
|
Boolean isusedforplanning,
|
DateTime periodalignment,
|
Number nroftimeunit,
|
String timeunit,
|
Number nrofhistoricalperiod,
|
Number nroffutureperiod,
|
Boolean isnew
|
) declarative remote as Boolean
|
{
|
Description: 'Returns TRUE if period specification creation/edition would result in modifications on planning periods.'
|
TextBody:
|
[*
|
/*
|
Warn user at period specification creation/edition in the following cases:
|
- Create a planning period spec
|
- Edit a period specification and change its isusedforplanning value (false>true or true>false)
|
- Change duration of a planning period specification
|
- Change period alignment of a planning period specification
|
Warning will only be raised if plan contains period tasks with qty > 0
|
*/
|
|
value := false;
|
|
if( isnew )
|
{
|
value := isusedforplanning;
|
}
|
else
|
{
|
if( ( isusedforplanning <> periodspecification.IsUsedForPlanning() )
|
or( isusedforplanning
|
and( nroftimeunit <> periodspecification.NrOfTimeUnit()
|
or nroffutureperiod <> periodspecification.NrOfFuturePeriod()
|
or nrofhistoricalperiod <> periodspecification.NrOfHistoricalPeriod()
|
or timeunit <> periodspecification.TimeUnit() ) ) )
|
{
|
value := true;
|
}
|
}
|
|
hasperiodtasks := exists( macroplan, Unit.UnitPeriod.PeriodTask_MP, pt, pt.Quantity() > 0 );
|
|
return value and hasperiodtasks;
|
*]
|
}
|