Quintiq file version 2.0
|
#parent: #root
|
Method RemoveUnusedOperationPeriodTaskAfterSmartPlan (
|
LibOpt_Task task
|
)
|
{
|
Description: 'Remove the period task with quantity = 0 after running optimizer, to reduce memory consumption'
|
TextBody:
|
[*
|
runcontext := RunContextForCapacityPlanning::GetRunContextCapacityPlanning( task.Run() );
|
userperiodtasks := runcontext.GetUserPeriodTaskOperations();
|
|
periodtasks := selectset( task, TaskContext.astype( TaskContextSmartPlan ).PeriodTaskOperation, periodtask,
|
not periodtask.HasFeedback()
|
and not periodtask.UnitPeriod().IsPeriodFrozen()
|
and periodtask.OptimizerQuantity() = 0 );
|
|
periodtasks := periodtasks.Difference( userperiodtasks ); // Remove those with manual planning quantity set to 0.
|
|
traverse( periodtasks, Elements, pt )
|
{
|
pt.Delete();
|
}
|
*]
|
InterfaceProperties { Accessibility: 'Module' }
|
}
|