| Quintiq file version 2.0 | 
| #parent: #root | 
| Method NewScenarioFromDataset ( | 
|   internal[GUIComponent] parent, | 
|   shadow[Dataset] dataset | 
| ) as Scenario id:Method_ScenarioManager_DialogCreateEditMPScenario_NewScenarioFromDataset | 
| { | 
|   #keys: '[120326.1.1236876853]' | 
|   Body: | 
|   [* | 
|     // New scenario | 
|     this.Title( "New scenario from dataset '" + dataset.Name() + "'" ); | 
|      | 
|     RadioButtonGroupStorageState.BoundValue( dataset.State() ); | 
|     RadioButtonGroupStorageState.Enabled( false ); | 
|      | 
|     EditorScenarioName.Text( dataset.Name() ); | 
|      | 
|     result := this.DoModal( parent ); | 
|     scenario := null ( Scenario ); | 
|      | 
|     if( result > 0 ) | 
|     { | 
|       scenarioManager := ScenarioManager; | 
|        | 
|       scenariofolder := select( scenarioManager, ScenarioNode.astype( ScenarioFolder ), folder, | 
|                                 folder.Name() = GlobalParameters_MP::GetFolderRoot() ); | 
|      | 
|       scenario := scenarioManager.CreateScenarioMPFromDataset( scenariofolder, | 
|                                                                EditorScenarioName.Text(), | 
|                                                                EditorAssumption.Text(), | 
|                                                                EditorComment.Text(), | 
|                                                                '', | 
|                                                                dataset.Name(), | 
|                                                                dataset.DatasetMDSID(), | 
|                                                                dataset.State() ); | 
|      | 
|       kbfullid := SelectionKBBranch.Data(); | 
|       if ( RadioButtonGroupMode.BoundValue() = GlobalParameters_MP::GetKB_New() ) | 
|       { | 
|         this.InstantiateAndSelectKB( scenario ); | 
|       } | 
|       else if ( RadioButtonGroupMode.BoundValue() = GlobalParameters_MP::GetKB_CreateCopy() ) | 
|       { | 
|         this.CopyAndSelectKB( SelectionKBBranch.Data(), scenario ); | 
|       } | 
|       else | 
|       { | 
|         ApplicationLibMacroPlanner.SelectKB( scenario, kbfullid ); | 
|       } | 
|        | 
|       // Set user preference on supply chain wizard launch | 
|       scenarioManager.LaunchInitializationWizardAtScenarioCreation( Dialog.CheckBoxLaunchSupplyChainWizard().Checked() ); | 
|     } | 
|      | 
|     isselected := ApplicationLibMacroPlanner.SelectScenario( scenario ); | 
|      | 
|     if( isselected ) | 
|     { | 
|       ApplicationLibMacroPlanner.SelectScenario( scenario, this ); | 
|        | 
|       ApplicationLibMacroPlanner.SupplyChainDiagramSetSupplyChainView( MacroPlan );   | 
|       if ( not isnull( DataHolderView.Data() ) ) | 
|       { | 
|         feedback := '' | 
|         DataHolderView.Data().RestoreDefaultLayout( feedback ); | 
|       }   | 
|     }   | 
|      | 
|     return scenario; | 
|   *] | 
| } |