From 502b9a2e6da207f6344b8b51115a637d8d812d57 Mon Sep 17 00:00:00 2001
From: lazhen <17772815105@139.com>
Date: 星期三, 13 十一月 2024 18:05:00 +0800
Subject: [PATCH] Merge branch 'dev' of http://47.101.211.7:10101/r/VWED into dev-zlg

---
 _Main/BL/Type_PackagingPlanCell/Method_UpdateValue.qbl                                                                             |   36 +
 _Main/UI/MacroPlannerWebApp/Component_FormAnnualPlanReport/Component_pRibbon.def                                                   |    2 
 _Main/BL/Type_MP_Cell_ScheduleSummary0/Attribute_Output.qbl                                                                        |    8 
 _Main/UI/MacroPlannerWebApp/Component_Form701/Component_listActionBarPage245.def                                                   |    2 
 _Main/UI/MacroPlannerWebApp/Component_FormDemandComparison/Response_pPower_dhCheckPowers_OnDataChanged.def                         |    2 
 _Main/UI/MacroPlannerWebApp/Component_FormAnnualPlanReport/Component_pPower#266.def                                                |   16 
 _Main/BL/Relations/Relation_ArchiveTable_Archive_Archive_ArchiveTable.qbl                                                          |   23 
 _Main/UI/MacroPlannerWebApp/Component_FormOfflinePlanComparison/Component_listActionBarPage519.def                                 |    2 
 _Main/UI/MacroPlannerWebApp/Component_FormOfflinePlanComparison/Component_listContextMenu687.def                                   |    2 
 _Main/UI/MacroPlannerWebApp/Component_FormAnnualPlanReport/Component_pRibbonUp.def                                                 |   18 
 _Main/BL/Type_MP_Cell_ScheduleSummary0/StaticMethod_GetTableName.qbl                                                               |   10 
 _Main/UI/MacroPlannerWebApp/Component_FormAnnualPlanReport/Response_pPower_266_dhPowers_OnCreated.def                              |    6 
 _Main/UI/MacroPlannerWebApp/Component_FormDemandComparison/Component_listActionBarPage963.def                                      |    2 
 _Main/BL/Type_MP_Row0/DefaultValue_CustomName.qbl                                                                                  |    6 
 _Main/UI/MacroPlannerWebApp/Component_FormDemandComparison/Component_listContextMenu687.def                                        |    2 
 _Main/BL/Type_MP_Column0/Attribute_Date.qbl                                                                                        |    7 
 _Main/UI/MacroPlannerWebApp/Component_FormAnnualPlanReport/Response_pGeneration_523_dhGenerations_OnCreated.def                    |    6 
 _Main/UI/MacroPlannerWebApp/Component_FormPackagingPlan/Response_MatrixEditor493_OnUpdateValue.def                                 |   19 
 _Main/UI/MacroPlannerWebApp/Component_FormDemandComparison/Component_pDemandComparison#822.def                                     |    6 
 _Main/BL/Type_MP_Cell_AnnualPlanReport0/_ROOT_Type_ArchiveCell_AnnualPlanReport#0.qbl                                              |   10 
 _Main/UI/MacroPlannerWebApp/Component_FormAnnualPlanReport/Component_pMainPanel.def                                                |    2 
 _Main/BL/Type_MP_Cell_AnnualPlanReport0/StaticMethod_Create.qbl                                                                    |   53 +
 _Main/UI/MacroPlannerWebApp/Component_FormAnnualPlanReport/Response_pRibbonDown_dsEndDate_OnChanged.def                            |    6 
 _Main/BL/Type_MP_Row0/DefaultValue_StockingPointID.qbl                                                                             |    6 
 _Main/BL/Type_MP_Cell_AnnualPlanReport0/StaticMethod_AsyncCreateTables.qbl                                                         |   16 
 _Main/UI/MacroPlannerWebApp/Component_FormAnnualPlanReport/Response_pRibbonUp_rbgTimeUnit_OnUserChanged.def                        |    6 
 _Main/BL/Type_MP_Column0/Function_CalcIndex.qbl                                                                                    |   29 
 _Main/UI/MacroPlannerWebApp/Component_FormAnnualPlanReport/Component_listContextMenu319#1.def                                      |    2 
 _Main/UI/MacroPlannerWebApp/Component_FormDemandComparison/Response_ListPowers_OnClick.def                                         |    2 
 _Main/UI/MacroPlannerWebApp/Component_FormOfflinePlanComparison/Component_listActionBarPage245.def                                 |    2 
 _Main/UI/MacroPlannerWebApp/Component_FormScheduleSummaryReport/Component_pScheduleSummary.def                                     |   16 
 _Main/UI/MacroPlannerWebApp/Component_FormScheduleSummaryReport/Response_pRibbonUp_88_bCreateFullTable_OnClick#71.def              |    6 
 _Main/UI/MacroPlannerWebApp/Component_FormAnnualPlanReport/Response_pMQBMLB_567_dhMQBMLB_OnCreated.def                             |    6 
 _Main/UI/MacroPlannerWebApp/Component_Form701/Response_ListMQBMLB_OnClick.def                                                      |    2 
 _Main/UI/MacroPlannerWebApp/Component_FormAnnualPlanReport/Component_MatrixEditor.def                                              |   14 
 _Main/BL/Relations/Relation_ArchiveTable_ArchiveColumn_ArchiveColumn_ArchiveTable.qbl                                              |   23 
 _Main/UI/MacroPlannerWebApp/Component_FormAnnualPlanReport/Response_ListPowers_509_OnClick.def                                     |    6 
 _Main/UI/MacroPlannerWebApp/Component_FormAnnualPlanReport/Response_pRibbonUp_dhTimeUnit_OnCreated.def                             |    6 
 _Main/BL/Type_MP_Row0/Function_CalcName.qbl                                                                                        |   13 
 _Main/BL/Type_AcTable/Attribute_CreateTime.qbl                                                                                     |    7 
 _Main/BL/Type_MP_Row0/Attribute_Name.qbl                                                                                           |    7 
 _Main/BL/Type_AcTable/_ROOT_Type_ArchiveTable.qbl                                                                                  |   10 
 _Main/UI/MacroPlannerWebApp/Component_FormDemandComparison/Response_PanelFilter_137_ButtonClearFilter_OnClick.def                  |    2 
 _Main/UI/MacroPlannerWebApp/Component_FormAnnualPlanReport/Response_pExport_94_bExport_OnClick.def                                 |    6 
 _Main/UI/MacroPlannerWebApp/Component_FormDemandComparison/Response_pDemandComparison_822_dhCheckedSalesSegments_OnDataChanged.def |   21 
 _Main/UI/MacroPlannerWebApp/Component_Form701/Component_pPower.def                                                                 |   12 
 _Main/UI/MacroPlannerWebApp/Component_FormAnnualPlanReport/Response_pRibbonUp_bCreateBaseData_OnClick.def                          |   18 
 _Main/UI/MacroPlannerWebApp/Component_FormDemandComparison/Response_pMQBMLB_dhCheckMQBMLB_OnDataChanged.def                        |    2 
 _Main/BL/Type_MP_Cell_ScheduleSummary0/StaticMethod_CreateFullTable.qbl                                                            |  155 ++++
 _Main/UI/MacroPlannerWebApp/Component_FormAnnualPlanReport/Component_pRibbonDown.def                                               |   57 -
 _Main/BL/Type_MP_Row0/Attribute_ProductionLine.qbl                                                                                 |    7 
 _Main/UI/MacroPlannerWebApp/Component_FormOfflinePlanComparison/Response_ListMQBMLB_OnClick.def                                    |    2 
 _Main/BL/Type_MP_Row0/Attribute_Remark.qbl                                                                                         |    7 
 _Main/UI/MacroPlannerWebApp/Component_FormDemandComparison/Response_pMQBMLB_dhMQBMLB_OnCreated.def                                 |    2 
 _Main/UI/MacroPlannerWebApp/Component_FormAnnualPlanReport/Component_pAnnualPlanReport#921.def                                     |   34 
 _Main/BL/Type_MP_Cell_ScheduleSummary0/Attribute_ShiftPattern.qbl                                                                  |    7 
 _Main/UI/MacroPlannerWebApp/Component_FormDemandComparison/Component_listContextMenu623.def                                        |    2 
 _Main/BL/Type_MP_Column0/DefaultValue_Name.qbl                                                                                     |    6 
 _Main/UI/MacroPlannerWebApp/Component_FormOfflinePlanComparison/Component_pProductAttributeFilter.def                              |    3 
 _Main/UI/MacroPlannerWebApp/Component_FormDemandComparison/Response_ListGenerations_OnClick.def                                    |    2 
 _Main/BL/Type_MP_Cell0/_ROOT_Type_ArchiveCell#0.qbl                                                                                |    9 
 _Main/UI/MacroPlannerWebApp/Component_Form701/Component_pMQBMLB.def                                                                |   12 
 _Main/UI/MacroPlannerWebApp/Component_Form701/Response_pPower_dhCheckPowers_OnDataChanged.def                                      |    2 
 _Main/UI/MacroPlannerWebApp/Component_FormAnnualPlanReport/Component_matrixeditorContextMenuDemandComparison.def                   |    2 
 _Main/UI/MacroPlannerWebApp/Component_FormDemandComparison/Component_pMQBMLB.def                                                   |   12 
 _Main/UI/MacroPlannerWebApp/Component_FormAnnualPlanReport/Component_pMainRight.def                                                |    4 
 _Main/UI/MacroPlannerWebApp/Component_FormAnnualPlanReport/Component_listContextMenu623#1.def                                      |    2 
 _Main/UI/MacroPlannerWebApp/Component_Form701/Component_ListGenerations.def                                                        |    9 
 _Main/UI/MacroPlannerWebApp/Component_FormOfflinePlanComparison/Response_pPower_dhPowers_OnCreated.def                             |    2 
 _Main/BL/Type_MP_Row0/DefaultValue_Remark.qbl                                                                                      |    6 
 _Main/UI/MacroPlannerWebApp/Component_Form701/Component_pGeneration.def                                                            |   14 
 _Main/UI/MacroPlannerWebApp/Component_FormDemandComparison/Response_pGeneration_dhGenerations_OnCreated.def                        |    2 
 _Main/BL/Type_AcTable/Attribute_MacroPlanMDSID.qbl                                                                                 |    7 
 _Main/BL/Type_MP_Cell_ScheduleSummary0/Attribute_WorkingDay.qbl                                                                    |    8 
 _Main/BL/Type_AcTable/DefaultValue_Name.qbl                                                                                        |    6 
 _Main/BL/Type_MP_Column0/Attribute_IsAttrbuteColumn.qbl                                                                            |    7 
 _Main/UI/MacroPlannerWebApp/Component_Form701/Component_ListMQBMLB.def                                                             |    9 
 _Main/UI/MacroPlannerWebApp/Component_Form701/Component_listActionBarPage519.def                                                   |    2 
 _Main/BL/Type_MP_Cell_AnnualPlanReport0/StaticMethod_GetTableName.qbl                                                              |   10 
 _Main/UI/MacroPlannerWebApp/Component_FormAnnualPlanReport/Component_matrixEditorActionBarPageDemandComparison.def                 |    2 
 _Main/BL/Type_AcTable/Attribute_RowIndexCache.qbl                                                                                  |    7 
 _Main/UI/MacroPlannerWebApp/Component_FormOfflinePlanComparison/Component_ListGenerations.def                                      |    9 
 _Main/UI/MacroPlannerWebApp/Component_FormAnnualPlanReport/Response_pRibbonDown_dhEndDate_OnCreated.def                            |    6 
 _Main/BL/Type_MP_Column0/Function_CalcDate.qbl                                                                                     |   13 
 _Main/UI/MacroPlannerWebApp/Component_FormOfflinePlanComparison/Component_ListMQBMLB.def                                           |    9 
 _Main/UI/MacroPlannerWebApp/Component_FormDemandComparison/Component_pGeneration.def                                               |   14 
 _Main/BL/Relations/Relation_ArchiveCell_ArchiveColumn_ArchiveColumn_ArchiveCell.qbl                                                |   23 
 _Main/BL/Type_MP_Row0/Attribute_ProductID.qbl                                                                                      |    7 
 _Main/UI/MacroPlannerWebApp/Component_FormAnnualPlanReport/Component_pMainLeft.def                                                 |    4 
 _Main/BL/Type_AcTable/Attribute_MacroPlanName.qbl                                                                                  |    7 
 _Main/UI/MacroPlannerWebApp/Component_FormOfflinePlanComparison/Component_listContextMenu623.def                                   |    2 
 _Main/BL/Type_MP_Column0/Attribute_Index.qbl                                                                                       |    7 
 _Main/UI/MacroPlannerWebApp/Component_FormDemandComparison/Component_ListGenerations.def                                           |    9 
 _Main/UI/MacroPlannerWebApp/Component_FormAnnualPlanReport/Component_listContextMenu687#1.def                                      |    2 
 _Main/UI/MacroPlannerWebApp/Component_FormOfflinePlanComparison/Response_pMQBMLB_dhMQBMLB_OnCreated.def                            |    2 
 _Main/UI/MacroPlannerWebApp/Component_FormAnnualPlanReport/Response_pMQBMLB_567_dhCheckMQBMLB_OnDataChanged.def                    |    6 
 _Main/UI/MacroPlannerWebApp/Component_Form701/Component_listActionBarPage963.def                                                   |    2 
 _Main/UI/MacroPlannerWebApp/Component_FormAnnualPlanReport/Component_pGeneration#523.def                                           |   16 
 _Main/UI/MacroPlannerWebApp/Component_Form701/Component_listContextMenu319.def                                                     |    2 
 _Main/BL/Relations/Relation_ArchiveTable_ArchiveRow_ArchiveRow_ArchiveTable.qbl                                                    |   23 
 _Main/UI/MacroPlannerWebApp/Component_FormDemandComparison/Component_listContextMenu319.def                                        |    2 
 _Main/BL/Type_MP_Column0/Attribute_CustomDate.qbl                                                                                  |    7 
 _Main/UI/MacroPlannerWebApp/Component_FormDemandComparison/Response_ListMQBMLB_OnClick.def                                         |    2 
 _Main/UI/MacroPlannerWebApp/Component_FormAnnualPlanReport/Response_pAnnualPlanReport_921_dhAnnualPlanTable_OnDataChanged.def      |    6 
 _Main/UI/MacroPlannerWebApp/Component_FormAnnualPlanReport/Response_pAnnualPlanReport_921_dhFinelProducts_OnCreated.def            |    6 
 _Main/UI/MacroPlannerWebApp/Component_FormAnnualPlanReport/Component_ListPowers#509.def                                            |   11 
 _Main/UI/MacroPlannerWebApp/Component_FormScheduleSummaryReport/Response_pRibbonUp_88_bCreateBaseData_OnClick#88.def               |    2 
 _Main/BL/Type_MP_Row0/Attribute_Index.qbl                                                                                          |    7 
 _Main/UI/MacroPlannerWebApp/Component_FormPackagingPlan/Response_MatrixEditor493_OnCheckEditability.def                            |    2 
 _Main/UI/MacroPlannerWebApp/Component_Form701/Component_listContextMenu623.def                                                     |    2 
 _Main/UI/MacroPlannerWebApp/Component_FormOfflinePlanComparison/Response_pGeneration_dhCheckGenerations_OnDataChanged.def          |    2 
 _Main/UI/MacroPlannerWebApp/Component_Form701/Response_pPower_dhPowers_OnCreated.def                                               |    2 
 _Main/BL/Type_MP_Cell_AnnualPlanReport0/Attribute_NewSupply.qbl                                                                    |    7 
 _Main/BL/Type_MP_Cell_ScheduleSummary0/StaticMethod_Create.qbl                                                                     |   88 ++
 _Main/UI/MacroPlannerWebApp/Component_Form701/Response_ListPowers_OnClick.def                                                      |    2 
 _Main/UI/MacroPlannerWebApp/Component_FormDemandComparison/Component_pProductAttributeFilter.def                                   |    3 
 _Main/BL/Type_MP_Cell_ScheduleSummary0/_ROOT_Type_ArchiveCell_ScheduleSummary#0.qbl                                                |   10 
 _Main/BL/Type_MP_Column0/Attribute_Name.qbl                                                                                        |    7 
 _Main/UI/MacroPlannerWebApp/Component_Form701/Response_pGeneration_dhGenerations_OnCreated.def                                     |    2 
 _Main/UI/MacroPlannerWebApp/Component_Form701/Response_pMQBMLB_dhMQBMLB_OnCreated.def                                              |    2 
 _Main/UI/MacroPlannerWebApp/Component_FormAnnualPlanReport/Response_pAnnualPlanReport_921_dhFinelEntitys_OnCreated.def             |    6 
 _Main/UI/MacroPlannerWebApp/Component_FormAnnualPlanReport/Response_ListGenerations_916_OnClick.def                                |    6 
 _Main/UI/MacroPlannerWebApp/Component_FormAnnualPlanReport/Component_pProductAttributeFilter#565.def                               |   18 
 _Main/BL/Type_MP_Cell_ScheduleSummary0/StaticMethod_ExportOutputTemplate.qbl                                                       |   36 +
 _Main/UI/MacroPlannerWebApp/Component_FormAnnualPlanReport/Response_pAnnualPlanReport_921_dhCheckedProducts_OnDataChanged.def      |    6 
 _Main/UI/MacroPlannerWebApp/Component_FormAnnualPlanReport/Response_pRibbonDown_dsStartDate_OnChanged.def                          |    6 
 _Main/UI/MacroPlannerWebApp/Component_FormOfflinePlanComparison/Response_ListPowers_OnClick.def                                    |    2 
 _Main/BL/Type_MP_Row0/Attribute_StockingPointID.qbl                                                                                |    7 
 _Main/BL/Type_MP_Row0/DefaultValue_ProductID.qbl                                                                                   |    6 
 _Main/UI/MacroPlannerWebApp/Component_FormDemandComparison/Response_pDemandComparison_822_dhFinelProducts_OnCreated.def            |    4 
 _Main/UI/MacroPlannerWebApp/Component_Form701/Response_pMQBMLB_dhCheckMQBMLB_OnDataChanged.def                                     |    2 
 _Main/UI/MacroPlannerWebApp/Component_Form701/Response_ListGenerations_OnClick.def                                                 |    2 
 _Main/UI/MacroPlannerWebApp/Component_FormAnnualPlanReport/Component_pMQBMLB#567.def                                               |   16 
 _Main/UI/MacroPlannerWebApp/Component_FormOfflinePlanComparison/Response_pPower_dhCheckPowers_OnDataChanged.def                    |    2 
 _Main/BL/Type_AcTable/Method_GetRowIndexCache.qbl                                                                                  |   12 
 _Main/UI/MacroPlannerWebApp/Component_Form701/Response_pGeneration_dhCheckGenerations_OnDataChanged.def                            |    2 
 _Main/UI/MacroPlannerWebApp/Component_FormAnnualPlanReport/Response_ListMQBMLB_865_OnClick.def                                     |    6 
 _Main/UI/MacroPlannerWebApp/Component_FormAnnualPlanReport/Response_pRibbonUp_bCreateFullTable_OnClick.def                         |   20 
 _Main/BL/Type_MP_Row0/DefaultValue_Name.qbl                                                                                        |    6 
 _Main/UI/MacroPlannerWebApp/Component_FormAnnualPlanReport/Component_pExport#94.def                                                |   10 
 _Main/UI/MacroPlannerWebApp/Component_FormDemandComparison/Response_pDemandComparison_822_dhCheckedProducts_OnDataChanged.def      |    8 
 _Main/UI/MacroPlannerWebApp/Component_FormDemandComparison/Response_pGeneration_dhCheckGenerations_OnDataChanged.def               |    2 
 _Main/UI/MacroPlannerWebApp/Component_FormDemandComparison/Component_listActionBarPage519.def                                      |    2 
 _Main/UI/MacroPlannerWebApp/Component_FormDemandComparison/Response_pPower_dhPowers_OnCreated.def                                  |    2 
 _Main/UI/MacroPlannerWebApp/Component_FormOfflinePlanComparison/Component_ListPowers.def                                           |    9 
 _Main/UI/MacroPlannerWebApp/Component_FormAnnualPlanReport/Response_pAnnualPlanReport_921_dhCheckedEntitys_OnDataChanged.def       |    6 
 _Main/UI/MacroPlannerWebApp/Component_FormOfflinePlanComparison/Response_pMQBMLB_dhCheckMQBMLB_OnDataChanged.def                   |    2 
 _Main/UI/MacroPlannerWebApp/Component_FormOfflinePlanComparison/Component_listActionBarPage963.def                                 |    2 
 _Main/UI/MacroPlannerWebApp/Component_Form701/Component_pProductAttributeFilter.def                                                |    3 
 _Main/UI/MacroPlannerWebApp/Component_FormAnnualPlanReport/Component_listActionBarPage245#1.def                                    |    2 
 _Main/UI/MacroPlannerWebApp/Component_FormDemandComparison/Component_ListPowers.def                                                |    9 
 _Main/BL/Type_MP_Row0/Attribute_CustomName.qbl                                                                                     |    7 
 _Main/BL/Type_MP_Column0/_ROOT_Type_ArchiveColumn#0.qbl                                                                            |    9 
 _Main/BL/Type_MP_Cell_ScheduleSummary0/StaticMethod_ImportOutput.qbl                                                               |   68 ++
 _Main/UI/MacroPlannerWebApp/Component_FormAnnualPlanReport/Response_pPower_266_dhCheckPowers_OnDataChanged.def                     |    6 
 _Main/UI/MacroPlannerWebApp/Component_FormDemandComparison/Component_ListMQBMLB.def                                                |    9 
 _Main/UI/MacroPlannerWebApp/Component_FormAnnualPlanReport/Response_pExport_94_dhXMLDataListener_OnDataChanged.def                 |    6 
 _Main/UI/MacroPlannerWebApp/Component_FormOfflinePlanComparison/Component_pPower.def                                               |   12 
 _Main/BL/Type_MP_Column0/DefaultValue_CustomIndex.qbl                                                                              |    7 
 _Main/BL/Type_MP_Cell_AnnualPlanReport0/StaticMethod_CreateFullTable.qbl                                                           |  179 +++++
 _Main/UI/MacroPlannerWebApp/Component_FormOfflinePlanComparison/Component_pGeneration.def                                          |   14 
 _Main/UI/MacroPlannerWebApp/Component_Form701/Component_listContextMenu687.def                                                     |    2 
 _Main/UI/MacroPlannerWebApp/Component_FormDemandComparison/Component_pPower.def                                                    |   12 
 _Main/UI/MacroPlannerWebApp/Component_FormAnnualPlanReport/Component_ListMQBMLB#865.def                                            |   11 
 _Main/UI/MacroPlannerWebApp/Component_FormAnnualPlanReport/Component_listActionBarPage963#1.def                                    |    2 
 _Main/BL/Type_MP_Cell_ScheduleSummary0/Attribute_IsFristWeekData.qbl                                                               |    7 
 _Main/UI/MacroPlannerWebApp/Component_FormDemandComparison/Response_PanelOperation_bExport_OnClick.def                             |    2 
 _Main/UI/MacroPlannerWebApp/Component_FormAnnualPlanReport/Response_pRibbonDown_dhStartDate_OnCreated.def                          |    6 
 _Main/UI/MacroPlannerWebApp/Component_FormDemandComparison/Component_listActionBarPage245.def                                      |    2 
 _Main/UI/MacroPlannerWebApp/Component_FormDemandComparison/Response_PanelFilter_137_ButtonFilter485_OnClick.def                    |    4 
 _Main/UI/MacroPlannerWebApp/Component_FormOfflinePlanComparison/Component_listContextMenu319.def                                   |    2 
 _Main/UI/MacroPlannerWebApp/Component_FormOfflinePlanComparison/Component_pMQBMLB.def                                              |   12 
 _Main/BL/Type_AcTable/Attribute_Name.qbl                                                                                           |    7 
 _Main/UI/MacroPlannerWebApp/Component_FormDemandComparison/Component_MatrixEditor#298.def                                          |    4 
 _Main/BL/Type_MP_Cell_ScheduleSummary0/StaticMethod_AsyncCreateTables.qbl                                                          |   16 
 _Main/BL/Relations/Relation_ArchiveCell_ArchiveRow_ArchiveRow_ArchiveCell.qbl                                                      |   23 
 /dev/null                                                                                                                          |   12 
 _Main/UI/MacroPlannerWebApp/Component_FormAnnualPlanReport/Component_ListGenerations#916.def                                       |   11 
 _Main/UI/MacroPlannerWebApp/Component_FormOfflinePlanComparison/Response_pGeneration_dhGenerations_OnCreated.def                   |    2 
 _Main/UI/MacroPlannerWebApp/Component_FormScheduleSummaryReport/Component_pRibbonDown#478.def                                      |   37 -
 _Main/UI/MacroPlannerWebApp/Component_Form701/Component_ListPowers.def                                                             |    9 
 _Main/BL/Type_MP_Cell_ScheduleSummary0/DefaultValue_ShiftPattern.qbl                                                               |    6 
 _Main/BL/Type_MP_Column0/Attribute_CustomIndex.qbl                                                                                 |    7 
 _Main/UI/MacroPlannerWebApp/Component_FormAnnualPlanReport/Component_listActionBarPage519#1.def                                    |    2 
 _Main/BL/Type_MP_Row0/DefaultValue_ProductionLine.qbl                                                                              |    6 
 _Main/BL/Type_MP_Row0/_ROOT_Type_ArchiveRow#0.qbl                                                                                  |    9 
 _Main/UI/MacroPlannerWebApp/Component_FormAnnualPlanReport/Response_pGeneration_523_dhCheckGenerations_OnDataChanged.def           |    6 
 _Main/BL/Type_MP_Cell_ScheduleSummary0/Attribute_Capacity.qbl                                                                      |    8 
 _Main/UI/MacroPlannerWebApp/Component_FormOfflinePlanComparison/Response_ListGenerations_OnClick.def                               |    2 
 189 files changed, 1,581 insertions(+), 426 deletions(-)

diff --git a/_Main/BL/Relations/Relation_ArchiveCell_ArchiveColumn_ArchiveColumn_ArchiveCell.qbl b/_Main/BL/Relations/Relation_ArchiveCell_ArchiveColumn_ArchiveColumn_ArchiveCell.qbl
new file mode 100644
index 0000000..cd9f339
--- /dev/null
+++ b/_Main/BL/Relations/Relation_ArchiveCell_ArchiveColumn_ArchiveColumn_ArchiveCell.qbl
@@ -0,0 +1,23 @@
+Quintiq file version 2.0
+#parent: #root
+Relation ArchiveCell_ArchiveColumn_ArchiveColumn_ArchiveCell
+{
+  #keys: '1[414996.1.219180210]'
+  DefaultRelationStrategy
+  {
+  }
+  RelationSide.LeftSide ArchiveColumn
+  {
+    #keys: '3[414996.1.219180212][414996.1.219180211][414996.1.219180213]'
+    Cardinality: '0to1'
+    ObjectDefinition: ArchiveCell
+    OwningSide: 'Reference'
+  }
+  RelationSide.RightSide ArchiveCell
+  {
+    #keys: '3[414996.1.219180215][414996.1.219180214][414996.1.219180216]'
+    Cardinality: '1toN'
+    ObjectDefinition: ArchiveColumn
+    OwningSide: 'Reference'
+  }
+}
diff --git a/_Main/BL/Relations/Relation_ArchiveCell_ArchiveRow_ArchiveRow_ArchiveCell.qbl b/_Main/BL/Relations/Relation_ArchiveCell_ArchiveRow_ArchiveRow_ArchiveCell.qbl
new file mode 100644
index 0000000..c9639c2
--- /dev/null
+++ b/_Main/BL/Relations/Relation_ArchiveCell_ArchiveRow_ArchiveRow_ArchiveCell.qbl
@@ -0,0 +1,23 @@
+Quintiq file version 2.0
+#parent: #root
+Relation ArchiveCell_ArchiveRow_ArchiveRow_ArchiveCell
+{
+  #keys: '1[414996.1.219180226]'
+  DefaultRelationStrategy
+  {
+  }
+  RelationSide.LeftSide ArchiveRow
+  {
+    #keys: '3[414996.1.219180228][414996.1.219180227][414996.1.219180229]'
+    Cardinality: '0to1'
+    ObjectDefinition: ArchiveCell
+    OwningSide: 'Reference'
+  }
+  RelationSide.RightSide ArchiveCell
+  {
+    #keys: '3[414996.1.219180231][414996.1.219180230][414996.1.219180232]'
+    Cardinality: '1toN'
+    ObjectDefinition: ArchiveRow
+    OwningSide: 'Owned'
+  }
+}
diff --git a/_Main/BL/Relations/Relation_ArchiveTable_ArchiveColumn_ArchiveColumn_ArchiveTable.qbl b/_Main/BL/Relations/Relation_ArchiveTable_ArchiveColumn_ArchiveColumn_ArchiveTable.qbl
new file mode 100644
index 0000000..7e47dbd
--- /dev/null
+++ b/_Main/BL/Relations/Relation_ArchiveTable_ArchiveColumn_ArchiveColumn_ArchiveTable.qbl
@@ -0,0 +1,23 @@
+Quintiq file version 2.0
+#parent: #root
+Relation ArchiveTable_ArchiveColumn_ArchiveColumn_ArchiveTable
+{
+  #keys: '1[414996.1.219180239]'
+  DefaultRelationStrategy
+  {
+  }
+  RelationSide.LeftSide ArchiveColumn
+  {
+    #keys: '3[414996.1.219180241][414996.1.219180240][414996.1.219180242]'
+    Cardinality: '1toN'
+    ObjectDefinition: ArchiveTable
+    OwningSide: 'Owned'
+  }
+  RelationSide.RightSide ArchiveTable
+  {
+    #keys: '3[414996.1.219180244][414996.1.219180243][414996.1.219180245]'
+    Cardinality: '0to1'
+    ObjectDefinition: ArchiveColumn
+    OwningSide: 'Reference'
+  }
+}
diff --git a/_Main/BL/Relations/Relation_ArchiveTable_ArchiveRow_ArchiveRow_ArchiveTable.qbl b/_Main/BL/Relations/Relation_ArchiveTable_ArchiveRow_ArchiveRow_ArchiveTable.qbl
new file mode 100644
index 0000000..e1f16ab
--- /dev/null
+++ b/_Main/BL/Relations/Relation_ArchiveTable_ArchiveRow_ArchiveRow_ArchiveTable.qbl
@@ -0,0 +1,23 @@
+Quintiq file version 2.0
+#parent: #root
+Relation ArchiveTable_ArchiveRow_ArchiveRow_ArchiveTable
+{
+  #keys: '1[414996.1.219180252]'
+  DefaultRelationStrategy
+  {
+  }
+  RelationSide.LeftSide ArchiveRow
+  {
+    #keys: '3[414996.1.219180254][414996.1.219180253][414996.1.219180255]'
+    Cardinality: '1toN'
+    ObjectDefinition: ArchiveTable
+    OwningSide: 'Owned'
+  }
+  RelationSide.RightSide ArchiveTable
+  {
+    #keys: '3[414996.1.219180257][414996.1.219180256][414996.1.219180258]'
+    Cardinality: '0to1'
+    ObjectDefinition: ArchiveRow
+    OwningSide: 'Reference'
+  }
+}
diff --git a/_Main/BL/Relations/Relation_ArchiveTable_Archive_Archive_ArchiveTable.qbl b/_Main/BL/Relations/Relation_ArchiveTable_Archive_Archive_ArchiveTable.qbl
new file mode 100644
index 0000000..fc945a5
--- /dev/null
+++ b/_Main/BL/Relations/Relation_ArchiveTable_Archive_Archive_ArchiveTable.qbl
@@ -0,0 +1,23 @@
+Quintiq file version 2.0
+#parent: #root
+Relation ArchiveTable_Archive_Archive_ArchiveTable
+{
+  #keys: '1[414996.1.219180265]'
+  DefaultRelationStrategy
+  {
+  }
+  RelationSide.LeftSide Archive
+  {
+    #keys: '3[414996.1.219180267][414996.1.219180266][414996.1.219180268]'
+    Cardinality: '0to1'
+    ObjectDefinition: ArchiveTable
+    OwningSide: 'Reference'
+  }
+  RelationSide.RightSide ArchiveTable
+  {
+    #keys: '3[414996.1.219180270][414996.1.219180269][414996.1.219180271]'
+    Cardinality: '1toN'
+    ObjectDefinition: Archive
+    OwningSide: 'Owned'
+  }
+}
diff --git a/_Main/BL/Type_AcTable/Attribute_CreateTime.qbl b/_Main/BL/Type_AcTable/Attribute_CreateTime.qbl
new file mode 100644
index 0000000..cf44a1c
--- /dev/null
+++ b/_Main/BL/Type_AcTable/Attribute_CreateTime.qbl
@@ -0,0 +1,7 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute CreateTime
+{
+  #keys: '3[414996.1.219180095][414996.1.219180094][414996.1.219180096]'
+  ValueType: DateTime
+}
diff --git a/_Main/BL/Type_AcTable/Attribute_MacroPlanMDSID.qbl b/_Main/BL/Type_AcTable/Attribute_MacroPlanMDSID.qbl
new file mode 100644
index 0000000..b54ac32
--- /dev/null
+++ b/_Main/BL/Type_AcTable/Attribute_MacroPlanMDSID.qbl
@@ -0,0 +1,7 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute MacroPlanMDSID
+{
+  #keys: '3[414996.1.219180289][414996.1.219180288][414996.1.219180290]'
+  ValueType: Key
+}
diff --git a/_Main/BL/Type_AcTable/Attribute_MacroPlanName.qbl b/_Main/BL/Type_AcTable/Attribute_MacroPlanName.qbl
new file mode 100644
index 0000000..747c513
--- /dev/null
+++ b/_Main/BL/Type_AcTable/Attribute_MacroPlanName.qbl
@@ -0,0 +1,7 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute MacroPlanName
+{
+  #keys: '3[414996.1.219180279][414996.1.219180278][414996.1.219180280]'
+  ValueType: String
+}
diff --git a/_Main/BL/Type_AcTable/Attribute_Name.qbl b/_Main/BL/Type_AcTable/Attribute_Name.qbl
new file mode 100644
index 0000000..dde52d7
--- /dev/null
+++ b/_Main/BL/Type_AcTable/Attribute_Name.qbl
@@ -0,0 +1,7 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute Name
+{
+  #keys: '3[414996.1.219180098][414996.1.219180097][414996.1.219180099]'
+  ValueType: String
+}
diff --git a/_Main/BL/Type_AcTable/Attribute_RowIndexCache.qbl b/_Main/BL/Type_AcTable/Attribute_RowIndexCache.qbl
new file mode 100644
index 0000000..c74091b
--- /dev/null
+++ b/_Main/BL/Type_AcTable/Attribute_RowIndexCache.qbl
@@ -0,0 +1,7 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute RowIndexCache
+{
+  #keys: '3[414996.1.219180101][414996.1.219180100][414996.1.219180102]'
+  ValueType: Number
+}
diff --git a/_Main/BL/Type_AcTable/DefaultValue_Name.qbl b/_Main/BL/Type_AcTable/DefaultValue_Name.qbl
new file mode 100644
index 0000000..86c3d59
--- /dev/null
+++ b/_Main/BL/Type_AcTable/DefaultValue_Name.qbl
@@ -0,0 +1,6 @@
+Quintiq file version 2.0
+#parent: #root
+DefaultValue
+{
+  TargetAttribute: Name
+}
diff --git a/_Main/BL/Type_AcTable/Method_GetRowIndexCache.qbl b/_Main/BL/Type_AcTable/Method_GetRowIndexCache.qbl
new file mode 100644
index 0000000..eccdbc7
--- /dev/null
+++ b/_Main/BL/Type_AcTable/Method_GetRowIndexCache.qbl
@@ -0,0 +1,12 @@
+Quintiq file version 2.0
+#parent: #root
+Method GetRowIndexCache () declarative as Number
+{
+  TextBody:
+  [*
+    // rislai Jun-20-2024 (created)
+    this.RowIndexCache( this.RowIndexCache() + 1 );
+    
+    return this.RowIndexCache();
+  *]
+}
diff --git a/_Main/BL/Type_AcTable/_ROOT_Type_ArchiveTable.qbl b/_Main/BL/Type_AcTable/_ROOT_Type_ArchiveTable.qbl
new file mode 100644
index 0000000..535bc41
--- /dev/null
+++ b/_Main/BL/Type_AcTable/_ROOT_Type_ArchiveTable.qbl
@@ -0,0 +1,10 @@
+Quintiq file version 2.0
+#root
+#parent: #DomainModel
+Type ArchiveTable
+{
+  #keys: '5[414996.1.219180092][414996.1.219180090][0.0.0][414996.1.219180091][414996.1.219180093]'
+  BaseType: Object
+  OnCreate: 'this.CreateTime( DateTime::Now() );'
+  StructuredName: 'ArchiveTables'
+}
diff --git "a/_Main/BL/Type_MP_Cell0/_ROOT_Type_ArchiveCell\0430.qbl" "b/_Main/BL/Type_MP_Cell0/_ROOT_Type_ArchiveCell\0430.qbl"
new file mode 100644
index 0000000..a959130
--- /dev/null
+++ "b/_Main/BL/Type_MP_Cell0/_ROOT_Type_ArchiveCell\0430.qbl"
@@ -0,0 +1,9 @@
+Quintiq file version 2.0
+#root
+#parent: #DomainModel
+Type ArchiveCell
+{
+  #keys: '5[414996.1.219180181][414996.1.219180179][0.0.0][414996.1.219180180][414996.1.219180182]'
+  BaseType: Object
+  StructuredName: 'ArchiveCells'
+}
diff --git a/_Main/BL/Type_MP_Cell_AnnualPlanReport0/Attribute_NewSupply.qbl b/_Main/BL/Type_MP_Cell_AnnualPlanReport0/Attribute_NewSupply.qbl
new file mode 100644
index 0000000..631140a
--- /dev/null
+++ b/_Main/BL/Type_MP_Cell_AnnualPlanReport0/Attribute_NewSupply.qbl
@@ -0,0 +1,7 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute NewSupply
+{
+  #keys: '3[414996.1.219180175][414996.1.219180174][414996.1.219180176]'
+  ValueType: Real
+}
diff --git a/_Main/BL/Type_MP_Cell_AnnualPlanReport0/StaticMethod_AsyncCreateTables.qbl b/_Main/BL/Type_MP_Cell_AnnualPlanReport0/StaticMethod_AsyncCreateTables.qbl
new file mode 100644
index 0000000..7713c4d
--- /dev/null
+++ b/_Main/BL/Type_MP_Cell_AnnualPlanReport0/StaticMethod_AsyncCreateTables.qbl
@@ -0,0 +1,16 @@
+Quintiq file version 2.0
+#parent: #root
+StaticMethod AsyncCreateTables (
+  const Keys macroPlanMDSIDs,
+  Archive archive
+)
+{
+  TextBody:
+  [*
+    // Akari Nov-11-2024 (created)
+    traverse( macroPlanMDSIDs,Elements,mdsid ){
+      streamMacroPlan := LocalTool::LoadMacroPlan( mdsid );
+      streamMacroPlan -> ArchiveCell_AnnualPlanReport::Create( archive );
+    }
+  *]
+}
diff --git a/_Main/BL/Type_MP_Cell_AnnualPlanReport0/StaticMethod_Create.qbl b/_Main/BL/Type_MP_Cell_AnnualPlanReport0/StaticMethod_Create.qbl
new file mode 100644
index 0000000..9db2266
--- /dev/null
+++ b/_Main/BL/Type_MP_Cell_AnnualPlanReport0/StaticMethod_Create.qbl
@@ -0,0 +1,53 @@
+Quintiq file version 2.0
+#parent: #root
+StaticMethod Create (
+  const MacroPlan macroPlan,
+  Archive archive
+) as ArchiveTable
+{
+  TextBody:
+  [*
+    // rislai Aug-6-2024 (created)
+    traverse( archive,ArchiveTable,table,table.Name() = ArchiveCell_AnnualPlanReport::GetTableName() and table.MacroPlanMDSID() = macroPlan.MDSID() ){
+      table.Delete();
+    }
+    
+    table := archive.ArchiveTable( relnew,Name := ArchiveCell_AnnualPlanReport::GetTableName(),MacroPlanMDSID := macroPlan.MDSID(),MacroPlanName := macroPlan.MDSMacroPlan().Description());
+    
+    startDate := macroPlan.StartOfPlanning().Date();
+    endDate := startDate.StartOfNextWeek();
+    
+    columns := construct( ArchiveColumns );
+    columnIndexTree := NamedValueTree::Create();
+    for( i := startDate;i < endDate; i := i + 1){
+      column := table.ArchiveColumn( relnew,CustomDate := i );
+      columnHandle := columnIndexTree.GetHandle( i.AsQUILL() );
+      columns.Add( column );
+      columnIndexTree.Root().AddChild( columnHandle,columns.Size() - 1 );
+    }
+    
+    traverse( macroPlan,Product_MP.ProductInStockingPoint_MP,pisp_mp ){
+      // unit.AsEntity().DisplayNameForSelection()
+      pispippls := selectset( pisp_mp,ProductInStockingPointInPeriod.astype( ProductInStockingPointInPeriodPlanningLeaf ),pispippl,
+                                        pispippl.Period_MP().StartDate() >= startDate 
+                                    and pispippl.Period_MP().EndDate() <= endDate 
+                                    and pispippl.Period_MP().TimeUnit() = Translations::MP_GlobalParameters_Day());
+      if( pispippls.Size() <> 0 ){
+        productionLine := pisp_mp.StockingPoint_MP().Unit().Name();
+        row := table.ArchiveRow( relnew,ProductID := pisp_mp.ProductID() ,Index := table.GetRowIndexCache() );
+        row.ProductionLine( productionLine );
+        row.CustomName( row.ProductID() + " > " + row.ProductionLine() );
+        traverse( pispippls,Elements,pispippl ){
+          columnHandle := columnIndexTree.GetHandle( pispippl.Period_MP().StartDate().AsQUILL() );
+          columnIndex := guard( columnIndexTree.Root().Child( columnHandle ),null( NamedValue ));
+          if( not isnull( columnIndex )){
+            column := columns.Element( columnIndex.GetValueAsNumber() );
+            row.ArchiveCell( relnew,ArchiveCell_AnnualPlanReport,ArchiveColumn := column ,NewSupply := pispippl.NewSupplyQuantity());
+          }
+        }
+      }
+    }
+    
+    return table;
+  *]
+}
diff --git a/_Main/BL/Type_MP_Cell_AnnualPlanReport0/StaticMethod_CreateFullTable.qbl b/_Main/BL/Type_MP_Cell_AnnualPlanReport0/StaticMethod_CreateFullTable.qbl
new file mode 100644
index 0000000..bedb215
--- /dev/null
+++ b/_Main/BL/Type_MP_Cell_AnnualPlanReport0/StaticMethod_CreateFullTable.qbl
@@ -0,0 +1,179 @@
+Quintiq file version 2.0
+#parent: #root
+StaticMethod CreateFullTable (
+  const Archive archive,
+  RecycleBin recycleBin,
+  const MacroPlan macroPlan
+) as LocalTable
+{
+  TextBody:
+  [*
+    // rislai Aug-7-2024 (created)
+    traverse( recycleBin,LocalTable,table,table.Name() = ArchiveCell_AnnualPlanReport::GetTableName() ){
+      table.Delete();
+    }
+    localTable := recycleBin.LocalTable( relnew,Name := ArchiveCell_AnnualPlanReport::GetTableName() );
+    
+    info( "111" );
+    
+    tables := selectset( archive,ArchiveTable,table,table.Name() = ArchiveCell_AnnualPlanReport::GetTableName());
+    
+    startDate := minselect( tables,Elements.ArchiveColumn,column,column.CustomDate() ).CustomDate();
+    endDate := maxselect( tables,Elements.ArchiveColumn,column,column.CustomDate() ).CustomDate();
+    
+    localCells := construct( LocalCell_Defaults );
+    localCellIndexTree := NamedValueTree::Create();
+    
+    localRows := construct( LocalRows );
+    localRowIndexTree := NamedValueTree::Create();
+    localColumns := construct( LocalColumns );
+    localColumnIndexTree := NamedValueTree::Create();
+    for( i := startDate; i <= endDate; i := i + 1 ){
+       localColumn := localTable.LocalColumn( relnew,CustomDate := i ,TimeUnit := "Day");
+       localColumnHandle := localColumnIndexTree.GetHandle( i.AsQUILL() );
+       localColumns.Add( localColumn );
+       localColumnIndexTree.Root().AddChild( localColumnHandle,localColumns.Size() - 1 );
+    }
+    
+    traverse( tables,Elements.ArchiveRow,row ){
+       localRowHandle := localRowIndexTree.GetHandle( row.ProductID() + row.ProductionLine() );
+       localRowIndex := guard( localRowIndexTree.Root().Child( localRowHandle ),null( NamedValue ));
+       localRow := null( LocalRow );
+       if( isnull( localRowIndex )){
+    
+         localRow := localTable.LocalRow( relnew,CustomName := row.Name(),ProductID := row.ProductID(),ProductionLine := row.ProductionLine(),Index := localTable.GetRowIndexCache() );
+         localRows.Add( localRow );
+         localRowIndexTree.Root().AddChild( localRowHandle,localRows.Size() - 1 );
+       }else{
+         localRow := localRows.Element( localRowIndex.GetValueAsNumber() );
+       }
+      
+       traverse( row,ArchiveCell.astype( ArchiveCell_AnnualPlanReport ),cell ){
+         localColumnHandle := localColumnIndexTree.GetHandle( cell.ArchiveColumn().Date().AsQUILL());
+         localColumnIndex := guard( localColumnIndexTree.Root().Child( localColumnHandle ),null( NamedValue ));
+         if( not isnull( localColumnIndex )){
+           localColumn := localColumns.Element( localColumnIndex.GetValueAsNumber() );
+           
+           localCellHandle := localCellIndexTree.GetHandle( localRow.ProductID() + localRow.ProductionLine() + localColumn.CustomDate().AsQUILL() + localColumn.TimeUnit() );
+           localCellIndex := guard( localCellIndexTree.Root().Child( localCellHandle ),null( NamedValue ));
+           if( isnull( localCellIndex )){
+             localCell := localRow.LocalCell( relnew,LocalCell_Default,LocalColumn := localColumn );
+             localCell.RealValue( cell.NewSupply() );
+             localCells.Add( localCell );
+             localCellIndexTree.Root().AddChild( localCellHandle,localCells.Size() - 1 );
+           }else{
+             localCell := localCells.Element( localCellIndex.GetValueAsNumber() );
+             localCell.RealValue( localCell.RealValue() + cell.NewSupply() );
+           }
+         }
+       }
+    }
+    
+    //owner := maxselect( owners,Elements,element,element.StartOfPlanning() );
+    traverse( macroPlan,Product_MP.ProductInStockingPoint_MP,pisp_mp ){
+      pispippls := selectset( pisp_mp,ProductInStockingPointInPeriod.astype( ProductInStockingPointInPeriodPlanningLeaf ),pispippl,
+                              pispippl.Period_MP().StartDate() > endDate 
+                              and pispippl.Period_MP().TimeUnit() = Translations::MP_GlobalParameters_Day());
+    
+      if( pispippls.Size() <> 0 ){
+        localRowHandle := localRowIndexTree.GetHandle( pisp_mp.ProductID() + pisp_mp.StockingPoint_MP().Unit().Name() );
+        localRowIndex := guard( localRowIndexTree.Root().Child( localRowHandle ),null( NamedValue ));
+        localRow := null( LocalRow );
+        if( isnull( localRowIndex )){
+          localRow := localTable.LocalRow( relnew,CustomName := pisp_mp.Name(),ProductID := pisp_mp.ProductID(),ProductionLine := pisp_mp.StockingPoint_MP().Unit().Name(),Index := localTable.GetRowIndexCache() );
+          localRows.Add( localRow );
+          localRowIndexTree.Root().AddChild( localRowHandle,localRows.Size() - 1 );
+        }else{
+          localRow := localRows.Element( localRowIndex.GetValueAsNumber() );
+        }
+        traverse( pispippls,Elements,pispippl ){
+          columnHandle := localColumnIndexTree.GetHandle( pispippl.Period_MP().StartDate().AsQUILL() );
+          columnIndex := guard( localColumnIndexTree.Root().Child( columnHandle ),null( NamedValue ));
+          column := null( LocalColumn );
+          if( not isnull( columnIndex )){
+            column := localColumns.Element( columnIndex.GetValueAsNumber() );
+          }else{
+            column := localTable.LocalColumn( relnew,CustomDate := pispippl.Period_MP().StartDate() ,TimeUnit := "Day");
+            localColumns.Add( column );
+            localColumnIndexTree.Root().AddChild( columnHandle,localColumns.Size() - 1 );
+          }
+          
+          localCellHandle := localCellIndexTree.GetHandle( localRow.ProductID() + localRow.ProductionLine() + column.CustomDate().AsQUILL() + column.TimeUnit() );
+          localCellIndex := guard( localCellIndexTree.Root().Child( localCellHandle ),null( NamedValue ));
+          if( isnull( localCellIndex )){
+            localCell := localRow.LocalCell( relnew,LocalCell_Default,LocalColumn := column );
+            localCell.RealValue( pispippl.NewSupplyQuantity() );
+            localCells.Add( localCell );
+            localCellIndexTree.Root().AddChild( localCellHandle,localCells.Size() - 1 );
+          }else{
+            localCell := localCells.Element( localCellIndex.GetValueAsNumber() );
+            localCell.RealValue( localCell.RealValue() + pispippl.NewSupplyQuantity() );
+          }
+        }
+      }
+    }
+    
+    endDate := maxselect( localColumns,Elements,column,column.CustomDate() ).CustomDate();
+    for( i := startDate.StartOfWeek(); i <= endDate.StartOfNextWeek(); i := i.StartOfNextWeek() ){
+       localColumn := localTable.LocalColumn( relnew,CustomDate := i ,TimeUnit := "Week");
+       localColumnHandle := localColumnIndexTree.GetHandle( i.AsQUILL() + "Week" );
+       localColumns.Add( localColumn );
+       localColumnIndexTree.Root().AddChild( localColumnHandle,localColumns.Size() - 1 );
+    }
+    for( i := startDate.StartOfMonth(); i <= endDate.StartOfNextMonth(); i := i.StartOfNextMonth() ){
+       localColumn := localTable.LocalColumn( relnew,CustomDate := i ,TimeUnit := "Month");
+       localColumnHandle := localColumnIndexTree.GetHandle( i.AsQUILL() + "Month" );
+       localColumns.Add( localColumn );
+       localColumnIndexTree.Root().AddChild( localColumnHandle,localColumns.Size() - 1 );
+    }
+    
+    traverse( localTable,LocalRow,row ){
+      traverse( localTable,LocalColumn,column,column.TimeUnit() = "Week" ){
+        value := sum( row,LocalCell.astype( LocalCell_Default ),cell,
+                      cell.LocalColumn().TimeUnit() = "Day" and 
+                      cell.LocalColumn().CustomDate() >= column.CustomDate() and 
+                      cell.LocalColumn().CustomDate() < column.CustomDate().StartOfNextWeek(),cell.RealValue());
+        localCell := row.LocalCell( relnew,LocalCell_Default,LocalColumn := column,RealValue := value );
+        
+        localCellHandle := localCellIndexTree.GetHandle( row.ProductID() + row.ProductionLine() + column.CustomDate().AsQUILL() + column.TimeUnit() );
+        localCells.Add( localCell );
+        localCellIndexTree.Root().AddChild( localCellHandle,localCells.Size() - 1 );
+      }
+      traverse( localTable,LocalColumn,column,column.TimeUnit() = "Month" ){
+        value := sum( row,LocalCell.astype( LocalCell_Default ),cell,
+                      cell.LocalColumn().TimeUnit() = "Day" and 
+                      cell.LocalColumn().CustomDate() >= column.CustomDate() and 
+                      cell.LocalColumn().CustomDate() < column.CustomDate().StartOfNextMonth(),cell.RealValue());
+        localCell := row.LocalCell( relnew,LocalCell_Default,LocalColumn := column,RealValue := value );
+        
+        localCellHandle := localCellIndexTree.GetHandle( row.ProductID() + row.ProductionLine() + column.CustomDate().AsQUILL() + column.TimeUnit() );
+        localCells.Add( localCell );
+        localCellIndexTree.Root().AddChild( localCellHandle,localCells.Size() - 1 );
+      }
+    }
+    
+    traverse( localTable,LocalColumn,column,column.LocalCell( relsize ) = 0 ){
+      column.Delete();
+    }
+    
+    traverse( localTable,LocalRow,row,row.LocalCell( relsize ) = 0 ){
+      row.Delete();
+    }
+    
+    //traverse( localTable,LocalRow,row ){
+    //  traverse( localTable,LocalColumn,column ){
+    //    localCellHandle := localCellIndexTree.GetHandle( row.ProductID() + row.StockingPointID() + column.CustomDate().AsQUILL() + column.TimeUnit() );
+    //    localCellIndex := guard( localCellIndexTree.Root().Child( localCellHandle ),null( NamedValue ));
+    //    if( isnull( localCellIndex )){
+    //      localCell := row.LocalCell( relnew,LocalCell_Default,LocalColumn := column,RealValue := 0.0 );
+    //      localCells.Add( localCell );
+    //      localCellIndexTree.Root().AddChild( localCellHandle,localCells.Size() - 1 );
+    //    }
+    //  } 
+    //}
+    AsyncFlag::Success( recycleBin,ArchiveCell_AnnualPlanReport::GetTableName() );
+    info( localTable.LocalRow( relsize ) )
+    
+    return localTable;
+  *]
+}
diff --git a/_Main/BL/Type_MP_Cell_AnnualPlanReport0/StaticMethod_GetTableName.qbl b/_Main/BL/Type_MP_Cell_AnnualPlanReport0/StaticMethod_GetTableName.qbl
new file mode 100644
index 0000000..fdd18d6
--- /dev/null
+++ b/_Main/BL/Type_MP_Cell_AnnualPlanReport0/StaticMethod_GetTableName.qbl
@@ -0,0 +1,10 @@
+Quintiq file version 2.0
+#parent: #root
+StaticMethod GetTableName () const declarative remote as owning String
+{
+  TextBody:
+  [*
+    // rislai Aug-7-2024 (created)
+    return "鍏ㄥ勾璁″垝鎶ヨ〃";
+  *]
+}
diff --git "a/_Main/BL/Type_MP_Cell_AnnualPlanReport0/_ROOT_Type_ArchiveCell_AnnualPlanReport\0430.qbl" "b/_Main/BL/Type_MP_Cell_AnnualPlanReport0/_ROOT_Type_ArchiveCell_AnnualPlanReport\0430.qbl"
new file mode 100644
index 0000000..a724d38
--- /dev/null
+++ "b/_Main/BL/Type_MP_Cell_AnnualPlanReport0/_ROOT_Type_ArchiveCell_AnnualPlanReport\0430.qbl"
@@ -0,0 +1,10 @@
+Quintiq file version 2.0
+#root
+#parent: #DomainModel
+TypeSpecialization ArchiveCell_AnnualPlanReport
+{
+  #keys: '2[414996.1.219180173][414996.1.219180172]'
+  Description: '鍏ㄥ勾璁″垝鎶ヨ〃'
+  Parent: ArchiveCell
+  StructuredName: 'ArchiveCell_AnnualPlanReports'
+}
diff --git a/_Main/BL/Type_MP_Cell_ScheduleSummary0/Attribute_Capacity.qbl b/_Main/BL/Type_MP_Cell_ScheduleSummary0/Attribute_Capacity.qbl
new file mode 100644
index 0000000..c7bcd41
--- /dev/null
+++ b/_Main/BL/Type_MP_Cell_ScheduleSummary0/Attribute_Capacity.qbl
@@ -0,0 +1,8 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute Capacity
+{
+  #keys: '3[414996.1.219180156][414996.1.219180155][414996.1.219180157]'
+  Description: '浜ц兘'
+  ValueType: Real
+}
diff --git a/_Main/BL/Type_MP_Cell_ScheduleSummary0/Attribute_IsFristWeekData.qbl b/_Main/BL/Type_MP_Cell_ScheduleSummary0/Attribute_IsFristWeekData.qbl
new file mode 100644
index 0000000..47774a0
--- /dev/null
+++ b/_Main/BL/Type_MP_Cell_ScheduleSummary0/Attribute_IsFristWeekData.qbl
@@ -0,0 +1,7 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute IsFristWeekData
+{
+  #keys: '3[414996.1.219180159][414996.1.219180158][414996.1.219180160]'
+  ValueType: Boolean
+}
diff --git a/_Main/BL/Type_MP_Cell_ScheduleSummary0/Attribute_Output.qbl b/_Main/BL/Type_MP_Cell_ScheduleSummary0/Attribute_Output.qbl
new file mode 100644
index 0000000..1be1e44
--- /dev/null
+++ b/_Main/BL/Type_MP_Cell_ScheduleSummary0/Attribute_Output.qbl
@@ -0,0 +1,8 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute Output
+{
+  #keys: '3[414996.1.219180162][414996.1.219180161][414996.1.219180163]'
+  Description: '浜у嚭'
+  ValueType: Real
+}
diff --git a/_Main/BL/Type_MP_Cell_ScheduleSummary0/Attribute_ShiftPattern.qbl b/_Main/BL/Type_MP_Cell_ScheduleSummary0/Attribute_ShiftPattern.qbl
new file mode 100644
index 0000000..56f95e7
--- /dev/null
+++ b/_Main/BL/Type_MP_Cell_ScheduleSummary0/Attribute_ShiftPattern.qbl
@@ -0,0 +1,7 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute ShiftPattern
+{
+  #keys: '3[414996.1.219180165][414996.1.219180164][414996.1.219180166]'
+  ValueType: String
+}
diff --git a/_Main/BL/Type_MP_Cell_ScheduleSummary0/Attribute_WorkingDay.qbl b/_Main/BL/Type_MP_Cell_ScheduleSummary0/Attribute_WorkingDay.qbl
new file mode 100644
index 0000000..4b3858b
--- /dev/null
+++ b/_Main/BL/Type_MP_Cell_ScheduleSummary0/Attribute_WorkingDay.qbl
@@ -0,0 +1,8 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute WorkingDay
+{
+  #keys: '3[414996.1.219180168][414996.1.219180167][414996.1.219180169]'
+  Description: '宸ヤ綔鏃�'
+  ValueType: Number
+}
diff --git a/_Main/BL/Type_MP_Cell_ScheduleSummary0/DefaultValue_ShiftPattern.qbl b/_Main/BL/Type_MP_Cell_ScheduleSummary0/DefaultValue_ShiftPattern.qbl
new file mode 100644
index 0000000..2877e16
--- /dev/null
+++ b/_Main/BL/Type_MP_Cell_ScheduleSummary0/DefaultValue_ShiftPattern.qbl
@@ -0,0 +1,6 @@
+Quintiq file version 2.0
+#parent: #root
+DefaultValue
+{
+  TargetAttribute: ShiftPattern
+}
diff --git a/_Main/BL/Type_MP_Cell_ScheduleSummary0/StaticMethod_AsyncCreateTables.qbl b/_Main/BL/Type_MP_Cell_ScheduleSummary0/StaticMethod_AsyncCreateTables.qbl
new file mode 100644
index 0000000..5257eca
--- /dev/null
+++ b/_Main/BL/Type_MP_Cell_ScheduleSummary0/StaticMethod_AsyncCreateTables.qbl
@@ -0,0 +1,16 @@
+Quintiq file version 2.0
+#parent: #root
+StaticMethod AsyncCreateTables (
+  const Keys macroPlanMDSIDs,
+  Archive archive
+)
+{
+  TextBody:
+  [*
+    // Akari Nov-11-2024 (created)
+    traverse( macroPlanMDSIDs,Elements,mdsid ){
+      streamMacroPlan := LocalTool::LoadMacroPlan( mdsid );
+      streamMacroPlan -> ArchiveCell_ScheduleSummary::Create( archive );
+    }
+  *]
+}
diff --git a/_Main/BL/Type_MP_Cell_ScheduleSummary0/StaticMethod_Create.qbl b/_Main/BL/Type_MP_Cell_ScheduleSummary0/StaticMethod_Create.qbl
new file mode 100644
index 0000000..8409edd
--- /dev/null
+++ b/_Main/BL/Type_MP_Cell_ScheduleSummary0/StaticMethod_Create.qbl
@@ -0,0 +1,88 @@
+Quintiq file version 2.0
+#parent: #root
+StaticMethod Create (
+  const MacroPlan macroPlan,
+  Archive archive
+) as ArchiveTable
+{
+  TextBody:
+  [*
+      // rislai Aug-6-2024 (created)
+    traverse( archive,ArchiveTable,table,table.Name() = ArchiveCell_ScheduleSummary::GetTableName() and table.MacroPlanMDSID() = macroPlan.MDSID() ){
+      table.Delete(); 
+    }
+    
+    zeroDuration := Duration::Construct( 0,0,0,0 );
+    
+    table := archive.ArchiveTable( relnew,Name := ArchiveCell_ScheduleSummary::GetTableName(),MacroPlanMDSID := macroPlan.MDSID(),MacroPlanName := macroPlan.MDSMacroPlan().Description());
+    
+    startDate := macroPlan.StartOfPlanning().Date();
+    endDate := maxselect( macroPlan,Unit.UnitPeriod.astype( UnitPeriodTime ).Period_MP,period,period.TimeUnit() = Translations::MP_GlobalParameters_Day(),period.EndDate()).EndDate();
+    
+    columns := construct( ArchiveColumns );
+    columnIndexTree := NamedValueTree::Create();
+    for( i := startDate;i < endDate; i := i + 1){
+      column := table.ArchiveColumn( relnew,CustomDate := i );
+      columnHandle := columnIndexTree.GetHandle( i.AsQUILL() );
+      columns.Add( column );
+      columnIndexTree.Root().AddChild( columnHandle,columns.Size() - 1 );
+    }
+    
+    traverse( macroPlan,Unit,unit,unit.HasCapacityTypeTime() and not unit.HasChild()){
+      // unit.AsEntity().DisplayNameForSelection()
+      row := table.ArchiveRow( relnew,CustomName := unit.ID(),Index := table.GetRowIndexCache() ); 
+      throughput := guard( sum( unit,Operation,operation,operation.Throughput() ) / unit.Operation( relsize ) , 0 );
+      
+      unitPeriodTimes := selectset( unit,UnitPeriod.astype( UnitPeriodTime ),unitPeriodTime,
+                                        unitPeriodTime.Period_MP().StartDate() >= startDate 
+                                    and unitPeriodTime.Period_MP().EndDate() <= endDate 
+                                    and unitPeriodTime.Period_MP().TimeUnit() = Translations::MP_GlobalParameters_Day());
+      traverse( unitPeriodTimes,Elements,unitPeriodTime ){
+        columnHandle := columnIndexTree.GetHandle( unitPeriodTime.Period_MP().StartDate().AsQUILL() );
+        columnIndex := guard( columnIndexTree.Root().Child( columnHandle ),null( NamedValue ));
+        if( not isnull( columnIndex )){
+          
+          // 褰揳rrowedAvailableCapacity涓嶄负0锛屽伐浣滄棩 + 1
+          arrowedAvailableCapacity := unitPeriodTime.TotalAvailableCapacity();
+          workDay := ifexpr( arrowedAvailableCapacity <> zeroDuration, 1,0 );
+          
+          if( workDay = 0 ){
+            workDay := ifexpr( unitPeriodTime.ShiftPlan().Outcome() <> "",1,0 );
+          }
+          
+          column := columns.Element( columnIndex.GetValueAsNumber() );
+          
+          dayOfWeek := column.CustomDate().DayOfWeek();
+          workHours := select( unitPeriodTime,ShiftPattern.ShiftDay,shifDay,shifDay.Day_MP().ID() = dayOfWeek );
+          capacity := 0.0;
+          
+          
+          if( not isnull( workHours )){
+            capacity := workDay * throughput * workHours.Capacity().HoursAsReal()
+          }
+          
+          isFirstWeekData := true;
+          
+          if( column.CustomDate() > startDate + 7 ){
+            isFirstWeekData := false; 
+          }
+          
+          row.ArchiveCell( relnew,ArchiveCell_ScheduleSummary,ArchiveColumn := column,
+                       IsFristWeekData := isFirstWeekData,
+                       ShiftPattern := unitPeriodTime.ShiftPatternName(),
+                       WorkingDay := workDay,
+                       Capacity := capacity,
+                       Output := 0 );
+        }
+      }
+    }
+    
+    
+    traverse( table,ArchiveColumn,column,column.ArchiveCell( relsize ) = 0 ){
+      column.Delete(); 
+    }
+    
+    
+    return table;
+  *]
+}
diff --git a/_Main/BL/Type_MP_Cell_ScheduleSummary0/StaticMethod_CreateFullTable.qbl b/_Main/BL/Type_MP_Cell_ScheduleSummary0/StaticMethod_CreateFullTable.qbl
new file mode 100644
index 0000000..2e2a00e
--- /dev/null
+++ b/_Main/BL/Type_MP_Cell_ScheduleSummary0/StaticMethod_CreateFullTable.qbl
@@ -0,0 +1,155 @@
+Quintiq file version 2.0
+#parent: #root
+StaticMethod CreateFullTable (
+  const Archive archive,
+  RecycleBin recycleBin,
+  const MacroPlan macroPlan
+) as LocalTable
+{
+  TextBody:
+  [*
+    // rislai Aug-7-2024 (created)
+    tables := selectset( archive,ArchiveTable,table,table.Name() = ArchiveCell_ScheduleSummary::GetTableName() );
+    info( isnull( archive ))
+    scheduleSummaryOutputDataIndexTree := NamedValueTree::Create();
+    scheduleSummaryOutputDatas := selectset( archive,ScheduleSummaryOutputLine.ScheduleSummaryOutputData,data,
+                                             exists( tables,Elements.ArchiveRow,row,row.CustomName() = data.ScheduleSummaryOutputLine().LineName() ));
+    
+    for( i :=0;i < scheduleSummaryOutputDatas.Size();i++ ){
+      scheduleSummaryOutputData := scheduleSummaryOutputDatas.Element( i );
+      scheduleSummaryOutputDataKey := scheduleSummaryOutputData.ScheduleSummaryOutputLine().LineName() + scheduleSummaryOutputData.Date().AsQUILL();
+      scheduleSummaryOutputDataHandle := scheduleSummaryOutputDataIndexTree.GetHandle( scheduleSummaryOutputDataKey );
+      scheduleSummaryOutputDataIndexTree.Root().AddChild( scheduleSummaryOutputDataHandle,i );
+    }
+    
+    traverse( recycleBin,LocalTable,table,table.Name() = ArchiveCell_ScheduleSummary::GetTableName() ){
+      table.Delete();
+    }
+    localTable := recycleBin.LocalTable( relnew,Name := ArchiveCell_ScheduleSummary::GetTableName() );
+    
+    startDate := minselect( tables,Elements.ArchiveColumn,column,column.CustomDate() ).CustomDate();
+    endDate := maxselect( tables,Elements.ArchiveColumn,column,column.CustomDate() ).CustomDate();
+    
+    localColumns := construct( LocalColumns );
+    localColumnIndexTree := NamedValueTree::Create();
+    for( i := startDate.StartOfMonth(); i <= endDate.StartOfMonth(); i := i.StartOfNextMonth() ){
+       localColumn := localTable.LocalColumn( relnew,CustomDate := i );
+       localColumnHandle := localColumnIndexTree.GetHandle( i.AsQUILL() );
+       localColumns.Add( localColumn );
+       localColumnIndexTree.Root().AddChild( localColumnHandle,localColumns.Size() - 1 );
+    }
+    
+    localRows := construct( LocalRows );
+    localRowIndexTree := NamedValueTree::Create();
+    
+    localCells := construct( LocalCell_ScheduleSummarys );
+    localCellIndexTree := NamedValueTree::Create();
+    
+    units := selectset( macroPlan,Unit,unit,unit.HasCapacityTypeTime() and not unit.HasChild());
+    unitIndexTree := NamedValueTree::Create();
+    for( i := 0 ; i< units.Size() ; i++ ){
+      unit := units.Element( i );
+      unitHandle := unitIndexTree.GetHandle( unit.ID() );
+      unitIndexTree.Root().AddChild( unitHandle,i );
+    }
+    
+    
+    traverse( tables,Elements.ArchiveRow,row ){
+       rowMacroPlanMDSID := row.ArchiveTable().MacroPlanMDSID();
+       localRow := null( LocalRow );
+       {
+         localRowHandle := localRowIndexTree.GetHandle( row.Name() );
+         localRowIndex := guard( localRowIndexTree.Root().Child( localRowHandle ),null( NamedValue ));
+         if( isnull( localRowIndex )){
+           localRow := localTable.LocalRow( relnew,CustomName := row.Name(),Index := localTable.GetRowIndexCache() );
+           localRows.Add( localRow );
+           localRowIndexTree.Root().AddChild( localRowHandle,localRows.Size() - 1 );
+         }else{
+           localRow := localRows.Element( localRowIndex.GetValueAsNumber());
+         }
+       }
+       traverse( localColumns,Elements,localColumn ){
+          cells := selectset( row,ArchiveCell.astype( ArchiveCell_ScheduleSummary ),cell,
+                              ifexpr( rowMacroPlanMDSID = macroPlan.MDSID() , true , cell.IsFristWeekData()) and
+                              cell.ArchiveColumn().CustomDate() >= localColumn.CustomDate() and 
+                              cell.ArchiveColumn().CustomDate() < localColumn.CustomDate().StartOfNextMonth() );
+          
+          isFuture := macroPlan.StartOfPlanning().Date() < localColumn.CustomDate();
+          
+          output := 0.0;
+          if( isFuture ){
+            unitHandle := unitIndexTree.GetHandle( row.Name() );
+            unitIndex := guard( unitIndexTree.Root().Child( unitHandle ),null( NamedValue ));
+            if( not isnull( unitIndex )){
+              unit := units.Element( unitIndex.GetValueAsNumber() );
+              output := sum( unit,UnitPeriod.astype( UnitPeriodTime ).PeriodTask_MP.NewSupply,np,
+                             np.PeriodTask_MP().UnitPeriod().StartDate() >= localColumn.CustomDate() and 
+                             np.PeriodTask_MP().UnitPeriod().StartDate() < localColumn.CustomDate().StartOfNextMonth() and
+                             np.PeriodTask_MP().UnitPeriod().Period_MP().TimeUnit() = "Day",
+                             np.Quantity() );
+              output := sum( unit,StockingPoint_MP.ProductInStockingPoint_MP.ProductInStockingPointInPeriod,pispip,
+                             pispip.Period_MP().StartDate() >= localColumn.CustomDate() and
+                             pispip.Period_MP().StartDate() < localColumn.CustomDate().StartOfNextMonth() and
+                             pispip.Period_MP().TimeUnit() = "Day",
+                             pispip.NewSupplyProductionQuantity());
+            }
+          }else{
+            scheduleSummaryOutputDataKey := row.Name() + localColumn.CustomDate().AsQUILL();
+            scheduleSummaryOutputDataHandle := scheduleSummaryOutputDataIndexTree.GetHandle( scheduleSummaryOutputDataKey );
+            scheduleSummaryOutputDataIndex := guard( scheduleSummaryOutputDataIndexTree.Root().Child( scheduleSummaryOutputDataHandle ),null( NamedValue ));
+            if( not isnull( scheduleSummaryOutputDataIndex )){
+              scheduleSummaryOutputData := scheduleSummaryOutputDatas.Element( scheduleSummaryOutputDataIndex.GetValueAsNumber() );
+              output := scheduleSummaryOutputData.Output();
+            }
+          }
+          
+          workingDay := 0;
+          capacity := 0.0;
+          shiftPatterns := construct( Strings );
+          traverse( cells,Elements,cell ){
+             workingDay := workingDay + cell.WorkingDay();
+             capacity := capacity + cell.Capacity();
+             if( cell.ShiftPattern() <> "" ){
+               shiftPatterns.Add( cell.ShiftPattern() );
+             }
+          }
+          localCell := null( LocalCell_ScheduleSummary );
+          {
+            localCellHandle := localCellIndexTree.GetHandle( row.Name() + localColumn.CustomDate().AsQUILL() );
+            localCellIndex := guard( localCellIndexTree.Root().Child( localCellHandle ),null( NamedValue ));
+            if( isnull( localCellIndex )){
+              localCell := localRow.LocalCell( relnew,LocalCell_ScheduleSummary,LocalColumn := localColumn );
+              localCells.Add( localCell );
+              localCellIndexTree.Root().AddChild( localCellHandle , localCells.Size() - 1 );
+            }else{
+              localCell := localCells.Element( localCellIndex.GetValueAsNumber() ); 
+            }
+          }
+          
+          localCell.ShiftPattern( selectuniquevalues( shiftPatterns,Elements,element,element ).Concatenate( "/" ) );
+          localCell.WorkingDay( localCell.WorkingDay() + workingDay );
+          localCell.Capacity( localCell.Capacity() + capacity );
+          localCell.Output( localCell.Output() + output );
+       }
+    }
+    
+    traverse( localTable,LocalRow.LocalCell.astype( LocalCell_ScheduleSummary ),cell ){
+      cell.Capacity( cell.Capacity() / tables.Size() );
+      cell.Output( cell.Output() / tables.Size() );
+    }
+    
+    //startDate := owner.StartOfPlanning().Date() + 7;
+    //endDate := maxselect( owner,Unit.UnitPeriod.astype( UnitPeriodTime ).Period_MP,period,period.EndDate(),period.TimeUnit() = "Month" ).EndDate();
+    //columns := construct( ArchiveColumns );
+    //columnIndexTree := NamedValueTree::Create();
+    //for( i := startDate;i < endDate; i := i + 1){
+    //  column := table.ArchiveColumn( relnew,CustomDate := i );
+    //  columnHandle := columnIndexTree.GetHandle( i.AsQUILL() );
+    //  columns.Add( column );
+    //  columnIndexTree.Root().AddChild( columnHandle,columns.Size() - 1 );
+    //}
+    
+    AsyncFlag::Success( recycleBin,ArchiveCell_ScheduleSummary::GetTableName() );
+    return localTable;
+  *]
+}
diff --git a/_Main/BL/Type_MP_Cell_ScheduleSummary0/StaticMethod_ExportOutputTemplate.qbl b/_Main/BL/Type_MP_Cell_ScheduleSummary0/StaticMethod_ExportOutputTemplate.qbl
new file mode 100644
index 0000000..e36e50c
--- /dev/null
+++ b/_Main/BL/Type_MP_Cell_ScheduleSummary0/StaticMethod_ExportOutputTemplate.qbl
@@ -0,0 +1,36 @@
+Quintiq file version 2.0
+#parent: #root
+StaticMethod ExportOutputTemplate (
+  Number year
+) as BinaryValue
+{
+  Description: '瀵煎嚭浜у嚭瀵煎叆妯℃澘'
+  TextBody:
+  [*
+    // rislai Aug-6-2024 (created)
+    // Akari May-18-2024 (created)
+    // rislai Jan-19-2024 (created)
+    sheetName := "浜у嚭";
+    xmlTemplate := '<?xml version="1.0" encoding="UTF-16"?><table><name>'+ sheetName +'</name>';
+    
+    xmlTemplate := xmlTemplate + "<column><name>浜х嚎</name><type>String</type>";
+    
+    // xmlTemplate := xmlTemplate + '<cell value=" "/>';
+    xmlTemplate := xmlTemplate + "</column>";
+    
+    for( i := 1 ; i <= 12 ; i++ ){
+      xmlTemplate := xmlTemplate + "<column><name>" + Date::Construct( year,i,1 ).Format( "Y/M/D" ) + "</name><type>Number</type>";
+      // xmlTemplate := xmlTemplate + '<cell value=" "/>';
+      xmlTemplate := xmlTemplate + "</column>";
+    }
+    
+    xmlTemplate := xmlTemplate + "</table>";
+    
+    tableHandle := TableHandle::ImportXML( BinaryValue::Construct( xmlTemplate ) );
+    XLS::SaveTable( tableHandle, OS::TempPath() + "template.xlsx" );
+    file := OSFile::Construct();
+    file.Open( OS::TempPath() + "template.xlsx", "Read", true );
+    data := file.ReadBinary();
+    return data;
+  *]
+}
diff --git a/_Main/BL/Type_MP_Cell_ScheduleSummary0/StaticMethod_GetTableName.qbl b/_Main/BL/Type_MP_Cell_ScheduleSummary0/StaticMethod_GetTableName.qbl
new file mode 100644
index 0000000..dbf4dd0
--- /dev/null
+++ b/_Main/BL/Type_MP_Cell_ScheduleSummary0/StaticMethod_GetTableName.qbl
@@ -0,0 +1,10 @@
+Quintiq file version 2.0
+#parent: #root
+StaticMethod GetTableName () const declarative remote as owning String
+{
+  TextBody:
+  [*
+    // rislai Aug-7-2024 (created)
+    return "璁″垝姹囨�绘姤琛�";
+  *]
+}
diff --git a/_Main/BL/Type_MP_Cell_ScheduleSummary0/StaticMethod_ImportOutput.qbl b/_Main/BL/Type_MP_Cell_ScheduleSummary0/StaticMethod_ImportOutput.qbl
new file mode 100644
index 0000000..fb50032
--- /dev/null
+++ b/_Main/BL/Type_MP_Cell_ScheduleSummary0/StaticMethod_ImportOutput.qbl
@@ -0,0 +1,68 @@
+Quintiq file version 2.0
+#parent: #root
+StaticMethod ImportOutput (
+  Archive archive,
+  const GeneralExcelImportAndExportDataSource outputSource
+)
+{
+  Description: '浜у嚭瀵煎叆'
+  TextBody:
+  [*
+    // rislai Aug-6-2024 (created)
+    outputTable := select( outputSource,GeneralExcelImportAndExportDataTable,table,table.Name() = "浜у嚭");
+    if( isnull( outputTable )){
+      error( "瀵煎叆鐨勬枃浠朵笉姝g‘" ); 
+    }
+    
+    archive.ScheduleSummaryOutputLine( relflush );
+    
+    lines := construct( ScheduleSummaryOutputLines );
+    lineIndexTree := NamedValueTree::Create();
+    
+    traverse( archive,ScheduleSummaryOutputLine,line ){
+      lineHandle := lineIndexTree.GetHandle( line.LineName() );
+      lines.Add( line );
+      lineIndexTree.Root().AddChild( lineHandle,lines.Size() - 1 );
+    }
+    
+    traverse( outputTable,GeneralExcelImportAndExportDataRow,row ){
+      count := 0;
+      line := null( ScheduleSummaryOutputLine );
+      datas := construct( ScheduleSummaryOutputDatas );
+      dataIndexTree := NamedValueTree::Create();
+      traverse( row,GeneralExcelImportAndExportDataCell,cell ){
+        if( count = 0 ){
+          lineName := cell.Value();
+          lineHandle := lineIndexTree.GetHandle( lineName );
+          lineIndex := guard( lineIndexTree.Root().Child( lineHandle ),null( NamedValue ));
+          if( isnull( lineIndex )){
+            line := archive.ScheduleSummaryOutputLine( relnew,LineName := lineName );
+            lines.Add( line );
+            lineIndexTree.Root().AddChild( lineHandle,lines.Size() - 1 );
+          }else{
+            line := lines.Element( lineIndex.GetValueAsNumber() );
+            traverse( line,ScheduleSummaryOutputData,data ){
+              dataHandle := dataIndexTree.GetHandle( data.Date().AsQUILL() );
+              datas.Add( data );
+              dataIndexTree.Root().AddChild( dataHandle,datas.Size() - 1 );
+            }
+          }
+        }else{
+          stringsDate := cell.GeneralExcelImportAndExportDataColumn().Name().Tokenize( "/" );
+          date := guard( Date::Construct( [Number]stringsDate.Element( 0 ),[Number]stringsDate.Element( 1 ),[Number]stringsDate.Element( 2 )),Date::MinDate() );
+          dataHandle := dataIndexTree.GetHandle( date.AsQUILL() );
+          dataIndex := guard( dataIndexTree.Root().Child( dataHandle ),null( NamedValue ));
+          if( isnull( dataIndex )){
+            data := line.ScheduleSummaryOutputData( relnew,Date := date,Output := [Real]cell.Value() );
+            datas.Add( data );
+            dataIndexTree.Root().AddChild( dataHandle,datas.Size() - 1 );
+          }else{
+            data := datas.Element( dataIndex.GetValueAsNumber() );
+            data.Output( [Real]cell.Value() );
+          }
+        }
+        count ++;
+      } 
+    }
+  *]
+}
diff --git "a/_Main/BL/Type_MP_Cell_ScheduleSummary0/_ROOT_Type_ArchiveCell_ScheduleSummary\0430.qbl" "b/_Main/BL/Type_MP_Cell_ScheduleSummary0/_ROOT_Type_ArchiveCell_ScheduleSummary\0430.qbl"
new file mode 100644
index 0000000..0a3d3b6
--- /dev/null
+++ "b/_Main/BL/Type_MP_Cell_ScheduleSummary0/_ROOT_Type_ArchiveCell_ScheduleSummary\0430.qbl"
@@ -0,0 +1,10 @@
+Quintiq file version 2.0
+#root
+#parent: #DomainModel
+TypeSpecialization ArchiveCell_ScheduleSummary
+{
+  #keys: '2[414996.1.219180154][414996.1.219180153]'
+  Description: '璁″垝姹囨�绘姤琛�'
+  Parent: ArchiveCell
+  StructuredName: 'ArchiveCell_ScheduleSummarys'
+}
diff --git a/_Main/BL/Type_MP_Column0/Attribute_CustomDate.qbl b/_Main/BL/Type_MP_Column0/Attribute_CustomDate.qbl
new file mode 100644
index 0000000..10837b6
--- /dev/null
+++ b/_Main/BL/Type_MP_Column0/Attribute_CustomDate.qbl
@@ -0,0 +1,7 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute CustomDate
+{
+  #keys: '3[414996.1.219180135][414996.1.219180134][414996.1.219180136]'
+  ValueType: Date
+}
diff --git a/_Main/BL/Type_MP_Column0/Attribute_CustomIndex.qbl b/_Main/BL/Type_MP_Column0/Attribute_CustomIndex.qbl
new file mode 100644
index 0000000..641cd3c
--- /dev/null
+++ b/_Main/BL/Type_MP_Column0/Attribute_CustomIndex.qbl
@@ -0,0 +1,7 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute CustomIndex
+{
+  #keys: '3[414996.1.219180138][414996.1.219180137][414996.1.219180139]'
+  ValueType: Number
+}
diff --git a/_Main/BL/Type_MP_Column0/Attribute_Date.qbl b/_Main/BL/Type_MP_Column0/Attribute_Date.qbl
new file mode 100644
index 0000000..50efba5
--- /dev/null
+++ b/_Main/BL/Type_MP_Column0/Attribute_Date.qbl
@@ -0,0 +1,7 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute Date
+{
+  #keys: '3[414996.1.219180141][414996.1.219180140][414996.1.219180142]'
+  ValueType: Date
+}
diff --git a/_Main/BL/Type_MP_Column0/Attribute_Index.qbl b/_Main/BL/Type_MP_Column0/Attribute_Index.qbl
new file mode 100644
index 0000000..a86c5c2
--- /dev/null
+++ b/_Main/BL/Type_MP_Column0/Attribute_Index.qbl
@@ -0,0 +1,7 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute Index
+{
+  #keys: '3[414996.1.219180144][414996.1.219180143][414996.1.219180145]'
+  ValueType: Number
+}
diff --git a/_Main/BL/Type_MP_Column0/Attribute_IsAttrbuteColumn.qbl b/_Main/BL/Type_MP_Column0/Attribute_IsAttrbuteColumn.qbl
new file mode 100644
index 0000000..9552095
--- /dev/null
+++ b/_Main/BL/Type_MP_Column0/Attribute_IsAttrbuteColumn.qbl
@@ -0,0 +1,7 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute IsAttrbuteColumn
+{
+  #keys: '3[414996.1.219180147][414996.1.219180146][414996.1.219180148]'
+  ValueType: Boolean
+}
diff --git a/_Main/BL/Type_MP_Column0/Attribute_Name.qbl b/_Main/BL/Type_MP_Column0/Attribute_Name.qbl
new file mode 100644
index 0000000..8425676
--- /dev/null
+++ b/_Main/BL/Type_MP_Column0/Attribute_Name.qbl
@@ -0,0 +1,7 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute Name
+{
+  #keys: '3[414996.1.219180150][414996.1.219180149][414996.1.219180151]'
+  ValueType: String
+}
diff --git a/_Main/BL/Type_MP_Column0/DefaultValue_CustomIndex.qbl b/_Main/BL/Type_MP_Column0/DefaultValue_CustomIndex.qbl
new file mode 100644
index 0000000..d26aba3
--- /dev/null
+++ b/_Main/BL/Type_MP_Column0/DefaultValue_CustomIndex.qbl
@@ -0,0 +1,7 @@
+Quintiq file version 2.0
+#parent: #root
+DefaultValue
+{
+  ISOValue: '-999'
+  TargetAttribute: CustomIndex
+}
diff --git a/_Main/BL/Type_MP_Column0/DefaultValue_Name.qbl b/_Main/BL/Type_MP_Column0/DefaultValue_Name.qbl
new file mode 100644
index 0000000..86c3d59
--- /dev/null
+++ b/_Main/BL/Type_MP_Column0/DefaultValue_Name.qbl
@@ -0,0 +1,6 @@
+Quintiq file version 2.0
+#parent: #root
+DefaultValue
+{
+  TargetAttribute: Name
+}
diff --git a/_Main/BL/Type_MP_Column0/Function_CalcDate.qbl b/_Main/BL/Type_MP_Column0/Function_CalcDate.qbl
new file mode 100644
index 0000000..2f59aa9
--- /dev/null
+++ b/_Main/BL/Type_MP_Column0/Function_CalcDate.qbl
@@ -0,0 +1,13 @@
+Quintiq file version 2.0
+#parent: #root
+Function CalcDate
+{
+  TextBody:
+  [*
+    // rislai Jun-28-2024 (created)
+    if( not this.IsAttrbuteColumn() ){
+      names := this.Name().Tokenize( "/" );
+      this.Date( ifexpr( this.CustomDate() <> Date::MinDate(),this.CustomDate(),guard( Date::Construct( [Number]names.Element( 0 ),[Number]names.Element( 1 ),[Number]names.Element( 2 )),Date::MinDate() )));
+    }
+  *]
+}
diff --git a/_Main/BL/Type_MP_Column0/Function_CalcIndex.qbl b/_Main/BL/Type_MP_Column0/Function_CalcIndex.qbl
new file mode 100644
index 0000000..2b7712e
--- /dev/null
+++ b/_Main/BL/Type_MP_Column0/Function_CalcIndex.qbl
@@ -0,0 +1,29 @@
+Quintiq file version 2.0
+#parent: #root
+Function CalcIndex
+{
+  TextBody:
+  [*
+    // rislai Jul-24-2024 (created)
+    year := this.Date().Year();
+    month := this.Date().Month();
+    day := this.Date().Day();
+    
+    index := [String]year;
+    if( month < 10 ){
+      index := index + "0" + [String]month; 
+    }else{
+      index := index + [String]month; 
+    }
+    if( day < 10 ){
+      index := index + "0" + [String]day; 
+    }else{
+      index := index + [String]day; 
+    }
+    
+    
+    value := ifexpr( this.CustomIndex() = -999,[Number]index,this.CustomIndex() );
+    
+    this.Index( value );
+  *]
+}
diff --git "a/_Main/BL/Type_MP_Column0/_ROOT_Type_ArchiveColumn\0430.qbl" "b/_Main/BL/Type_MP_Column0/_ROOT_Type_ArchiveColumn\0430.qbl"
new file mode 100644
index 0000000..dc0f8f6
--- /dev/null
+++ "b/_Main/BL/Type_MP_Column0/_ROOT_Type_ArchiveColumn\0430.qbl"
@@ -0,0 +1,9 @@
+Quintiq file version 2.0
+#root
+#parent: #DomainModel
+Type ArchiveColumn
+{
+  #keys: '5[414996.1.219180132][414996.1.219180130][0.0.0][414996.1.219180131][414996.1.219180133]'
+  BaseType: Object
+  StructuredName: 'ArchiveColumns'
+}
diff --git a/_Main/BL/Type_MP_Row0/Attribute_CustomName.qbl b/_Main/BL/Type_MP_Row0/Attribute_CustomName.qbl
new file mode 100644
index 0000000..72bf8d7
--- /dev/null
+++ b/_Main/BL/Type_MP_Row0/Attribute_CustomName.qbl
@@ -0,0 +1,7 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute CustomName
+{
+  #keys: '3[414996.1.219180109][414996.1.219180108][414996.1.219180110]'
+  ValueType: String
+}
diff --git a/_Main/BL/Type_MP_Row0/Attribute_Index.qbl b/_Main/BL/Type_MP_Row0/Attribute_Index.qbl
new file mode 100644
index 0000000..108b1a9
--- /dev/null
+++ b/_Main/BL/Type_MP_Row0/Attribute_Index.qbl
@@ -0,0 +1,7 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute Index
+{
+  #keys: '3[414996.1.219180112][414996.1.219180111][414996.1.219180113]'
+  ValueType: Number
+}
diff --git a/_Main/BL/Type_MP_Row0/Attribute_Name.qbl b/_Main/BL/Type_MP_Row0/Attribute_Name.qbl
new file mode 100644
index 0000000..d0c104f
--- /dev/null
+++ b/_Main/BL/Type_MP_Row0/Attribute_Name.qbl
@@ -0,0 +1,7 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute Name
+{
+  #keys: '3[414996.1.219180115][414996.1.219180114][414996.1.219180116]'
+  ValueType: String
+}
diff --git a/_Main/BL/Type_MP_Row0/Attribute_ProductID.qbl b/_Main/BL/Type_MP_Row0/Attribute_ProductID.qbl
new file mode 100644
index 0000000..dc601ee
--- /dev/null
+++ b/_Main/BL/Type_MP_Row0/Attribute_ProductID.qbl
@@ -0,0 +1,7 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute ProductID
+{
+  #keys: '3[414996.1.219180118][414996.1.219180117][414996.1.219180119]'
+  ValueType: String
+}
diff --git a/_Main/BL/Type_MP_Row0/Attribute_ProductionLine.qbl b/_Main/BL/Type_MP_Row0/Attribute_ProductionLine.qbl
new file mode 100644
index 0000000..473ab82
--- /dev/null
+++ b/_Main/BL/Type_MP_Row0/Attribute_ProductionLine.qbl
@@ -0,0 +1,7 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute ProductionLine
+{
+  #keys: '3[414996.1.219180121][414996.1.219180120][414996.1.219180122]'
+  ValueType: String
+}
diff --git a/_Main/BL/Type_MP_Row0/Attribute_Remark.qbl b/_Main/BL/Type_MP_Row0/Attribute_Remark.qbl
new file mode 100644
index 0000000..0acb25c
--- /dev/null
+++ b/_Main/BL/Type_MP_Row0/Attribute_Remark.qbl
@@ -0,0 +1,7 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute Remark
+{
+  #keys: '3[414996.1.219180124][414996.1.219180123][414996.1.219180125]'
+  ValueType: String
+}
diff --git a/_Main/BL/Type_MP_Row0/Attribute_StockingPointID.qbl b/_Main/BL/Type_MP_Row0/Attribute_StockingPointID.qbl
new file mode 100644
index 0000000..fa95e47
--- /dev/null
+++ b/_Main/BL/Type_MP_Row0/Attribute_StockingPointID.qbl
@@ -0,0 +1,7 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute StockingPointID
+{
+  #keys: '3[414996.1.219180127][414996.1.219180126][414996.1.219180128]'
+  ValueType: String
+}
diff --git a/_Main/BL/Type_MP_Row0/DefaultValue_CustomName.qbl b/_Main/BL/Type_MP_Row0/DefaultValue_CustomName.qbl
new file mode 100644
index 0000000..ccf1251
--- /dev/null
+++ b/_Main/BL/Type_MP_Row0/DefaultValue_CustomName.qbl
@@ -0,0 +1,6 @@
+Quintiq file version 2.0
+#parent: #root
+DefaultValue
+{
+  TargetAttribute: CustomName
+}
diff --git a/_Main/BL/Type_MP_Row0/DefaultValue_Name.qbl b/_Main/BL/Type_MP_Row0/DefaultValue_Name.qbl
new file mode 100644
index 0000000..86c3d59
--- /dev/null
+++ b/_Main/BL/Type_MP_Row0/DefaultValue_Name.qbl
@@ -0,0 +1,6 @@
+Quintiq file version 2.0
+#parent: #root
+DefaultValue
+{
+  TargetAttribute: Name
+}
diff --git a/_Main/BL/Type_MP_Row0/DefaultValue_ProductID.qbl b/_Main/BL/Type_MP_Row0/DefaultValue_ProductID.qbl
new file mode 100644
index 0000000..98649b2
--- /dev/null
+++ b/_Main/BL/Type_MP_Row0/DefaultValue_ProductID.qbl
@@ -0,0 +1,6 @@
+Quintiq file version 2.0
+#parent: #root
+DefaultValue
+{
+  TargetAttribute: ProductID
+}
diff --git a/_Main/BL/Type_MP_Row0/DefaultValue_ProductionLine.qbl b/_Main/BL/Type_MP_Row0/DefaultValue_ProductionLine.qbl
new file mode 100644
index 0000000..c59ec43
--- /dev/null
+++ b/_Main/BL/Type_MP_Row0/DefaultValue_ProductionLine.qbl
@@ -0,0 +1,6 @@
+Quintiq file version 2.0
+#parent: #root
+DefaultValue
+{
+  TargetAttribute: ProductionLine
+}
diff --git a/_Main/BL/Type_MP_Row0/DefaultValue_Remark.qbl b/_Main/BL/Type_MP_Row0/DefaultValue_Remark.qbl
new file mode 100644
index 0000000..b7df04c
--- /dev/null
+++ b/_Main/BL/Type_MP_Row0/DefaultValue_Remark.qbl
@@ -0,0 +1,6 @@
+Quintiq file version 2.0
+#parent: #root
+DefaultValue
+{
+  TargetAttribute: Remark
+}
diff --git a/_Main/BL/Type_MP_Row0/DefaultValue_StockingPointID.qbl b/_Main/BL/Type_MP_Row0/DefaultValue_StockingPointID.qbl
new file mode 100644
index 0000000..fbb83fc
--- /dev/null
+++ b/_Main/BL/Type_MP_Row0/DefaultValue_StockingPointID.qbl
@@ -0,0 +1,6 @@
+Quintiq file version 2.0
+#parent: #root
+DefaultValue
+{
+  TargetAttribute: StockingPointID
+}
diff --git a/_Main/BL/Type_MP_Row0/Function_CalcName.qbl b/_Main/BL/Type_MP_Row0/Function_CalcName.qbl
new file mode 100644
index 0000000..c3cbb48
--- /dev/null
+++ b/_Main/BL/Type_MP_Row0/Function_CalcName.qbl
@@ -0,0 +1,13 @@
+Quintiq file version 2.0
+#parent: #root
+Function CalcName
+{
+  TextBody:
+  [*
+    // rislai Jun-22-2024 (created)
+    
+    value := ifexpr( this.CustomName() = "",[String]this.Index(),this.CustomName() );
+    
+    this.Name( value );
+  *]
+}
diff --git "a/_Main/BL/Type_MP_Row0/_ROOT_Type_ArchiveRow\0430.qbl" "b/_Main/BL/Type_MP_Row0/_ROOT_Type_ArchiveRow\0430.qbl"
new file mode 100644
index 0000000..eee0800
--- /dev/null
+++ "b/_Main/BL/Type_MP_Row0/_ROOT_Type_ArchiveRow\0430.qbl"
@@ -0,0 +1,9 @@
+Quintiq file version 2.0
+#root
+#parent: #DomainModel
+Type ArchiveRow
+{
+  #keys: '5[414996.1.219180106][414996.1.219180104][0.0.0][414996.1.219180105][414996.1.219180107]'
+  BaseType: Object
+  StructuredName: 'ArchiveRows'
+}
diff --git a/_Main/BL/Type_PackagingPlanCell/Method_UpdateValue.qbl b/_Main/BL/Type_PackagingPlanCell/Method_UpdateValue.qbl
new file mode 100644
index 0000000..ef3037a
--- /dev/null
+++ b/_Main/BL/Type_PackagingPlanCell/Method_UpdateValue.qbl
@@ -0,0 +1,36 @@
+Quintiq file version 2.0
+#parent: #root
+Method UpdateValue (
+  String attrName,
+  Real value
+)
+{
+  TextBody:
+  [*
+    if ( attrName = "Package" ) { // 鍖呰
+      this.Package( value );
+    }
+    
+    if ( attrName = "Unpacking" ) { // 鎷嗗寘
+     this.Unpacking( value );
+    }
+    
+    if ( attrName = "Out" ) { // 璋冨嚭
+      unitID := ifexpr( this.PackagingPlanRow().Factory() = "澶ц繛宸ュ巶", "DL to CC", "CC to DL" ) + " " + this.PackagingPlanRow().Category() + " Transport";
+      
+      pit     := select( this.PackagingPlanRow().MacroPlan(), Unit.Lane.LaneLeg.Trip.ProductInTrip, tempPIT,
+                         tempPIT.Trip().LaneLeg().Lane().UnitID() = unitID                                 and
+                         tempPIT.Trip().Departure().Date()        = this.PackagingPlanColumn().StartDate() and
+                         tempPIT.ProductID()                      = this.PackagingPlanRow().ProductID() );
+    
+      pit.Update( value, true );
+      this.Out( value );
+      
+      cell := select( this.PackagingPlanRow().MacroPlan(), PackagingPlanRow.PackagingPlanCell, tempPPCell, 
+                      tempPPCell.PackagingPlanRow().Factory()      = ifexpr( this.PackagingPlanRow().Factory() = "澶ц繛宸ュ巶", "闀挎槬宸ュ巶", "澶ц繛宸ュ巶" ) and
+                      tempPPCell.PackagingPlanRow().ProductID()    = this.PackagingPlanRow().ProductID()                                              and
+                      tempPPCell.PackagingPlanColumn().StartDate() = pit.Trip().Arrival().Date() );
+      cell.TransferIn( value );
+    }
+  *]
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_Form701/Component_ListGenerations.def b/_Main/UI/MacroPlannerWebApp/Component_Form701/Component_ListGenerations.def
index e7810eb..4eb67ef 100644
--- a/_Main/UI/MacroPlannerWebApp/Component_Form701/Component_ListGenerations.def
+++ b/_Main/UI/MacroPlannerWebApp/Component_Form701/Component_ListGenerations.def
@@ -1,13 +1,13 @@
 Quintiq file version 2.0
 Component ListGenerations
 {
-  #keys: '[414996.1.215964344]'
+  #keys: '[414996.1.218091520]'
   BaseType: 'WebList'
   Children:
   [
     Component DataExtractor989
     {
-      #keys: '[414996.1.215964345]'
+      #keys: '[414996.1.218091521]'
       BaseType: 'WebDataExtractor'
       Properties:
       [
@@ -20,7 +20,7 @@
     #child: listActionBarPage963
     Component DataSetLevel191
     {
-      #keys: '[414996.1.215964347]'
+      #keys: '[414996.1.218091523]'
       BaseType: 'WebDataSetLevel'
       Children:
       [
@@ -28,7 +28,7 @@
       ]
       Properties:
       [
-        Columns: '[{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"ImageIsEnable","title":"ImageIsEnable","subtotals":"","tooltip":"","width":-1,"display":"always","attribute":"ImageIsEnable"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"StringValue","title":"Value","subtotals":"","tooltip":"","width":-1,"display":"always","editable":false,"attribute":"StringValue"}}]'
+        Columns: '[{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"ImageIsEnable","title":"ImageIsEnable","subtotals":"","tooltip":"","width":2,"display":"always","attribute":"ImageIsEnable"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"StringValue","title":"Value","subtotals":"","tooltip":"","width":6,"display":"always","editable":false,"attribute":"StringValue"}}]'
         ContextMenu: 'listContextMenu687'
         Taborder: 2
       ]
@@ -36,6 +36,7 @@
   ]
   Properties:
   [
+    MinimumColumns: 8
     Taborder: 0
   ]
 }
diff --git a/_Main/UI/MacroPlannerWebApp/Component_Form701/Component_ListMQBMLB.def b/_Main/UI/MacroPlannerWebApp/Component_Form701/Component_ListMQBMLB.def
index c02a8ac..5eccf28 100644
--- a/_Main/UI/MacroPlannerWebApp/Component_Form701/Component_ListMQBMLB.def
+++ b/_Main/UI/MacroPlannerWebApp/Component_Form701/Component_ListMQBMLB.def
@@ -1,13 +1,13 @@
 Quintiq file version 2.0
 Component ListMQBMLB
 {
-  #keys: '[414996.1.215964326]'
+  #keys: '[414996.1.218091500]'
   BaseType: 'WebList'
   Children:
   [
     Component DataExtractor472
     {
-      #keys: '[414996.1.215964327]'
+      #keys: '[414996.1.218091501]'
       BaseType: 'WebDataExtractor'
       Properties:
       [
@@ -20,7 +20,7 @@
     #child: listActionBarPage519
     Component DataSetLevel527
     {
-      #keys: '[414996.1.215964329]'
+      #keys: '[414996.1.218091503]'
       BaseType: 'WebDataSetLevel'
       Children:
       [
@@ -28,7 +28,7 @@
       ]
       Properties:
       [
-        Columns: '[{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"ImageIsEnable","title":"ImageIsEnable","subtotals":"","tooltip":"","width":-1,"display":"always","attribute":"ImageIsEnable"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"StringValue","title":"Value","subtotals":"","tooltip":"","width":-1,"display":"always","editable":false,"attribute":"StringValue"}}]'
+        Columns: '[{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"ImageIsEnable","title":"ImageIsEnable","subtotals":"","tooltip":"","width":2,"display":"always","attribute":"ImageIsEnable"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"StringValue","title":"Value","subtotals":"","tooltip":"","width":6,"display":"always","editable":false,"attribute":"StringValue"}}]'
         ContextMenu: 'listContextMenu319'
         Taborder: 2
       ]
@@ -36,6 +36,7 @@
   ]
   Properties:
   [
+    MinimumColumns: 8
     Taborder: 0
   ]
 }
diff --git a/_Main/UI/MacroPlannerWebApp/Component_Form701/Component_ListPowers.def b/_Main/UI/MacroPlannerWebApp/Component_Form701/Component_ListPowers.def
index 1b6c9bd..6e68952 100644
--- a/_Main/UI/MacroPlannerWebApp/Component_Form701/Component_ListPowers.def
+++ b/_Main/UI/MacroPlannerWebApp/Component_Form701/Component_ListPowers.def
@@ -1,13 +1,13 @@
 Quintiq file version 2.0
 Component ListPowers
 {
-  #keys: '[414996.1.215964335]'
+  #keys: '[414996.1.218091509]'
   BaseType: 'WebList'
   Children:
   [
     Component DataExtractor671
     {
-      #keys: '[414996.1.215964336]'
+      #keys: '[414996.1.218091510]'
       BaseType: 'WebDataExtractor'
       Properties:
       [
@@ -20,7 +20,7 @@
     #child: listActionBarPage245
     Component DataSetLevel995
     {
-      #keys: '[414996.1.215964338]'
+      #keys: '[414996.1.218091512]'
       BaseType: 'WebDataSetLevel'
       Children:
       [
@@ -28,7 +28,7 @@
       ]
       Properties:
       [
-        Columns: '[{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"ImageIsEnable","title":"ImageIsEnable","subtotals":"","tooltip":"","width":-1,"display":"always","attribute":"ImageIsEnable"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"StringValue","title":"Value","subtotals":"","tooltip":"","width":-1,"display":"always","editable":false,"attribute":"StringValue"}}]'
+        Columns: '[{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"ImageIsEnable","title":"ImageIsEnable","subtotals":"","tooltip":"","width":2,"display":"always","attribute":"ImageIsEnable"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"StringValue","title":"Value","subtotals":"","tooltip":"","width":6,"display":"always","editable":false,"attribute":"StringValue"}}]'
         ContextMenu: 'listContextMenu623'
         Taborder: 2
       ]
@@ -36,6 +36,7 @@
   ]
   Properties:
   [
+    MinimumColumns: 8
     Taborder: 0
   ]
 }
diff --git a/_Main/UI/MacroPlannerWebApp/Component_Form701/Component_listActionBarPage245.def b/_Main/UI/MacroPlannerWebApp/Component_Form701/Component_listActionBarPage245.def
index 1166457..78007b6 100644
--- a/_Main/UI/MacroPlannerWebApp/Component_Form701/Component_listActionBarPage245.def
+++ b/_Main/UI/MacroPlannerWebApp/Component_Form701/Component_listActionBarPage245.def
@@ -1,7 +1,7 @@
 Quintiq file version 2.0
 Component listActionBarPage245
 {
-  #keys: '[414996.1.215964337]'
+  #keys: '[414996.1.218091511]'
   BaseType: 'listActionBarPage'
   Properties:
   [
diff --git a/_Main/UI/MacroPlannerWebApp/Component_Form701/Component_listActionBarPage519.def b/_Main/UI/MacroPlannerWebApp/Component_Form701/Component_listActionBarPage519.def
index d3cc383..71a5f23 100644
--- a/_Main/UI/MacroPlannerWebApp/Component_Form701/Component_listActionBarPage519.def
+++ b/_Main/UI/MacroPlannerWebApp/Component_Form701/Component_listActionBarPage519.def
@@ -1,7 +1,7 @@
 Quintiq file version 2.0
 Component listActionBarPage519
 {
-  #keys: '[414996.1.215964328]'
+  #keys: '[414996.1.218091502]'
   BaseType: 'listActionBarPage'
   Properties:
   [
diff --git a/_Main/UI/MacroPlannerWebApp/Component_Form701/Component_listActionBarPage963.def b/_Main/UI/MacroPlannerWebApp/Component_Form701/Component_listActionBarPage963.def
index 8b4763b..b8158a4 100644
--- a/_Main/UI/MacroPlannerWebApp/Component_Form701/Component_listActionBarPage963.def
+++ b/_Main/UI/MacroPlannerWebApp/Component_Form701/Component_listActionBarPage963.def
@@ -1,7 +1,7 @@
 Quintiq file version 2.0
 Component listActionBarPage963
 {
-  #keys: '[414996.1.215964346]'
+  #keys: '[414996.1.218091522]'
   BaseType: 'listActionBarPage'
   Properties:
   [
diff --git a/_Main/UI/MacroPlannerWebApp/Component_Form701/Component_listContextMenu319.def b/_Main/UI/MacroPlannerWebApp/Component_Form701/Component_listContextMenu319.def
index 2252ae5..e386fa2 100644
--- a/_Main/UI/MacroPlannerWebApp/Component_Form701/Component_listContextMenu319.def
+++ b/_Main/UI/MacroPlannerWebApp/Component_Form701/Component_listContextMenu319.def
@@ -1,7 +1,7 @@
 Quintiq file version 2.0
 Component listContextMenu319
 {
-  #keys: '[414996.1.215964330]'
+  #keys: '[414996.1.218091504]'
   BaseType: 'listContextMenu'
   Properties:
   [
diff --git a/_Main/UI/MacroPlannerWebApp/Component_Form701/Component_listContextMenu623.def b/_Main/UI/MacroPlannerWebApp/Component_Form701/Component_listContextMenu623.def
index a814d17..75c5526 100644
--- a/_Main/UI/MacroPlannerWebApp/Component_Form701/Component_listContextMenu623.def
+++ b/_Main/UI/MacroPlannerWebApp/Component_Form701/Component_listContextMenu623.def
@@ -1,7 +1,7 @@
 Quintiq file version 2.0
 Component listContextMenu623
 {
-  #keys: '[414996.1.215964339]'
+  #keys: '[414996.1.218091513]'
   BaseType: 'listContextMenu'
   Properties:
   [
diff --git a/_Main/UI/MacroPlannerWebApp/Component_Form701/Component_listContextMenu687.def b/_Main/UI/MacroPlannerWebApp/Component_Form701/Component_listContextMenu687.def
index 3b8751b..334ee4c 100644
--- a/_Main/UI/MacroPlannerWebApp/Component_Form701/Component_listContextMenu687.def
+++ b/_Main/UI/MacroPlannerWebApp/Component_Form701/Component_listContextMenu687.def
@@ -1,7 +1,7 @@
 Quintiq file version 2.0
 Component listContextMenu687
 {
-  #keys: '[414996.1.215964348]'
+  #keys: '[414996.1.218091524]'
   BaseType: 'listContextMenu'
   Properties:
   [
diff --git a/_Main/UI/MacroPlannerWebApp/Component_Form701/Component_pGeneration.def b/_Main/UI/MacroPlannerWebApp/Component_Form701/Component_pGeneration.def
index f6a9cea..708354e 100644
--- a/_Main/UI/MacroPlannerWebApp/Component_Form701/Component_pGeneration.def
+++ b/_Main/UI/MacroPlannerWebApp/Component_Form701/Component_pGeneration.def
@@ -1,13 +1,13 @@
 Quintiq file version 2.0
 Component pGeneration
 {
-  #keys: '[414996.1.215964342]'
+  #keys: '[414996.1.218091516]'
   BaseType: 'WebPanel'
   Children:
   [
     Component dhGenerations
     {
-      #keys: '[414996.1.215964343]'
+      #keys: '[414996.1.218091517]'
       BaseType: 'WebDataHolder'
       Databinding: 'structured[LocalValue]*'
       Properties:
@@ -15,17 +15,16 @@
         Taborder: 1
       ]
     }
-    #child: ListGenerations
     Component dhCheckGenerations
     {
-      #keys: '[414996.1.215964349]'
+      #keys: '[414996.1.218091518]'
       BaseType: 'WebDataHolder'
       Databinding: 'structured[LocalValue]*'
       Children:
       [
         Component deCheckGenerations
         {
-          #keys: '[414996.1.215964350]'
+          #keys: '[414996.1.218091519]'
           BaseType: 'WebDataExtractor'
           Properties:
           [
@@ -42,10 +41,13 @@
         Taborder: 2
       ]
     }
+    #child: ListGenerations
   ]
   Properties:
   [
-    MinimumRows: 20
+    FixedSize: true
+    MinimumColumns: 8
+    MinimumRows: 15
     Taborder: 0
     Title: 'Generation'
   ]
diff --git a/_Main/UI/MacroPlannerWebApp/Component_Form701/Component_pMQBMLB.def b/_Main/UI/MacroPlannerWebApp/Component_Form701/Component_pMQBMLB.def
index 875d43e..a1117e0 100644
--- a/_Main/UI/MacroPlannerWebApp/Component_Form701/Component_pMQBMLB.def
+++ b/_Main/UI/MacroPlannerWebApp/Component_Form701/Component_pMQBMLB.def
@@ -1,13 +1,13 @@
 Quintiq file version 2.0
 Component pMQBMLB
 {
-  #keys: '[414996.1.215964324]'
+  #keys: '[414996.1.218091498]'
   BaseType: 'WebPanel'
   Children:
   [
     Component dhMQBMLB
     {
-      #keys: '[414996.1.215964325]'
+      #keys: '[414996.1.218091499]'
       BaseType: 'WebDataHolder'
       Databinding: 'structured[LocalValue]*'
       Properties:
@@ -18,14 +18,14 @@
     #child: ListMQBMLB
     Component dhCheckMQBMLB
     {
-      #keys: '[414996.1.215964331]'
+      #keys: '[414996.1.218091505]'
       BaseType: 'WebDataHolder'
       Databinding: 'structured[LocalValue]*'
       Children:
       [
         Component deCheckMQBMLB
         {
-          #keys: '[414996.1.215964332]'
+          #keys: '[414996.1.218091506]'
           BaseType: 'WebDataExtractor'
           Properties:
           [
@@ -45,7 +45,9 @@
   ]
   Properties:
   [
-    MinimumRows: 20
+    FixedSize: true
+    MinimumColumns: 8
+    MinimumRows: 15
     Taborder: 2
     Title: 'MQB/MLB'
   ]
diff --git a/_Main/UI/MacroPlannerWebApp/Component_Form701/Component_pPower.def b/_Main/UI/MacroPlannerWebApp/Component_Form701/Component_pPower.def
index 139ac77..24caf4a 100644
--- a/_Main/UI/MacroPlannerWebApp/Component_Form701/Component_pPower.def
+++ b/_Main/UI/MacroPlannerWebApp/Component_Form701/Component_pPower.def
@@ -1,13 +1,13 @@
 Quintiq file version 2.0
 Component pPower
 {
-  #keys: '[414996.1.215964333]'
+  #keys: '[414996.1.218091507]'
   BaseType: 'WebPanel'
   Children:
   [
     Component dhPowers
     {
-      #keys: '[414996.1.215964334]'
+      #keys: '[414996.1.218091508]'
       BaseType: 'WebDataHolder'
       Databinding: 'structured[LocalValue]*'
       Properties:
@@ -18,14 +18,14 @@
     #child: ListPowers
     Component dhCheckPowers
     {
-      #keys: '[414996.1.215964340]'
+      #keys: '[414996.1.218091514]'
       BaseType: 'WebDataHolder'
       Databinding: 'structured[LocalValue]*'
       Children:
       [
         Component deCheckPowers
         {
-          #keys: '[414996.1.215964341]'
+          #keys: '[414996.1.218091515]'
           BaseType: 'WebDataExtractor'
           Properties:
           [
@@ -45,7 +45,9 @@
   ]
   Properties:
   [
-    MinimumRows: 20
+    FixedSize: true
+    MinimumColumns: 8
+    MinimumRows: 15
     Taborder: 1
     Title: 'Power'
   ]
diff --git a/_Main/UI/MacroPlannerWebApp/Component_Form701/Component_pProductAttributeFilter.def b/_Main/UI/MacroPlannerWebApp/Component_Form701/Component_pProductAttributeFilter.def
index 8485676..d09cd9e 100644
--- a/_Main/UI/MacroPlannerWebApp/Component_Form701/Component_pProductAttributeFilter.def
+++ b/_Main/UI/MacroPlannerWebApp/Component_Form701/Component_pProductAttributeFilter.def
@@ -1,7 +1,7 @@
 Quintiq file version 2.0
 Component pProductAttributeFilter
 {
-  #keys: '[414996.1.215964323]'
+  #keys: '[414996.1.218091497]'
   BaseType: 'WebPanel'
   Children:
   [
@@ -12,6 +12,7 @@
   Properties:
   [
     FixedSize: true
+    MinimumColumns: 8
     Taborder: 0
   ]
 }
diff --git a/_Main/UI/MacroPlannerWebApp/Component_Form701/Response_ListGenerations_OnClick.def b/_Main/UI/MacroPlannerWebApp/Component_Form701/Response_ListGenerations_OnClick.def
index f895650..0048c99 100644
--- a/_Main/UI/MacroPlannerWebApp/Component_Form701/Response_ListGenerations_OnClick.def
+++ b/_Main/UI/MacroPlannerWebApp/Component_Form701/Response_ListGenerations_OnClick.def
@@ -4,7 +4,7 @@
   LocalValue selection
 ) id:Response_ListGenerations_OnClick
 {
-  #keys: '[414996.1.215964309]'
+  #keys: '[414996.1.218091482]'
   CanBindMultiple: false
   DefinitionID: 'Responsedef_WebList_OnClick'
   GroupServerCalls: true
diff --git a/_Main/UI/MacroPlannerWebApp/Component_Form701/Response_ListMQBMLB_OnClick.def b/_Main/UI/MacroPlannerWebApp/Component_Form701/Response_ListMQBMLB_OnClick.def
index b33bc93..6262cf7 100644
--- a/_Main/UI/MacroPlannerWebApp/Component_Form701/Response_ListMQBMLB_OnClick.def
+++ b/_Main/UI/MacroPlannerWebApp/Component_Form701/Response_ListMQBMLB_OnClick.def
@@ -4,7 +4,7 @@
   LocalValue selection
 ) id:Response_ListMQBMLB_OnClick
 {
-  #keys: '[414996.1.215964317]'
+  #keys: '[414996.1.218091491]'
   CanBindMultiple: false
   DefinitionID: 'Responsedef_WebList_OnClick'
   GroupServerCalls: true
diff --git a/_Main/UI/MacroPlannerWebApp/Component_Form701/Response_ListPowers_OnClick.def b/_Main/UI/MacroPlannerWebApp/Component_Form701/Response_ListPowers_OnClick.def
index 5becb69..80f51bc 100644
--- a/_Main/UI/MacroPlannerWebApp/Component_Form701/Response_ListPowers_OnClick.def
+++ b/_Main/UI/MacroPlannerWebApp/Component_Form701/Response_ListPowers_OnClick.def
@@ -4,7 +4,7 @@
   LocalValue selection
 ) id:Response_ListPowers_OnClick
 {
-  #keys: '[414996.1.215964313]'
+  #keys: '[414996.1.218091487]'
   CanBindMultiple: false
   DefinitionID: 'Responsedef_WebList_OnClick'
   GroupServerCalls: true
diff --git a/_Main/UI/MacroPlannerWebApp/Component_Form701/Response_pGeneration_dhCheckGenerations_OnDataChanged.def b/_Main/UI/MacroPlannerWebApp/Component_Form701/Response_pGeneration_dhCheckGenerations_OnDataChanged.def
index 640fe57..bbb124e 100644
--- a/_Main/UI/MacroPlannerWebApp/Component_Form701/Response_pGeneration_dhCheckGenerations_OnDataChanged.def
+++ b/_Main/UI/MacroPlannerWebApp/Component_Form701/Response_pGeneration_dhCheckGenerations_OnDataChanged.def
@@ -2,7 +2,7 @@
 #parent: pGeneration/dhCheckGenerations
 Response OnDataChanged () id:Response_pGeneration_dhCheckGenerations_OnDataChanged
 {
-  #keys: '[414996.1.215964308]'
+  #keys: '[414996.1.218091484]'
   CanBindMultiple: false
   DefinitionID: 'Responsedef_WebComponent_OnDataChanged'
   GroupServerCalls: true
diff --git a/_Main/UI/MacroPlannerWebApp/Component_Form701/Response_pGeneration_dhGenerations_OnCreated.def b/_Main/UI/MacroPlannerWebApp/Component_Form701/Response_pGeneration_dhGenerations_OnCreated.def
index e278063..764006f 100644
--- a/_Main/UI/MacroPlannerWebApp/Component_Form701/Response_pGeneration_dhGenerations_OnCreated.def
+++ b/_Main/UI/MacroPlannerWebApp/Component_Form701/Response_pGeneration_dhGenerations_OnCreated.def
@@ -2,7 +2,7 @@
 #parent: pGeneration/dhGenerations
 Response OnCreated () id:Response_pGeneration_dhGenerations_OnCreated
 {
-  #keys: '[414996.1.215964311]'
+  #keys: '[414996.1.218091485]'
   CanBindMultiple: false
   DefinitionID: 'Responsedef_WebComponent_OnCreated'
   QuillAction
diff --git a/_Main/UI/MacroPlannerWebApp/Component_Form701/Response_pMQBMLB_dhCheckMQBMLB_OnDataChanged.def b/_Main/UI/MacroPlannerWebApp/Component_Form701/Response_pMQBMLB_dhCheckMQBMLB_OnDataChanged.def
index 6cba547..57e14d1 100644
--- a/_Main/UI/MacroPlannerWebApp/Component_Form701/Response_pMQBMLB_dhCheckMQBMLB_OnDataChanged.def
+++ b/_Main/UI/MacroPlannerWebApp/Component_Form701/Response_pMQBMLB_dhCheckMQBMLB_OnDataChanged.def
@@ -2,7 +2,7 @@
 #parent: pMQBMLB/dhCheckMQBMLB
 Response OnDataChanged () id:Response_pMQBMLB_dhCheckMQBMLB_OnDataChanged
 {
-  #keys: '[414996.1.215964316]'
+  #keys: '[414996.1.218091490]'
   CanBindMultiple: false
   DefinitionID: 'Responsedef_WebComponent_OnDataChanged'
   GroupServerCalls: true
diff --git a/_Main/UI/MacroPlannerWebApp/Component_Form701/Response_pMQBMLB_dhMQBMLB_OnCreated.def b/_Main/UI/MacroPlannerWebApp/Component_Form701/Response_pMQBMLB_dhMQBMLB_OnCreated.def
index 748f997..eb48e74 100644
--- a/_Main/UI/MacroPlannerWebApp/Component_Form701/Response_pMQBMLB_dhMQBMLB_OnCreated.def
+++ b/_Main/UI/MacroPlannerWebApp/Component_Form701/Response_pMQBMLB_dhMQBMLB_OnCreated.def
@@ -2,7 +2,7 @@
 #parent: pMQBMLB/dhMQBMLB
 Response OnCreated () id:Response_pMQBMLB_dhMQBMLB_OnCreated
 {
-  #keys: '[414996.1.215964319]'
+  #keys: '[414996.1.218091493]'
   CanBindMultiple: false
   DefinitionID: 'Responsedef_WebComponent_OnCreated'
   QuillAction
diff --git a/_Main/UI/MacroPlannerWebApp/Component_Form701/Response_pPower_dhCheckPowers_OnDataChanged.def b/_Main/UI/MacroPlannerWebApp/Component_Form701/Response_pPower_dhCheckPowers_OnDataChanged.def
index 8d24065..dff455a 100644
--- a/_Main/UI/MacroPlannerWebApp/Component_Form701/Response_pPower_dhCheckPowers_OnDataChanged.def
+++ b/_Main/UI/MacroPlannerWebApp/Component_Form701/Response_pPower_dhCheckPowers_OnDataChanged.def
@@ -2,7 +2,7 @@
 #parent: pPower/dhCheckPowers
 Response OnDataChanged () id:Response_pPower_dhCheckPowers_OnDataChanged
 {
-  #keys: '[414996.1.215964312]'
+  #keys: '[414996.1.218091486]'
   CanBindMultiple: false
   DefinitionID: 'Responsedef_WebComponent_OnDataChanged'
   GroupServerCalls: true
diff --git a/_Main/UI/MacroPlannerWebApp/Component_Form701/Response_pPower_dhPowers_OnCreated.def b/_Main/UI/MacroPlannerWebApp/Component_Form701/Response_pPower_dhPowers_OnCreated.def
index 018bd78..f035ae7 100644
--- a/_Main/UI/MacroPlannerWebApp/Component_Form701/Response_pPower_dhPowers_OnCreated.def
+++ b/_Main/UI/MacroPlannerWebApp/Component_Form701/Response_pPower_dhPowers_OnCreated.def
@@ -2,7 +2,7 @@
 #parent: pPower/dhPowers
 Response OnCreated () id:Response_pPower_dhPowers_OnCreated
 {
-  #keys: '[414996.1.215964315]'
+  #keys: '[414996.1.218091489]'
   CanBindMultiple: false
   DefinitionID: 'Responsedef_WebComponent_OnCreated'
   QuillAction
diff --git "a/_Main/UI/MacroPlannerWebApp/Component_FormAnnualPlanReport/Component_ListGenerations\043529.def" "b/_Main/UI/MacroPlannerWebApp/Component_FormAnnualPlanReport/Component_ListGenerations\043916.def"
similarity index 61%
rename from "_Main/UI/MacroPlannerWebApp/Component_FormAnnualPlanReport/Component_ListGenerations\043529.def"
rename to "_Main/UI/MacroPlannerWebApp/Component_FormAnnualPlanReport/Component_ListGenerations\043916.def"
index 1cabe79..8eaa8dc 100644
--- "a/_Main/UI/MacroPlannerWebApp/Component_FormAnnualPlanReport/Component_ListGenerations\043529.def"
+++ "b/_Main/UI/MacroPlannerWebApp/Component_FormAnnualPlanReport/Component_ListGenerations\043916.def"
@@ -1,13 +1,13 @@
 Quintiq file version 2.0
-Component ListGenerations id:ListGenerations_529
+Component ListGenerations id:ListGenerations_916
 {
-  #keys: '[414996.1.209190762]'
+  #keys: '[414996.1.230731090]'
   BaseType: 'WebList'
   Children:
   [
     Component DataExtractor989
     {
-      #keys: '[414996.1.209190763]'
+      #keys: '[414996.1.230731091]'
       BaseType: 'WebDataExtractor'
       Properties:
       [
@@ -20,7 +20,7 @@
     #child: listActionBarPage963_1
     Component DataSetLevel191
     {
-      #keys: '[414996.1.209190765]'
+      #keys: '[414996.1.230731093]'
       BaseType: 'WebDataSetLevel'
       Children:
       [
@@ -28,7 +28,7 @@
       ]
       Properties:
       [
-        Columns: '[{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"ImageIsEnable","title":"ImageIsEnable","subtotals":"","tooltip":"","width":-1,"display":"always","attribute":"ImageIsEnable"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"StringValue","title":"Value","subtotals":"","tooltip":"","width":-1,"display":"always","editable":false,"attribute":"StringValue"}}]'
+        Columns: '[{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"ImageIsEnable","title":"ImageIsEnable","subtotals":"","tooltip":"","width":2,"display":"always","attribute":"ImageIsEnable"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"StringValue","title":"Value","subtotals":"","tooltip":"","width":6,"display":"always","editable":false,"attribute":"StringValue"}}]'
         ContextMenu: 'listContextMenu687'
         Taborder: 2
       ]
@@ -36,6 +36,7 @@
   ]
   Properties:
   [
+    MinimumColumns: 8
     Taborder: 0
   ]
 }
diff --git "a/_Main/UI/MacroPlannerWebApp/Component_FormAnnualPlanReport/Component_ListMQBMLB\043925.def" "b/_Main/UI/MacroPlannerWebApp/Component_FormAnnualPlanReport/Component_ListMQBMLB\043865.def"
similarity index 61%
rename from "_Main/UI/MacroPlannerWebApp/Component_FormAnnualPlanReport/Component_ListMQBMLB\043925.def"
rename to "_Main/UI/MacroPlannerWebApp/Component_FormAnnualPlanReport/Component_ListMQBMLB\043865.def"
index 613d87f..dff9f48 100644
--- "a/_Main/UI/MacroPlannerWebApp/Component_FormAnnualPlanReport/Component_ListMQBMLB\043925.def"
+++ "b/_Main/UI/MacroPlannerWebApp/Component_FormAnnualPlanReport/Component_ListMQBMLB\043865.def"
@@ -1,13 +1,13 @@
 Quintiq file version 2.0
-Component ListMQBMLB id:ListMQBMLB_925
+Component ListMQBMLB id:ListMQBMLB_865
 {
-  #keys: '[414996.1.209190780]'
+  #keys: '[414996.1.230731070]'
   BaseType: 'WebList'
   Children:
   [
     Component DataExtractor472
     {
-      #keys: '[414996.1.209190781]'
+      #keys: '[414996.1.230731071]'
       BaseType: 'WebDataExtractor'
       Properties:
       [
@@ -20,7 +20,7 @@
     #child: listActionBarPage519_1
     Component DataSetLevel527
     {
-      #keys: '[414996.1.209190783]'
+      #keys: '[414996.1.230731073]'
       BaseType: 'WebDataSetLevel'
       Children:
       [
@@ -28,7 +28,7 @@
       ]
       Properties:
       [
-        Columns: '[{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"ImageIsEnable","title":"ImageIsEnable","subtotals":"","tooltip":"","width":-1,"display":"always","attribute":"ImageIsEnable"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"StringValue","title":"Value","subtotals":"","tooltip":"","width":-1,"display":"always","editable":false,"attribute":"StringValue"}}]'
+        Columns: '[{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"ImageIsEnable","title":"ImageIsEnable","subtotals":"","tooltip":"","width":2,"display":"always","attribute":"ImageIsEnable"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"StringValue","title":"Value","subtotals":"","tooltip":"","width":6,"display":"always","editable":false,"attribute":"StringValue"}}]'
         ContextMenu: 'listContextMenu319'
         Taborder: 2
       ]
@@ -36,6 +36,7 @@
   ]
   Properties:
   [
+    MinimumColumns: 8
     Taborder: 0
   ]
 }
diff --git "a/_Main/UI/MacroPlannerWebApp/Component_FormAnnualPlanReport/Component_ListPowers\043568.def" "b/_Main/UI/MacroPlannerWebApp/Component_FormAnnualPlanReport/Component_ListPowers\043509.def"
similarity index 61%
rename from "_Main/UI/MacroPlannerWebApp/Component_FormAnnualPlanReport/Component_ListPowers\043568.def"
rename to "_Main/UI/MacroPlannerWebApp/Component_FormAnnualPlanReport/Component_ListPowers\043509.def"
index 8796385..0f93b44 100644
--- "a/_Main/UI/MacroPlannerWebApp/Component_FormAnnualPlanReport/Component_ListPowers\043568.def"
+++ "b/_Main/UI/MacroPlannerWebApp/Component_FormAnnualPlanReport/Component_ListPowers\043509.def"
@@ -1,13 +1,13 @@
 Quintiq file version 2.0
-Component ListPowers id:ListPowers_568
+Component ListPowers id:ListPowers_509
 {
-  #keys: '[414996.1.209190771]'
+  #keys: '[414996.1.230731079]'
   BaseType: 'WebList'
   Children:
   [
     Component DataExtractor671
     {
-      #keys: '[414996.1.209190772]'
+      #keys: '[414996.1.230731080]'
       BaseType: 'WebDataExtractor'
       Properties:
       [
@@ -20,7 +20,7 @@
     #child: listActionBarPage245_1
     Component DataSetLevel995
     {
-      #keys: '[414996.1.209190774]'
+      #keys: '[414996.1.230731082]'
       BaseType: 'WebDataSetLevel'
       Children:
       [
@@ -28,7 +28,7 @@
       ]
       Properties:
       [
-        Columns: '[{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"ImageIsEnable","title":"ImageIsEnable","subtotals":"","tooltip":"","width":-1,"display":"always","attribute":"ImageIsEnable"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"StringValue","title":"Value","subtotals":"","tooltip":"","width":-1,"display":"always","editable":false,"attribute":"StringValue"}}]'
+        Columns: '[{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"ImageIsEnable","title":"ImageIsEnable","subtotals":"","tooltip":"","width":2,"display":"always","attribute":"ImageIsEnable"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"StringValue","title":"Value","subtotals":"","tooltip":"","width":6,"display":"always","editable":false,"attribute":"StringValue"}}]'
         ContextMenu: 'listContextMenu623'
         Taborder: 2
       ]
@@ -36,6 +36,7 @@
   ]
   Properties:
   [
+    MinimumColumns: 8
     Taborder: 0
   ]
 }
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormAnnualPlanReport/Component_MatrixEditor.def b/_Main/UI/MacroPlannerWebApp/Component_FormAnnualPlanReport/Component_MatrixEditor.def
index 4ef6c00..8e1d5d0 100644
--- a/_Main/UI/MacroPlannerWebApp/Component_FormAnnualPlanReport/Component_MatrixEditor.def
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormAnnualPlanReport/Component_MatrixEditor.def
@@ -1,19 +1,19 @@
 Quintiq file version 2.0
 Component MatrixEditor
 {
-  #keys: '[414996.1.209190963]'
+  #keys: '[414996.1.230731119]'
   BaseType: 'WebMatrixEditor'
   Children:
   [
     Component MatrixEditorCell
     {
-      #keys: '[414996.1.209190964]'
+      #keys: '[414996.1.230731120]'
       BaseType: 'WebMatrixEditorCell'
       Children:
       [
         Component DataExtractorCells
         {
-          #keys: '[414996.1.209190965]'
+          #keys: '[414996.1.230731121]'
           BaseType: 'WebDataExtractor'
           Properties:
           [
@@ -34,13 +34,13 @@
     }
     Component MatrixEditorRows
     {
-      #keys: '[414996.1.209190966]'
+      #keys: '[414996.1.230731122]'
       BaseType: 'WebMatrixEditorHeaderLevel'
       Children:
       [
         Component DataExtractorRows
         {
-          #keys: '[414996.1.209190967]'
+          #keys: '[414996.1.230731123]'
           BaseType: 'WebDataExtractor'
           Properties:
           [
@@ -62,13 +62,13 @@
     }
     Component MatrixEditorColumns
     {
-      #keys: '[414996.1.209190968]'
+      #keys: '[414996.1.230731124]'
       BaseType: 'WebMatrixEditorHeaderLevel'
       Children:
       [
         Component DataExtractorColumns
         {
-          #keys: '[414996.1.209190969]'
+          #keys: '[414996.1.230731125]'
           BaseType: 'WebDataExtractor'
           Properties:
           [
diff --git "a/_Main/UI/MacroPlannerWebApp/Component_FormAnnualPlanReport/Component_listActionBarPage245\0431.def" "b/_Main/UI/MacroPlannerWebApp/Component_FormAnnualPlanReport/Component_listActionBarPage245\0431.def"
index 217d1e5..9a965d3 100644
--- "a/_Main/UI/MacroPlannerWebApp/Component_FormAnnualPlanReport/Component_listActionBarPage245\0431.def"
+++ "b/_Main/UI/MacroPlannerWebApp/Component_FormAnnualPlanReport/Component_listActionBarPage245\0431.def"
@@ -1,7 +1,7 @@
 Quintiq file version 2.0
 Component listActionBarPage245 id:listActionBarPage245_1
 {
-  #keys: '[414996.1.209190773]'
+  #keys: '[414996.1.230731081]'
   BaseType: 'listActionBarPage'
   Properties:
   [
diff --git "a/_Main/UI/MacroPlannerWebApp/Component_FormAnnualPlanReport/Component_listActionBarPage519\0431.def" "b/_Main/UI/MacroPlannerWebApp/Component_FormAnnualPlanReport/Component_listActionBarPage519\0431.def"
index 56e16d1..891dbee 100644
--- "a/_Main/UI/MacroPlannerWebApp/Component_FormAnnualPlanReport/Component_listActionBarPage519\0431.def"
+++ "b/_Main/UI/MacroPlannerWebApp/Component_FormAnnualPlanReport/Component_listActionBarPage519\0431.def"
@@ -1,7 +1,7 @@
 Quintiq file version 2.0
 Component listActionBarPage519 id:listActionBarPage519_1
 {
-  #keys: '[414996.1.209190782]'
+  #keys: '[414996.1.230731072]'
   BaseType: 'listActionBarPage'
   Properties:
   [
diff --git "a/_Main/UI/MacroPlannerWebApp/Component_FormAnnualPlanReport/Component_listActionBarPage963\0431.def" "b/_Main/UI/MacroPlannerWebApp/Component_FormAnnualPlanReport/Component_listActionBarPage963\0431.def"
index 168986b..894b82c 100644
--- "a/_Main/UI/MacroPlannerWebApp/Component_FormAnnualPlanReport/Component_listActionBarPage963\0431.def"
+++ "b/_Main/UI/MacroPlannerWebApp/Component_FormAnnualPlanReport/Component_listActionBarPage963\0431.def"
@@ -1,7 +1,7 @@
 Quintiq file version 2.0
 Component listActionBarPage963 id:listActionBarPage963_1
 {
-  #keys: '[414996.1.209190764]'
+  #keys: '[414996.1.230731092]'
   BaseType: 'listActionBarPage'
   Properties:
   [
diff --git "a/_Main/UI/MacroPlannerWebApp/Component_FormAnnualPlanReport/Component_listContextMenu319\0431.def" "b/_Main/UI/MacroPlannerWebApp/Component_FormAnnualPlanReport/Component_listContextMenu319\0431.def"
index 9805f2a..ccdeaea 100644
--- "a/_Main/UI/MacroPlannerWebApp/Component_FormAnnualPlanReport/Component_listContextMenu319\0431.def"
+++ "b/_Main/UI/MacroPlannerWebApp/Component_FormAnnualPlanReport/Component_listContextMenu319\0431.def"
@@ -1,7 +1,7 @@
 Quintiq file version 2.0
 Component listContextMenu319 id:listContextMenu319_1
 {
-  #keys: '[414996.1.209190784]'
+  #keys: '[414996.1.230731074]'
   BaseType: 'listContextMenu'
   Properties:
   [
diff --git "a/_Main/UI/MacroPlannerWebApp/Component_FormAnnualPlanReport/Component_listContextMenu623\0431.def" "b/_Main/UI/MacroPlannerWebApp/Component_FormAnnualPlanReport/Component_listContextMenu623\0431.def"
index 43547f0..27eae9a 100644
--- "a/_Main/UI/MacroPlannerWebApp/Component_FormAnnualPlanReport/Component_listContextMenu623\0431.def"
+++ "b/_Main/UI/MacroPlannerWebApp/Component_FormAnnualPlanReport/Component_listContextMenu623\0431.def"
@@ -1,7 +1,7 @@
 Quintiq file version 2.0
 Component listContextMenu623 id:listContextMenu623_1
 {
-  #keys: '[414996.1.209190775]'
+  #keys: '[414996.1.230731083]'
   BaseType: 'listContextMenu'
   Properties:
   [
diff --git "a/_Main/UI/MacroPlannerWebApp/Component_FormAnnualPlanReport/Component_listContextMenu687\0431.def" "b/_Main/UI/MacroPlannerWebApp/Component_FormAnnualPlanReport/Component_listContextMenu687\0431.def"
index 6cc0dbe..7afcd39 100644
--- "a/_Main/UI/MacroPlannerWebApp/Component_FormAnnualPlanReport/Component_listContextMenu687\0431.def"
+++ "b/_Main/UI/MacroPlannerWebApp/Component_FormAnnualPlanReport/Component_listContextMenu687\0431.def"
@@ -1,7 +1,7 @@
 Quintiq file version 2.0
 Component listContextMenu687 id:listContextMenu687_1
 {
-  #keys: '[414996.1.209190766]'
+  #keys: '[414996.1.230731094]'
   BaseType: 'listContextMenu'
   Properties:
   [
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormAnnualPlanReport/Component_matrixEditorActionBarPageDemandComparison.def b/_Main/UI/MacroPlannerWebApp/Component_FormAnnualPlanReport/Component_matrixEditorActionBarPageDemandComparison.def
index 0bb31c5..c0046f1 100644
--- a/_Main/UI/MacroPlannerWebApp/Component_FormAnnualPlanReport/Component_matrixEditorActionBarPageDemandComparison.def
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormAnnualPlanReport/Component_matrixEditorActionBarPageDemandComparison.def
@@ -1,7 +1,7 @@
 Quintiq file version 2.0
 Component matrixEditorActionBarPageDemandComparison
 {
-  #keys: '[414996.1.209190970]'
+  #keys: '[414996.1.230731126]'
   BaseType: 'matrixEditorActionBarPage'
   Properties:
   [
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormAnnualPlanReport/Component_matrixeditorContextMenuDemandComparison.def b/_Main/UI/MacroPlannerWebApp/Component_FormAnnualPlanReport/Component_matrixeditorContextMenuDemandComparison.def
index 7c0c4b4..abe04e3 100644
--- a/_Main/UI/MacroPlannerWebApp/Component_FormAnnualPlanReport/Component_matrixeditorContextMenuDemandComparison.def
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormAnnualPlanReport/Component_matrixeditorContextMenuDemandComparison.def
@@ -1,7 +1,7 @@
 Quintiq file version 2.0
 Component matrixeditorContextMenuDemandComparison
 {
-  #keys: '[414996.1.209190971]'
+  #keys: '[414996.1.230731127]'
   BaseType: 'matrixeditorContextMenu'
   Properties:
   [
diff --git "a/_Main/UI/MacroPlannerWebApp/Component_FormAnnualPlanReport/Component_pAnnualPlanReport\043439.def" "b/_Main/UI/MacroPlannerWebApp/Component_FormAnnualPlanReport/Component_pAnnualPlanReport\043921.def"
similarity index 68%
rename from "_Main/UI/MacroPlannerWebApp/Component_FormAnnualPlanReport/Component_pAnnualPlanReport\043439.def"
rename to "_Main/UI/MacroPlannerWebApp/Component_FormAnnualPlanReport/Component_pAnnualPlanReport\043921.def"
index f7ce590..9396396 100644
--- "a/_Main/UI/MacroPlannerWebApp/Component_FormAnnualPlanReport/Component_pAnnualPlanReport\043439.def"
+++ "b/_Main/UI/MacroPlannerWebApp/Component_FormAnnualPlanReport/Component_pAnnualPlanReport\043921.def"
@@ -1,20 +1,20 @@
 Quintiq file version 2.0
-Component pAnnualPlanReport id:pAnnualPlanReport_439
+Component pAnnualPlanReport id:pAnnualPlanReport_921
 {
-  #keys: '[414996.1.209190957]'
+  #keys: '[414996.1.230731114]'
   BaseType: 'WebPanel'
   Children:
   [
     Component dhCheckedProducts
     {
-      #keys: '[414996.1.209190958]'
+      #keys: '[414996.1.230731115]'
       BaseType: 'WebDataHolder'
       Databinding: 'structured[Product_MP]*'
       Children:
       [
         Component deCheckedProduct
         {
-          #keys: '[414996.1.209190959]'
+          #keys: '[414996.1.230731116]'
           BaseType: 'WebDataExtractor'
           Properties:
           [
@@ -32,7 +32,7 @@
     }
     Component dhFinelProducts
     {
-      #keys: '[414996.1.209190960]'
+      #keys: '[414996.1.230731117]'
       BaseType: 'WebDataHolder'
       Databinding: 'structured[Product_MP]*'
       Properties:
@@ -42,25 +42,9 @@
     }
     Component dhAnnualPlanTable
     {
-      #keys: '[414996.1.209190961]'
+      #keys: '[414996.1.230731118]'
       BaseType: 'WebDataHolder'
       Databinding: 'LocalTable'
-      Children:
-      [
-        Component deAnnualPlanTable
-        {
-          #keys: '[414996.1.209190962]'
-          BaseType: 'WebDataExtractor'
-          Properties:
-          [
-            DataType: 'RecycleBin'
-            FixedFilter: 'object.Name() = MP_Cell_AnnualPlanReport::GetTableName()'
-            Source: 'RecycleBin'
-            Taborder: 0
-            Transformation: 'LocalTable'
-          ]
-        }
-      ]
       Properties:
       [
         Taborder: 1
@@ -69,14 +53,14 @@
     #child: MatrixEditor
     Component dhCheckedEntitys
     {
-      #keys: '[414996.1.209190972]'
+      #keys: '[414996.1.230731128]'
       BaseType: 'WebDataHolder'
       Databinding: 'structured[Entity]*'
       Children:
       [
         Component deCheckedEntitys
         {
-          #keys: '[414996.1.209190973]'
+          #keys: '[414996.1.230731129]'
           BaseType: 'WebDataExtractor'
           Properties:
           [
@@ -94,7 +78,7 @@
     }
     Component dhFinelEntitys
     {
-      #keys: '[414996.1.209190974]'
+      #keys: '[414996.1.230731130]'
       BaseType: 'WebDataHolder'
       Databinding: 'structured[Entity]*'
       Properties:
diff --git "a/_Main/UI/MacroPlannerWebApp/Component_FormAnnualPlanReport/Component_pExport\043870.def" "b/_Main/UI/MacroPlannerWebApp/Component_FormAnnualPlanReport/Component_pExport\04394.def"
similarity index 82%
rename from "_Main/UI/MacroPlannerWebApp/Component_FormAnnualPlanReport/Component_pExport\043870.def"
rename to "_Main/UI/MacroPlannerWebApp/Component_FormAnnualPlanReport/Component_pExport\04394.def"
index ef6c31f..cad0150 100644
--- "a/_Main/UI/MacroPlannerWebApp/Component_FormAnnualPlanReport/Component_pExport\043870.def"
+++ "b/_Main/UI/MacroPlannerWebApp/Component_FormAnnualPlanReport/Component_pExport\04394.def"
@@ -1,13 +1,13 @@
 Quintiq file version 2.0
-Component pExport id:pExport_870
+Component pExport id:pExport_94
 {
-  #keys: '[414996.1.210703208]'
+  #keys: '[414996.1.230731102]'
   BaseType: 'WebPanel'
   Children:
   [
     Component bExport
     {
-      #keys: '[414996.1.210703209]'
+      #keys: '[414996.1.230731103]'
       BaseType: 'WebButton'
       Properties:
       [
@@ -17,14 +17,14 @@
     }
     Component dhXMLDataListener
     {
-      #keys: '[414996.1.210703210]'
+      #keys: '[414996.1.230731104]'
       BaseType: 'WebDataHolder'
       Databinding: 'ExportXMLManager'
       Children:
       [
         Component DataExtractorRibbon
         {
-          #keys: '[414996.1.210703211]'
+          #keys: '[414996.1.230731105]'
           BaseType: 'WebDataExtractor'
           Properties:
           [
diff --git "a/_Main/UI/MacroPlannerWebApp/Component_FormAnnualPlanReport/Component_pGeneration\043812.def" "b/_Main/UI/MacroPlannerWebApp/Component_FormAnnualPlanReport/Component_pGeneration\043523.def"
similarity index 74%
rename from "_Main/UI/MacroPlannerWebApp/Component_FormAnnualPlanReport/Component_pGeneration\043812.def"
rename to "_Main/UI/MacroPlannerWebApp/Component_FormAnnualPlanReport/Component_pGeneration\043523.def"
index 7417951..db84ced 100644
--- "a/_Main/UI/MacroPlannerWebApp/Component_FormAnnualPlanReport/Component_pGeneration\043812.def"
+++ "b/_Main/UI/MacroPlannerWebApp/Component_FormAnnualPlanReport/Component_pGeneration\043523.def"
@@ -1,13 +1,13 @@
 Quintiq file version 2.0
-Component pGeneration id:pGeneration_812
+Component pGeneration id:pGeneration_523
 {
-  #keys: '[414996.1.209190760]'
+  #keys: '[414996.1.230731086]'
   BaseType: 'WebPanel'
   Children:
   [
     Component dhGenerations
     {
-      #keys: '[414996.1.209190761]'
+      #keys: '[414996.1.230731087]'
       BaseType: 'WebDataHolder'
       Databinding: 'structured[LocalValue]*'
       Properties:
@@ -15,17 +15,16 @@
         Taborder: 1
       ]
     }
-    #child: ListGenerations_529
     Component dhCheckGenerations
     {
-      #keys: '[414996.1.209190767]'
+      #keys: '[414996.1.230731088]'
       BaseType: 'WebDataHolder'
       Databinding: 'structured[LocalValue]*'
       Children:
       [
         Component deCheckGenerations
         {
-          #keys: '[414996.1.209190768]'
+          #keys: '[414996.1.230731089]'
           BaseType: 'WebDataExtractor'
           Properties:
           [
@@ -42,10 +41,13 @@
         Taborder: 2
       ]
     }
+    #child: ListGenerations_916
   ]
   Properties:
   [
-    MinimumRows: 20
+    FixedSize: true
+    MinimumColumns: 8
+    MinimumRows: 15
     Taborder: 0
     Title: 'Generation'
   ]
diff --git "a/_Main/UI/MacroPlannerWebApp/Component_FormAnnualPlanReport/Component_pMQBMLB\043393.def" "b/_Main/UI/MacroPlannerWebApp/Component_FormAnnualPlanReport/Component_pMQBMLB\043567.def"
similarity index 75%
rename from "_Main/UI/MacroPlannerWebApp/Component_FormAnnualPlanReport/Component_pMQBMLB\043393.def"
rename to "_Main/UI/MacroPlannerWebApp/Component_FormAnnualPlanReport/Component_pMQBMLB\043567.def"
index 436c6f7..48692af 100644
--- "a/_Main/UI/MacroPlannerWebApp/Component_FormAnnualPlanReport/Component_pMQBMLB\043393.def"
+++ "b/_Main/UI/MacroPlannerWebApp/Component_FormAnnualPlanReport/Component_pMQBMLB\043567.def"
@@ -1,13 +1,13 @@
 Quintiq file version 2.0
-Component pMQBMLB id:pMQBMLB_393
+Component pMQBMLB id:pMQBMLB_567
 {
-  #keys: '[414996.1.209190778]'
+  #keys: '[414996.1.230731068]'
   BaseType: 'WebPanel'
   Children:
   [
     Component dhMQBMLB
     {
-      #keys: '[414996.1.209190779]'
+      #keys: '[414996.1.230731069]'
       BaseType: 'WebDataHolder'
       Databinding: 'structured[LocalValue]*'
       Properties:
@@ -15,17 +15,17 @@
         Taborder: 1
       ]
     }
-    #child: ListMQBMLB_925
+    #child: ListMQBMLB_865
     Component dhCheckMQBMLB
     {
-      #keys: '[414996.1.209190785]'
+      #keys: '[414996.1.230731075]'
       BaseType: 'WebDataHolder'
       Databinding: 'structured[LocalValue]*'
       Children:
       [
         Component deCheckMQBMLB
         {
-          #keys: '[414996.1.209190786]'
+          #keys: '[414996.1.230731076]'
           BaseType: 'WebDataExtractor'
           Properties:
           [
@@ -45,7 +45,9 @@
   ]
   Properties:
   [
-    MinimumRows: 20
+    FixedSize: true
+    MinimumColumns: 8
+    MinimumRows: 15
     Taborder: 2
     Title: 'MQB/MLB'
   ]
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormAnnualPlanReport/Component_pMainLeft.def b/_Main/UI/MacroPlannerWebApp/Component_FormAnnualPlanReport/Component_pMainLeft.def
index e8ae5a2..6e231c0 100644
--- a/_Main/UI/MacroPlannerWebApp/Component_FormAnnualPlanReport/Component_pMainLeft.def
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormAnnualPlanReport/Component_pMainLeft.def
@@ -1,11 +1,11 @@
 Quintiq file version 2.0
 Component pMainLeft
 {
-  #keys: '[414996.1.210702882]'
+  #keys: '[414996.1.230731066]'
   BaseType: 'WebPanel'
   Children:
   [
-    #child: pProductAttributeFilter_791
+    #child: pProductAttributeFilter_565
   ]
   Properties:
   [
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormAnnualPlanReport/Component_pMainPanel.def b/_Main/UI/MacroPlannerWebApp/Component_FormAnnualPlanReport/Component_pMainPanel.def
index 6f38758..11c1f8e 100644
--- a/_Main/UI/MacroPlannerWebApp/Component_FormAnnualPlanReport/Component_pMainPanel.def
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormAnnualPlanReport/Component_pMainPanel.def
@@ -1,7 +1,7 @@
 Quintiq file version 2.0
 Component pMainPanel
 {
-  #keys: '[414996.1.210624396]'
+  #keys: '[414996.1.230731065]'
   BaseType: 'WebPanel'
   Children:
   [
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormAnnualPlanReport/Component_pMainRight.def b/_Main/UI/MacroPlannerWebApp/Component_FormAnnualPlanReport/Component_pMainRight.def
index df77564..ea1558e 100644
--- a/_Main/UI/MacroPlannerWebApp/Component_FormAnnualPlanReport/Component_pMainRight.def
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormAnnualPlanReport/Component_pMainRight.def
@@ -1,12 +1,12 @@
 Quintiq file version 2.0
 Component pMainRight
 {
-  #keys: '[414996.1.209190620]'
+  #keys: '[414996.1.230731095]'
   BaseType: 'WebPanel'
   Children:
   [
     #child: pRibbon
-    #child: pAnnualPlanReport_439
+    #child: pAnnualPlanReport_921
   ]
   Properties:
   [
diff --git "a/_Main/UI/MacroPlannerWebApp/Component_FormAnnualPlanReport/Component_pPower\043480.def" "b/_Main/UI/MacroPlannerWebApp/Component_FormAnnualPlanReport/Component_pPower\043266.def"
similarity index 75%
rename from "_Main/UI/MacroPlannerWebApp/Component_FormAnnualPlanReport/Component_pPower\043480.def"
rename to "_Main/UI/MacroPlannerWebApp/Component_FormAnnualPlanReport/Component_pPower\043266.def"
index bc748bb..538f434 100644
--- "a/_Main/UI/MacroPlannerWebApp/Component_FormAnnualPlanReport/Component_pPower\043480.def"
+++ "b/_Main/UI/MacroPlannerWebApp/Component_FormAnnualPlanReport/Component_pPower\043266.def"
@@ -1,13 +1,13 @@
 Quintiq file version 2.0
-Component pPower id:pPower_480
+Component pPower id:pPower_266
 {
-  #keys: '[414996.1.209190769]'
+  #keys: '[414996.1.230731077]'
   BaseType: 'WebPanel'
   Children:
   [
     Component dhPowers
     {
-      #keys: '[414996.1.209190770]'
+      #keys: '[414996.1.230731078]'
       BaseType: 'WebDataHolder'
       Databinding: 'structured[LocalValue]*'
       Properties:
@@ -15,17 +15,17 @@
         Taborder: 1
       ]
     }
-    #child: ListPowers_568
+    #child: ListPowers_509
     Component dhCheckPowers
     {
-      #keys: '[414996.1.209190776]'
+      #keys: '[414996.1.230731084]'
       BaseType: 'WebDataHolder'
       Databinding: 'structured[LocalValue]*'
       Children:
       [
         Component deCheckPowers
         {
-          #keys: '[414996.1.209190777]'
+          #keys: '[414996.1.230731085]'
           BaseType: 'WebDataExtractor'
           Properties:
           [
@@ -45,7 +45,9 @@
   ]
   Properties:
   [
-    MinimumRows: 20
+    FixedSize: true
+    MinimumColumns: 8
+    MinimumRows: 15
     Taborder: 1
     Title: 'Power'
   ]
diff --git "a/_Main/UI/MacroPlannerWebApp/Component_FormAnnualPlanReport/Component_pProductAttributeFilter\043565.def" "b/_Main/UI/MacroPlannerWebApp/Component_FormAnnualPlanReport/Component_pProductAttributeFilter\043565.def"
new file mode 100644
index 0000000..b9c84ef
--- /dev/null
+++ "b/_Main/UI/MacroPlannerWebApp/Component_FormAnnualPlanReport/Component_pProductAttributeFilter\043565.def"
@@ -0,0 +1,18 @@
+Quintiq file version 2.0
+Component pProductAttributeFilter id:pProductAttributeFilter_565
+{
+  #keys: '[414996.1.230731067]'
+  BaseType: 'WebPanel'
+  Children:
+  [
+    #child: pMQBMLB_567
+    #child: pPower_266
+    #child: pGeneration_523
+  ]
+  Properties:
+  [
+    FixedSize: true
+    MinimumColumns: 8
+    Taborder: 0
+  ]
+}
diff --git "a/_Main/UI/MacroPlannerWebApp/Component_FormAnnualPlanReport/Component_pProductAttributeFilter\043791.def" "b/_Main/UI/MacroPlannerWebApp/Component_FormAnnualPlanReport/Component_pProductAttributeFilter\043791.def"
deleted file mode 100644
index cac6d85..0000000
--- "a/_Main/UI/MacroPlannerWebApp/Component_FormAnnualPlanReport/Component_pProductAttributeFilter\043791.def"
+++ /dev/null
@@ -1,17 +0,0 @@
-Quintiq file version 2.0
-Component pProductAttributeFilter id:pProductAttributeFilter_791
-{
-  #keys: '[414996.1.209190759]'
-  BaseType: 'WebPanel'
-  Children:
-  [
-    #child: pMQBMLB_393
-    #child: pPower_480
-    #child: pGeneration_812
-  ]
-  Properties:
-  [
-    FixedSize: true
-    Taborder: 0
-  ]
-}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormAnnualPlanReport/Component_pRibbon.def b/_Main/UI/MacroPlannerWebApp/Component_FormAnnualPlanReport/Component_pRibbon.def
index 97d1692..bba4602 100644
--- a/_Main/UI/MacroPlannerWebApp/Component_FormAnnualPlanReport/Component_pRibbon.def
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormAnnualPlanReport/Component_pRibbon.def
@@ -1,7 +1,7 @@
 Quintiq file version 2.0
 Component pRibbon
 {
-  #keys: '[414996.1.209190876]'
+  #keys: '[414996.1.230731096]'
   BaseType: 'WebPanel'
   Children:
   [
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormAnnualPlanReport/Component_pRibbonDown.def b/_Main/UI/MacroPlannerWebApp/Component_FormAnnualPlanReport/Component_pRibbonDown.def
index ce256c1..a22fc58 100644
--- a/_Main/UI/MacroPlannerWebApp/Component_FormAnnualPlanReport/Component_pRibbonDown.def
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormAnnualPlanReport/Component_pRibbonDown.def
@@ -1,13 +1,13 @@
 Quintiq file version 2.0
 Component pRibbonDown
 {
-  #keys: '[414996.1.210702896]'
+  #keys: '[414996.1.230731097]'
   BaseType: 'WebPanel'
   Children:
   [
-    Component dsStartDate id:dsStartDate_88
+    Component dsStartDate
     {
-      #keys: '[414996.1.210703089]'
+      #keys: '[414996.1.230731098]'
       BaseType: 'WebDateSelector'
       Properties:
       [
@@ -15,9 +15,9 @@
         Taborder: 0
       ]
     }
-    Component dhStartDate id:dhStartDate_21
+    Component dhStartDate
     {
-      #keys: '[414996.1.210703119]'
+      #keys: '[414996.1.230731099]'
       BaseType: 'WebDataHolder'
       Databinding: 'Date*'
       Properties:
@@ -25,9 +25,9 @@
         Taborder: 1
       ]
     }
-    Component dsEndDate id:dsEndDate_832
+    Component dsEndDate
     {
-      #keys: '[414996.1.210703145]'
+      #keys: '[414996.1.230731100]'
       BaseType: 'WebDateSelector'
       Properties:
       [
@@ -36,9 +36,9 @@
         Taborder: 2
       ]
     }
-    Component dhEndDate id:dhEndDate_778
+    Component dhEndDate
     {
-      #keys: '[414996.1.210703175]'
+      #keys: '[414996.1.230731101]'
       BaseType: 'WebDataHolder'
       Databinding: 'Date*'
       Properties:
@@ -46,44 +46,7 @@
         Taborder: 3
       ]
     }
-    #child: pExport_870
-    Component lAsyncFlag
-    {
-      #keys: '[414996.1.209192380]'
-      BaseType: 'WebLabel'
-      Properties:
-      [
-        DataBinding: 'dhAsyncFlag.Data.State'
-        Label: '杩愯鐘舵��:'
-        Taborder: 5
-      ]
-    }
-    Component dhAsyncFlag id:dhAsyncFlag_5
-    {
-      #keys: '[414996.1.209192410]'
-      BaseType: 'WebDataHolder'
-      Databinding: 'AsyncFlag'
-      Children:
-      [
-        Component deAsyncFlag id:deAsyncFlag_147
-        {
-          #keys: '[414996.1.209192411]'
-          BaseType: 'WebDataExtractor'
-          Properties:
-          [
-            DataType: 'RecycleBin'
-            FixedFilter: 'object.Name() = MP_Cell_AnnualPlanReport::GetTableName()'
-            Source: 'RecycleBin'
-            Taborder: 0
-            Transformation: 'AsyncFlag'
-          ]
-        }
-      ]
-      Properties:
-      [
-        Taborder: 6
-      ]
-    }
+    #child: pExport_94
   ]
   Properties:
   [
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormAnnualPlanReport/Component_pRibbonUp.def b/_Main/UI/MacroPlannerWebApp/Component_FormAnnualPlanReport/Component_pRibbonUp.def
index 5790a5c..a6fd06a 100644
--- a/_Main/UI/MacroPlannerWebApp/Component_FormAnnualPlanReport/Component_pRibbonUp.def
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormAnnualPlanReport/Component_pRibbonUp.def
@@ -1,13 +1,13 @@
 Quintiq file version 2.0
 Component pRibbonUp
 {
-  #keys: '[414996.1.210863284]'
+  #keys: '[414996.1.230731109]'
   BaseType: 'WebPanel'
   Children:
   [
-    Component bCreateBaseData id:bCreateBaseData_529
+    Component bCreateBaseData
     {
-      #keys: '[414996.1.210702981]'
+      #keys: '[414996.1.230731110]'
       BaseType: 'WebButton'
       Properties:
       [
@@ -16,9 +16,9 @@
         Taborder: 0
       ]
     }
-    Component bCreateFullTable id:bCreateFullTable_568
+    Component bCreateFullTable
     {
-      #keys: '[414996.1.210703007]'
+      #keys: '[414996.1.230731111]'
       BaseType: 'WebButton'
       Properties:
       [
@@ -27,9 +27,9 @@
         Taborder: 1
       ]
     }
-    Component rbgTimeUnit id:rbgTimeUnit_925
+    Component rbgTimeUnit
     {
-      #keys: '[414996.1.210703033]'
+      #keys: '[414996.1.230731112]'
       BaseType: 'WebRadioButtonGroup'
       Properties:
       [
@@ -40,9 +40,9 @@
         Taborder: 2
       ]
     }
-    Component dhTimeUnit id:dhTimeUnit_71
+    Component dhTimeUnit
     {
-      #keys: '[414996.1.210703063]'
+      #keys: '[414996.1.230731113]'
       BaseType: 'WebDataHolder'
       Databinding: 'String*'
       Properties:
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormAnnualPlanReport/Response_ListGenerations_529_OnClick.def b/_Main/UI/MacroPlannerWebApp/Component_FormAnnualPlanReport/Response_ListGenerations_916_OnClick.def
similarity index 71%
rename from _Main/UI/MacroPlannerWebApp/Component_FormAnnualPlanReport/Response_ListGenerations_529_OnClick.def
rename to _Main/UI/MacroPlannerWebApp/Component_FormAnnualPlanReport/Response_ListGenerations_916_OnClick.def
index f41cfaf..9f9208d 100644
--- a/_Main/UI/MacroPlannerWebApp/Component_FormAnnualPlanReport/Response_ListGenerations_529_OnClick.def
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormAnnualPlanReport/Response_ListGenerations_916_OnClick.def
@@ -1,10 +1,10 @@
 Quintiq file version 2.0
-#parent: ListGenerations_529
+#parent: ListGenerations_916
 Response OnClick (
   LocalValue selection
-) id:Response_ListGenerations_529_OnClick
+) id:Response_ListGenerations_916_OnClick
 {
-  #keys: '[414996.1.209190753]'
+  #keys: '[414996.1.230731048]'
   CanBindMultiple: false
   DefinitionID: 'Responsedef_WebList_OnClick'
   GroupServerCalls: true
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormAnnualPlanReport/Response_ListPowers_568_OnClick.def b/_Main/UI/MacroPlannerWebApp/Component_FormAnnualPlanReport/Response_ListMQBMLB_865_OnClick.def
similarity index 73%
copy from _Main/UI/MacroPlannerWebApp/Component_FormAnnualPlanReport/Response_ListPowers_568_OnClick.def
copy to _Main/UI/MacroPlannerWebApp/Component_FormAnnualPlanReport/Response_ListMQBMLB_865_OnClick.def
index 6bb35b7..163ead8 100644
--- a/_Main/UI/MacroPlannerWebApp/Component_FormAnnualPlanReport/Response_ListPowers_568_OnClick.def
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormAnnualPlanReport/Response_ListMQBMLB_865_OnClick.def
@@ -1,10 +1,10 @@
 Quintiq file version 2.0
-#parent: ListPowers_568
+#parent: ListMQBMLB_865
 Response OnClick (
   LocalValue selection
-) id:Response_ListPowers_568_OnClick
+) id:Response_ListMQBMLB_865_OnClick
 {
-  #keys: '[414996.1.209190749]'
+  #keys: '[414996.1.230731057]'
   CanBindMultiple: false
   DefinitionID: 'Responsedef_WebList_OnClick'
   GroupServerCalls: true
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormAnnualPlanReport/Response_ListMQBMLB_925_OnClick.def b/_Main/UI/MacroPlannerWebApp/Component_FormAnnualPlanReport/Response_ListMQBMLB_925_OnClick.def
deleted file mode 100644
index c46c224..0000000
--- a/_Main/UI/MacroPlannerWebApp/Component_FormAnnualPlanReport/Response_ListMQBMLB_925_OnClick.def
+++ /dev/null
@@ -1,18 +0,0 @@
-Quintiq file version 2.0
-#parent: ListMQBMLB_925
-Response OnClick (
-  LocalValue selection
-) id:Response_ListMQBMLB_925_OnClick
-{
-  #keys: '[414996.1.209190745]'
-  CanBindMultiple: false
-  DefinitionID: 'Responsedef_WebList_OnClick'
-  GroupServerCalls: true
-  QuillAction
-  {
-    Body:
-    [*
-      selection.IsCheck( not selection.IsCheck() );
-    *]
-  }
-}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormAnnualPlanReport/Response_ListPowers_568_OnClick.def b/_Main/UI/MacroPlannerWebApp/Component_FormAnnualPlanReport/Response_ListPowers_509_OnClick.def
similarity index 73%
rename from _Main/UI/MacroPlannerWebApp/Component_FormAnnualPlanReport/Response_ListPowers_568_OnClick.def
rename to _Main/UI/MacroPlannerWebApp/Component_FormAnnualPlanReport/Response_ListPowers_509_OnClick.def
index 6bb35b7..00e6b28 100644
--- a/_Main/UI/MacroPlannerWebApp/Component_FormAnnualPlanReport/Response_ListPowers_568_OnClick.def
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormAnnualPlanReport/Response_ListPowers_509_OnClick.def
@@ -1,10 +1,10 @@
 Quintiq file version 2.0
-#parent: ListPowers_568
+#parent: ListPowers_509
 Response OnClick (
   LocalValue selection
-) id:Response_ListPowers_568_OnClick
+) id:Response_ListPowers_509_OnClick
 {
-  #keys: '[414996.1.209190749]'
+  #keys: '[414996.1.230731053]'
   CanBindMultiple: false
   DefinitionID: 'Responsedef_WebList_OnClick'
   GroupServerCalls: true
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormAnnualPlanReport/Response_pAnnualPlanReport_439_dhAnnualPlanTable_OnDataChanged.def b/_Main/UI/MacroPlannerWebApp/Component_FormAnnualPlanReport/Response_pAnnualPlanReport_921_dhAnnualPlanTable_OnDataChanged.def
similarity index 64%
rename from _Main/UI/MacroPlannerWebApp/Component_FormAnnualPlanReport/Response_pAnnualPlanReport_439_dhAnnualPlanTable_OnDataChanged.def
rename to _Main/UI/MacroPlannerWebApp/Component_FormAnnualPlanReport/Response_pAnnualPlanReport_921_dhAnnualPlanTable_OnDataChanged.def
index 78f081f..fc54064 100644
--- a/_Main/UI/MacroPlannerWebApp/Component_FormAnnualPlanReport/Response_pAnnualPlanReport_439_dhAnnualPlanTable_OnDataChanged.def
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormAnnualPlanReport/Response_pAnnualPlanReport_921_dhAnnualPlanTable_OnDataChanged.def
@@ -1,8 +1,8 @@
 Quintiq file version 2.0
-#parent: pAnnualPlanReport_439/dhAnnualPlanTable
-Response OnDataChanged () id:Response_pAnnualPlanReport_439_dhAnnualPlanTable_OnDataChanged
+#parent: pAnnualPlanReport_921/dhAnnualPlanTable
+Response OnDataChanged () id:Response_pAnnualPlanReport_921_dhAnnualPlanTable_OnDataChanged
 {
-  #keys: '[414996.1.209190954]'
+  #keys: '[414996.1.230731025]'
   CanBindMultiple: false
   DefinitionID: 'Responsedef_WebComponent_OnDataChanged'
   GroupServerCalls: true
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormAnnualPlanReport/Response_pAnnualPlanReport_439_dhCheckedEntitys_OnDataChanged.def b/_Main/UI/MacroPlannerWebApp/Component_FormAnnualPlanReport/Response_pAnnualPlanReport_921_dhCheckedEntitys_OnDataChanged.def
similarity index 72%
rename from _Main/UI/MacroPlannerWebApp/Component_FormAnnualPlanReport/Response_pAnnualPlanReport_439_dhCheckedEntitys_OnDataChanged.def
rename to _Main/UI/MacroPlannerWebApp/Component_FormAnnualPlanReport/Response_pAnnualPlanReport_921_dhCheckedEntitys_OnDataChanged.def
index 08b7eea..3ae3570 100644
--- a/_Main/UI/MacroPlannerWebApp/Component_FormAnnualPlanReport/Response_pAnnualPlanReport_439_dhCheckedEntitys_OnDataChanged.def
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormAnnualPlanReport/Response_pAnnualPlanReport_921_dhCheckedEntitys_OnDataChanged.def
@@ -1,8 +1,8 @@
 Quintiq file version 2.0
-#parent: pAnnualPlanReport_439/dhCheckedEntitys
-Response OnDataChanged () id:Response_pAnnualPlanReport_439_dhCheckedEntitys_OnDataChanged
+#parent: pAnnualPlanReport_921/dhCheckedEntitys
+Response OnDataChanged () id:Response_pAnnualPlanReport_921_dhCheckedEntitys_OnDataChanged
 {
-  #keys: '[414996.1.209190951]'
+  #keys: '[414996.1.230731022]'
   CanBindMultiple: false
   DefinitionID: 'Responsedef_WebComponent_OnDataChanged'
   GroupServerCalls: true
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormAnnualPlanReport/Response_pAnnualPlanReport_439_dhCheckedProducts_OnDataChanged.def b/_Main/UI/MacroPlannerWebApp/Component_FormAnnualPlanReport/Response_pAnnualPlanReport_921_dhCheckedProducts_OnDataChanged.def
similarity index 73%
rename from _Main/UI/MacroPlannerWebApp/Component_FormAnnualPlanReport/Response_pAnnualPlanReport_439_dhCheckedProducts_OnDataChanged.def
rename to _Main/UI/MacroPlannerWebApp/Component_FormAnnualPlanReport/Response_pAnnualPlanReport_921_dhCheckedProducts_OnDataChanged.def
index 928dba3..cd1b97f 100644
--- a/_Main/UI/MacroPlannerWebApp/Component_FormAnnualPlanReport/Response_pAnnualPlanReport_439_dhCheckedProducts_OnDataChanged.def
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormAnnualPlanReport/Response_pAnnualPlanReport_921_dhCheckedProducts_OnDataChanged.def
@@ -1,8 +1,8 @@
 Quintiq file version 2.0
-#parent: pAnnualPlanReport_439/dhCheckedProducts
-Response OnDataChanged () id:Response_pAnnualPlanReport_439_dhCheckedProducts_OnDataChanged
+#parent: pAnnualPlanReport_921/dhCheckedProducts
+Response OnDataChanged () id:Response_pAnnualPlanReport_921_dhCheckedProducts_OnDataChanged
 {
-  #keys: '[414996.1.209190956]'
+  #keys: '[414996.1.230731027]'
   CanBindMultiple: false
   DefinitionID: 'Responsedef_WebComponent_OnDataChanged'
   GroupServerCalls: true
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormAnnualPlanReport/Response_pAnnualPlanReport_439_dhFinelEntitys_OnCreated.def b/_Main/UI/MacroPlannerWebApp/Component_FormAnnualPlanReport/Response_pAnnualPlanReport_921_dhFinelEntitys_OnCreated.def
similarity index 63%
rename from _Main/UI/MacroPlannerWebApp/Component_FormAnnualPlanReport/Response_pAnnualPlanReport_439_dhFinelEntitys_OnCreated.def
rename to _Main/UI/MacroPlannerWebApp/Component_FormAnnualPlanReport/Response_pAnnualPlanReport_921_dhFinelEntitys_OnCreated.def
index 7d18a57..e8fd6ac 100644
--- a/_Main/UI/MacroPlannerWebApp/Component_FormAnnualPlanReport/Response_pAnnualPlanReport_439_dhFinelEntitys_OnCreated.def
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormAnnualPlanReport/Response_pAnnualPlanReport_921_dhFinelEntitys_OnCreated.def
@@ -1,8 +1,8 @@
 Quintiq file version 2.0
-#parent: pAnnualPlanReport_439/dhFinelEntitys
-Response OnCreated () id:Response_pAnnualPlanReport_439_dhFinelEntitys_OnCreated
+#parent: pAnnualPlanReport_921/dhFinelEntitys
+Response OnCreated () id:Response_pAnnualPlanReport_921_dhFinelEntitys_OnCreated
 {
-  #keys: '[414996.1.209190950]'
+  #keys: '[414996.1.230731021]'
   CanBindMultiple: false
   DefinitionID: 'Responsedef_WebComponent_OnCreated'
   GroupServerCalls: true
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormAnnualPlanReport/Response_pAnnualPlanReport_439_dhFinelProducts_OnCreated.def b/_Main/UI/MacroPlannerWebApp/Component_FormAnnualPlanReport/Response_pAnnualPlanReport_921_dhFinelProducts_OnCreated.def
similarity index 63%
rename from _Main/UI/MacroPlannerWebApp/Component_FormAnnualPlanReport/Response_pAnnualPlanReport_439_dhFinelProducts_OnCreated.def
rename to _Main/UI/MacroPlannerWebApp/Component_FormAnnualPlanReport/Response_pAnnualPlanReport_921_dhFinelProducts_OnCreated.def
index 89fae1d..7a442aa 100644
--- a/_Main/UI/MacroPlannerWebApp/Component_FormAnnualPlanReport/Response_pAnnualPlanReport_439_dhFinelProducts_OnCreated.def
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormAnnualPlanReport/Response_pAnnualPlanReport_921_dhFinelProducts_OnCreated.def
@@ -1,8 +1,8 @@
 Quintiq file version 2.0
-#parent: pAnnualPlanReport_439/dhFinelProducts
-Response OnCreated () id:Response_pAnnualPlanReport_439_dhFinelProducts_OnCreated
+#parent: pAnnualPlanReport_921/dhFinelProducts
+Response OnCreated () id:Response_pAnnualPlanReport_921_dhFinelProducts_OnCreated
 {
-  #keys: '[414996.1.209190955]'
+  #keys: '[414996.1.230731026]'
   CanBindMultiple: false
   DefinitionID: 'Responsedef_WebComponent_OnCreated'
   GroupServerCalls: true
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormAnnualPlanReport/Response_pExport_870_bExport_OnClick.def b/_Main/UI/MacroPlannerWebApp/Component_FormAnnualPlanReport/Response_pExport_94_bExport_OnClick.def
similarity index 85%
rename from _Main/UI/MacroPlannerWebApp/Component_FormAnnualPlanReport/Response_pExport_870_bExport_OnClick.def
rename to _Main/UI/MacroPlannerWebApp/Component_FormAnnualPlanReport/Response_pExport_94_bExport_OnClick.def
index a04ce7f..285e64f 100644
--- a/_Main/UI/MacroPlannerWebApp/Component_FormAnnualPlanReport/Response_pExport_870_bExport_OnClick.def
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormAnnualPlanReport/Response_pExport_94_bExport_OnClick.def
@@ -1,8 +1,8 @@
 Quintiq file version 2.0
-#parent: pExport_870/bExport
-Response OnClick () id:Response_pExport_870_bExport_OnClick
+#parent: pExport_94/bExport
+Response OnClick () id:Response_pExport_94_bExport_OnClick
 {
-  #keys: '[414996.1.210703207]'
+  #keys: '[414996.1.230731061]'
   CanBindMultiple: false
   DefinitionID: 'Responsedef_WebButton_OnClick'
   QuillAction
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormAnnualPlanReport/Response_pExport_870_dhXMLDataListener_OnDataChanged.def b/_Main/UI/MacroPlannerWebApp/Component_FormAnnualPlanReport/Response_pExport_94_dhXMLDataListener_OnDataChanged.def
similarity index 76%
rename from _Main/UI/MacroPlannerWebApp/Component_FormAnnualPlanReport/Response_pExport_870_dhXMLDataListener_OnDataChanged.def
rename to _Main/UI/MacroPlannerWebApp/Component_FormAnnualPlanReport/Response_pExport_94_dhXMLDataListener_OnDataChanged.def
index 5c4cedc..0fc59da 100644
--- a/_Main/UI/MacroPlannerWebApp/Component_FormAnnualPlanReport/Response_pExport_870_dhXMLDataListener_OnDataChanged.def
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormAnnualPlanReport/Response_pExport_94_dhXMLDataListener_OnDataChanged.def
@@ -1,8 +1,8 @@
 Quintiq file version 2.0
-#parent: pExport_870/dhXMLDataListener
-Response OnDataChanged () id:Response_pExport_870_dhXMLDataListener_OnDataChanged
+#parent: pExport_94/dhXMLDataListener
+Response OnDataChanged () id:Response_pExport_94_dhXMLDataListener_OnDataChanged
 {
-  #keys: '[414996.1.210703206]'
+  #keys: '[414996.1.230731060]'
   CanBindMultiple: false
   DefinitionID: 'Responsedef_WebComponent_OnDataChanged'
   QuillAction
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormAnnualPlanReport/Response_pGeneration_812_dhCheckGenerations_OnDataChanged.def b/_Main/UI/MacroPlannerWebApp/Component_FormAnnualPlanReport/Response_pGeneration_523_dhCheckGenerations_OnDataChanged.def
similarity index 83%
rename from _Main/UI/MacroPlannerWebApp/Component_FormAnnualPlanReport/Response_pGeneration_812_dhCheckGenerations_OnDataChanged.def
rename to _Main/UI/MacroPlannerWebApp/Component_FormAnnualPlanReport/Response_pGeneration_523_dhCheckGenerations_OnDataChanged.def
index 834684a..d91ef53 100644
--- a/_Main/UI/MacroPlannerWebApp/Component_FormAnnualPlanReport/Response_pGeneration_812_dhCheckGenerations_OnDataChanged.def
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormAnnualPlanReport/Response_pGeneration_523_dhCheckGenerations_OnDataChanged.def
@@ -1,8 +1,8 @@
 Quintiq file version 2.0
-#parent: pGeneration_812/dhCheckGenerations
-Response OnDataChanged () id:Response_pGeneration_812_dhCheckGenerations_OnDataChanged
+#parent: pGeneration_523/dhCheckGenerations
+Response OnDataChanged () id:Response_pGeneration_523_dhCheckGenerations_OnDataChanged
 {
-  #keys: '[414996.1.209190752]'
+  #keys: '[414996.1.230731050]'
   CanBindMultiple: false
   DefinitionID: 'Responsedef_WebComponent_OnDataChanged'
   GroupServerCalls: true
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormAnnualPlanReport/Response_pGeneration_812_dhGenerations_OnCreated.def b/_Main/UI/MacroPlannerWebApp/Component_FormAnnualPlanReport/Response_pGeneration_523_dhGenerations_OnCreated.def
similarity index 70%
rename from _Main/UI/MacroPlannerWebApp/Component_FormAnnualPlanReport/Response_pGeneration_812_dhGenerations_OnCreated.def
rename to _Main/UI/MacroPlannerWebApp/Component_FormAnnualPlanReport/Response_pGeneration_523_dhGenerations_OnCreated.def
index ba85021..825b1b4 100644
--- a/_Main/UI/MacroPlannerWebApp/Component_FormAnnualPlanReport/Response_pGeneration_812_dhGenerations_OnCreated.def
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormAnnualPlanReport/Response_pGeneration_523_dhGenerations_OnCreated.def
@@ -1,8 +1,8 @@
 Quintiq file version 2.0
-#parent: pGeneration_812/dhGenerations
-Response OnCreated () id:Response_pGeneration_812_dhGenerations_OnCreated
+#parent: pGeneration_523/dhGenerations
+Response OnCreated () id:Response_pGeneration_523_dhGenerations_OnCreated
 {
-  #keys: '[414996.1.209190755]'
+  #keys: '[414996.1.230731051]'
   CanBindMultiple: false
   DefinitionID: 'Responsedef_WebComponent_OnCreated'
   QuillAction
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormAnnualPlanReport/Response_pMQBMLB_393_dhCheckMQBMLB_OnDataChanged.def b/_Main/UI/MacroPlannerWebApp/Component_FormAnnualPlanReport/Response_pMQBMLB_567_dhCheckMQBMLB_OnDataChanged.def
similarity index 83%
rename from _Main/UI/MacroPlannerWebApp/Component_FormAnnualPlanReport/Response_pMQBMLB_393_dhCheckMQBMLB_OnDataChanged.def
rename to _Main/UI/MacroPlannerWebApp/Component_FormAnnualPlanReport/Response_pMQBMLB_567_dhCheckMQBMLB_OnDataChanged.def
index 6f1a257..552e9a9 100644
--- a/_Main/UI/MacroPlannerWebApp/Component_FormAnnualPlanReport/Response_pMQBMLB_393_dhCheckMQBMLB_OnDataChanged.def
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormAnnualPlanReport/Response_pMQBMLB_567_dhCheckMQBMLB_OnDataChanged.def
@@ -1,8 +1,8 @@
 Quintiq file version 2.0
-#parent: pMQBMLB_393/dhCheckMQBMLB
-Response OnDataChanged () id:Response_pMQBMLB_393_dhCheckMQBMLB_OnDataChanged
+#parent: pMQBMLB_567/dhCheckMQBMLB
+Response OnDataChanged () id:Response_pMQBMLB_567_dhCheckMQBMLB_OnDataChanged
 {
-  #keys: '[414996.1.209190744]'
+  #keys: '[414996.1.230731056]'
   CanBindMultiple: false
   DefinitionID: 'Responsedef_WebComponent_OnDataChanged'
   GroupServerCalls: true
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormAnnualPlanReport/Response_pMQBMLB_393_dhMQBMLB_OnCreated.def b/_Main/UI/MacroPlannerWebApp/Component_FormAnnualPlanReport/Response_pMQBMLB_567_dhMQBMLB_OnCreated.def
similarity index 71%
rename from _Main/UI/MacroPlannerWebApp/Component_FormAnnualPlanReport/Response_pMQBMLB_393_dhMQBMLB_OnCreated.def
rename to _Main/UI/MacroPlannerWebApp/Component_FormAnnualPlanReport/Response_pMQBMLB_567_dhMQBMLB_OnCreated.def
index 5b87918..31bd048 100644
--- a/_Main/UI/MacroPlannerWebApp/Component_FormAnnualPlanReport/Response_pMQBMLB_393_dhMQBMLB_OnCreated.def
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormAnnualPlanReport/Response_pMQBMLB_567_dhMQBMLB_OnCreated.def
@@ -1,8 +1,8 @@
 Quintiq file version 2.0
-#parent: pMQBMLB_393/dhMQBMLB
-Response OnCreated () id:Response_pMQBMLB_393_dhMQBMLB_OnCreated
+#parent: pMQBMLB_567/dhMQBMLB
+Response OnCreated () id:Response_pMQBMLB_567_dhMQBMLB_OnCreated
 {
-  #keys: '[414996.1.209190747]'
+  #keys: '[414996.1.230731059]'
   CanBindMultiple: false
   DefinitionID: 'Responsedef_WebComponent_OnCreated'
   QuillAction
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormAnnualPlanReport/Response_pPower_480_dhCheckPowers_OnDataChanged.def b/_Main/UI/MacroPlannerWebApp/Component_FormAnnualPlanReport/Response_pPower_266_dhCheckPowers_OnDataChanged.def
similarity index 84%
rename from _Main/UI/MacroPlannerWebApp/Component_FormAnnualPlanReport/Response_pPower_480_dhCheckPowers_OnDataChanged.def
rename to _Main/UI/MacroPlannerWebApp/Component_FormAnnualPlanReport/Response_pPower_266_dhCheckPowers_OnDataChanged.def
index bed9458..7523f00 100644
--- a/_Main/UI/MacroPlannerWebApp/Component_FormAnnualPlanReport/Response_pPower_480_dhCheckPowers_OnDataChanged.def
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormAnnualPlanReport/Response_pPower_266_dhCheckPowers_OnDataChanged.def
@@ -1,8 +1,8 @@
 Quintiq file version 2.0
-#parent: pPower_480/dhCheckPowers
-Response OnDataChanged () id:Response_pPower_480_dhCheckPowers_OnDataChanged
+#parent: pPower_266/dhCheckPowers
+Response OnDataChanged () id:Response_pPower_266_dhCheckPowers_OnDataChanged
 {
-  #keys: '[414996.1.209190748]'
+  #keys: '[414996.1.230731052]'
   CanBindMultiple: false
   DefinitionID: 'Responsedef_WebComponent_OnDataChanged'
   GroupServerCalls: true
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormAnnualPlanReport/Response_pPower_480_dhPowers_OnCreated.def b/_Main/UI/MacroPlannerWebApp/Component_FormAnnualPlanReport/Response_pPower_266_dhPowers_OnCreated.def
similarity index 71%
rename from _Main/UI/MacroPlannerWebApp/Component_FormAnnualPlanReport/Response_pPower_480_dhPowers_OnCreated.def
rename to _Main/UI/MacroPlannerWebApp/Component_FormAnnualPlanReport/Response_pPower_266_dhPowers_OnCreated.def
index ef97f98..a13893e 100644
--- a/_Main/UI/MacroPlannerWebApp/Component_FormAnnualPlanReport/Response_pPower_480_dhPowers_OnCreated.def
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormAnnualPlanReport/Response_pPower_266_dhPowers_OnCreated.def
@@ -1,8 +1,8 @@
 Quintiq file version 2.0
-#parent: pPower_480/dhPowers
-Response OnCreated () id:Response_pPower_480_dhPowers_OnCreated
+#parent: pPower_266/dhPowers
+Response OnCreated () id:Response_pPower_266_dhPowers_OnCreated
 {
-  #keys: '[414996.1.209190751]'
+  #keys: '[414996.1.230731055]'
   CanBindMultiple: false
   DefinitionID: 'Responsedef_WebComponent_OnCreated'
   QuillAction
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormAnnualPlanReport/Response_pRibbonDown_dhAsyncFlag_OnDataChanged.def b/_Main/UI/MacroPlannerWebApp/Component_FormAnnualPlanReport/Response_pRibbonDown_dhAsyncFlag_OnDataChanged.def
deleted file mode 100644
index df783c6..0000000
--- a/_Main/UI/MacroPlannerWebApp/Component_FormAnnualPlanReport/Response_pRibbonDown_dhAsyncFlag_OnDataChanged.def
+++ /dev/null
@@ -1,12 +0,0 @@
-Quintiq file version 2.0
-#parent: pRibbonDown/dhAsyncFlag_5
-Response OnDataChanged () id:Response_pRibbonUp_dhAsyncFlag_OnDataChanged
-{
-  #keys: '[414996.1.209192408]'
-  CanBindMultiple: false
-  DefinitionID: 'Responsedef_WebComponent_OnDataChanged'
-  GroupServerCalls: true
-  QuillAction
-  {
-  }
-}
diff --git "a/_Main/UI/MacroPlannerWebApp/Component_FormAnnualPlanReport/Response_pRibbonDown_dhEndDate_OnCreated\043141.def" b/_Main/UI/MacroPlannerWebApp/Component_FormAnnualPlanReport/Response_pRibbonDown_dhEndDate_OnCreated.def
similarity index 61%
rename from "_Main/UI/MacroPlannerWebApp/Component_FormAnnualPlanReport/Response_pRibbonDown_dhEndDate_OnCreated\043141.def"
rename to _Main/UI/MacroPlannerWebApp/Component_FormAnnualPlanReport/Response_pRibbonDown_dhEndDate_OnCreated.def
index 5fbc55f..b365833 100644
--- "a/_Main/UI/MacroPlannerWebApp/Component_FormAnnualPlanReport/Response_pRibbonDown_dhEndDate_OnCreated\043141.def"
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormAnnualPlanReport/Response_pRibbonDown_dhEndDate_OnCreated.def
@@ -1,8 +1,8 @@
 Quintiq file version 2.0
-#parent: pRibbonDown/dhEndDate_778
-Response OnCreated () id:Response_pRibbon_dhEndDate_OnCreated_141
+#parent: pRibbonDown/dhEndDate
+Response OnCreated () id:Response_pRibbonDown_dhEndDate_OnCreated
 {
-  #keys: '[414996.1.210703173]'
+  #keys: '[414996.1.230731044]'
   CanBindMultiple: false
   DefinitionID: 'Responsedef_WebComponent_OnCreated'
   GroupServerCalls: true
diff --git "a/_Main/UI/MacroPlannerWebApp/Component_FormAnnualPlanReport/Response_pRibbonDown_dhStartDate_OnCreated\043368.def" b/_Main/UI/MacroPlannerWebApp/Component_FormAnnualPlanReport/Response_pRibbonDown_dhStartDate_OnCreated.def
similarity index 61%
rename from "_Main/UI/MacroPlannerWebApp/Component_FormAnnualPlanReport/Response_pRibbonDown_dhStartDate_OnCreated\043368.def"
rename to _Main/UI/MacroPlannerWebApp/Component_FormAnnualPlanReport/Response_pRibbonDown_dhStartDate_OnCreated.def
index 0ca1fce..1579eb1 100644
--- "a/_Main/UI/MacroPlannerWebApp/Component_FormAnnualPlanReport/Response_pRibbonDown_dhStartDate_OnCreated\043368.def"
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormAnnualPlanReport/Response_pRibbonDown_dhStartDate_OnCreated.def
@@ -1,8 +1,8 @@
 Quintiq file version 2.0
-#parent: pRibbonDown/dhStartDate_21
-Response OnCreated () id:Response_pRibbon_dhStartDate_OnCreated_368
+#parent: pRibbonDown/dhStartDate
+Response OnCreated () id:Response_pRibbonDown_dhStartDate_OnCreated
 {
-  #keys: '[414996.1.210703117]'
+  #keys: '[414996.1.230731046]'
   CanBindMultiple: false
   DefinitionID: 'Responsedef_WebComponent_OnCreated'
   GroupServerCalls: true
diff --git "a/_Main/UI/MacroPlannerWebApp/Component_FormAnnualPlanReport/Response_pRibbonDown_dsEndDate_OnChanged\043957.def" b/_Main/UI/MacroPlannerWebApp/Component_FormAnnualPlanReport/Response_pRibbonDown_dsEndDate_OnChanged.def
similarity index 62%
rename from "_Main/UI/MacroPlannerWebApp/Component_FormAnnualPlanReport/Response_pRibbonDown_dsEndDate_OnChanged\043957.def"
rename to _Main/UI/MacroPlannerWebApp/Component_FormAnnualPlanReport/Response_pRibbonDown_dsEndDate_OnChanged.def
index 396f6d8..1b69ce6 100644
--- "a/_Main/UI/MacroPlannerWebApp/Component_FormAnnualPlanReport/Response_pRibbonDown_dsEndDate_OnChanged\043957.def"
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormAnnualPlanReport/Response_pRibbonDown_dsEndDate_OnChanged.def
@@ -1,8 +1,8 @@
 Quintiq file version 2.0
-#parent: pRibbonDown/dsEndDate_832
-Response OnChanged () id:Response_pRibbon_dsEndDate_OnChanged_957
+#parent: pRibbonDown/dsEndDate
+Response OnChanged () id:Response_pRibbonDown_dsEndDate_OnChanged
 {
-  #keys: '[414996.1.210703144]'
+  #keys: '[414996.1.230731045]'
   CanBindMultiple: false
   DefinitionID: 'Responsedef_WebDateTimeFieldBase_OnChanged'
   GroupServerCalls: true
diff --git "a/_Main/UI/MacroPlannerWebApp/Component_FormAnnualPlanReport/Response_pRibbonDown_dsStartDate_OnChanged\043648.def" b/_Main/UI/MacroPlannerWebApp/Component_FormAnnualPlanReport/Response_pRibbonDown_dsStartDate_OnChanged.def
similarity index 62%
rename from "_Main/UI/MacroPlannerWebApp/Component_FormAnnualPlanReport/Response_pRibbonDown_dsStartDate_OnChanged\043648.def"
rename to _Main/UI/MacroPlannerWebApp/Component_FormAnnualPlanReport/Response_pRibbonDown_dsStartDate_OnChanged.def
index 2415f8d..cbe1699 100644
--- "a/_Main/UI/MacroPlannerWebApp/Component_FormAnnualPlanReport/Response_pRibbonDown_dsStartDate_OnChanged\043648.def"
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormAnnualPlanReport/Response_pRibbonDown_dsStartDate_OnChanged.def
@@ -1,8 +1,8 @@
 Quintiq file version 2.0
-#parent: pRibbonDown/dsStartDate_88
-Response OnChanged () id:Response_pRibbon_dsStartDate_OnChanged_648
+#parent: pRibbonDown/dsStartDate
+Response OnChanged () id:Response_pRibbonDown_dsStartDate_OnChanged
 {
-  #keys: '[414996.1.210703088]'
+  #keys: '[414996.1.230731047]'
   CanBindMultiple: false
   DefinitionID: 'Responsedef_WebDateTimeFieldBase_OnChanged'
   GroupServerCalls: true
diff --git "a/_Main/UI/MacroPlannerWebApp/Component_FormAnnualPlanReport/Response_pRibbonUp_bCreateBaseData_OnClick\043480.def" "b/_Main/UI/MacroPlannerWebApp/Component_FormAnnualPlanReport/Response_pRibbonUp_bCreateBaseData_OnClick\043480.def"
deleted file mode 100644
index 8b3876c..0000000
--- "a/_Main/UI/MacroPlannerWebApp/Component_FormAnnualPlanReport/Response_pRibbonUp_bCreateBaseData_OnClick\043480.def"
+++ /dev/null
@@ -1,18 +0,0 @@
-Quintiq file version 2.0
-#parent: pRibbonUp/bCreateBaseData_529
-Response OnClick () id:Response_pRibbon_bCreateBaseData_OnClick_480
-{
-  #keys: '[414996.1.210702980]'
-  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_pRibbonUp_bCreateBaseData_OnClick.def b/_Main/UI/MacroPlannerWebApp/Component_FormAnnualPlanReport/Response_pRibbonUp_bCreateBaseData_OnClick.def
new file mode 100644
index 0000000..0e880c4
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormAnnualPlanReport/Response_pRibbonUp_bCreateBaseData_OnClick.def
@@ -0,0 +1,18 @@
+Quintiq file version 2.0
+#parent: pRibbonUp/bCreateBaseData
+Response OnClick () id:Response_pRibbonUp_bCreateBaseData_OnClick
+{
+  #keys: '[414996.1.230731041]'
+  CanBindMultiple: false
+  DefinitionID: 'Responsedef_WebButton_OnClick'
+  QuillAction
+  {
+    Body:
+    [*
+      macroPlanMDSIDs := ApplicationMacroPlanner.GetMacroPlanMDSIDsByName( "璁″垝姹囨��" );
+      
+      ArchiveCell_AnnualPlanReport::AsyncCreateTables( macroPlanMDSIDs,Archive );
+    *]
+    GroupServerCalls: false
+  }
+}
diff --git "a/_Main/UI/MacroPlannerWebApp/Component_FormAnnualPlanReport/Response_pRibbonUp_bCreateFullTable_OnClick\043393.def" "b/_Main/UI/MacroPlannerWebApp/Component_FormAnnualPlanReport/Response_pRibbonUp_bCreateFullTable_OnClick\043393.def"
deleted file mode 100644
index f804078..0000000
--- "a/_Main/UI/MacroPlannerWebApp/Component_FormAnnualPlanReport/Response_pRibbonUp_bCreateFullTable_OnClick\043393.def"
+++ /dev/null
@@ -1,20 +0,0 @@
-Quintiq file version 2.0
-#parent: pRibbonUp/bCreateFullTable_568
-Response OnClick () id:Response_pRibbon_bCreateFullTable_OnClick_393
-{
-  #keys: '[414996.1.210703006]'
-  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_pRibbonUp_bCreateFullTable_OnClick.def b/_Main/UI/MacroPlannerWebApp/Component_FormAnnualPlanReport/Response_pRibbonUp_bCreateFullTable_OnClick.def
new file mode 100644
index 0000000..e5bc6b4
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormAnnualPlanReport/Response_pRibbonUp_bCreateFullTable_OnClick.def
@@ -0,0 +1,20 @@
+Quintiq file version 2.0
+#parent: pRibbonUp/bCreateFullTable
+Response OnClick () id:Response_pRibbonUp_bCreateFullTable_OnClick
+{
+  #keys: '[414996.1.230731040]'
+  CanBindMultiple: false
+  DefinitionID: 'Responsedef_WebButton_OnClick'
+  QuillAction
+  {
+    Body:
+    [*
+      table := ArchiveCell_AnnualPlanReport::CreateFullTable( Archive,RecycleBin,MacroPlan ); 
+      dhAnnualPlanTable.Data( table );
+      WebMessageBox::Success( "Success" );
+      
+      //ArchiveCell_AnnualPlanReport::AsyncCreateFullTable( Archive,RecycleBin,MacroPlan );
+    *]
+    GroupServerCalls: false
+  }
+}
diff --git "a/_Main/UI/MacroPlannerWebApp/Component_FormAnnualPlanReport/Response_pRibbonUp_dhTimeUnit_OnCreated\043338.def" b/_Main/UI/MacroPlannerWebApp/Component_FormAnnualPlanReport/Response_pRibbonUp_dhTimeUnit_OnCreated.def
similarity index 60%
rename from "_Main/UI/MacroPlannerWebApp/Component_FormAnnualPlanReport/Response_pRibbonUp_dhTimeUnit_OnCreated\043338.def"
rename to _Main/UI/MacroPlannerWebApp/Component_FormAnnualPlanReport/Response_pRibbonUp_dhTimeUnit_OnCreated.def
index 879cb71..76af871 100644
--- "a/_Main/UI/MacroPlannerWebApp/Component_FormAnnualPlanReport/Response_pRibbonUp_dhTimeUnit_OnCreated\043338.def"
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormAnnualPlanReport/Response_pRibbonUp_dhTimeUnit_OnCreated.def
@@ -1,8 +1,8 @@
 Quintiq file version 2.0
-#parent: pRibbonUp/dhTimeUnit_71
-Response OnCreated () id:Response_pRibbon_dhTimeUnit_OnCreated_338
+#parent: pRibbonUp/dhTimeUnit
+Response OnCreated () id:Response_pRibbonUp_dhTimeUnit_OnCreated
 {
-  #keys: '[414996.1.210703061]'
+  #keys: '[414996.1.230731038]'
   CanBindMultiple: false
   DefinitionID: 'Responsedef_WebComponent_OnCreated'
   GroupServerCalls: true
diff --git "a/_Main/UI/MacroPlannerWebApp/Component_FormAnnualPlanReport/Response_pRibbonUp_rbgTimeUnit_OnUserChanged\043836.def" b/_Main/UI/MacroPlannerWebApp/Component_FormAnnualPlanReport/Response_pRibbonUp_rbgTimeUnit_OnUserChanged.def
similarity index 61%
rename from "_Main/UI/MacroPlannerWebApp/Component_FormAnnualPlanReport/Response_pRibbonUp_rbgTimeUnit_OnUserChanged\043836.def"
rename to _Main/UI/MacroPlannerWebApp/Component_FormAnnualPlanReport/Response_pRibbonUp_rbgTimeUnit_OnUserChanged.def
index 0a6f23b..6adadc6 100644
--- "a/_Main/UI/MacroPlannerWebApp/Component_FormAnnualPlanReport/Response_pRibbonUp_rbgTimeUnit_OnUserChanged\043836.def"
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormAnnualPlanReport/Response_pRibbonUp_rbgTimeUnit_OnUserChanged.def
@@ -1,8 +1,8 @@
 Quintiq file version 2.0
-#parent: pRibbonUp/rbgTimeUnit_925
-Response OnUserChanged () id:Response_pRibbon_rbgTimeUnit_OnUserChanged_836
+#parent: pRibbonUp/rbgTimeUnit
+Response OnUserChanged () id:Response_pRibbonUp_rbgTimeUnit_OnUserChanged
 {
-  #keys: '[414996.1.210703032]'
+  #keys: '[414996.1.230731039]'
   CanBindMultiple: false
   DefinitionID: 'Responsedef_WebRadioButtonGroup_OnUserChanged'
   GroupServerCalls: true
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormDemandComparison/Component_ListGenerations.def b/_Main/UI/MacroPlannerWebApp/Component_FormDemandComparison/Component_ListGenerations.def
index 1af4b5e..a78f666 100644
--- a/_Main/UI/MacroPlannerWebApp/Component_FormDemandComparison/Component_ListGenerations.def
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormDemandComparison/Component_ListGenerations.def
@@ -1,13 +1,13 @@
 Quintiq file version 2.0
 Component ListGenerations
 {
-  #keys: '[414996.1.215964234]'
+  #keys: '[414996.1.218091408]'
   BaseType: 'WebList'
   Children:
   [
     Component DataExtractor989
     {
-      #keys: '[414996.1.215964235]'
+      #keys: '[414996.1.218091409]'
       BaseType: 'WebDataExtractor'
       Properties:
       [
@@ -20,7 +20,7 @@
     #child: listActionBarPage963
     Component DataSetLevel191
     {
-      #keys: '[414996.1.215964237]'
+      #keys: '[414996.1.218091411]'
       BaseType: 'WebDataSetLevel'
       Children:
       [
@@ -28,7 +28,7 @@
       ]
       Properties:
       [
-        Columns: '[{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"ImageIsEnable","title":"ImageIsEnable","subtotals":"","tooltip":"","width":-1,"display":"always","attribute":"ImageIsEnable"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"StringValue","title":"Value","subtotals":"","tooltip":"","width":-1,"display":"always","editable":false,"attribute":"StringValue"}}]'
+        Columns: '[{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"ImageIsEnable","title":"ImageIsEnable","subtotals":"","tooltip":"","width":2,"display":"always","attribute":"ImageIsEnable"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"StringValue","title":"Value","subtotals":"","tooltip":"","width":6,"display":"always","editable":false,"attribute":"StringValue"}}]'
         ContextMenu: 'listContextMenu687'
         Taborder: 2
       ]
@@ -36,6 +36,7 @@
   ]
   Properties:
   [
+    MinimumColumns: 8
     Taborder: 0
   ]
 }
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormDemandComparison/Component_ListMQBMLB.def b/_Main/UI/MacroPlannerWebApp/Component_FormDemandComparison/Component_ListMQBMLB.def
index 9bec91a..4517df1 100644
--- a/_Main/UI/MacroPlannerWebApp/Component_FormDemandComparison/Component_ListMQBMLB.def
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormDemandComparison/Component_ListMQBMLB.def
@@ -1,13 +1,13 @@
 Quintiq file version 2.0
 Component ListMQBMLB
 {
-  #keys: '[414996.1.215964216]'
+  #keys: '[414996.1.218091388]'
   BaseType: 'WebList'
   Children:
   [
     Component DataExtractor472
     {
-      #keys: '[414996.1.215964217]'
+      #keys: '[414996.1.218091389]'
       BaseType: 'WebDataExtractor'
       Properties:
       [
@@ -20,7 +20,7 @@
     #child: listActionBarPage519
     Component DataSetLevel527
     {
-      #keys: '[414996.1.215964219]'
+      #keys: '[414996.1.218091391]'
       BaseType: 'WebDataSetLevel'
       Children:
       [
@@ -28,7 +28,7 @@
       ]
       Properties:
       [
-        Columns: '[{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"ImageIsEnable","title":"ImageIsEnable","subtotals":"","tooltip":"","width":-1,"display":"always","attribute":"ImageIsEnable"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"StringValue","title":"Value","subtotals":"","tooltip":"","width":-1,"display":"always","editable":false,"attribute":"StringValue"}}]'
+        Columns: '[{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"ImageIsEnable","title":"ImageIsEnable","subtotals":"","tooltip":"","width":2,"display":"always","attribute":"ImageIsEnable"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"StringValue","title":"Value","subtotals":"","tooltip":"","width":6,"display":"always","editable":false,"attribute":"StringValue"}}]'
         ContextMenu: 'listContextMenu319'
         Taborder: 2
       ]
@@ -36,6 +36,7 @@
   ]
   Properties:
   [
+    MinimumColumns: 8
     Taborder: 0
   ]
 }
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormDemandComparison/Component_ListPowers.def b/_Main/UI/MacroPlannerWebApp/Component_FormDemandComparison/Component_ListPowers.def
index b99acff..336eeb3 100644
--- a/_Main/UI/MacroPlannerWebApp/Component_FormDemandComparison/Component_ListPowers.def
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormDemandComparison/Component_ListPowers.def
@@ -1,13 +1,13 @@
 Quintiq file version 2.0
 Component ListPowers
 {
-  #keys: '[414996.1.215964225]'
+  #keys: '[414996.1.218091397]'
   BaseType: 'WebList'
   Children:
   [
     Component DataExtractor671
     {
-      #keys: '[414996.1.215964226]'
+      #keys: '[414996.1.218091398]'
       BaseType: 'WebDataExtractor'
       Properties:
       [
@@ -20,7 +20,7 @@
     #child: listActionBarPage245
     Component DataSetLevel995
     {
-      #keys: '[414996.1.215964228]'
+      #keys: '[414996.1.218091400]'
       BaseType: 'WebDataSetLevel'
       Children:
       [
@@ -28,7 +28,7 @@
       ]
       Properties:
       [
-        Columns: '[{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"ImageIsEnable","title":"ImageIsEnable","subtotals":"","tooltip":"","width":-1,"display":"always","attribute":"ImageIsEnable"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"StringValue","title":"Value","subtotals":"","tooltip":"","width":-1,"display":"always","editable":false,"attribute":"StringValue"}}]'
+        Columns: '[{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"ImageIsEnable","title":"ImageIsEnable","subtotals":"","tooltip":"","width":2,"display":"always","attribute":"ImageIsEnable"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"StringValue","title":"Value","subtotals":"","tooltip":"","width":6,"display":"always","editable":false,"attribute":"StringValue"}}]'
         ContextMenu: 'listContextMenu623'
         Taborder: 2
       ]
@@ -36,6 +36,7 @@
   ]
   Properties:
   [
+    MinimumColumns: 8
     Taborder: 0
   ]
 }
diff --git "a/_Main/UI/MacroPlannerWebApp/Component_FormDemandComparison/Component_MatrixEditor\043298.def" "b/_Main/UI/MacroPlannerWebApp/Component_FormDemandComparison/Component_MatrixEditor\043298.def"
index 3ae066c..2769a39 100644
--- "a/_Main/UI/MacroPlannerWebApp/Component_FormDemandComparison/Component_MatrixEditor\043298.def"
+++ "b/_Main/UI/MacroPlannerWebApp/Component_FormDemandComparison/Component_MatrixEditor\043298.def"
@@ -45,8 +45,8 @@
           Properties:
           [
             DataType: 'LocalTable'
-            FilterArguments: 'checkedProduct:QMacroPlanner::FormDemandComparison.dhFinelProduct'
-            FixedFilter: 'exists( checkedProduct,Elements,product,product.ID() = object.ProductID())'
+            FilterArguments: 'checkedProducts:QMacroPlanner::FormDemandComparison.dhFinelProducts'
+            FixedFilter: 'exists( checkedProducts,Elements,product,product.ID() = object.ProductID())'
             Source: 'dhComparisonData'
             Taborder: 0
             Transformation: 'LocalRow'
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormDemandComparison/Component_listActionBarPage245.def b/_Main/UI/MacroPlannerWebApp/Component_FormDemandComparison/Component_listActionBarPage245.def
index 8f0ea9c..d9a2043 100644
--- a/_Main/UI/MacroPlannerWebApp/Component_FormDemandComparison/Component_listActionBarPage245.def
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormDemandComparison/Component_listActionBarPage245.def
@@ -1,7 +1,7 @@
 Quintiq file version 2.0
 Component listActionBarPage245
 {
-  #keys: '[414996.1.215964227]'
+  #keys: '[414996.1.218091399]'
   BaseType: 'listActionBarPage'
   Properties:
   [
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormDemandComparison/Component_listActionBarPage519.def b/_Main/UI/MacroPlannerWebApp/Component_FormDemandComparison/Component_listActionBarPage519.def
index 63db7cb..899a107 100644
--- a/_Main/UI/MacroPlannerWebApp/Component_FormDemandComparison/Component_listActionBarPage519.def
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormDemandComparison/Component_listActionBarPage519.def
@@ -1,7 +1,7 @@
 Quintiq file version 2.0
 Component listActionBarPage519
 {
-  #keys: '[414996.1.215964218]'
+  #keys: '[414996.1.218091390]'
   BaseType: 'listActionBarPage'
   Properties:
   [
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormDemandComparison/Component_listActionBarPage963.def b/_Main/UI/MacroPlannerWebApp/Component_FormDemandComparison/Component_listActionBarPage963.def
index 5f48a41..d9b151f 100644
--- a/_Main/UI/MacroPlannerWebApp/Component_FormDemandComparison/Component_listActionBarPage963.def
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormDemandComparison/Component_listActionBarPage963.def
@@ -1,7 +1,7 @@
 Quintiq file version 2.0
 Component listActionBarPage963
 {
-  #keys: '[414996.1.215964236]'
+  #keys: '[414996.1.218091410]'
   BaseType: 'listActionBarPage'
   Properties:
   [
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormDemandComparison/Component_listContextMenu319.def b/_Main/UI/MacroPlannerWebApp/Component_FormDemandComparison/Component_listContextMenu319.def
index 578c5f9..bbe427d 100644
--- a/_Main/UI/MacroPlannerWebApp/Component_FormDemandComparison/Component_listContextMenu319.def
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormDemandComparison/Component_listContextMenu319.def
@@ -1,7 +1,7 @@
 Quintiq file version 2.0
 Component listContextMenu319
 {
-  #keys: '[414996.1.215964220]'
+  #keys: '[414996.1.218091392]'
   BaseType: 'listContextMenu'
   Properties:
   [
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormDemandComparison/Component_listContextMenu623.def b/_Main/UI/MacroPlannerWebApp/Component_FormDemandComparison/Component_listContextMenu623.def
index 3c7c0f7..1419534 100644
--- a/_Main/UI/MacroPlannerWebApp/Component_FormDemandComparison/Component_listContextMenu623.def
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormDemandComparison/Component_listContextMenu623.def
@@ -1,7 +1,7 @@
 Quintiq file version 2.0
 Component listContextMenu623
 {
-  #keys: '[414996.1.215964229]'
+  #keys: '[414996.1.218091401]'
   BaseType: 'listContextMenu'
   Properties:
   [
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormDemandComparison/Component_listContextMenu687.def b/_Main/UI/MacroPlannerWebApp/Component_FormDemandComparison/Component_listContextMenu687.def
index f32155d..c409ab9 100644
--- a/_Main/UI/MacroPlannerWebApp/Component_FormDemandComparison/Component_listContextMenu687.def
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormDemandComparison/Component_listContextMenu687.def
@@ -1,7 +1,7 @@
 Quintiq file version 2.0
 Component listContextMenu687
 {
-  #keys: '[414996.1.215964238]'
+  #keys: '[414996.1.218091412]'
   BaseType: 'listContextMenu'
   Properties:
   [
diff --git "a/_Main/UI/MacroPlannerWebApp/Component_FormDemandComparison/Component_pDemandComparison\043822.def" "b/_Main/UI/MacroPlannerWebApp/Component_FormDemandComparison/Component_pDemandComparison\043822.def"
index 7dd3886..3cdf2dc 100644
--- "a/_Main/UI/MacroPlannerWebApp/Component_FormDemandComparison/Component_pDemandComparison\043822.def"
+++ "b/_Main/UI/MacroPlannerWebApp/Component_FormDemandComparison/Component_pDemandComparison\043822.def"
@@ -15,7 +15,7 @@
         Taborder: 1
       ]
     }
-    Component dhCheckedProduct
+    Component dhCheckedProducts
     {
       #keys: '[414996.1.211223499]'
       BaseType: 'WebDataHolder'
@@ -40,7 +40,7 @@
         Taborder: 3
       ]
     }
-    Component dhFinelProduct
+    Component dhFinelProducts
     {
       #keys: '[414996.1.211223501]'
       BaseType: 'WebDataHolder'
@@ -50,7 +50,7 @@
         Taborder: 2
       ]
     }
-    Component dhCheckedSalesSegment
+    Component dhCheckedSalesSegments
     {
       #keys: '[414996.1.211223502]'
       BaseType: 'WebDataHolder'
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormDemandComparison/Component_pGeneration.def b/_Main/UI/MacroPlannerWebApp/Component_FormDemandComparison/Component_pGeneration.def
index 5a9e4b9..073d4d2 100644
--- a/_Main/UI/MacroPlannerWebApp/Component_FormDemandComparison/Component_pGeneration.def
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormDemandComparison/Component_pGeneration.def
@@ -1,13 +1,13 @@
 Quintiq file version 2.0
 Component pGeneration
 {
-  #keys: '[414996.1.215964232]'
+  #keys: '[414996.1.218091404]'
   BaseType: 'WebPanel'
   Children:
   [
     Component dhGenerations
     {
-      #keys: '[414996.1.215964233]'
+      #keys: '[414996.1.218091405]'
       BaseType: 'WebDataHolder'
       Databinding: 'structured[LocalValue]*'
       Properties:
@@ -15,17 +15,16 @@
         Taborder: 1
       ]
     }
-    #child: ListGenerations
     Component dhCheckGenerations
     {
-      #keys: '[414996.1.215964239]'
+      #keys: '[414996.1.218091406]'
       BaseType: 'WebDataHolder'
       Databinding: 'structured[LocalValue]*'
       Children:
       [
         Component deCheckGenerations
         {
-          #keys: '[414996.1.215964240]'
+          #keys: '[414996.1.218091407]'
           BaseType: 'WebDataExtractor'
           Properties:
           [
@@ -42,10 +41,13 @@
         Taborder: 2
       ]
     }
+    #child: ListGenerations
   ]
   Properties:
   [
-    MinimumRows: 20
+    FixedSize: true
+    MinimumColumns: 8
+    MinimumRows: 15
     Taborder: 0
     Title: 'Generation'
   ]
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormDemandComparison/Component_pMQBMLB.def b/_Main/UI/MacroPlannerWebApp/Component_FormDemandComparison/Component_pMQBMLB.def
index 7fdfd5c..4ab95ec 100644
--- a/_Main/UI/MacroPlannerWebApp/Component_FormDemandComparison/Component_pMQBMLB.def
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormDemandComparison/Component_pMQBMLB.def
@@ -1,13 +1,13 @@
 Quintiq file version 2.0
 Component pMQBMLB
 {
-  #keys: '[414996.1.215964214]'
+  #keys: '[414996.1.218091386]'
   BaseType: 'WebPanel'
   Children:
   [
     Component dhMQBMLB
     {
-      #keys: '[414996.1.215964215]'
+      #keys: '[414996.1.218091387]'
       BaseType: 'WebDataHolder'
       Databinding: 'structured[LocalValue]*'
       Properties:
@@ -18,14 +18,14 @@
     #child: ListMQBMLB
     Component dhCheckMQBMLB
     {
-      #keys: '[414996.1.215964221]'
+      #keys: '[414996.1.218091393]'
       BaseType: 'WebDataHolder'
       Databinding: 'structured[LocalValue]*'
       Children:
       [
         Component deCheckMQBMLB
         {
-          #keys: '[414996.1.215964222]'
+          #keys: '[414996.1.218091394]'
           BaseType: 'WebDataExtractor'
           Properties:
           [
@@ -45,7 +45,9 @@
   ]
   Properties:
   [
-    MinimumRows: 20
+    FixedSize: true
+    MinimumColumns: 8
+    MinimumRows: 15
     Taborder: 2
     Title: 'MQB/MLB'
   ]
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormDemandComparison/Component_pPower.def b/_Main/UI/MacroPlannerWebApp/Component_FormDemandComparison/Component_pPower.def
index 4b67aa6..16c256d 100644
--- a/_Main/UI/MacroPlannerWebApp/Component_FormDemandComparison/Component_pPower.def
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormDemandComparison/Component_pPower.def
@@ -1,13 +1,13 @@
 Quintiq file version 2.0
 Component pPower
 {
-  #keys: '[414996.1.215964223]'
+  #keys: '[414996.1.218091395]'
   BaseType: 'WebPanel'
   Children:
   [
     Component dhPowers
     {
-      #keys: '[414996.1.215964224]'
+      #keys: '[414996.1.218091396]'
       BaseType: 'WebDataHolder'
       Databinding: 'structured[LocalValue]*'
       Properties:
@@ -18,14 +18,14 @@
     #child: ListPowers
     Component dhCheckPowers
     {
-      #keys: '[414996.1.215964230]'
+      #keys: '[414996.1.218091402]'
       BaseType: 'WebDataHolder'
       Databinding: 'structured[LocalValue]*'
       Children:
       [
         Component deCheckPowers
         {
-          #keys: '[414996.1.215964231]'
+          #keys: '[414996.1.218091403]'
           BaseType: 'WebDataExtractor'
           Properties:
           [
@@ -45,7 +45,9 @@
   ]
   Properties:
   [
-    MinimumRows: 20
+    FixedSize: true
+    MinimumColumns: 8
+    MinimumRows: 15
     Taborder: 1
     Title: 'Power'
   ]
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormDemandComparison/Component_pProductAttributeFilter.def b/_Main/UI/MacroPlannerWebApp/Component_FormDemandComparison/Component_pProductAttributeFilter.def
index 53477ed..95906bf 100644
--- a/_Main/UI/MacroPlannerWebApp/Component_FormDemandComparison/Component_pProductAttributeFilter.def
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormDemandComparison/Component_pProductAttributeFilter.def
@@ -1,7 +1,7 @@
 Quintiq file version 2.0
 Component pProductAttributeFilter
 {
-  #keys: '[414996.1.215964213]'
+  #keys: '[414996.1.218091385]'
   BaseType: 'WebPanel'
   Children:
   [
@@ -12,6 +12,7 @@
   Properties:
   [
     FixedSize: true
+    MinimumColumns: 8
     Taborder: 0
   ]
 }
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormDemandComparison/Response_ListGenerations_OnClick.def b/_Main/UI/MacroPlannerWebApp/Component_FormDemandComparison/Response_ListGenerations_OnClick.def
index ac03d12..5671eff 100644
--- a/_Main/UI/MacroPlannerWebApp/Component_FormDemandComparison/Response_ListGenerations_OnClick.def
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormDemandComparison/Response_ListGenerations_OnClick.def
@@ -4,7 +4,7 @@
   LocalValue selection
 ) id:Response_ListGenerations_OnClick
 {
-  #keys: '[414996.1.215964199]'
+  #keys: '[414996.1.218091370]'
   CanBindMultiple: false
   DefinitionID: 'Responsedef_WebList_OnClick'
   GroupServerCalls: true
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormDemandComparison/Response_ListMQBMLB_OnClick.def b/_Main/UI/MacroPlannerWebApp/Component_FormDemandComparison/Response_ListMQBMLB_OnClick.def
index a1e31e1..d8f5a89 100644
--- a/_Main/UI/MacroPlannerWebApp/Component_FormDemandComparison/Response_ListMQBMLB_OnClick.def
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormDemandComparison/Response_ListMQBMLB_OnClick.def
@@ -4,7 +4,7 @@
   LocalValue selection
 ) id:Response_ListMQBMLB_OnClick
 {
-  #keys: '[414996.1.215964207]'
+  #keys: '[414996.1.218091379]'
   CanBindMultiple: false
   DefinitionID: 'Responsedef_WebList_OnClick'
   GroupServerCalls: true
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormDemandComparison/Response_ListPowers_OnClick.def b/_Main/UI/MacroPlannerWebApp/Component_FormDemandComparison/Response_ListPowers_OnClick.def
index dd3415b..91b2137 100644
--- a/_Main/UI/MacroPlannerWebApp/Component_FormDemandComparison/Response_ListPowers_OnClick.def
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormDemandComparison/Response_ListPowers_OnClick.def
@@ -4,7 +4,7 @@
   LocalValue selection
 ) id:Response_ListPowers_OnClick
 {
-  #keys: '[414996.1.215964203]'
+  #keys: '[414996.1.218091375]'
   CanBindMultiple: false
   DefinitionID: 'Responsedef_WebList_OnClick'
   GroupServerCalls: true
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormDemandComparison/Response_PanelFilter_137_ButtonClearFilter_OnClick.def b/_Main/UI/MacroPlannerWebApp/Component_FormDemandComparison/Response_PanelFilter_137_ButtonClearFilter_OnClick.def
index 9b469f3..4a18fcd 100644
--- a/_Main/UI/MacroPlannerWebApp/Component_FormDemandComparison/Response_PanelFilter_137_ButtonClearFilter_OnClick.def
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormDemandComparison/Response_PanelFilter_137_ButtonClearFilter_OnClick.def
@@ -12,7 +12,7 @@
       ddslGeneration.Text( "<All>" );
       ddslMQBMLB.Text( "<All>" );
       ddslPower.Text( "<All>" )
-      dhFinelProduct.Data( DataHolderProduct.Data().Copy() );
+      dhFinelProducts.Data( DataHolderProduct.Data().Copy() );
     *]
     GroupServerCalls: false
   }
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormDemandComparison/Response_PanelFilter_137_ButtonFilter485_OnClick.def b/_Main/UI/MacroPlannerWebApp/Component_FormDemandComparison/Response_PanelFilter_137_ButtonFilter485_OnClick.def
index 5e452da..fb9a317 100644
--- a/_Main/UI/MacroPlannerWebApp/Component_FormDemandComparison/Response_PanelFilter_137_ButtonFilter485_OnClick.def
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormDemandComparison/Response_PanelFilter_137_ButtonFilter485_OnClick.def
@@ -10,7 +10,7 @@
   {
     Body:
     [*
-      products := dhFinelProduct.Data().Copy();
+      products := dhFinelProducts.Data().Copy();
       if( ddslGeneration.Text() <> "<All>" ){
         products := selectset( products,Elements,element,element.Generation() = ddslGeneration.Text());
       }
@@ -20,7 +20,7 @@
       if( ddslPower.Text() <> "<All>" ){
         products := selectset( products,Elements,element,element.Power() = ddslPower.Text());
       }
-      dhFinelProduct.Data( &products );
+      dhFinelProducts.Data( &products );
     *]
   }
 }
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormDemandComparison/Response_PanelOperation_bExport_OnClick.def b/_Main/UI/MacroPlannerWebApp/Component_FormDemandComparison/Response_PanelOperation_bExport_OnClick.def
index c1cfd41..28f0a36 100644
--- a/_Main/UI/MacroPlannerWebApp/Component_FormDemandComparison/Response_PanelOperation_bExport_OnClick.def
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormDemandComparison/Response_PanelOperation_bExport_OnClick.def
@@ -9,7 +9,7 @@
   {
     Body:
     [*
-      rows := selectset( dhComparisonData.Data(),LocalRow,row,exists( dhFinelProduct.Data(),Elements,product,product.ID() = row.ProductID()));
+      rows := selectset( dhComparisonData.Data(),LocalRow,row,exists( dhFinelProducts.Data(),Elements,product,product.ID() = row.ProductID()));
       columns := selectset( dhComparisonData.Data( ),LocalColumn,column,not column.IsAttrbuteColumn() and dhStartDate.Data() <= column.Date() and dhEndDate.Data() > column.Date() );
       LocalCell_DemandComparison::AsyncExport( RecycleBin, rows, columns ,MacroPlan );
     *]
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormDemandComparison/Response_pDemandComparison_822_dhCheckedProduct_OnDataChanged.def b/_Main/UI/MacroPlannerWebApp/Component_FormDemandComparison/Response_pDemandComparison_822_dhCheckedProducts_OnDataChanged.def
similarity index 63%
rename from _Main/UI/MacroPlannerWebApp/Component_FormDemandComparison/Response_pDemandComparison_822_dhCheckedProduct_OnDataChanged.def
rename to _Main/UI/MacroPlannerWebApp/Component_FormDemandComparison/Response_pDemandComparison_822_dhCheckedProducts_OnDataChanged.def
index e94b01d..0b413e9 100644
--- a/_Main/UI/MacroPlannerWebApp/Component_FormDemandComparison/Response_pDemandComparison_822_dhCheckedProduct_OnDataChanged.def
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormDemandComparison/Response_pDemandComparison_822_dhCheckedProducts_OnDataChanged.def
@@ -1,6 +1,6 @@
 Quintiq file version 2.0
-#parent: pDemandComparison_822/dhCheckedProduct
-Response OnDataChanged () id:Response_pDemandComparison_822_dhCheckedProduct_OnDataChanged
+#parent: pDemandComparison_822/dhCheckedProducts
+Response OnDataChanged () id:Response_pDemandComparison_822_dhCheckedProducts_OnDataChanged
 {
   #keys: '[414996.1.211223484]'
   CanBindMultiple: false
@@ -11,9 +11,9 @@
     Body:
     [*
       if( this.Data().Size() <> 0 ){
-        dhFinelProduct.Data( this.Data().Copy() ); 
+        dhFinelProducts.Data( this.Data().Copy() ); 
       }else{
-        dhFinelProduct.Data( DataHolderProduct.Data().Copy() ); 
+        dhFinelProducts.Data( DataHolderProduct.Data().Copy() ); 
       }
     *]
   }
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormDemandComparison/Response_pDemandComparison_822_dhCheckedSalesSegment_OnDataChanged.def b/_Main/UI/MacroPlannerWebApp/Component_FormDemandComparison/Response_pDemandComparison_822_dhCheckedSalesSegment_OnDataChanged.def
deleted file mode 100644
index 9218b91..0000000
--- a/_Main/UI/MacroPlannerWebApp/Component_FormDemandComparison/Response_pDemandComparison_822_dhCheckedSalesSegment_OnDataChanged.def
+++ /dev/null
@@ -1,21 +0,0 @@
-Quintiq file version 2.0
-#parent: pDemandComparison_822/dhCheckedSalesSegment
-Response OnDataChanged () id:Response_pDemandComparison_822_dhCheckedSalesSegment_OnDataChanged
-{
-  #keys: '[414996.1.211223482]'
-  CanBindMultiple: false
-  DefinitionID: 'Responsedef_WebComponent_OnDataChanged'
-  GroupServerCalls: true
-  QuillAction
-  {
-    Body:
-    [*
-      if( this.Data().Size() <> 0 ){
-        prods := selectset( dhFinelProduct.Data(),Elements,element,exists( this.Data(),Elements.SalesDemand.Product_MP,prod,element = prod ));
-        dhFinelProduct.Data( &prods );
-      }else{
-        dhFinelProduct.Data( DataHolderProduct.Data().Copy() );
-      }
-    *]
-  }
-}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormDemandComparison/Response_pDemandComparison_822_dhCheckedSalesSegments_OnDataChanged.def b/_Main/UI/MacroPlannerWebApp/Component_FormDemandComparison/Response_pDemandComparison_822_dhCheckedSalesSegments_OnDataChanged.def
new file mode 100644
index 0000000..9e568d8
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormDemandComparison/Response_pDemandComparison_822_dhCheckedSalesSegments_OnDataChanged.def
@@ -0,0 +1,21 @@
+Quintiq file version 2.0
+#parent: pDemandComparison_822/dhCheckedSalesSegments
+Response OnDataChanged () id:Response_pDemandComparison_822_dhCheckedSalesSegments_OnDataChanged
+{
+  #keys: '[414996.1.211223482]'
+  CanBindMultiple: false
+  DefinitionID: 'Responsedef_WebComponent_OnDataChanged'
+  GroupServerCalls: true
+  QuillAction
+  {
+    Body:
+    [*
+      if( this.Data().Size() <> 0 ){
+        prods := selectset( dhFinelProducts.Data(),Elements,element,exists( this.Data(),Elements.SalesDemand.Product_MP,prod,element = prod ));
+        dhFinelProducts.Data( &prods );
+      }else{
+        dhFinelProducts.Data( DataHolderProduct.Data().Copy() );
+      }
+    *]
+  }
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormDemandComparison/Response_pDemandComparison_822_dhFinelProduct_OnCreated.def b/_Main/UI/MacroPlannerWebApp/Component_FormDemandComparison/Response_pDemandComparison_822_dhFinelProducts_OnCreated.def
similarity index 83%
rename from _Main/UI/MacroPlannerWebApp/Component_FormDemandComparison/Response_pDemandComparison_822_dhFinelProduct_OnCreated.def
rename to _Main/UI/MacroPlannerWebApp/Component_FormDemandComparison/Response_pDemandComparison_822_dhFinelProducts_OnCreated.def
index f40738b..d5f46d5 100644
--- a/_Main/UI/MacroPlannerWebApp/Component_FormDemandComparison/Response_pDemandComparison_822_dhFinelProduct_OnCreated.def
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormDemandComparison/Response_pDemandComparison_822_dhFinelProducts_OnCreated.def
@@ -1,6 +1,6 @@
 Quintiq file version 2.0
-#parent: pDemandComparison_822/dhFinelProduct
-Response OnCreated () id:Response_pDemandComparison_822_dhFinelProduct_OnCreated
+#parent: pDemandComparison_822/dhFinelProducts
+Response OnCreated () id:Response_pDemandComparison_822_dhFinelProducts_OnCreated
 {
   #keys: '[414996.1.211223483]'
   CanBindMultiple: false
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormDemandComparison/Response_pGeneration_dhCheckGenerations_OnDataChanged.def b/_Main/UI/MacroPlannerWebApp/Component_FormDemandComparison/Response_pGeneration_dhCheckGenerations_OnDataChanged.def
index 15ff268..f381df8 100644
--- a/_Main/UI/MacroPlannerWebApp/Component_FormDemandComparison/Response_pGeneration_dhCheckGenerations_OnDataChanged.def
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormDemandComparison/Response_pGeneration_dhCheckGenerations_OnDataChanged.def
@@ -2,7 +2,7 @@
 #parent: pGeneration/dhCheckGenerations
 Response OnDataChanged () id:Response_pGeneration_dhCheckGenerations_OnDataChanged
 {
-  #keys: '[414996.1.215964198]'
+  #keys: '[414996.1.218091372]'
   CanBindMultiple: false
   DefinitionID: 'Responsedef_WebComponent_OnDataChanged'
   GroupServerCalls: true
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormDemandComparison/Response_pGeneration_dhGenerations_OnCreated.def b/_Main/UI/MacroPlannerWebApp/Component_FormDemandComparison/Response_pGeneration_dhGenerations_OnCreated.def
index c7fc370..84d0dab 100644
--- a/_Main/UI/MacroPlannerWebApp/Component_FormDemandComparison/Response_pGeneration_dhGenerations_OnCreated.def
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormDemandComparison/Response_pGeneration_dhGenerations_OnCreated.def
@@ -2,7 +2,7 @@
 #parent: pGeneration/dhGenerations
 Response OnCreated () id:Response_pGeneration_dhGenerations_OnCreated
 {
-  #keys: '[414996.1.215964201]'
+  #keys: '[414996.1.218091373]'
   CanBindMultiple: false
   DefinitionID: 'Responsedef_WebComponent_OnCreated'
   QuillAction
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormDemandComparison/Response_pMQBMLB_dhCheckMQBMLB_OnDataChanged.def b/_Main/UI/MacroPlannerWebApp/Component_FormDemandComparison/Response_pMQBMLB_dhCheckMQBMLB_OnDataChanged.def
index 922b996..0abae5f 100644
--- a/_Main/UI/MacroPlannerWebApp/Component_FormDemandComparison/Response_pMQBMLB_dhCheckMQBMLB_OnDataChanged.def
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormDemandComparison/Response_pMQBMLB_dhCheckMQBMLB_OnDataChanged.def
@@ -2,7 +2,7 @@
 #parent: pMQBMLB/dhCheckMQBMLB
 Response OnDataChanged () id:Response_pMQBMLB_dhCheckMQBMLB_OnDataChanged
 {
-  #keys: '[414996.1.215964206]'
+  #keys: '[414996.1.218091378]'
   CanBindMultiple: false
   DefinitionID: 'Responsedef_WebComponent_OnDataChanged'
   GroupServerCalls: true
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormDemandComparison/Response_pMQBMLB_dhMQBMLB_OnCreated.def b/_Main/UI/MacroPlannerWebApp/Component_FormDemandComparison/Response_pMQBMLB_dhMQBMLB_OnCreated.def
index 8abf0d3..e6aa0b9 100644
--- a/_Main/UI/MacroPlannerWebApp/Component_FormDemandComparison/Response_pMQBMLB_dhMQBMLB_OnCreated.def
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormDemandComparison/Response_pMQBMLB_dhMQBMLB_OnCreated.def
@@ -2,7 +2,7 @@
 #parent: pMQBMLB/dhMQBMLB
 Response OnCreated () id:Response_pMQBMLB_dhMQBMLB_OnCreated
 {
-  #keys: '[414996.1.215964209]'
+  #keys: '[414996.1.218091381]'
   CanBindMultiple: false
   DefinitionID: 'Responsedef_WebComponent_OnCreated'
   QuillAction
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormDemandComparison/Response_pPower_dhCheckPowers_OnDataChanged.def b/_Main/UI/MacroPlannerWebApp/Component_FormDemandComparison/Response_pPower_dhCheckPowers_OnDataChanged.def
index 9fe50be..8e029ac 100644
--- a/_Main/UI/MacroPlannerWebApp/Component_FormDemandComparison/Response_pPower_dhCheckPowers_OnDataChanged.def
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormDemandComparison/Response_pPower_dhCheckPowers_OnDataChanged.def
@@ -2,7 +2,7 @@
 #parent: pPower/dhCheckPowers
 Response OnDataChanged () id:Response_pPower_dhCheckPowers_OnDataChanged
 {
-  #keys: '[414996.1.215964202]'
+  #keys: '[414996.1.218091374]'
   CanBindMultiple: false
   DefinitionID: 'Responsedef_WebComponent_OnDataChanged'
   GroupServerCalls: true
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormDemandComparison/Response_pPower_dhPowers_OnCreated.def b/_Main/UI/MacroPlannerWebApp/Component_FormDemandComparison/Response_pPower_dhPowers_OnCreated.def
index 70a7be6..d34c9e4 100644
--- a/_Main/UI/MacroPlannerWebApp/Component_FormDemandComparison/Response_pPower_dhPowers_OnCreated.def
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormDemandComparison/Response_pPower_dhPowers_OnCreated.def
@@ -2,7 +2,7 @@
 #parent: pPower/dhPowers
 Response OnCreated () id:Response_pPower_dhPowers_OnCreated
 {
-  #keys: '[414996.1.215964205]'
+  #keys: '[414996.1.218091377]'
   CanBindMultiple: false
   DefinitionID: 'Responsedef_WebComponent_OnCreated'
   QuillAction
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormOfflinePlanComparison/Component_ListGenerations.def b/_Main/UI/MacroPlannerWebApp/Component_FormOfflinePlanComparison/Component_ListGenerations.def
index fff4067..3459d2c 100644
--- a/_Main/UI/MacroPlannerWebApp/Component_FormOfflinePlanComparison/Component_ListGenerations.def
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormOfflinePlanComparison/Component_ListGenerations.def
@@ -1,13 +1,13 @@
 Quintiq file version 2.0
 Component ListGenerations
 {
-  #keys: '[414996.1.215964122]'
+  #keys: '[414996.1.218091290]'
   BaseType: 'WebList'
   Children:
   [
     Component DataExtractor989
     {
-      #keys: '[414996.1.215964123]'
+      #keys: '[414996.1.218091291]'
       BaseType: 'WebDataExtractor'
       Properties:
       [
@@ -20,7 +20,7 @@
     #child: listActionBarPage963
     Component DataSetLevel191
     {
-      #keys: '[414996.1.215964125]'
+      #keys: '[414996.1.218091293]'
       BaseType: 'WebDataSetLevel'
       Children:
       [
@@ -28,7 +28,7 @@
       ]
       Properties:
       [
-        Columns: '[{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"ImageIsEnable","title":"ImageIsEnable","subtotals":"","tooltip":"","width":-1,"display":"always","attribute":"ImageIsEnable"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"StringValue","title":"Value","subtotals":"","tooltip":"","width":-1,"display":"always","editable":false,"attribute":"StringValue"}}]'
+        Columns: '[{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"ImageIsEnable","title":"ImageIsEnable","subtotals":"","tooltip":"","width":2,"display":"always","attribute":"ImageIsEnable"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"StringValue","title":"Value","subtotals":"","tooltip":"","width":6,"display":"always","editable":false,"attribute":"StringValue"}}]'
         ContextMenu: 'listContextMenu687'
         Taborder: 2
       ]
@@ -36,6 +36,7 @@
   ]
   Properties:
   [
+    MinimumColumns: 8
     Taborder: 0
   ]
 }
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormOfflinePlanComparison/Component_ListMQBMLB.def b/_Main/UI/MacroPlannerWebApp/Component_FormOfflinePlanComparison/Component_ListMQBMLB.def
index 34c7bae..832568b 100644
--- a/_Main/UI/MacroPlannerWebApp/Component_FormOfflinePlanComparison/Component_ListMQBMLB.def
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormOfflinePlanComparison/Component_ListMQBMLB.def
@@ -1,13 +1,13 @@
 Quintiq file version 2.0
 Component ListMQBMLB
 {
-  #keys: '[414996.1.215964104]'
+  #keys: '[414996.1.218091270]'
   BaseType: 'WebList'
   Children:
   [
     Component DataExtractor472
     {
-      #keys: '[414996.1.215964105]'
+      #keys: '[414996.1.218091271]'
       BaseType: 'WebDataExtractor'
       Properties:
       [
@@ -20,7 +20,7 @@
     #child: listActionBarPage519
     Component DataSetLevel527
     {
-      #keys: '[414996.1.215964107]'
+      #keys: '[414996.1.218091273]'
       BaseType: 'WebDataSetLevel'
       Children:
       [
@@ -28,7 +28,7 @@
       ]
       Properties:
       [
-        Columns: '[{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"ImageIsEnable","title":"ImageIsEnable","subtotals":"","tooltip":"","width":-1,"display":"always","attribute":"ImageIsEnable"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"StringValue","title":"Value","subtotals":"","tooltip":"","width":-1,"display":"always","editable":false,"attribute":"StringValue"}}]'
+        Columns: '[{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"ImageIsEnable","title":"ImageIsEnable","subtotals":"","tooltip":"","width":2,"display":"always","attribute":"ImageIsEnable"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"StringValue","title":"Value","subtotals":"","tooltip":"","width":6,"display":"always","editable":false,"attribute":"StringValue"}}]'
         ContextMenu: 'listContextMenu319'
         Taborder: 2
       ]
@@ -36,6 +36,7 @@
   ]
   Properties:
   [
+    MinimumColumns: 8
     Taborder: 0
   ]
 }
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormOfflinePlanComparison/Component_ListPowers.def b/_Main/UI/MacroPlannerWebApp/Component_FormOfflinePlanComparison/Component_ListPowers.def
index 80dfc6e..df9ae2c 100644
--- a/_Main/UI/MacroPlannerWebApp/Component_FormOfflinePlanComparison/Component_ListPowers.def
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormOfflinePlanComparison/Component_ListPowers.def
@@ -1,13 +1,13 @@
 Quintiq file version 2.0
 Component ListPowers
 {
-  #keys: '[414996.1.215964113]'
+  #keys: '[414996.1.218091279]'
   BaseType: 'WebList'
   Children:
   [
     Component DataExtractor671
     {
-      #keys: '[414996.1.215964114]'
+      #keys: '[414996.1.218091280]'
       BaseType: 'WebDataExtractor'
       Properties:
       [
@@ -20,7 +20,7 @@
     #child: listActionBarPage245
     Component DataSetLevel995
     {
-      #keys: '[414996.1.215964116]'
+      #keys: '[414996.1.218091282]'
       BaseType: 'WebDataSetLevel'
       Children:
       [
@@ -28,7 +28,7 @@
       ]
       Properties:
       [
-        Columns: '[{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"ImageIsEnable","title":"ImageIsEnable","subtotals":"","tooltip":"","width":-1,"display":"always","attribute":"ImageIsEnable"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"StringValue","title":"Value","subtotals":"","tooltip":"","width":-1,"display":"always","editable":false,"attribute":"StringValue"}}]'
+        Columns: '[{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"ImageIsEnable","title":"ImageIsEnable","subtotals":"","tooltip":"","width":2,"display":"always","attribute":"ImageIsEnable"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"StringValue","title":"Value","subtotals":"","tooltip":"","width":6,"display":"always","editable":false,"attribute":"StringValue"}}]'
         ContextMenu: 'listContextMenu623'
         Taborder: 2
       ]
@@ -36,6 +36,7 @@
   ]
   Properties:
   [
+    MinimumColumns: 8
     Taborder: 0
   ]
 }
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormOfflinePlanComparison/Component_listActionBarPage245.def b/_Main/UI/MacroPlannerWebApp/Component_FormOfflinePlanComparison/Component_listActionBarPage245.def
index b485bfc..3724072 100644
--- a/_Main/UI/MacroPlannerWebApp/Component_FormOfflinePlanComparison/Component_listActionBarPage245.def
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormOfflinePlanComparison/Component_listActionBarPage245.def
@@ -1,7 +1,7 @@
 Quintiq file version 2.0
 Component listActionBarPage245
 {
-  #keys: '[414996.1.215964115]'
+  #keys: '[414996.1.218091281]'
   BaseType: 'listActionBarPage'
   Properties:
   [
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormOfflinePlanComparison/Component_listActionBarPage519.def b/_Main/UI/MacroPlannerWebApp/Component_FormOfflinePlanComparison/Component_listActionBarPage519.def
index bff3437..58a6dae 100644
--- a/_Main/UI/MacroPlannerWebApp/Component_FormOfflinePlanComparison/Component_listActionBarPage519.def
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormOfflinePlanComparison/Component_listActionBarPage519.def
@@ -1,7 +1,7 @@
 Quintiq file version 2.0
 Component listActionBarPage519
 {
-  #keys: '[414996.1.215964106]'
+  #keys: '[414996.1.218091272]'
   BaseType: 'listActionBarPage'
   Properties:
   [
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormOfflinePlanComparison/Component_listActionBarPage963.def b/_Main/UI/MacroPlannerWebApp/Component_FormOfflinePlanComparison/Component_listActionBarPage963.def
index 711e02d..1462b60 100644
--- a/_Main/UI/MacroPlannerWebApp/Component_FormOfflinePlanComparison/Component_listActionBarPage963.def
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormOfflinePlanComparison/Component_listActionBarPage963.def
@@ -1,7 +1,7 @@
 Quintiq file version 2.0
 Component listActionBarPage963
 {
-  #keys: '[414996.1.215964124]'
+  #keys: '[414996.1.218091292]'
   BaseType: 'listActionBarPage'
   Properties:
   [
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormOfflinePlanComparison/Component_listContextMenu319.def b/_Main/UI/MacroPlannerWebApp/Component_FormOfflinePlanComparison/Component_listContextMenu319.def
index 0397cef..2fe2c3c 100644
--- a/_Main/UI/MacroPlannerWebApp/Component_FormOfflinePlanComparison/Component_listContextMenu319.def
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormOfflinePlanComparison/Component_listContextMenu319.def
@@ -1,7 +1,7 @@
 Quintiq file version 2.0
 Component listContextMenu319
 {
-  #keys: '[414996.1.215964108]'
+  #keys: '[414996.1.218091274]'
   BaseType: 'listContextMenu'
   Properties:
   [
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormOfflinePlanComparison/Component_listContextMenu623.def b/_Main/UI/MacroPlannerWebApp/Component_FormOfflinePlanComparison/Component_listContextMenu623.def
index 9822e70..3e1f48b 100644
--- a/_Main/UI/MacroPlannerWebApp/Component_FormOfflinePlanComparison/Component_listContextMenu623.def
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormOfflinePlanComparison/Component_listContextMenu623.def
@@ -1,7 +1,7 @@
 Quintiq file version 2.0
 Component listContextMenu623
 {
-  #keys: '[414996.1.215964117]'
+  #keys: '[414996.1.218091283]'
   BaseType: 'listContextMenu'
   Properties:
   [
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormOfflinePlanComparison/Component_listContextMenu687.def b/_Main/UI/MacroPlannerWebApp/Component_FormOfflinePlanComparison/Component_listContextMenu687.def
index db830c1..d666491 100644
--- a/_Main/UI/MacroPlannerWebApp/Component_FormOfflinePlanComparison/Component_listContextMenu687.def
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormOfflinePlanComparison/Component_listContextMenu687.def
@@ -1,7 +1,7 @@
 Quintiq file version 2.0
 Component listContextMenu687
 {
-  #keys: '[414996.1.215964126]'
+  #keys: '[414996.1.218091294]'
   BaseType: 'listContextMenu'
   Properties:
   [
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormOfflinePlanComparison/Component_pGeneration.def b/_Main/UI/MacroPlannerWebApp/Component_FormOfflinePlanComparison/Component_pGeneration.def
index 298d5bf..9f6b548 100644
--- a/_Main/UI/MacroPlannerWebApp/Component_FormOfflinePlanComparison/Component_pGeneration.def
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormOfflinePlanComparison/Component_pGeneration.def
@@ -1,13 +1,13 @@
 Quintiq file version 2.0
 Component pGeneration
 {
-  #keys: '[414996.1.215964120]'
+  #keys: '[414996.1.218091286]'
   BaseType: 'WebPanel'
   Children:
   [
     Component dhGenerations
     {
-      #keys: '[414996.1.215964121]'
+      #keys: '[414996.1.218091287]'
       BaseType: 'WebDataHolder'
       Databinding: 'structured[LocalValue]*'
       Properties:
@@ -15,17 +15,16 @@
         Taborder: 1
       ]
     }
-    #child: ListGenerations
     Component dhCheckGenerations
     {
-      #keys: '[414996.1.215964127]'
+      #keys: '[414996.1.218091288]'
       BaseType: 'WebDataHolder'
       Databinding: 'structured[LocalValue]*'
       Children:
       [
         Component deCheckGenerations
         {
-          #keys: '[414996.1.215964128]'
+          #keys: '[414996.1.218091289]'
           BaseType: 'WebDataExtractor'
           Properties:
           [
@@ -42,10 +41,13 @@
         Taborder: 2
       ]
     }
+    #child: ListGenerations
   ]
   Properties:
   [
-    MinimumRows: 20
+    FixedSize: true
+    MinimumColumns: 8
+    MinimumRows: 15
     Taborder: 0
     Title: 'Generation'
   ]
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormOfflinePlanComparison/Component_pMQBMLB.def b/_Main/UI/MacroPlannerWebApp/Component_FormOfflinePlanComparison/Component_pMQBMLB.def
index 194f082..a6ba768 100644
--- a/_Main/UI/MacroPlannerWebApp/Component_FormOfflinePlanComparison/Component_pMQBMLB.def
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormOfflinePlanComparison/Component_pMQBMLB.def
@@ -1,13 +1,13 @@
 Quintiq file version 2.0
 Component pMQBMLB
 {
-  #keys: '[414996.1.215964102]'
+  #keys: '[414996.1.218091268]'
   BaseType: 'WebPanel'
   Children:
   [
     Component dhMQBMLB
     {
-      #keys: '[414996.1.215964103]'
+      #keys: '[414996.1.218091269]'
       BaseType: 'WebDataHolder'
       Databinding: 'structured[LocalValue]*'
       Properties:
@@ -18,14 +18,14 @@
     #child: ListMQBMLB
     Component dhCheckMQBMLB
     {
-      #keys: '[414996.1.215964109]'
+      #keys: '[414996.1.218091275]'
       BaseType: 'WebDataHolder'
       Databinding: 'structured[LocalValue]*'
       Children:
       [
         Component deCheckMQBMLB
         {
-          #keys: '[414996.1.215964110]'
+          #keys: '[414996.1.218091276]'
           BaseType: 'WebDataExtractor'
           Properties:
           [
@@ -45,7 +45,9 @@
   ]
   Properties:
   [
-    MinimumRows: 20
+    FixedSize: true
+    MinimumColumns: 8
+    MinimumRows: 15
     Taborder: 2
     Title: 'MQB/MLB'
   ]
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormOfflinePlanComparison/Component_pPower.def b/_Main/UI/MacroPlannerWebApp/Component_FormOfflinePlanComparison/Component_pPower.def
index 9ce5dd6..effb842 100644
--- a/_Main/UI/MacroPlannerWebApp/Component_FormOfflinePlanComparison/Component_pPower.def
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormOfflinePlanComparison/Component_pPower.def
@@ -1,13 +1,13 @@
 Quintiq file version 2.0
 Component pPower
 {
-  #keys: '[414996.1.215964111]'
+  #keys: '[414996.1.218091277]'
   BaseType: 'WebPanel'
   Children:
   [
     Component dhPowers
     {
-      #keys: '[414996.1.215964112]'
+      #keys: '[414996.1.218091278]'
       BaseType: 'WebDataHolder'
       Databinding: 'structured[LocalValue]*'
       Properties:
@@ -18,14 +18,14 @@
     #child: ListPowers
     Component dhCheckPowers
     {
-      #keys: '[414996.1.215964118]'
+      #keys: '[414996.1.218091284]'
       BaseType: 'WebDataHolder'
       Databinding: 'structured[LocalValue]*'
       Children:
       [
         Component deCheckPowers
         {
-          #keys: '[414996.1.215964119]'
+          #keys: '[414996.1.218091285]'
           BaseType: 'WebDataExtractor'
           Properties:
           [
@@ -45,7 +45,9 @@
   ]
   Properties:
   [
-    MinimumRows: 20
+    FixedSize: true
+    MinimumColumns: 8
+    MinimumRows: 15
     Taborder: 1
     Title: 'Power'
   ]
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormOfflinePlanComparison/Component_pProductAttributeFilter.def b/_Main/UI/MacroPlannerWebApp/Component_FormOfflinePlanComparison/Component_pProductAttributeFilter.def
index f59acbc..d1c17a2 100644
--- a/_Main/UI/MacroPlannerWebApp/Component_FormOfflinePlanComparison/Component_pProductAttributeFilter.def
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormOfflinePlanComparison/Component_pProductAttributeFilter.def
@@ -1,7 +1,7 @@
 Quintiq file version 2.0
 Component pProductAttributeFilter
 {
-  #keys: '[414996.1.215964101]'
+  #keys: '[414996.1.218091267]'
   BaseType: 'WebPanel'
   Children:
   [
@@ -12,6 +12,7 @@
   Properties:
   [
     FixedSize: true
+    MinimumColumns: 8
     Taborder: 0
   ]
 }
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormOfflinePlanComparison/Response_ListGenerations_OnClick.def b/_Main/UI/MacroPlannerWebApp/Component_FormOfflinePlanComparison/Response_ListGenerations_OnClick.def
index 5cbc4d9..61cf91e 100644
--- a/_Main/UI/MacroPlannerWebApp/Component_FormOfflinePlanComparison/Response_ListGenerations_OnClick.def
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormOfflinePlanComparison/Response_ListGenerations_OnClick.def
@@ -4,7 +4,7 @@
   LocalValue selection
 ) id:Response_ListGenerations_OnClick
 {
-  #keys: '[414996.1.215964087]'
+  #keys: '[414996.1.218091252]'
   CanBindMultiple: false
   DefinitionID: 'Responsedef_WebList_OnClick'
   GroupServerCalls: true
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormOfflinePlanComparison/Response_ListMQBMLB_OnClick.def b/_Main/UI/MacroPlannerWebApp/Component_FormOfflinePlanComparison/Response_ListMQBMLB_OnClick.def
index a5c49f1..e7da5e3 100644
--- a/_Main/UI/MacroPlannerWebApp/Component_FormOfflinePlanComparison/Response_ListMQBMLB_OnClick.def
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormOfflinePlanComparison/Response_ListMQBMLB_OnClick.def
@@ -4,7 +4,7 @@
   LocalValue selection
 ) id:Response_ListMQBMLB_OnClick
 {
-  #keys: '[414996.1.215964095]'
+  #keys: '[414996.1.218091261]'
   CanBindMultiple: false
   DefinitionID: 'Responsedef_WebList_OnClick'
   GroupServerCalls: true
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormOfflinePlanComparison/Response_ListPowers_OnClick.def b/_Main/UI/MacroPlannerWebApp/Component_FormOfflinePlanComparison/Response_ListPowers_OnClick.def
index b9162e7..ce7921c 100644
--- a/_Main/UI/MacroPlannerWebApp/Component_FormOfflinePlanComparison/Response_ListPowers_OnClick.def
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormOfflinePlanComparison/Response_ListPowers_OnClick.def
@@ -4,7 +4,7 @@
   LocalValue selection
 ) id:Response_ListPowers_OnClick
 {
-  #keys: '[414996.1.215964091]'
+  #keys: '[414996.1.218091257]'
   CanBindMultiple: false
   DefinitionID: 'Responsedef_WebList_OnClick'
   GroupServerCalls: true
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormOfflinePlanComparison/Response_pGeneration_dhCheckGenerations_OnDataChanged.def b/_Main/UI/MacroPlannerWebApp/Component_FormOfflinePlanComparison/Response_pGeneration_dhCheckGenerations_OnDataChanged.def
index 8ce3e48..7715ff2 100644
--- a/_Main/UI/MacroPlannerWebApp/Component_FormOfflinePlanComparison/Response_pGeneration_dhCheckGenerations_OnDataChanged.def
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormOfflinePlanComparison/Response_pGeneration_dhCheckGenerations_OnDataChanged.def
@@ -2,7 +2,7 @@
 #parent: pGeneration/dhCheckGenerations
 Response OnDataChanged () id:Response_pGeneration_dhCheckGenerations_OnDataChanged
 {
-  #keys: '[414996.1.215964086]'
+  #keys: '[414996.1.218091254]'
   CanBindMultiple: false
   DefinitionID: 'Responsedef_WebComponent_OnDataChanged'
   GroupServerCalls: true
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormOfflinePlanComparison/Response_pGeneration_dhGenerations_OnCreated.def b/_Main/UI/MacroPlannerWebApp/Component_FormOfflinePlanComparison/Response_pGeneration_dhGenerations_OnCreated.def
index cc210e7..409601e 100644
--- a/_Main/UI/MacroPlannerWebApp/Component_FormOfflinePlanComparison/Response_pGeneration_dhGenerations_OnCreated.def
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormOfflinePlanComparison/Response_pGeneration_dhGenerations_OnCreated.def
@@ -2,7 +2,7 @@
 #parent: pGeneration/dhGenerations
 Response OnCreated () id:Response_pGeneration_dhGenerations_OnCreated
 {
-  #keys: '[414996.1.215964089]'
+  #keys: '[414996.1.218091255]'
   CanBindMultiple: false
   DefinitionID: 'Responsedef_WebComponent_OnCreated'
   QuillAction
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormOfflinePlanComparison/Response_pMQBMLB_dhCheckMQBMLB_OnDataChanged.def b/_Main/UI/MacroPlannerWebApp/Component_FormOfflinePlanComparison/Response_pMQBMLB_dhCheckMQBMLB_OnDataChanged.def
index 9c4f78f..8d6eb9f 100644
--- a/_Main/UI/MacroPlannerWebApp/Component_FormOfflinePlanComparison/Response_pMQBMLB_dhCheckMQBMLB_OnDataChanged.def
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormOfflinePlanComparison/Response_pMQBMLB_dhCheckMQBMLB_OnDataChanged.def
@@ -2,7 +2,7 @@
 #parent: pMQBMLB/dhCheckMQBMLB
 Response OnDataChanged () id:Response_pMQBMLB_dhCheckMQBMLB_OnDataChanged
 {
-  #keys: '[414996.1.215964094]'
+  #keys: '[414996.1.218091260]'
   CanBindMultiple: false
   DefinitionID: 'Responsedef_WebComponent_OnDataChanged'
   GroupServerCalls: true
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormOfflinePlanComparison/Response_pMQBMLB_dhMQBMLB_OnCreated.def b/_Main/UI/MacroPlannerWebApp/Component_FormOfflinePlanComparison/Response_pMQBMLB_dhMQBMLB_OnCreated.def
index 7ae7845..4ee9add 100644
--- a/_Main/UI/MacroPlannerWebApp/Component_FormOfflinePlanComparison/Response_pMQBMLB_dhMQBMLB_OnCreated.def
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormOfflinePlanComparison/Response_pMQBMLB_dhMQBMLB_OnCreated.def
@@ -2,7 +2,7 @@
 #parent: pMQBMLB/dhMQBMLB
 Response OnCreated () id:Response_pMQBMLB_dhMQBMLB_OnCreated
 {
-  #keys: '[414996.1.215964097]'
+  #keys: '[414996.1.218091263]'
   CanBindMultiple: false
   DefinitionID: 'Responsedef_WebComponent_OnCreated'
   QuillAction
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormOfflinePlanComparison/Response_pPower_dhCheckPowers_OnDataChanged.def b/_Main/UI/MacroPlannerWebApp/Component_FormOfflinePlanComparison/Response_pPower_dhCheckPowers_OnDataChanged.def
index 9de6605..6a266c8 100644
--- a/_Main/UI/MacroPlannerWebApp/Component_FormOfflinePlanComparison/Response_pPower_dhCheckPowers_OnDataChanged.def
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormOfflinePlanComparison/Response_pPower_dhCheckPowers_OnDataChanged.def
@@ -2,7 +2,7 @@
 #parent: pPower/dhCheckPowers
 Response OnDataChanged () id:Response_pPower_dhCheckPowers_OnDataChanged
 {
-  #keys: '[414996.1.215964090]'
+  #keys: '[414996.1.218091256]'
   CanBindMultiple: false
   DefinitionID: 'Responsedef_WebComponent_OnDataChanged'
   GroupServerCalls: true
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormOfflinePlanComparison/Response_pPower_dhPowers_OnCreated.def b/_Main/UI/MacroPlannerWebApp/Component_FormOfflinePlanComparison/Response_pPower_dhPowers_OnCreated.def
index 2228ec8..6bf14f4 100644
--- a/_Main/UI/MacroPlannerWebApp/Component_FormOfflinePlanComparison/Response_pPower_dhPowers_OnCreated.def
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormOfflinePlanComparison/Response_pPower_dhPowers_OnCreated.def
@@ -2,7 +2,7 @@
 #parent: pPower/dhPowers
 Response OnCreated () id:Response_pPower_dhPowers_OnCreated
 {
-  #keys: '[414996.1.215964093]'
+  #keys: '[414996.1.218091259]'
   CanBindMultiple: false
   DefinitionID: 'Responsedef_WebComponent_OnCreated'
   QuillAction
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormPackagingPlan/Response_MatrixEditor493_OnCheckEditability.def b/_Main/UI/MacroPlannerWebApp/Component_FormPackagingPlan/Response_MatrixEditor493_OnCheckEditability.def
index 8be5f6a..3d723b6 100644
--- a/_Main/UI/MacroPlannerWebApp/Component_FormPackagingPlan/Response_MatrixEditor493_OnCheckEditability.def
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormPackagingPlan/Response_MatrixEditor493_OnCheckEditability.def
@@ -12,7 +12,7 @@
   {
     Body:
     [*
-      cond := focusedattribute = "Package" or focusedattribute = "Unpacking";
+      cond := focusedattribute = "Package" or focusedattribute = "Unpacking" or focusedattribute = "Out";
       
       editinfo.CanEdit( cond );
       editinfo.UserHint( ifexpr( cond, "", "涓嶈兘淇敼" ) );
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormPackagingPlan/Response_MatrixEditor493_OnUpdateValue.def b/_Main/UI/MacroPlannerWebApp/Component_FormPackagingPlan/Response_MatrixEditor493_OnUpdateValue.def
new file mode 100644
index 0000000..a159225
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormPackagingPlan/Response_MatrixEditor493_OnUpdateValue.def
@@ -0,0 +1,19 @@
+Quintiq file version 2.0
+#parent: MatrixEditor493
+Response OnUpdateValue (
+  PackagingPlanCell cell,
+  Real value
+) id:Response_MatrixEditor493_OnUpdateValue
+{
+  #keys: '[413988.1.122061406]'
+  CanBindMultiple: false
+  DefinitionID: 'Responsedef_WebMatrixEditor_OnUpdateValue'
+  QuillAction
+  {
+    Body:
+    [*
+      cell.UpdateValue( focusedattribute, value );
+    *]
+    GroupServerCalls: false
+  }
+}
diff --git "a/_Main/UI/MacroPlannerWebApp/Component_FormScheduleSummaryReport/Component_pRibbonDown\043478.def" "b/_Main/UI/MacroPlannerWebApp/Component_FormScheduleSummaryReport/Component_pRibbonDown\043478.def"
index 533b51a..7566ac1 100644
--- "a/_Main/UI/MacroPlannerWebApp/Component_FormScheduleSummaryReport/Component_pRibbonDown\043478.def"
+++ "b/_Main/UI/MacroPlannerWebApp/Component_FormScheduleSummaryReport/Component_pRibbonDown\043478.def"
@@ -27,43 +27,6 @@
         Taborder: 1
       ]
     }
-    Component dhAsyncFlag
-    {
-      #keys: '[414996.1.214519511]'
-      BaseType: 'WebDataHolder'
-      Databinding: 'AsyncFlag'
-      Children:
-      [
-        Component deAsyncFlag
-        {
-          #keys: '[414996.1.214519512]'
-          BaseType: 'WebDataExtractor'
-          Properties:
-          [
-            DataType: 'RecycleBin'
-            FixedFilter: 'object.Name() = MP_Cell_ScheduleSummary::GetTableName()'
-            Source: 'RecycleBin'
-            Taborder: 0
-            Transformation: 'AsyncFlag'
-          ]
-        }
-      ]
-      Properties:
-      [
-        Taborder: 3
-      ]
-    }
-    Component lAsyncFlag id:lAsyncFlag_19
-    {
-      #keys: '[414996.1.214519535]'
-      BaseType: 'WebLabel'
-      Properties:
-      [
-        DataBinding: 'dhAsyncFlag.Data.State'
-        Label: '杩愯鐘舵��:'
-        Taborder: 2
-      ]
-    }
   ]
   Properties:
   [
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormScheduleSummaryReport/Component_pScheduleSummary.def b/_Main/UI/MacroPlannerWebApp/Component_FormScheduleSummaryReport/Component_pScheduleSummary.def
index 72b12d7..acdf228 100644
--- a/_Main/UI/MacroPlannerWebApp/Component_FormScheduleSummaryReport/Component_pScheduleSummary.def
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormScheduleSummaryReport/Component_pScheduleSummary.def
@@ -46,22 +46,6 @@
       #keys: '[412672.1.96380914]'
       BaseType: 'WebDataHolder'
       Databinding: 'LocalTable'
-      Children:
-      [
-        Component deScheduleSummaryTable
-        {
-          #keys: '[414996.1.214519458]'
-          BaseType: 'WebDataExtractor'
-          Properties:
-          [
-            DataType: 'RecycleBin'
-            FixedFilter: 'object.Name() = MP_Cell_ScheduleSummary::GetTableName()'
-            Source: 'RecycleBin'
-            Taborder: 0
-            Transformation: 'LocalTable'
-          ]
-        }
-      ]
       Properties:
       [
         Taborder: 1
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormScheduleSummaryReport/Response_pRibbonDown_478_dhAsyncFlag_OnDataChanged.def b/_Main/UI/MacroPlannerWebApp/Component_FormScheduleSummaryReport/Response_pRibbonDown_478_dhAsyncFlag_OnDataChanged.def
deleted file mode 100644
index 019eb35..0000000
--- a/_Main/UI/MacroPlannerWebApp/Component_FormScheduleSummaryReport/Response_pRibbonDown_478_dhAsyncFlag_OnDataChanged.def
+++ /dev/null
@@ -1,12 +0,0 @@
-Quintiq file version 2.0
-#parent: pRibbonDown_478/dhAsyncFlag
-Response OnDataChanged () id:Response_pRibbonDown_dhAsyncFlag_OnDataChanged
-{
-  #keys: '[414996.1.214519509]'
-  CanBindMultiple: false
-  DefinitionID: 'Responsedef_WebComponent_OnDataChanged'
-  GroupServerCalls: true
-  QuillAction
-  {
-  }
-}
diff --git "a/_Main/UI/MacroPlannerWebApp/Component_FormScheduleSummaryReport/Response_pRibbonUp_88_bCreateBaseData_OnClick\04388.def" "b/_Main/UI/MacroPlannerWebApp/Component_FormScheduleSummaryReport/Response_pRibbonUp_88_bCreateBaseData_OnClick\04388.def"
index a2d95f6..d1c7481 100644
--- "a/_Main/UI/MacroPlannerWebApp/Component_FormScheduleSummaryReport/Response_pRibbonUp_88_bCreateBaseData_OnClick\04388.def"
+++ "b/_Main/UI/MacroPlannerWebApp/Component_FormScheduleSummaryReport/Response_pRibbonUp_88_bCreateBaseData_OnClick\04388.def"
@@ -10,7 +10,7 @@
     Body:
     [*
       macroPlanMDSIDs := ApplicationMacroPlanner.GetMacroPlanMDSIDsByName( "璁″垝姹囨��" );
-      MP_Cell_ScheduleSummary::AsyncCreateTables( macroPlanMDSIDs );
+      ArchiveCell_ScheduleSummary::AsyncCreateTables( macroPlanMDSIDs,Archive );
     *]
     GroupServerCalls: false
   }
diff --git "a/_Main/UI/MacroPlannerWebApp/Component_FormScheduleSummaryReport/Response_pRibbonUp_88_bCreateFullTable_OnClick\04371.def" "b/_Main/UI/MacroPlannerWebApp/Component_FormScheduleSummaryReport/Response_pRibbonUp_88_bCreateFullTable_OnClick\04371.def"
index a7ef49f..936bfb9 100644
--- "a/_Main/UI/MacroPlannerWebApp/Component_FormScheduleSummaryReport/Response_pRibbonUp_88_bCreateFullTable_OnClick\04371.def"
+++ "b/_Main/UI/MacroPlannerWebApp/Component_FormScheduleSummaryReport/Response_pRibbonUp_88_bCreateFullTable_OnClick\04371.def"
@@ -9,9 +9,9 @@
   {
     Body:
     [*
-      macroPlanMDSIDs := ApplicationMacroPlanner.GetMacroPlanMDSIDsByName( "璁″垝姹囨��" );
-      
-      MP_Cell_ScheduleSummary::AsyncCreateFullTable( macroPlanMDSIDs,RecycleBin,Archive, MacroPlan );
+      table := ArchiveCell_ScheduleSummary::CreateFullTable( Archive,RecycleBin, MacroPlan );
+      dhScheduleSummaryTable.Data( table );
+      WebMessageBox::Success( "Success" );
     *]
     GroupServerCalls: false
   }
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormScheduleSummaryReport/Response_pScheduleSummary_dhScheduleSummaryTable_OnCreated.def b/_Main/UI/MacroPlannerWebApp/Component_FormScheduleSummaryReport/Response_pScheduleSummary_dhScheduleSummaryTable_OnCreated.def
deleted file mode 100644
index b725c83..0000000
--- a/_Main/UI/MacroPlannerWebApp/Component_FormScheduleSummaryReport/Response_pScheduleSummary_dhScheduleSummaryTable_OnCreated.def
+++ /dev/null
@@ -1,12 +0,0 @@
-Quintiq file version 2.0
-#parent: pScheduleSummary/dhScheduleSummaryTable
-Response OnCreated () id:Response_pScheduleSummary_dhScheduleSummaryTable_OnCreated
-{
-  #keys: '[412672.1.96380911]'
-  CanBindMultiple: false
-  DefinitionID: 'Responsedef_WebComponent_OnCreated'
-  GroupServerCalls: true
-  QuillAction
-  {
-  }
-}

--
Gitblit v1.9.3