admin
2025-01-22 7e31442f0e9b07764e9c6a9680d3d4aeba5fe1de
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
Quintiq file version 2.0
#parent: ActionBarGroupGeneral/ButtonOptimizer
Response OnClick () id:Response_ActionBarGroupGeneral_ButtonOptimizer_OnClick_715
{
  #keys: '[137862.0.1933627432]'
  CanBindMultiple: false
  DefinitionID: 'Responsedef_WebButton_OnClick'
  Precondition:
  [*
    activescenario := DataHolderActiveScenario.Data();
    
    return ScenarioManager::HasScenarioManager( ScenarioManager, feedback )
           and ScenarioManager::HasStrategy( ScenarioManager, feedback )
           and MacroPlan::HasMacroPlan( activescenario, feedback )
           and Period_MP::HasPeriod( feedback, MacroPlan )       
           and ScenarioManager::HasCapacityForMaximumNumberofConcurrentRuns( ScenarioManager, activescenario, false, feedback ) 
           and MacroPlan.CanPlan( feedback );
  *]
  QuillAction
  {
    Body:
    [*
      //Select strategy and run optimizer or abort optimizer
      
      if( MacroPlan.IsOptimizerRunning() ) // 1. Call abort if optimizer is currently running
      {                                  // 2. Only call dialog if optimizer is not currently running
        ApplicationMacroPlanner.AbortOptimizer();
      }
      else
      {
        run := MacroPlan.Optimization().GetLastRegularAlgorithmRun();
        strategy := AlgorithmRun::GetLastStrategyUsed( MacroPlan.GlobalParameters_MP(), run, ScenarioManager, true, false );
        
        dialog := construct(  DialogRunOptimizer );
        dialog.InitializeDialog( strategy );
      }
    *]
    GroupServerCalls: false
  }
}