From 352a2c435044be016982eec3a1cd3e3f51a71f4c Mon Sep 17 00:00:00 2001
From: xiaoding721 <33130084+xiaoding721@users.noreply.github.com>
Date: 星期一, 11 十一月 2024 17:44:07 +0800
Subject: [PATCH] 修复一些bug

---
 _Main/BL/Relations/Relation_AsyncFlag_RecycleBin_RecycleBin_AsyncFlag.qbl                                                            |   23 ++
 _Main/UI/MacroPlannerWebApp/Component_FormAnnualPlanReport/Response_PanelRibbon322_613_ButtonRibbon682_OnClick.def                   |   20 ++
 _Main/BL/Type_MP_Cell_AnnualPlanReport/StaticMethod_CreateFullTable.qbl                                                              |    4 
 _Main/UI/MacroPlannerWebApp/Component_FormDemandComparison/Component_pSelectionPPA.def                                               |    2 
 _Main/UI/MacroPlannerWebApp/Component_FormDemandComparison/Component_pSelectionPR.def                                                |    2 
 _Main/BL/Type_AsyncFlag/Attribute_State#569.qbl                                                                                      |    7 
 _Main/UI/MacroPlannerWebApp/Component_FormAnnualPlanReport/Response_PanelRibbon322_613_dsEndDate_OnChanged.def                       |    6 
 _Main/BL/Type_AsyncFlag/StaticMethod_Running.qbl                                                                                     |   20 ++
 _Main/BL/Type_MP_Cell_AnnualPlanReport/StaticMethod_AsyncCreateFullTable.qbl                                                         |   22 ++
 _Main/UI/MacroPlannerWebApp/Component_FormDemandComparison/Component_pSelectionCurve.def                                             |    2 
 _Main/UI/MacroPlannerWebApp/Component_FormAnnualPlanReport/Response_PanelRibbon322_613_rbgTimeUnit_OnUserChanged.def                 |    6 
 _Main/UI/MacroPlannerWebApp/Component_FormAnnualPlanReport/Response_PanelRibbon322_613_dsStartDate_OnChanged.def                     |    6 
 _Main/UI/MacroPlannerWebApp/Component_FormAnnualPlanReport/Response_PanelRibbon322_613_dhStartDate_OnCreated.def                     |   16 +
 _Main/UI/MacroPlannerWebApp/Component_FormDemandComparison/Component_pSelectionPP.def                                                |    2 
 _Main/UI/MacroPlannerWebApp/Component_FormScheduleSummaryReport/Response_PanelRibbon322_88_ButtonRibbon820_OnClick#71.def            |    2 
 _Main/BL/Type_LocalTool/StaticMethod_LoadMacroPlan.qbl                                                                               |   12 +
 _Main/UI/MacroPlannerWebApp/Component_FormAnnualPlanReport/Response_pExport_437_dhXMLDataListener_OnDataChanged.def                  |    6 
 _Main/UI/MacroPlannerWebApp/Component_ApplicationMacroPlanner/Method_GetMacroPlanMDSIDsByName.def                                    |   17 +
 _Main/UI/MacroPlannerWebApp/Component_FormAnnualPlanReport/Response_pExport_437_bExport_OnClick.def                                  |    6 
 _Main/UI/MacroPlannerWebApp/Component_FormAnnualPlanReport/Response_PanelRibbon322_613_dhEndDate_OnCreated.def                       |    6 
 _Main/UI/MacroPlannerWebApp/Component_FormDemandComparison/Component_pSelectionBudget.def                                            |    2 
 _Main/UI/MacroPlannerWebApp/Component_FormAnnualPlanReport/Component_PanelAnnualPlan.def                                             |   16 +
 _Main/UI/MacroPlannerWebApp/Component_FormAnnualPlanReport/Response_PanelRibbon322_613_ButtonRibbon_OnClick.def                      |   18 ++
 _Main/UI/MacroPlannerWebApp/Component_FormOfflinePlanComparison/Response_OnCreated.def                                               |    2 
 _Main/UI/MacroPlannerWebApp/Component_Form701/Response_OnCreated.def                                                                 |    2 
 _Main/UI/MacroPlannerWebApp/Component_FormAnnualPlanReport/Component_PanelRibbon322#613.def                                          |  138 +++++++++++++++
 _Main/UI/MacroPlannerWebApp/Component_FormAnnualPlanReport/Response_PanelRibbon322_613_dhTimeUnit_OnCreated.def                      |   16 +
 _Main/UI/MacroPlannerWebApp/Component_FormAnnualPlanReport/Component_pExport#437.def                                                 |   16 
 _Main/BL/Type_AsyncFlag/Attribute_Name.qbl                                                                                           |    7 
 _Main/UI/MacroPlannerWebApp/Component_FormDemandComparison/Component_pSelectionIDS.def                                               |    2 
 _Main/UI/MacroPlannerWebApp/Component_DialogCreateLockPeriod/Response_pnlContent661_ddlProductInStockingPoint_OnSelectionChanged.def |   18 ++
 _Main/UI/MacroPlannerWebApp/Component_FormAnnualPlanReport/Response_PanelRibbon322_613_dhAsyncFlag_OnDataChanged.def                 |   12 +
 _Main/BL/Type_AsyncFlag/StaticMethod_Success.qbl                                                                                     |   20 ++
 _Main/UI/MacroPlannerWebApp/Component_FormScheduleSummaryReport/Response_PanelRibbon206_478_bImportOutput_OnClick.def                |    2 
 _Main/BL/Type_AsyncFlag/Attribute_Time.qbl                                                                                           |    7 
 _Main/UI/MacroPlannerWebApp/Component_ApplicationMacroPlanner/Method_GetLoadedMacroPlans.def                                         |    2 
 _Main/UI/MacroPlannerWebApp/Component_FormAnnualPlanReport/_ROOT_Component_FormAnnualPlanReport.def                                  |    2 
 _Main/BL/Type_AsyncFlag/_ROOT_Type_AsyncFlag.qbl                                                                                     |    9 +
 /dev/null                                                                                                                            |   16 -
 _Main/BL/Type_MP_Cell_AnnualPlanReport/StaticMethod_CreateTables.qbl                                                                 |   18 ++
 _Main/UI/MacroPlannerWebApp/Component_FormScheduleSummaryReport/Response_PanelRibbon322_88_ButtonRibbon_OnClick#88.def               |    2 
 _Main/BL/Type_MP_Cell_AnnualPlanReport/StaticMethod_AsyncCreateTables.qbl                                                            |   15 +
 42 files changed, 478 insertions(+), 51 deletions(-)

diff --git a/_Main/BL/Relations/Relation_AsyncFlag_RecycleBin_RecycleBin_AsyncFlag.qbl b/_Main/BL/Relations/Relation_AsyncFlag_RecycleBin_RecycleBin_AsyncFlag.qbl
new file mode 100644
index 0000000..df7e805
--- /dev/null
+++ b/_Main/BL/Relations/Relation_AsyncFlag_RecycleBin_RecycleBin_AsyncFlag.qbl
@@ -0,0 +1,23 @@
+Quintiq file version 2.0
+#parent: #root
+Relation AsyncFlag_RecycleBin_RecycleBin_AsyncFlag
+{
+  #keys: '1[414996.1.207398228]'
+  DefaultRelationStrategy
+  {
+  }
+  RelationSide.LeftSide RecycleBin
+  {
+    #keys: '3[414996.1.207398230][414996.1.207398229][414996.1.207398231]'
+    Cardinality: '0to1'
+    ObjectDefinition: AsyncFlag
+    OwningSide: 'Reference'
+  }
+  RelationSide.RightSide AsyncFlag
+  {
+    #keys: '3[414996.1.207398233][414996.1.207398232][414996.1.207398234]'
+    Cardinality: '1toN'
+    ObjectDefinition: RecycleBin
+    OwningSide: 'Owned'
+  }
+}
diff --git a/_Main/BL/Type_AsyncFlag/Attribute_Name.qbl b/_Main/BL/Type_AsyncFlag/Attribute_Name.qbl
new file mode 100644
index 0000000..52061d7
--- /dev/null
+++ b/_Main/BL/Type_AsyncFlag/Attribute_Name.qbl
@@ -0,0 +1,7 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute Name
+{
+  #keys: '3[414996.1.207398242][414996.1.207398241][414996.1.207398243]'
+  ValueType: String
+}
diff --git "a/_Main/BL/Type_AsyncFlag/Attribute_State\043569.qbl" "b/_Main/BL/Type_AsyncFlag/Attribute_State\043569.qbl"
new file mode 100644
index 0000000..ed95f52
--- /dev/null
+++ "b/_Main/BL/Type_AsyncFlag/Attribute_State\043569.qbl"
@@ -0,0 +1,7 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute State
+{
+  #keys: '3[414996.1.207398265][414996.1.207398264][414996.1.207398266]'
+  ValueType: String
+}
diff --git a/_Main/BL/Type_AsyncFlag/Attribute_Time.qbl b/_Main/BL/Type_AsyncFlag/Attribute_Time.qbl
new file mode 100644
index 0000000..6e0e8df
--- /dev/null
+++ b/_Main/BL/Type_AsyncFlag/Attribute_Time.qbl
@@ -0,0 +1,7 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute Time
+{
+  #keys: '3[414996.1.207398252][414996.1.207398251][414996.1.207398253]'
+  ValueType: DateTime
+}
diff --git a/_Main/BL/Type_AsyncFlag/StaticMethod_Running.qbl b/_Main/BL/Type_AsyncFlag/StaticMethod_Running.qbl
new file mode 100644
index 0000000..e2efbcc
--- /dev/null
+++ b/_Main/BL/Type_AsyncFlag/StaticMethod_Running.qbl
@@ -0,0 +1,20 @@
+Quintiq file version 2.0
+#parent: #root
+StaticMethod Running (
+  RecycleBin owner,
+  String name
+)
+{
+  TextBody:
+  [*
+    // Akari Nov-11-2024 (created)
+    now := DateTime::Now();
+    asyncFlag := select( owner,AsyncFlag,flag,flag.Name() = name );
+    if( not isnull( asyncFlag )){
+      asyncFlag.State( "Running" );
+      asyncFlag.Time( now );
+    }else{
+      owner.AsyncFlag( relnew,Name := name,State := "Running",Time := now )
+    }
+  *]
+}
diff --git a/_Main/BL/Type_AsyncFlag/StaticMethod_Success.qbl b/_Main/BL/Type_AsyncFlag/StaticMethod_Success.qbl
new file mode 100644
index 0000000..8724beb
--- /dev/null
+++ b/_Main/BL/Type_AsyncFlag/StaticMethod_Success.qbl
@@ -0,0 +1,20 @@
+Quintiq file version 2.0
+#parent: #root
+StaticMethod Success (
+  RecycleBin owner,
+  String name
+)
+{
+  TextBody:
+  [*
+    // Akari Nov-11-2024 (created)
+    now := DateTime::Now();
+    asyncFlag := select( owner,AsyncFlag,flag,flag.Name() = name );
+    if( not isnull( asyncFlag )){
+      asyncFlag.State( "Success" );
+      asyncFlag.Time( now );
+    }else{
+      owner.AsyncFlag( relnew,Name := name,State := "Success",Time := now )
+    }
+  *]
+}
diff --git a/_Main/BL/Type_AsyncFlag/_ROOT_Type_AsyncFlag.qbl b/_Main/BL/Type_AsyncFlag/_ROOT_Type_AsyncFlag.qbl
new file mode 100644
index 0000000..3a5ca3e
--- /dev/null
+++ b/_Main/BL/Type_AsyncFlag/_ROOT_Type_AsyncFlag.qbl
@@ -0,0 +1,9 @@
+Quintiq file version 2.0
+#root
+#parent: #DomainModel
+Type AsyncFlag
+{
+  #keys: '5[414996.1.207398222][414996.1.207398220][0.0.0][414996.1.207398221][414996.1.207398223]'
+  BaseType: Object
+  StructuredName: 'AsyncFlags'
+}
diff --git a/_Main/BL/Type_LocalTool/StaticMethod_LoadMacroPlan.qbl b/_Main/BL/Type_LocalTool/StaticMethod_LoadMacroPlan.qbl
new file mode 100644
index 0000000..04ec5ce
--- /dev/null
+++ b/_Main/BL/Type_LocalTool/StaticMethod_LoadMacroPlan.qbl
@@ -0,0 +1,12 @@
+Quintiq file version 2.0
+#parent: #root
+StaticMethod LoadMacroPlan (
+  Key mdskey
+) const as stream[MacroPlan]
+{
+  TextBody:
+  [*
+    // Akari Nov-11-2024 (created)
+    return MDSMacroPlan::Root( mdskey );
+  *]
+}
diff --git a/_Main/BL/Type_MP_Cell_AnnualPlanReport/StaticMethod_AsyncCreateFullTable.qbl b/_Main/BL/Type_MP_Cell_AnnualPlanReport/StaticMethod_AsyncCreateFullTable.qbl
new file mode 100644
index 0000000..d1949ea
--- /dev/null
+++ b/_Main/BL/Type_MP_Cell_AnnualPlanReport/StaticMethod_AsyncCreateFullTable.qbl
@@ -0,0 +1,22 @@
+Quintiq file version 2.0
+#parent: #root
+StaticMethod AsyncCreateFullTable (
+  const Keys macroPlanMDSIDs,
+  RecycleBin recycleBin,
+  const MacroPlan owner
+)
+{
+  TextBody:
+  [*
+    // Akari Nov-11-2024 (created)
+    AsyncFlag::Running( recycleBin,MP_Cell_AnnualPlanReport::GetTableName() );
+    
+    macroPlans := stream[MacroPlan]::Success();
+    traverse( macroPlanMDSIDs,Elements,mdsid ){
+      streamMacroPlan := LocalTool::LoadMacroPlan( mdsid );
+      macroPlans.Merge( streamMacroPlan );
+    }
+    
+    macroPlans -> GroupAll() -> MP_Cell_AnnualPlanReport::CreateFullTable( recycleBin,owner );
+  *]
+}
diff --git a/_Main/BL/Type_MP_Cell_AnnualPlanReport/StaticMethod_AsyncCreateTables.qbl b/_Main/BL/Type_MP_Cell_AnnualPlanReport/StaticMethod_AsyncCreateTables.qbl
new file mode 100644
index 0000000..f354c87
--- /dev/null
+++ b/_Main/BL/Type_MP_Cell_AnnualPlanReport/StaticMethod_AsyncCreateTables.qbl
@@ -0,0 +1,15 @@
+Quintiq file version 2.0
+#parent: #root
+StaticMethod AsyncCreateTables (
+  const Keys macroPlanMDSIDs
+)
+{
+  TextBody:
+  [*
+    // Akari Nov-11-2024 (created)
+    traverse( macroPlanMDSIDs,Elements,mdsid ){
+      streamMacroPlan := LocalTool::LoadMacroPlan( mdsid );
+      streamMacroPlan -> MP_Cell_AnnualPlanReport::Create( );
+    }
+  *]
+}
diff --git a/_Main/BL/Type_MP_Cell_AnnualPlanReport/StaticMethod_CreateFullTable.qbl b/_Main/BL/Type_MP_Cell_AnnualPlanReport/StaticMethod_CreateFullTable.qbl
index 5ce0ad0..6618723 100644
--- a/_Main/BL/Type_MP_Cell_AnnualPlanReport/StaticMethod_CreateFullTable.qbl
+++ b/_Main/BL/Type_MP_Cell_AnnualPlanReport/StaticMethod_CreateFullTable.qbl
@@ -9,7 +9,7 @@
   TextBody:
   [*
     // rislai Aug-7-2024 (created)
-    tables := MP_Table::GetMP_Tables_AnnualPlanReport( owners );
+    tables := selectset( owners,Elements.MP_Table,table,table.Name() = MP_Cell_AnnualPlanReport::GetTableName());
     
     localTable := recycleBin.LocalTable( relnew,Name := MP_Cell_AnnualPlanReport::GetTableName() );
     startDate := minselect( tables,Elements.MP_Column,column,column.CustomDate() ).CustomDate();
@@ -165,7 +165,7 @@
     //    }
     //  } 
     //}
-    
+    AsyncFlag::Success( recycleBin,MP_Cell_AnnualPlanReport::GetTableName() );
     return localTable;
   *]
 }
diff --git a/_Main/BL/Type_MP_Cell_AnnualPlanReport/StaticMethod_CreateTables.qbl b/_Main/BL/Type_MP_Cell_AnnualPlanReport/StaticMethod_CreateTables.qbl
new file mode 100644
index 0000000..952c6a2
--- /dev/null
+++ b/_Main/BL/Type_MP_Cell_AnnualPlanReport/StaticMethod_CreateTables.qbl
@@ -0,0 +1,18 @@
+Quintiq file version 2.0
+#parent: #root
+StaticMethod CreateTables (
+  MacroPlans owners
+)
+{
+  TextBody:
+  [*
+    // Akari Nov-11-2024 (created)
+    traverse( owners,Elements,owner ){
+      table := select( owner,MP_Table,table,table.Name() = MP_Cell_AnnualPlanReport::GetTableName() );
+      if( not isnull( table )){
+        table.Delete();
+      }
+      MP_Cell_AnnualPlanReport::Create( owner );
+    }
+  *]
+}
diff --git a/_Main/BL/Type_MP_Table/StaticMethod_CreateMP_Tables_AnnualPlanReport.qbl b/_Main/BL/Type_MP_Table/StaticMethod_CreateMP_Tables_AnnualPlanReport.qbl
deleted file mode 100644
index cab5230..0000000
--- a/_Main/BL/Type_MP_Table/StaticMethod_CreateMP_Tables_AnnualPlanReport.qbl
+++ /dev/null
@@ -1,21 +0,0 @@
-Quintiq file version 2.0
-#parent: #root
-StaticMethod CreateMP_Tables_AnnualPlanReport (
-  const MacroPlans owners
-) as owning MP_Tables
-{
-  TextBody:
-  [*
-    // Akari Aug-19-2024 (created)
-    tables := construct( MP_Tables );
-    traverse( owners,Elements,owner ,owner.MDSMacroPlan().Description().LikeUserLocale( "璁″垝姹囨��" )){
-      table := select( owner,MP_Table,table,table.Name() = MP_Cell_AnnualPlanReport::GetTableName() );
-      if( not isnull( table )){
-        table.Delete();
-      }
-      table :=  MP_Cell_AnnualPlanReport::Create( owner );
-      tables.Add( table );
-    }
-    return &tables;
-  *]
-}
diff --git a/_Main/BL/Type_MP_Table/StaticMethod_GetMP_Tables_AnnualPlanReport.qbl b/_Main/BL/Type_MP_Table/StaticMethod_GetMP_Tables_AnnualPlanReport.qbl
deleted file mode 100644
index 47015ba..0000000
--- a/_Main/BL/Type_MP_Table/StaticMethod_GetMP_Tables_AnnualPlanReport.qbl
+++ /dev/null
@@ -1,26 +0,0 @@
-Quintiq file version 2.0
-#parent: #root
-StaticMethod GetMP_Tables_AnnualPlanReport (
-  const MacroPlans owners
-) as owning MP_Tables
-{
-  TextBody:
-  [*
-    // Akari Aug-19-2024 (created)
-    tables := construct( MP_Tables );
-    traverse( owners,Elements,owner ,owner.MDSMacroPlan().Description().LikeUserLocale( "璁″垝姹囨��" )){
-      table := select( owner,MP_Table,table,table.Name() = MP_Cell_AnnualPlanReport::GetTableName() );
-      if( isnull( table )){
-        table :=  MP_Cell_AnnualPlanReport::Create( owner );
-      }else{
-        startDate := minselect( table,MP_Column,column,column.CustomDate() ).CustomDate();
-        planStartDate := owner.StartOfPlanning().Date();
-        if( startDate <> planStartDate ){
-          table :=  MP_Cell_AnnualPlanReport::Create( owner );
-        }
-      }
-      tables.Add( table );
-    }
-    return &tables;
-  *]
-}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_ApplicationMacroPlanner/Method_GetMacroPlans.def b/_Main/UI/MacroPlannerWebApp/Component_ApplicationMacroPlanner/Method_GetLoadedMacroPlans.def
similarity index 85%
rename from _Main/UI/MacroPlannerWebApp/Component_ApplicationMacroPlanner/Method_GetMacroPlans.def
rename to _Main/UI/MacroPlannerWebApp/Component_ApplicationMacroPlanner/Method_GetLoadedMacroPlans.def
index 695b69b..722af75 100644
--- a/_Main/UI/MacroPlannerWebApp/Component_ApplicationMacroPlanner/Method_GetMacroPlans.def
+++ b/_Main/UI/MacroPlannerWebApp/Component_ApplicationMacroPlanner/Method_GetLoadedMacroPlans.def
@@ -1,6 +1,6 @@
 Quintiq file version 2.0
 #parent: #root
-Method GetMacroPlans () as structured[MacroPlan] id:Method_ApplicationMacroPlanner_GetMacroPlans
+Method GetLoadedMacroPlans () as structured[MacroPlan] id:Method_ApplicationMacroPlanner_GetLoadedMacroPlans
 {
   #keys: '[412672.1.82702269]'
   Body:
diff --git a/_Main/UI/MacroPlannerWebApp/Component_ApplicationMacroPlanner/Method_GetMacroPlanMDSIDsByName.def b/_Main/UI/MacroPlannerWebApp/Component_ApplicationMacroPlanner/Method_GetMacroPlanMDSIDsByName.def
new file mode 100644
index 0000000..fda706a
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_ApplicationMacroPlanner/Method_GetMacroPlanMDSIDsByName.def
@@ -0,0 +1,17 @@
+Quintiq file version 2.0
+#parent: #root
+Method GetMacroPlanMDSIDsByName (
+  String macroPlanName
+) as structured[Key] id:Method_ApplicationMacroPlanner_GetMacroPlanMDSIDsByName
+{
+  #keys: '[414996.1.207024144]'
+  Body:
+  [*
+    macroPlanMDSIDs := construct( Keys );
+    
+    macroPlanMDSIDs := selectuniquevalues( ScenarioManager,ScenarioMP,scemp,scemp.Name().LikeUserLocale( macroPlanName ) ,scemp.MDSID());
+    
+    return &macroPlanMDSIDs
+  *]
+  ReturnsOwning: true
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_DialogCreateLockPeriod/Response_pnlContent661_ddlProductInStockingPoint_OnSelectionChanged.def b/_Main/UI/MacroPlannerWebApp/Component_DialogCreateLockPeriod/Response_pnlContent661_ddlProductInStockingPoint_OnSelectionChanged.def
new file mode 100644
index 0000000..2c3001e
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_DialogCreateLockPeriod/Response_pnlContent661_ddlProductInStockingPoint_OnSelectionChanged.def
@@ -0,0 +1,18 @@
+Quintiq file version 2.0
+#parent: pnlContent661/ddlProductInStockingPoint
+Response OnSelectionChanged (
+  ProductInStockingPoint_MP selection
+) id:Response_pnlContent661_ddlProductInStockingPoint_OnSelectionChanged
+{
+  #keys: '[414996.1.207063206]'
+  CanBindMultiple: false
+  DefinitionID: 'Responsedef_WebDropDownList_OnSelectionChanged'
+  GroupServerCalls: true
+  QuillAction
+  {
+    Body:
+    [*
+      this.Tooltip( selection.Name() )
+    *]
+  }
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_Form701/Response_OnCreated.def b/_Main/UI/MacroPlannerWebApp/Component_Form701/Response_OnCreated.def
index 5859930..93f374e 100644
--- a/_Main/UI/MacroPlannerWebApp/Component_Form701/Response_OnCreated.def
+++ b/_Main/UI/MacroPlannerWebApp/Component_Form701/Response_OnCreated.def
@@ -10,7 +10,7 @@
   {
     Body:
     [*
-      macroPlans := ApplicationMacroPlanner.GetMacroPlans();
+      macroPlans := ApplicationMacroPlanner.GetLoadedMacroPlans();
       OfflinePlanTableInfo::CreateNew( macroPlans,RecycleBin );
     *]
   }
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormAnnualPlanReport/Component_PanelAnnualPlan.def b/_Main/UI/MacroPlannerWebApp/Component_FormAnnualPlanReport/Component_PanelAnnualPlan.def
index e58c679..4a3105d 100644
--- a/_Main/UI/MacroPlannerWebApp/Component_FormAnnualPlanReport/Component_PanelAnnualPlan.def
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormAnnualPlanReport/Component_PanelAnnualPlan.def
@@ -45,6 +45,22 @@
       #keys: '[412672.1.106503705]'
       BaseType: 'WebDataHolder'
       Databinding: 'LocalTable'
+      Children:
+      [
+        Component deComparisonData
+        {
+          #keys: '[414996.1.207643367]'
+          BaseType: 'WebDataExtractor'
+          Properties:
+          [
+            DataType: 'RecycleBin'
+            FixedFilter: 'object.Name() = MP_Cell_AnnualPlanReport::GetTableName()'
+            Source: 'RecycleBin'
+            Taborder: 0
+            Transformation: 'LocalTable'
+          ]
+        }
+      ]
       Properties:
       [
         Taborder: 1
diff --git "a/_Main/UI/MacroPlannerWebApp/Component_FormAnnualPlanReport/Component_PanelRibbon\043805.def" "b/_Main/UI/MacroPlannerWebApp/Component_FormAnnualPlanReport/Component_PanelRibbon\043805.def"
deleted file mode 100644
index 5947dc5..0000000
--- "a/_Main/UI/MacroPlannerWebApp/Component_FormAnnualPlanReport/Component_PanelRibbon\043805.def"
+++ /dev/null
@@ -1,15 +0,0 @@
-Quintiq file version 2.0
-Component PanelRibbon id:PanelRibbon_805
-{
-  #keys: '[412672.1.106503600]'
-  BaseType: 'WebPanel'
-  Children:
-  [
-    #child: PanelRibbon322
-  ]
-  Properties:
-  [
-    FixedSize: true
-    Taborder: 1
-  ]
-}
diff --git "a/_Main/UI/MacroPlannerWebApp/Component_FormAnnualPlanReport/Component_PanelRibbon322\043613.def" "b/_Main/UI/MacroPlannerWebApp/Component_FormAnnualPlanReport/Component_PanelRibbon322\043613.def"
new file mode 100644
index 0000000..af92e33
--- /dev/null
+++ "b/_Main/UI/MacroPlannerWebApp/Component_FormAnnualPlanReport/Component_PanelRibbon322\043613.def"
@@ -0,0 +1,138 @@
+Quintiq file version 2.0
+Component PanelRibbon322 id:PanelRibbon322_613
+{
+  #keys: '[414996.1.207566016]'
+  BaseType: 'WebPanel'
+  Children:
+  [
+    Component dsStartDate
+    {
+      #keys: '[414996.1.207566017]'
+      BaseType: 'WebDateSelector'
+      Properties:
+      [
+        Label: 'Start Date'
+        Taborder: 4
+      ]
+    }
+    Component dhStartDate
+    {
+      #keys: '[414996.1.207566018]'
+      BaseType: 'WebDataHolder'
+      Databinding: 'Date*'
+      Properties:
+      [
+        Taborder: 5
+      ]
+    }
+    Component dsEndDate
+    {
+      #keys: '[414996.1.207566019]'
+      BaseType: 'WebDateSelector'
+      Properties:
+      [
+        Date: 9999-12-31
+        Label: 'End Date'
+        Taborder: 6
+      ]
+    }
+    Component dhEndDate
+    {
+      #keys: '[414996.1.207566020]'
+      BaseType: 'WebDataHolder'
+      Databinding: 'Date*'
+      Properties:
+      [
+        Taborder: 7
+      ]
+    }
+    Component ButtonRibbon
+    {
+      #keys: '[414996.1.207566021]'
+      BaseType: 'WebButton'
+      Properties:
+      [
+        Image: 'C_CLAMP'
+        Label: 'Create base data'
+        Taborder: 0
+      ]
+    }
+    Component ButtonRibbon682
+    {
+      #keys: '[414996.1.207566022]'
+      BaseType: 'WebButton'
+      Properties:
+      [
+        Image: 'C_CLAMP'
+        Label: 'Create full table'
+        Taborder: 1
+      ]
+    }
+    Component rbgTimeUnit
+    {
+      #keys: '[414996.1.207566023]'
+      BaseType: 'WebRadioButtonGroup'
+      Properties:
+      [
+        BoundValue: 'Day'
+        ButtonLabels: 'Day;Week;Month'
+        ButtonValues: 'Day;Week;Month'
+        Taborder: 2
+      ]
+    }
+    Component dhTimeUnit
+    {
+      #keys: '[414996.1.207566024]'
+      BaseType: 'WebDataHolder'
+      Databinding: 'String*'
+      Properties:
+      [
+        Taborder: 3
+      ]
+    }
+    #child: pExport_437
+    Component dhAsyncFlag
+    {
+      #keys: '[414996.1.207566029]'
+      BaseType: 'WebDataHolder'
+      Databinding: 'AsyncFlag'
+      Children:
+      [
+        Component deAsyncFlag
+        {
+          #keys: '[414996.1.207566030]'
+          BaseType: 'WebDataExtractor'
+          Properties:
+          [
+            DataType: 'RecycleBin'
+            FixedFilter: 'object.Name() = MP_Cell_AnnualPlanReport::GetTableName()'
+            Source: 'RecycleBin'
+            Taborder: 0
+            Transformation: 'AsyncFlag'
+          ]
+        }
+      ]
+      Properties:
+      [
+        Taborder: 9
+      ]
+    }
+    Component lAsyncFlag
+    {
+      #keys: '[414996.1.207566031]'
+      BaseType: 'WebLabel'
+      Properties:
+      [
+        DataBinding: 'dhAsyncFlag.Data.State'
+        Taborder: 10
+        Text: '杩愯鐘舵��'
+      ]
+    }
+  ]
+  Properties:
+  [
+    FixedSize: true
+    Orientation: 'horizontal'
+    Taborder: 1
+  ]
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormAnnualPlanReport/Component_PanelRibbon322.def b/_Main/UI/MacroPlannerWebApp/Component_FormAnnualPlanReport/Component_PanelRibbon322.def
deleted file mode 100644
index 1d79cf5..0000000
--- a/_Main/UI/MacroPlannerWebApp/Component_FormAnnualPlanReport/Component_PanelRibbon322.def
+++ /dev/null
@@ -1,101 +0,0 @@
-Quintiq file version 2.0
-Component PanelRibbon322
-{
-  #keys: '[412672.1.106503607]'
-  BaseType: 'WebPanel'
-  Children:
-  [
-    Component dsStartDate
-    {
-      #keys: '[412672.1.106503612]'
-      BaseType: 'WebDateSelector'
-      Properties:
-      [
-        Label: 'Start Date'
-        Taborder: 4
-      ]
-    }
-    Component dhStartDate
-    {
-      #keys: '[412672.1.106503613]'
-      BaseType: 'WebDataHolder'
-      Databinding: 'Date*'
-      Properties:
-      [
-        Taborder: 5
-      ]
-    }
-    Component dsEndDate
-    {
-      #keys: '[412672.1.106503614]'
-      BaseType: 'WebDateSelector'
-      Properties:
-      [
-        Date: 9999-12-31
-        Label: 'End Date'
-        Taborder: 6
-      ]
-    }
-    Component dhEndDate
-    {
-      #keys: '[412672.1.106503615]'
-      BaseType: 'WebDataHolder'
-      Databinding: 'Date*'
-      Properties:
-      [
-        Taborder: 7
-      ]
-    }
-    Component ButtonRibbon
-    {
-      #keys: '[412672.1.106504238]'
-      BaseType: 'WebButton'
-      Properties:
-      [
-        Image: 'C_CLAMP'
-        Label: 'Create base data'
-        Taborder: 0
-      ]
-    }
-    Component ButtonRibbon682
-    {
-      #keys: '[412672.1.108512062]'
-      BaseType: 'WebButton'
-      Properties:
-      [
-        Image: 'C_CLAMP'
-        Label: 'Create full table'
-        Taborder: 1
-      ]
-    }
-    Component rbgTimeUnit
-    {
-      #keys: '[412672.1.108680900]'
-      BaseType: 'WebRadioButtonGroup'
-      Properties:
-      [
-        BoundValue: 'Day'
-        ButtonLabels: 'Day;Week;Month'
-        ButtonValues: 'Day;Week;Month'
-        Taborder: 2
-      ]
-    }
-    Component dhTimeUnit
-    {
-      #keys: '[412672.1.111067302]'
-      BaseType: 'WebDataHolder'
-      Databinding: 'String*'
-      Properties:
-      [
-        Taborder: 3
-      ]
-    }
-    #child: pExport
-  ]
-  Properties:
-  [
-    FixedSize: true
-    Orientation: 'horizontal'
-    Taborder: 0
-  ]
-}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormAnnualPlanReport/Component_pExport.def "b/_Main/UI/MacroPlannerWebApp/Component_FormAnnualPlanReport/Component_pExport\043437.def"
similarity index 69%
rename from _Main/UI/MacroPlannerWebApp/Component_FormAnnualPlanReport/Component_pExport.def
rename to "_Main/UI/MacroPlannerWebApp/Component_FormAnnualPlanReport/Component_pExport\043437.def"
index 40d7bc0..6d87796 100644
--- a/_Main/UI/MacroPlannerWebApp/Component_FormAnnualPlanReport/Component_pExport.def
+++ "b/_Main/UI/MacroPlannerWebApp/Component_FormAnnualPlanReport/Component_pExport\043437.def"
@@ -1,13 +1,13 @@
 Quintiq file version 2.0
-Component pExport
+Component pExport id:pExport_437
 {
-  #keys: '[412672.1.111157999]'
+  #keys: '[414996.1.207566025]'
   BaseType: 'WebPanel'
   Children:
   [
-    Component bExport id:bExport_474
+    Component bExport
     {
-      #keys: '[412672.1.111158037]'
+      #keys: '[414996.1.207566026]'
       BaseType: 'WebButton'
       Properties:
       [
@@ -15,16 +15,16 @@
         Taborder: 0
       ]
     }
-    Component dhXMLDataListener id:dhXMLDataListener_801
+    Component dhXMLDataListener
     {
-      #keys: '[412672.1.111158064]'
+      #keys: '[414996.1.207566027]'
       BaseType: 'WebDataHolder'
       Databinding: 'ExportXMLManager'
       Children:
       [
-        Component DataExtractorRibbon id:DataExtractorRibbon_462
+        Component DataExtractorRibbon
         {
-          #keys: '[412672.1.111158065]'
+          #keys: '[414996.1.207566028]'
           BaseType: 'WebDataExtractor'
           Properties:
           [
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormAnnualPlanReport/Response_PanelRibbon322_613_ButtonRibbon682_OnClick.def b/_Main/UI/MacroPlannerWebApp/Component_FormAnnualPlanReport/Response_PanelRibbon322_613_ButtonRibbon682_OnClick.def
new file mode 100644
index 0000000..a07fc4f
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormAnnualPlanReport/Response_PanelRibbon322_613_ButtonRibbon682_OnClick.def
@@ -0,0 +1,20 @@
+Quintiq file version 2.0
+#parent: PanelRibbon322_613/ButtonRibbon682
+Response OnClick () id:Response_PanelRibbon322_613_ButtonRibbon682_OnClick
+{
+  #keys: '[414996.1.207566008]'
+  CanBindMultiple: false
+  DefinitionID: 'Responsedef_WebButton_OnClick'
+  QuillAction
+  {
+    Body:
+    [*
+      macroPlanMDSIDs := ApplicationMacroPlanner.GetMacroPlanMDSIDsByName( "璁″垝姹囨��" );
+      
+      MP_Cell_AnnualPlanReport::AsyncCreateFullTable( macroPlanMDSIDs,RecycleBin,MacroPlan ); 
+      // dhComparisonData.Data( table );
+      // WebMessageBox::Success( "Success" );
+    *]
+    GroupServerCalls: false
+  }
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormAnnualPlanReport/Response_PanelRibbon322_613_ButtonRibbon_OnClick.def b/_Main/UI/MacroPlannerWebApp/Component_FormAnnualPlanReport/Response_PanelRibbon322_613_ButtonRibbon_OnClick.def
new file mode 100644
index 0000000..2c9819c
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormAnnualPlanReport/Response_PanelRibbon322_613_ButtonRibbon_OnClick.def
@@ -0,0 +1,18 @@
+Quintiq file version 2.0
+#parent: PanelRibbon322_613/ButtonRibbon
+Response OnClick () id:Response_PanelRibbon322_613_ButtonRibbon_OnClick
+{
+  #keys: '[414996.1.207566009]'
+  CanBindMultiple: false
+  DefinitionID: 'Responsedef_WebButton_OnClick'
+  QuillAction
+  {
+    Body:
+    [*
+      macroPlanMDSIDs := ApplicationMacroPlanner.GetMacroPlanMDSIDsByName( "璁″垝姹囨��" );
+      
+      MP_Cell_AnnualPlanReport::AsyncCreateTables( macroPlanMDSIDs );
+    *]
+    GroupServerCalls: false
+  }
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormAnnualPlanReport/Response_PanelRibbon322_613_dhAsyncFlag_OnDataChanged.def b/_Main/UI/MacroPlannerWebApp/Component_FormAnnualPlanReport/Response_PanelRibbon322_613_dhAsyncFlag_OnDataChanged.def
new file mode 100644
index 0000000..baa3fde
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormAnnualPlanReport/Response_PanelRibbon322_613_dhAsyncFlag_OnDataChanged.def
@@ -0,0 +1,12 @@
+Quintiq file version 2.0
+#parent: PanelRibbon322_613/dhAsyncFlag
+Response OnDataChanged () id:Response_PanelRibbon322_613_dhAsyncFlag_OnDataChanged
+{
+  #keys: '[414996.1.207566004]'
+  CanBindMultiple: false
+  DefinitionID: 'Responsedef_WebComponent_OnDataChanged'
+  GroupServerCalls: true
+  QuillAction
+  {
+  }
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormAnnualPlanReport/Response_PanelRibbon322_dhEndDate_OnCreated.def b/_Main/UI/MacroPlannerWebApp/Component_FormAnnualPlanReport/Response_PanelRibbon322_613_dhEndDate_OnCreated.def
similarity index 60%
rename from _Main/UI/MacroPlannerWebApp/Component_FormAnnualPlanReport/Response_PanelRibbon322_dhEndDate_OnCreated.def
rename to _Main/UI/MacroPlannerWebApp/Component_FormAnnualPlanReport/Response_PanelRibbon322_613_dhEndDate_OnCreated.def
index 9975661..fb4eb35 100644
--- a/_Main/UI/MacroPlannerWebApp/Component_FormAnnualPlanReport/Response_PanelRibbon322_dhEndDate_OnCreated.def
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormAnnualPlanReport/Response_PanelRibbon322_613_dhEndDate_OnCreated.def
@@ -1,8 +1,8 @@
 Quintiq file version 2.0
-#parent: PanelRibbon322/dhEndDate
-Response OnCreated () id:Response_PanelRibbon322_dhEndDate_OnCreated
+#parent: PanelRibbon322_613/dhEndDate
+Response OnCreated () id:Response_PanelRibbon322_613_dhEndDate_OnCreated
 {
-  #keys: '[412672.1.106503587]'
+  #keys: '[414996.1.207566010]'
   CanBindMultiple: false
   DefinitionID: 'Responsedef_WebComponent_OnCreated'
   GroupServerCalls: true
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormAnnualPlanReport/Response_PanelRibbon322_613_dhStartDate_OnCreated.def b/_Main/UI/MacroPlannerWebApp/Component_FormAnnualPlanReport/Response_PanelRibbon322_613_dhStartDate_OnCreated.def
new file mode 100644
index 0000000..7f2ac44
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormAnnualPlanReport/Response_PanelRibbon322_613_dhStartDate_OnCreated.def
@@ -0,0 +1,16 @@
+Quintiq file version 2.0
+#parent: PanelRibbon322_613/dhStartDate
+Response OnCreated () id:Response_PanelRibbon322_613_dhStartDate_OnCreated
+{
+  #keys: '[414996.1.207566012]'
+  CanBindMultiple: false
+  DefinitionID: 'Responsedef_WebComponent_OnCreated'
+  GroupServerCalls: true
+  QuillAction
+  {
+    Body:
+    [*
+      this.Data( Date::MinDate() );
+    *]
+  }
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormAnnualPlanReport/Response_PanelRibbon322_613_dhTimeUnit_OnCreated.def b/_Main/UI/MacroPlannerWebApp/Component_FormAnnualPlanReport/Response_PanelRibbon322_613_dhTimeUnit_OnCreated.def
new file mode 100644
index 0000000..e115a3e
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormAnnualPlanReport/Response_PanelRibbon322_613_dhTimeUnit_OnCreated.def
@@ -0,0 +1,16 @@
+Quintiq file version 2.0
+#parent: PanelRibbon322_613/dhTimeUnit
+Response OnCreated () id:Response_PanelRibbon322_613_dhTimeUnit_OnCreated
+{
+  #keys: '[414996.1.207566006]'
+  CanBindMultiple: false
+  DefinitionID: 'Responsedef_WebComponent_OnCreated'
+  GroupServerCalls: true
+  QuillAction
+  {
+    Body:
+    [*
+      this.Data( "Day" );
+    *]
+  }
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormAnnualPlanReport/Response_PanelRibbon322_dsEndDate_OnChanged.def b/_Main/UI/MacroPlannerWebApp/Component_FormAnnualPlanReport/Response_PanelRibbon322_613_dsEndDate_OnChanged.def
similarity index 61%
rename from _Main/UI/MacroPlannerWebApp/Component_FormAnnualPlanReport/Response_PanelRibbon322_dsEndDate_OnChanged.def
rename to _Main/UI/MacroPlannerWebApp/Component_FormAnnualPlanReport/Response_PanelRibbon322_613_dsEndDate_OnChanged.def
index edb6111..8415eff 100644
--- a/_Main/UI/MacroPlannerWebApp/Component_FormAnnualPlanReport/Response_PanelRibbon322_dsEndDate_OnChanged.def
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormAnnualPlanReport/Response_PanelRibbon322_613_dsEndDate_OnChanged.def
@@ -1,8 +1,8 @@
 Quintiq file version 2.0
-#parent: PanelRibbon322/dsEndDate
-Response OnChanged () id:Response_PanelRibbon322_dsEndDate_OnChanged
+#parent: PanelRibbon322_613/dsEndDate
+Response OnChanged () id:Response_PanelRibbon322_613_dsEndDate_OnChanged
 {
-  #keys: '[412672.1.106503588]'
+  #keys: '[414996.1.207566011]'
   CanBindMultiple: false
   DefinitionID: 'Responsedef_WebDateTimeFieldBase_OnChanged'
   GroupServerCalls: true
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormAnnualPlanReport/Response_PanelRibbon322_dsStartDate_OnChanged.def b/_Main/UI/MacroPlannerWebApp/Component_FormAnnualPlanReport/Response_PanelRibbon322_613_dsStartDate_OnChanged.def
similarity index 60%
rename from _Main/UI/MacroPlannerWebApp/Component_FormAnnualPlanReport/Response_PanelRibbon322_dsStartDate_OnChanged.def
rename to _Main/UI/MacroPlannerWebApp/Component_FormAnnualPlanReport/Response_PanelRibbon322_613_dsStartDate_OnChanged.def
index d9d9e73..7e8b256 100644
--- a/_Main/UI/MacroPlannerWebApp/Component_FormAnnualPlanReport/Response_PanelRibbon322_dsStartDate_OnChanged.def
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormAnnualPlanReport/Response_PanelRibbon322_613_dsStartDate_OnChanged.def
@@ -1,8 +1,8 @@
 Quintiq file version 2.0
-#parent: PanelRibbon322/dsStartDate
-Response OnChanged () id:Response_PanelRibbon322_dsStartDate_OnChanged
+#parent: PanelRibbon322_613/dsStartDate
+Response OnChanged () id:Response_PanelRibbon322_613_dsStartDate_OnChanged
 {
-  #keys: '[412672.1.106503590]'
+  #keys: '[414996.1.207566013]'
   CanBindMultiple: false
   DefinitionID: 'Responsedef_WebDateTimeFieldBase_OnChanged'
   GroupServerCalls: true
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormAnnualPlanReport/Response_PanelRibbon322_rbgTimeUnit_OnUserChanged.def b/_Main/UI/MacroPlannerWebApp/Component_FormAnnualPlanReport/Response_PanelRibbon322_613_rbgTimeUnit_OnUserChanged.def
similarity index 60%
rename from _Main/UI/MacroPlannerWebApp/Component_FormAnnualPlanReport/Response_PanelRibbon322_rbgTimeUnit_OnUserChanged.def
rename to _Main/UI/MacroPlannerWebApp/Component_FormAnnualPlanReport/Response_PanelRibbon322_613_rbgTimeUnit_OnUserChanged.def
index f56289a..cbc720e 100644
--- a/_Main/UI/MacroPlannerWebApp/Component_FormAnnualPlanReport/Response_PanelRibbon322_rbgTimeUnit_OnUserChanged.def
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormAnnualPlanReport/Response_PanelRibbon322_613_rbgTimeUnit_OnUserChanged.def
@@ -1,8 +1,8 @@
 Quintiq file version 2.0
-#parent: PanelRibbon322/rbgTimeUnit
-Response OnUserChanged () id:Response_PanelRibbon322_rbgTimeUnit_OnUserChanged
+#parent: PanelRibbon322_613/rbgTimeUnit
+Response OnUserChanged () id:Response_PanelRibbon322_613_rbgTimeUnit_OnUserChanged
 {
-  #keys: '[412672.1.111001324]'
+  #keys: '[414996.1.207566007]'
   CanBindMultiple: false
   DefinitionID: 'Responsedef_WebRadioButtonGroup_OnUserChanged'
   GroupServerCalls: true
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormAnnualPlanReport/Response_PanelRibbon322_ButtonRibbon682_OnClick.def b/_Main/UI/MacroPlannerWebApp/Component_FormAnnualPlanReport/Response_PanelRibbon322_ButtonRibbon682_OnClick.def
deleted file mode 100644
index 2d443f6..0000000
--- a/_Main/UI/MacroPlannerWebApp/Component_FormAnnualPlanReport/Response_PanelRibbon322_ButtonRibbon682_OnClick.def
+++ /dev/null
@@ -1,19 +0,0 @@
-Quintiq file version 2.0
-#parent: PanelRibbon322/ButtonRibbon682
-Response OnClick () id:Response_PanelRibbon322_ButtonRibbon682_OnClick
-{
-  #keys: '[412672.1.108512122]'
-  CanBindMultiple: false
-  DefinitionID: 'Responsedef_WebButton_OnClick'
-  QuillAction
-  {
-    Body:
-    [*
-      table := MP_Cell_AnnualPlanReport::CreateFullTable( ApplicationMacroPlanner.GetMacroPlans(),RecycleBin,MacroPlan );
-      dhComparisonData.Data( table );
-      
-      WebMessageBox::Success( "Success" );
-    *]
-    GroupServerCalls: false
-  }
-}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormAnnualPlanReport/Response_PanelRibbon322_ButtonRibbon_OnClick.def b/_Main/UI/MacroPlannerWebApp/Component_FormAnnualPlanReport/Response_PanelRibbon322_ButtonRibbon_OnClick.def
deleted file mode 100644
index 5861d6b..0000000
--- a/_Main/UI/MacroPlannerWebApp/Component_FormAnnualPlanReport/Response_PanelRibbon322_ButtonRibbon_OnClick.def
+++ /dev/null
@@ -1,17 +0,0 @@
-Quintiq file version 2.0
-#parent: PanelRibbon322/ButtonRibbon
-Response OnClick () id:Response_PanelRibbon322_ButtonRibbon_OnClick
-{
-  #keys: '[412672.1.106504261]'
-  CanBindMultiple: false
-  DefinitionID: 'Responsedef_WebButton_OnClick'
-  QuillAction
-  {
-    Body:
-    [*
-      MP_Table::CreateMP_Tables_AnnualPlanReport( ApplicationMacroPlanner.GetMacroPlans() );
-      WebMessageBox::Success( "Success" );
-    *]
-    GroupServerCalls: false
-  }
-}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormAnnualPlanReport/Response_PanelRibbon322_dhStartDate_OnCreated.def b/_Main/UI/MacroPlannerWebApp/Component_FormAnnualPlanReport/Response_PanelRibbon322_dhStartDate_OnCreated.def
deleted file mode 100644
index f2e53ed..0000000
--- a/_Main/UI/MacroPlannerWebApp/Component_FormAnnualPlanReport/Response_PanelRibbon322_dhStartDate_OnCreated.def
+++ /dev/null
@@ -1,16 +0,0 @@
-Quintiq file version 2.0
-#parent: PanelRibbon322/dhStartDate
-Response OnCreated () id:Response_PanelRibbon322_dhStartDate_OnCreated
-{
-  #keys: '[412672.1.106503589]'
-  CanBindMultiple: false
-  DefinitionID: 'Responsedef_WebComponent_OnCreated'
-  GroupServerCalls: true
-  QuillAction
-  {
-    Body:
-    [*
-      this.Data( Date::MinDate() );
-    *]
-  }
-}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormAnnualPlanReport/Response_PanelRibbon322_dhTimeUnit_OnCreated.def b/_Main/UI/MacroPlannerWebApp/Component_FormAnnualPlanReport/Response_PanelRibbon322_dhTimeUnit_OnCreated.def
deleted file mode 100644
index d90dcb3..0000000
--- a/_Main/UI/MacroPlannerWebApp/Component_FormAnnualPlanReport/Response_PanelRibbon322_dhTimeUnit_OnCreated.def
+++ /dev/null
@@ -1,16 +0,0 @@
-Quintiq file version 2.0
-#parent: PanelRibbon322/dhTimeUnit
-Response OnCreated () id:Response_PanelRibbon322_dhTimeUnit_OnCreated
-{
-  #keys: '[412672.1.111098277]'
-  CanBindMultiple: false
-  DefinitionID: 'Responsedef_WebComponent_OnCreated'
-  GroupServerCalls: true
-  QuillAction
-  {
-    Body:
-    [*
-      this.Data( "Day" );
-    *]
-  }
-}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormAnnualPlanReport/Response_pExport_bExport_OnClick.def b/_Main/UI/MacroPlannerWebApp/Component_FormAnnualPlanReport/Response_pExport_437_bExport_OnClick.def
similarity index 85%
rename from _Main/UI/MacroPlannerWebApp/Component_FormAnnualPlanReport/Response_pExport_bExport_OnClick.def
rename to _Main/UI/MacroPlannerWebApp/Component_FormAnnualPlanReport/Response_pExport_437_bExport_OnClick.def
index 21ba77d..a9313e1 100644
--- a/_Main/UI/MacroPlannerWebApp/Component_FormAnnualPlanReport/Response_pExport_bExport_OnClick.def
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormAnnualPlanReport/Response_pExport_437_bExport_OnClick.def
@@ -1,8 +1,8 @@
 Quintiq file version 2.0
-#parent: pExport/bExport_474
-Response OnClick () id:Response_pExport_bExport_OnClick
+#parent: pExport_437/bExport
+Response OnClick () id:Response_pExport_437_bExport_OnClick
 {
-  #keys: '[412672.1.111158036]'
+  #keys: '[414996.1.207566015]'
   CanBindMultiple: false
   DefinitionID: 'Responsedef_WebButton_OnClick'
   QuillAction
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormAnnualPlanReport/Response_pExport_dhXMLDataListener_OnDataChanged.def b/_Main/UI/MacroPlannerWebApp/Component_FormAnnualPlanReport/Response_pExport_437_dhXMLDataListener_OnDataChanged.def
similarity index 76%
rename from _Main/UI/MacroPlannerWebApp/Component_FormAnnualPlanReport/Response_pExport_dhXMLDataListener_OnDataChanged.def
rename to _Main/UI/MacroPlannerWebApp/Component_FormAnnualPlanReport/Response_pExport_437_dhXMLDataListener_OnDataChanged.def
index 801f169..18b7a85 100644
--- a/_Main/UI/MacroPlannerWebApp/Component_FormAnnualPlanReport/Response_pExport_dhXMLDataListener_OnDataChanged.def
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormAnnualPlanReport/Response_pExport_437_dhXMLDataListener_OnDataChanged.def
@@ -1,8 +1,8 @@
 Quintiq file version 2.0
-#parent: pExport/dhXMLDataListener_801
-Response OnDataChanged () id:Response_pExport_dhXMLDataListener_OnDataChanged
+#parent: pExport_437/dhXMLDataListener
+Response OnDataChanged () id:Response_pExport_437_dhXMLDataListener_OnDataChanged
 {
-  #keys: '[414996.1.140601534]'
+  #keys: '[414996.1.207566014]'
   CanBindMultiple: false
   DefinitionID: 'Responsedef_WebComponent_OnDataChanged'
   QuillAction
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormAnnualPlanReport/_ROOT_Component_FormAnnualPlanReport.def b/_Main/UI/MacroPlannerWebApp/Component_FormAnnualPlanReport/_ROOT_Component_FormAnnualPlanReport.def
index cfa5e4d..7394c00 100644
--- a/_Main/UI/MacroPlannerWebApp/Component_FormAnnualPlanReport/_ROOT_Component_FormAnnualPlanReport.def
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormAnnualPlanReport/_ROOT_Component_FormAnnualPlanReport.def
@@ -7,9 +7,9 @@
   BaseType: 'WebForm'
   Children:
   [
-    #child: PanelRibbon_805
     #child: PanelAnnualPlan
     #child: pProductAttributeFilter
+    #child: PanelRibbon322_613
   ]
   Properties:
   [
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormDemandComparison/Component_pSelectionBudget.def b/_Main/UI/MacroPlannerWebApp/Component_FormDemandComparison/Component_pSelectionBudget.def
index 35bf6e7..31aa97b 100644
--- a/_Main/UI/MacroPlannerWebApp/Component_FormDemandComparison/Component_pSelectionBudget.def
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormDemandComparison/Component_pSelectionBudget.def
@@ -30,6 +30,7 @@
         DisplayField: 'Name'
         Label: '鍩哄噯闇�姹傜増鏈細'
         NumberOfColumns: 50
+        SortCriteria: 'desc:DateTime'
         Taborder: 0
       ]
     }
@@ -70,6 +71,7 @@
         DisplayField: 'Name'
         Label: '瀵规瘮闇�姹傜増鏈細'
         NumberOfColumns: 50
+        SortCriteria: 'desc:DateTime'
         Taborder: 2
       ]
     }
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormDemandComparison/Component_pSelectionCurve.def b/_Main/UI/MacroPlannerWebApp/Component_FormDemandComparison/Component_pSelectionCurve.def
index 3e57ff0..ff165bf 100644
--- a/_Main/UI/MacroPlannerWebApp/Component_FormDemandComparison/Component_pSelectionCurve.def
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormDemandComparison/Component_pSelectionCurve.def
@@ -30,6 +30,7 @@
         DisplayField: 'Name'
         Label: '鍩哄噯闇�姹傜増鏈細'
         NumberOfColumns: 50
+        SortCriteria: 'desc:DateTime'
         Taborder: 0
       ]
     }
@@ -70,6 +71,7 @@
         DisplayField: 'Name'
         Label: '瀵规瘮闇�姹傜増鏈細'
         NumberOfColumns: 50
+        SortCriteria: 'desc:DateTime'
         Taborder: 2
       ]
     }
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormDemandComparison/Component_pSelectionIDS.def b/_Main/UI/MacroPlannerWebApp/Component_FormDemandComparison/Component_pSelectionIDS.def
index 2589294..e0448f0 100644
--- a/_Main/UI/MacroPlannerWebApp/Component_FormDemandComparison/Component_pSelectionIDS.def
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormDemandComparison/Component_pSelectionIDS.def
@@ -30,6 +30,7 @@
         DisplayField: 'Name'
         Label: '鍩哄噯闇�姹傜増鏈細'
         NumberOfColumns: 50
+        SortCriteria: 'desc:DateTime'
         Taborder: 0
       ]
     }
@@ -70,6 +71,7 @@
         DisplayField: 'Name'
         Label: '瀵规瘮闇�姹傜増鏈細'
         NumberOfColumns: 50
+        SortCriteria: 'desc:DateTime'
         Taborder: 2
       ]
     }
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormDemandComparison/Component_pSelectionPP.def b/_Main/UI/MacroPlannerWebApp/Component_FormDemandComparison/Component_pSelectionPP.def
index a066998..4801027 100644
--- a/_Main/UI/MacroPlannerWebApp/Component_FormDemandComparison/Component_pSelectionPP.def
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormDemandComparison/Component_pSelectionPP.def
@@ -30,6 +30,7 @@
         DisplayField: 'Name'
         Label: '鍩哄噯闇�姹傜増鏈細'
         NumberOfColumns: 50
+        SortCriteria: 'desc:DateTime'
         Taborder: 0
       ]
     }
@@ -70,6 +71,7 @@
         DisplayField: 'Name'
         Label: '瀵规瘮闇�姹傜増鏈細'
         NumberOfColumns: 50
+        SortCriteria: 'desc:DateTime'
         Taborder: 2
       ]
     }
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormDemandComparison/Component_pSelectionPPA.def b/_Main/UI/MacroPlannerWebApp/Component_FormDemandComparison/Component_pSelectionPPA.def
index 9d8afc3..8820f77 100644
--- a/_Main/UI/MacroPlannerWebApp/Component_FormDemandComparison/Component_pSelectionPPA.def
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormDemandComparison/Component_pSelectionPPA.def
@@ -30,6 +30,7 @@
         DisplayField: 'Name'
         Label: '鍩哄噯闇�姹傜増鏈細'
         NumberOfColumns: 50
+        SortCriteria: 'desc:DateTime'
         Taborder: 0
       ]
     }
@@ -70,6 +71,7 @@
         DisplayField: 'Name'
         Label: '瀵规瘮闇�姹傜増鏈細'
         NumberOfColumns: 50
+        SortCriteria: 'desc:DateTime'
         Taborder: 2
       ]
     }
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormDemandComparison/Component_pSelectionPR.def b/_Main/UI/MacroPlannerWebApp/Component_FormDemandComparison/Component_pSelectionPR.def
index 6c62f9e..d1ecdbf 100644
--- a/_Main/UI/MacroPlannerWebApp/Component_FormDemandComparison/Component_pSelectionPR.def
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormDemandComparison/Component_pSelectionPR.def
@@ -30,6 +30,7 @@
         DisplayField: 'Name'
         Label: '鍩哄噯闇�姹傜増鏈細'
         NumberOfColumns: 50
+        SortCriteria: 'desc:DateTime'
         Taborder: 0
       ]
     }
@@ -70,6 +71,7 @@
         DisplayField: 'Name'
         Label: '瀵规瘮闇�姹傜増鏈細'
         NumberOfColumns: 50
+        SortCriteria: 'desc:DateTime'
         Taborder: 2
       ]
     }
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormOfflinePlanComparison/Response_OnCreated.def b/_Main/UI/MacroPlannerWebApp/Component_FormOfflinePlanComparison/Response_OnCreated.def
index cccf588..3834506 100644
--- a/_Main/UI/MacroPlannerWebApp/Component_FormOfflinePlanComparison/Response_OnCreated.def
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormOfflinePlanComparison/Response_OnCreated.def
@@ -10,7 +10,7 @@
   {
     Body:
     [*
-      macroPlans := ApplicationMacroPlanner.GetMacroPlans();
+      macroPlans := ApplicationMacroPlanner.GetLoadedMacroPlans();
       OfflinePlanTableInfo::CreateNew( macroPlans,RecycleBin );
     *]
   }
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormScheduleSummaryReport/Response_PanelRibbon206_478_bImportOutput_OnClick.def b/_Main/UI/MacroPlannerWebApp/Component_FormScheduleSummaryReport/Response_PanelRibbon206_478_bImportOutput_OnClick.def
index a00e5c0..b33a302 100644
--- a/_Main/UI/MacroPlannerWebApp/Component_FormScheduleSummaryReport/Response_PanelRibbon206_478_bImportOutput_OnClick.def
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormScheduleSummaryReport/Response_PanelRibbon206_478_bImportOutput_OnClick.def
@@ -38,7 +38,7 @@
         WebMessageBox::Error( e.GeneralInformation() );
       }
       
-      macroPlans := ApplicationMacroPlanner.GetMacroPlans();
+      macroPlans := ApplicationMacroPlanner.GetLoadedMacroPlans();
       table := MP_Cell_ScheduleSummary::CreateFullTable( macroPlans,RecycleBin ,Archive, MacroPlan );
       
       dhComparisonData854.Data( table );
diff --git "a/_Main/UI/MacroPlannerWebApp/Component_FormScheduleSummaryReport/Response_PanelRibbon322_88_ButtonRibbon820_OnClick\04371.def" "b/_Main/UI/MacroPlannerWebApp/Component_FormScheduleSummaryReport/Response_PanelRibbon322_88_ButtonRibbon820_OnClick\04371.def"
index 9c26fb3..66546ae 100644
--- "a/_Main/UI/MacroPlannerWebApp/Component_FormScheduleSummaryReport/Response_PanelRibbon322_88_ButtonRibbon820_OnClick\04371.def"
+++ "b/_Main/UI/MacroPlannerWebApp/Component_FormScheduleSummaryReport/Response_PanelRibbon322_88_ButtonRibbon820_OnClick\04371.def"
@@ -9,7 +9,7 @@
   {
     Body:
     [*
-      macroPlans := ApplicationMacroPlanner.GetMacroPlans();
+      macroPlans := ApplicationMacroPlanner.GetLoadedMacroPlans();
       table := MP_Cell_ScheduleSummary::CreateFullTable( macroPlans,RecycleBin ,Archive, MacroPlan );
       
       dhComparisonData854.Data( table );
diff --git "a/_Main/UI/MacroPlannerWebApp/Component_FormScheduleSummaryReport/Response_PanelRibbon322_88_ButtonRibbon_OnClick\04388.def" "b/_Main/UI/MacroPlannerWebApp/Component_FormScheduleSummaryReport/Response_PanelRibbon322_88_ButtonRibbon_OnClick\04388.def"
index 58b31f0..f69fc60 100644
--- "a/_Main/UI/MacroPlannerWebApp/Component_FormScheduleSummaryReport/Response_PanelRibbon322_88_ButtonRibbon_OnClick\04388.def"
+++ "b/_Main/UI/MacroPlannerWebApp/Component_FormScheduleSummaryReport/Response_PanelRibbon322_88_ButtonRibbon_OnClick\04388.def"
@@ -9,7 +9,7 @@
   {
     Body:
     [*
-      MP_Table::CreateMP_Tables_ScheduleSummary( ApplicationMacroPlanner.GetMacroPlans() );
+      MP_Table::CreateMP_Tables_ScheduleSummary( ApplicationMacroPlanner.GetLoadedMacroPlans() );
       WebMessageBox::Success( "Success" );
     *]
     GroupServerCalls: false

--
Gitblit v1.9.3