From 14c69c3b49acf986861a70ea5fdff90d01e92bf6 Mon Sep 17 00:00:00 2001
From: rislai <risheng.lai@capgemini.com>
Date: 星期五, 19 七月 2024 17:41:42 +0800
Subject: [PATCH] Merge branch 'dev' of http://47.101.211.7:10101/r/VWED into dev

---
 _Main/BL/Type_PackagingPlanCapability/Attribute_CC_ZKG_Unpacking.qbl                                                                         |    7 
 _Main/UI/MacroPlannerWebApp/Component_DialogPackagingPlanLotSize/Response_List319_mDelete_OnClick.def                                        |   19 
 _Main/BL/Type_ShiftDay/_ROOT_Type_ShiftDay.qbl                                                                                               |    6 
 _Main/BL/Type_PackagingPlanCapability/Attribute_DL_AGW3_Unpacking.qbl                                                                        |    7 
 _Main/BL/Type_PackagingPlanCapability/Attribute_CC_ZKG_Package.qbl                                                                           |    7 
 _Main/UI/MacroPlannerWebApp/Component_DialogPackagingPlanMaximumQuantity/Response_pnlActions_btnOk_OnClick.def                               |   16 
 _Main/BL/Relations/Relation_PackagingPlanRow_PackagingPlanCell_PackagingPlanCell_PackagingPlanR.qbl                                          |   23 
 _Main/UI/MacroPlannerWebApp/Component_DialogPackagingPlanMaximumQuantity/Component_pnlActions.def                                            |   40 
 _Main/UI/MacroPlannerWebApp/Component_FormPackagingPlan/Response_pHeader_bPackagingCapability_OnClick.def                                    |   23 
 _Main/UI/MacroPlannerWebApp/Component_DialogPackagingPlanLotSize/Component_pHeader.def                                                       |   75 +
 _Main/BL/Type_ShippingActualData/Attribute_CreateTime.qbl                                                                                    |    8 
 _Main/BL/Type_InterfaceDataset/StaticMethod_GetResponseJsonData.qbl                                                                          |   16 
 _Main/BL/Type_PackagingPlanColumn/Attribute_StartDate.qbl                                                                                    |    7 
 _Main/BL/Relations/Relation_PackagingPlanRow_MacroPlan_MacroPlan_PackagingPlanRow.qbl                                                        |   23 
 _Main/BL/Type_PackagingPlanMaximumQuantity/Attribute_DL_ZKG.qbl                                                                              |    7 
 _Main/UI/MacroPlannerWebApp/Component_DialogPackagingPlanLotSize/Component_listActionBarPage243.def                                          |   10 
 _Main/UI/MacroPlannerWebApp/Component_DialogPackagingPlanMaximumQuantity/Response_pnlActions_btnCancel_OnClick.def                           |   15 
 _Main/UI/MacroPlannerWebApp/Component_FormPackagingPlan/Response_pHeader_bLotSize_OnClick.def                                                |   22 
 _Main/BL/Type_ShiftDayTime/_ROOT_Type_ShiftDayTime.qbl                                                                                       |    9 
 _Main/BL/Type_PackagingPlanCell/Attribute_NetDemand.qbl                                                                                      |    8 
 _Main/UI/MacroPlannerWebApp/Component_DialogPackagingPlanCapability/_ROOT_Component_DialogPackagingPlanCapability.def                        |   32 
 _Main/UI/MacroPlannerWebApp/Component_DialogPackagingPlanLotSize/Response_pnlActions_btnCancel_OnClick.def                                   |   15 
 _Main/UI/MacroPlannerWebApp/Component_FormShiftDayTime/Response_ListShiftDayTime_mDelete_OnClick.def                                         |   19 
 _Main/BL/Type_PackagingPlanMaximumQuantity/Attribute_CC_AGW.qbl                                                                              |    7 
 _Main/BL/Type_PackagingPlanCapability/Attribute_DL_ZKM_Unpacking.qbl                                                                         |    7 
 _Main/BL/Type_PackagingPlanCapability/Attribute_CC_KW2_Unpacking.qbl                                                                         |    7 
 _Main/BL/Type_PackagingPlanLotSize/Attribute_factory.qbl                                                                                     |    7 
 _Main/BL/Type_PackagingPlanColumn/_ROOT_Type_PackagingPlanColumn.qbl                                                                         |    9 
 _Main/BL/Type_PackagingPlanCapability/Attribute_DL_ZK_Package#1.qbl                                                                          |    7 
 _Main/BL/Type_PackagingPlanCell/Attribute_UnpackagedInventory.qbl                                                                            |    8 
 _Main/UI/MacroPlannerWebApp/Component_DialogPackagingPlanCapability/Component_p_DL_ZK.def                                                    |   47 
 _Main/UI/MacroPlannerWebApp/Component_DialogPackagingPlanMaximumQuantity/Component_pnlContent.def                                            |   17 
 _Main/BL/Type_PackagingPlanMaximumQuantity/_ROOT_Type_PackagingPlanMaximumQuantity.qbl                                                       |    9 
 _Main/UI/MacroPlannerWebApp/Component_DialogCreateEditShiftDayTime/Method_Edit.def                                                           |   14 
 _Main/UI/MacroPlannerWebApp/Component_DialogPackagingPlanCapability/Component_pnlActions.def                                                 |   40 
 _Main/UI/MacroPlannerWebApp/Component_DialogPackagingPlanLotSize/Component_List319.def                                                       |   59 
 _Main/UI/MacroPlannerWebApp/Component_FormShiftDayTime/Component_listActionBarPageShiftDayTime.def                                           |   10 
 _Main/BL/Type_PackagingPlanCapability/Attribute_DL_PL_Unpacking.qbl                                                                          |    7 
 _Main/BL/Type_ShippingActualData/Attribute_ID.qbl                                                                                            |    8 
 _Main/BL/Type_ShippingActualColumn/Attribute_StartDate.qbl                                                                                   |    7 
 _Main/UI/MacroPlannerWebApp/Component_DialogPackagingPlanLotSize/Component_listContextMenu199.def                                            |   24 
 _Main/BL/Relations/Relation_PackagingPlanColumn_PackagingPlanCell_PackagingPlanCell_PackagingPl.qbl                                          |   23 
 _Main/BL/Type_ShiftDayTime/Attribute_StartDateTime.qbl                                                                                       |    7 
 _Main/UI/MacroPlannerWebApp/Component_DialogPackagingPlanCapability/Component_p_CC_KW1.def                                                   |   47 
 _Main/UI/MacroPlannerWebApp/Component_DialogCreateEditShiftDayTime/Component_pnlActions.def                                                  |   40 
 _Main/UI/MacroPlannerWebApp/Component_FormShippingActualData/Component_MatrixEditorTable.def                                                 |   97 +
 _Main/UI/MacroPlannerWebApp/Component_FormShippingActualData/Component_PanelTable.def                                                        |   14 
 _Main/BL/Type_PackagingPlanCapability/Attribute_DL_AGW12_Unpacking.qbl                                                                       |    7 
 _Main/UI/MacroPlannerWebApp/Component_ApplicationMacroPlanner/Component_abgSecondDevelopmentPlan.def                                         |   22 
 _Main/BL/Type_PackagingPlanCapability/Attribute_CC_KW1_Unpacking.qbl                                                                         |    7 
 _Main/BL/Type_PackagingPlanCapability/Attribute_DL_KW_Package#3.qbl                                                                          |    7 
 _Main/UI/MacroPlannerWebApp/Component_FormShippingActualData/Response_PanelButton_ButtonButton_OnClick.def                                   |   24 
 _Main/BL/Type_ShiftDayTime/Function_CalcSequence.qbl                                                                                         |   21 
 _Main/UI/MacroPlannerWebApp/Component_DialogPackagingPlanCapability/Component_p_DL_AGW3.def                                                  |   47 
 _Main/UI/MacroPlannerWebApp/Component_FormShiftPattern/Response_MacroPlanner_MatrixEditorShiftPatterns_OnUserSelectionChanged.def            |   22 
 _Main/BL/Type_PackagingPlanCapability/_ROOT_Type_PackagingPlanCapability.qbl                                                                 |    9 
 _Main/UI/MacroPlannerWebApp/Views/Time_Capacities.vw                                                                                         |   64 
 _Main/BL/Type_PackagingPlanCell/Attribute_Package.qbl                                                                                        |    8 
 _Main/BL/Type_PackagingPlanRow/Attribute_ProductID.qbl                                                                                       |    7 
 _Main/UI/MacroPlannerWebApp/Component_DialogPackagingPlanCapability/Component_pnlContent.def                                                 |   26 
 _Main/UI/MacroPlannerWebApp/Component_FormPackagingPlan/Component_pHeader.def                                                                |   66 
 _Main/BL/Relations/Relation_ShippingActualCell_ShippingActualColumn_ShippingActualColumn_Shippi.qbl                                          |   23 
 _Main/BL/Type_ShippingActualData/StaticMethod_Synchronize.qbl                                                                                |   66 
 _Main/UI/MacroPlannerWebApp/Component_DialogPackagingPlanMaximumQuantity/Component_pCC.def                                                   |   69 +
 _Main/BL/Type_PackagingPlanCell/Attribute_Unpacking.qbl                                                                                      |    8 
 _Main/BL/Type_PackagingPlanCapability/Attribute_CC_KW2_Package#3.qbl                                                                         |    7 
 _Main/BL/Type_PackagingPlanCapability/Attribute_CC_ZKM_Unpacking.qbl                                                                         |    7 
 _Main/UI/MacroPlannerWebApp/Component_DialogPackagingPlanLotSize/Component_pContent.def                                                      |   14 
 _Main/BL/Type_PackagingPlanCell/Attribute_Out.qbl                                                                                            |    8 
 _Main/BL/Type_PackagingPlanMaximumQuantity/Attribute_DL_AGW#3.qbl                                                                            |    7 
 _Main/UI/MacroPlannerWebApp/Component_DialogPackagingPlanLotSize/Response_pnlActions_btnOk_OnClick.def                                       |   16 
 _Main/BL/Type_PackagingPlanLotSize/Attribute_LotSize.qbl                                                                                     |    7 
 _Main/BL/Type_PackagingPlanMaximumQuantity/Attribute_CC_ZKG#4.qbl                                                                            |    7 
 _Main/BL/Type_PackagingPlanRow/_ROOT_Type_PackagingPlanRow.qbl                                                                               |    9 
 _Main/UI/MacroPlannerWebApp/Component_DialogCreateEditShiftDayTime/Component_pnlContent.def                                                  |   51 
 _Main/BL/Type_PackagingPlanMaximumQuantity/Attribute_CC_KW#7.qbl                                                                             |    7 
 _Main/BL/Type_ShippingActualColumn/Attribute_Index.qbl                                                                                       |    7 
 _Main/UI/MacroPlannerWebApp/Component_ApplicationMacroPlanner/Response_MacroPlanner_abgSecondDevelopmentPlan_bPackagingPlan_OnClick.def      |   16 
 _Main/UI/MacroPlannerWebApp/Component_FormShiftDayTime/Component_ListShiftDayTime.def                                                        |   59 
 _Main/UI/MacroPlannerWebApp/Component_FormShippingActualData/Component_matrixeditorContextMenuTable.def                                      |   10 
 _Main/BL/Type_PackagingPlanMaximumQuantity/Attribute_DL_PL#1.qbl                                                                             |    7 
 _Main/UI/MacroPlannerWebApp/Component_FormShiftPattern/_ROOT_Component_FormShiftPattern.def                                                  |   10 
 _Main/BL/Type_ShiftDayTime/Attribute_EndDateTIme.qbl                                                                                         |    7 
 _Main/UI/MacroPlannerWebApp/Component_DialogPackagingPlanMaximumQuantity/_ROOT_Component_DialogPackagingPlanMaximumQuantity.def              |   31 
 _Main/UI/MacroPlannerWebApp/Component_FormShiftPattern/Component_MatrixEditorShiftPatterns.def                                               |    4 
 _Main/BL/Relations/Relation_PackagingPlanLotSize_MacroPlan_MacroPlan_PackagingPlanLotSize.qbl                                                |   23 
 _Main/BL/Type_ShippingActualRow/Attribute_Name.qbl                                                                                           |    7 
 _Main/UI/MacroPlannerWebApp/Component_DialogPackagingPlanCapability/Component_p_CC_ZKM.def                                                   |   47 
 _var/_Main/ProjSettings/EditorTC/Views/班次时间分析_[413988.0.1367211460].vw                                                                       |  491 +++++++
 _Main/BL/Type_ShippingActualData/Attribute_FourCode.qbl                                                                                      |    8 
 _Main/UI/MacroPlannerWebApp/Component_DialogPackagingPlanCapability/Component_p_DL_KW.def                                                    |   47 
 _Main/UI/MacroPlannerWebApp/Component_DialogPackagingPlanCapability/Method_Opne.def                                                          |   14 
 _Main/BL/Type_OfflinePlanRow/Attribute_Type.qbl                                                                                              |   12 
 _Main/BL/Type_PackagingPlanCapability/Attribute_DL_ZKG_Unpacking.qbl                                                                         |    7 
 _Main/UI/MacroPlannerWebApp/Views/PackagingPlan.vw                                                                                           |   89 +
 _Main/UI/MacroPlannerWebApp/Component_FormShippingActualData/_ROOT_Component_FormShippingActualData.def                                      |   18 
 _Main/BL/Type_ShippingActualRow/Attribute_RowNr.qbl                                                                                          |    7 
 _Main/UI/MacroPlannerWebApp/Component_DialogCreateEditShiftDayTime/Method_OnOK.def                                                           |   13 
 _Main/UI/MacroPlannerWebApp/Component_FormShippingActualData/Component_PanelButton.def                                                       |   25 
 _Main/BL/Type_ShippingActualData/StaticMethod_Export.qbl                                                                                     |   64 
 _Main/BL/Type_PackagingPlanCapability/Attribute_DL_ZKM_Package.qbl                                                                           |    7 
 _Main/UI/MacroPlannerWebApp/Component_FormPackagingPlan/Component_pContent.def                                                               |   10 
 _Main/BL/Relations/Relation_PackagingPlanMaximumQuantity_MacroPlan_MacroPlan_PackagingPlanMaxim.qbl                                          |   23 
 _Main/BL/Type_PackagingPlanCell/Attribute_TransferIn.qbl                                                                                     |    8 
 _Main/BL/Relations/Relation_ShippingActualCell_ShippingActualRow_ShippingActualRow_ShippingActu.qbl                                          |   23 
 _Main/UI/MacroPlannerWebApp/Component_ApplicationMacroPlanner/Response_MacroPlanner_abgSecondDevelopmentPlan_bShippingActualData_OnClick.def |   16 
 _Main/BL/Type_ShiftDayTime/Attribute_Name.qbl                                                                                                |    7 
 _Main/BL/Type_ShippingActualData/_ROOT_Type_ShippingActualData.qbl                                                                           |   10 
 _Main/UI/MacroPlannerWebApp/Component_DialogPackagingPlanCapability/Component_p_DL_AGW12.def                                                 |   47 
 _Main/BL/Type_PackagingPlanCapability/Attribute_DL_ZKG_Package.qbl                                                                           |    7 
 _var/_Main/ProjSettings/EditorTC/Views/车道整班分析_[413988.0.1301140601].vw                                                                       |    2 
 _Main/UI/MacroPlannerWebApp/Component_DialogPackagingPlanLotSize/Component_pnlContent.def                                                    |   16 
 _Main/UI/MacroPlannerWebApp/Component_DialogCreateEditShiftDayTime/Method_New.def                                                            |   16 
 _Main/UI/MacroPlannerWebApp/Component_DialogPackagingPlanCapability/Component_p_DL_ZKG#502.def                                               |   47 
 _Main/BL/Type_ShippingActualData/StaticMethod_GenerateData.qbl                                                                               |   29 
 _Main/UI/MacroPlannerWebApp/Component_DialogPackagingPlanCapability/Component_p_CC_ZKG.def                                                   |   47 
 _Main/BL/Type_PackagingPlanCapability/Attribute_DL_KW_Unpacking.qbl                                                                          |    7 
 _Main/UI/MacroPlannerWebApp/Component_DialogPackagingPlanCapability/Response_pnlActions_btnOk_OnClick.def                                    |   16 
 _var/_Main/ProjSettings/EditorTC/Views/拆班次分析_[413988.0.1361110378].vw                                                                        |   59 
 _Main/UI/MacroPlannerWebApp/Component_DialogPackagingPlanCapability/Component_p_DL_ZKM.def                                                   |   47 
 _Main/UI/MacroPlannerWebApp/Component_StandardHoursReport/Response_pOperaction_cbComprehensiveHours_OnUserChanged.def                        |    4 
 _Main/BL/Type_PackagingPlanMaximumQuantity/Attribute_DL_ZKM.qbl                                                                              |    7 
 _Main/UI/MacroPlannerWebApp/Component_FormShippingActualData/Component_matrixEditorActionBarPageTable.def                                    |   10 
 _Main/UI/MacroPlannerWebApp/Component_StandardHoursReport/_ROOT_Component_PackagingPlanLotSizeDialog.def                                     |    2 
 _Main/BL/Relations/Relation_ShippingActualColumn_InterfaceDataset_InterfaceDataset_ShippingActu.qbl                                          |   23 
 _Main/BL/Type_PackagingPlanCapability/Attribute_CC_PL_Package#1.qbl                                                                          |    7 
 _Main/BL/Type_ShippingActualCell/_ROOT_Type_ShippingActualCell.qbl                                                                           |   10 
 _Main/BL/Type_PackagingPlanCapability/Attribute_DL_AGW3_Package#5.qbl                                                                        |    7 
 _Main/UI/MacroPlannerWebApp/Component_DialogPackagingPlanMaximumQuantity/Method_Open.def                                                     |   14 
 _Main/UI/MacroPlannerWebApp/Component_StandardHoursReport/Response_pOperaction_cbStandardHours_OnUserChanged.def                             |    4 
 _Main/BL/Relations/Relation_ShippingActualRow_InterfaceDataset_InterfaceDataset_ShippingActualR.qbl                                          |   23 
 _Main/BL/Type_PackagingPlanCell/_ROOT_Type_PackagingPlanCell.qbl                                                                             |    9 
 _Main/UI/MacroPlannerWebApp/Component_DialogCreateEditShiftDayTime/Response_pnlActions_btnCancel_OnClick.def                                 |   15 
 _Main/UI/MacroPlannerWebApp/Component_DialogPackagingPlanLotSize/_ROOT_Component_DialogPackagingPlanLotSize.def                              |   23 
 _Main/BL/Type_ShippingActualColumn/_ROOT_Type_ShippingActualColumn.qbl                                                                       |   10 
 _Main/UI/MacroPlannerWebApp/Component_DialogPackagingPlanLotSize/Response_pHeader_bAdd_OnClick.def                                           |   16 
 _Main/BL/Type_ShippingActualRow/_ROOT_Type_ShippingActualRow.qbl                                                                             |   10 
 _Main/BL/Type_ShippingActualData/Attribute_Fac.qbl                                                                                           |    8 
 _Main/UI/MacroPlannerWebApp/Component_DialogPackagingPlanMaximumQuantity/Component_pDL.def                                                   |   69 +
 _Main/BL/Type_PackagingPlanLotSize/Attribute_ProductID.qbl                                                                                   |    7 
 _Main/BL/Relations/Relation_ShippingActualData_InterfaceDataset_InterfaceDataset_ShippingActual.qbl                                          |   23 
 _Main/BL/Type_ShippingActualData/StaticMethod_GetRequestBody.qbl                                                                             |   15 
 _Main/UI/MacroPlannerWebApp/Component_FormShiftDayTime/Component_listContextMenuShiftDayTime.def                                             |   47 
 _Main/BL/Type_PackagingPlanMaximumQuantity/Attribute_DL_KW#2.qbl                                                                             |    7 
 _Main/UI/MacroPlannerWebApp/Component_FormPackagingPlan/_ROOT_Component_FormPackagingPlan.def                                                |   17 
 _Main/BL/Type_PackagingPlanCell/Attribute_PackagingInventory.qbl                                                                             |    8 
 _Main/UI/MacroPlannerWebApp/Component_DialogCreateEditShiftDayTime/_ROOT_Component_DialogCreateEditShiftDayTime.def                          |   31 
 _Main/UI/MacroPlannerWebApp/Component_FormShiftDayTime/Response_ListShiftDayTime_mEdit_OnClick.def                                           |   21 
 _Main/BL/Type_ShippingActualData/Attribute_Quantity.qbl                                                                                      |    7 
 _Main/UI/MacroPlannerWebApp/Component_ApplicationMacroPlanner/_ROOT_Component_ApplicationMacroPlanner.def                                    |   10 
 _Main/UI/MacroPlannerWebApp/Component_FormPackagingPlan/Response_pHeader_bMaximumQuantity_OnClick.def                                        |   27 
 _Main/BL/Relations/Relation_PackagingPlanCapability_MacroPlan_MacroPlan_PackagingPlanCapability.qbl                                          |   23 
 _Main/UI/MacroPlannerWebApp/Component_DialogCreateEditShiftDayTime/Response_pnlActions_btnOk_OnClick.def                                     |   16 
 _Main/BL/Type_ShippingActualData/Attribute_DDay.qbl                                                                                          |    8 
 _Main/BL/Type_PackagingPlanCapability/Attribute_DL_ZK_Unpacking.qbl                                                                          |    7 
 _Main/BL/Type_PackagingPlanLotSize/_ROOT_Type_PackagingPlanLotSize.qbl                                                                       |    9 
 _Main/BL/Type_ShippingActualCell/Attribute_Quantity.qbl                                                                                      |    7 
 _Main/UI/MacroPlannerWebApp/Component_DialogPackagingPlanCapability/Component_p_DL_PL.def                                                    |   47 
 _Main/UI/MacroPlannerWebApp/Component_FormShiftDayTime/Response_ListShiftDayTime_mNew_OnClick.def                                            |   23 
 _Main/BL/Relations/Relation_PackagingPlanColumn_MacroPlan_MacroPlan_PackagingPlanColumn.qbl                                                  |   23 
 _Main/BL/Relations/Relation_ShiftDayTime_ShiftDay_ShiftDay_ShiftDayTime.qbl                                                                  |   23 
 _Main/BL/Type_PackagingPlanCapability/Attribute_CC_ZKM_Package.qbl                                                                           |    7 
 _Main/UI/MacroPlannerWebApp/Views/Shipping_actual_data_view.vw                                                                               |   92 +
 _Main/BL/Type_PackagingPlanCapability/Attribute_CC_KW1_Package#2.qbl                                                                         |    7 
 _Main/BL/Type_PackagingPlanCell/Attribute_EndingInventory.qbl                                                                                |    8 
 _Main/UI/MacroPlannerWebApp/Component_DialogPackagingPlanLotSize/Component_pnlActions.def                                                    |   40 
 _Main/BL/Type_PackagingPlanMaximumQuantity/Attribute_CC_PL#6.qbl                                                                             |    7 
 _Main/BL/Type_PackagingPlanCapability/Attribute_CC_PL_Unpacking.qbl                                                                          |    7 
 _Main/BL/Type_PackagingPlanMaximumQuantity/Attribute_CC_ZKM#5.qbl                                                                            |    7 
 _Main/UI/MacroPlannerWebApp/Component_DialogPackagingPlanCapability/Component_p_CC_PL.def                                                    |   47 
 _Main/UI/MacroPlannerWebApp/Component_DialogPackagingPlanCapability/Response_pnlActions_btnCancel_OnClick.def                                |   15 
 _Main/BL/Type_PackagingPlanCapability/Attribute_DL_AGW12_Package#4.qbl                                                                       |    7 
 _Main/BL/Dataset_InterfaceDataset/Daemon_ShippingActualInterface.qbl                                                                         |   16 
 _Main/UI/MacroPlannerWebApp/Component_DialogPackagingPlanCapability/Component_p_CC_KW2.def                                                   |   47 
 _Main/BL/Type_ShiftDayTime/Attribute_Sequence.qbl                                                                                            |    7 
 _Main/BL/Type_ShippingActualData/StaticMethod_GetDefalutName.qbl                                                                             |   10 
 _Main/UI/MacroPlannerWebApp/Component_FormShiftDayTime/_ROOT_Component_FormShiftDayTime.def                                                  |   16 
 _Main/BL/Type_OfflinePlanCell/StaticMethod_RefreshOfflinePlan.qbl                                                                            |   38 
 _Main/BL/Type_PackagingPlanCapability/Attribute_DL_PL_Package#2.qbl                                                                          |    7 
 179 files changed, 4,058 insertions(+), 50 deletions(-)

diff --git a/_Main/BL/Dataset_InterfaceDataset/Daemon_ShippingActualInterface.qbl b/_Main/BL/Dataset_InterfaceDataset/Daemon_ShippingActualInterface.qbl
new file mode 100644
index 0000000..21e6039
--- /dev/null
+++ b/_Main/BL/Dataset_InterfaceDataset/Daemon_ShippingActualInterface.qbl
@@ -0,0 +1,16 @@
+Quintiq file version 2.0
+#parent: #root
+Daemon ShippingActualInterface
+{
+  Frequency: P1DT0H0M0S
+  Priority: 'Default'
+  StartDate: 2024-07-19
+  StartTimeOfDay: P0DT23H30M0S
+  Text:
+  [*
+    options := DatasetFindOptions::Construct( 'InterfaceDataset' ).IncludeOffline( true ); //to load we must search offline datasets.
+    mdskey := DatasetController::FindUnique( options );
+    
+    MDSInterfaceDataset::Root( mdskey ) -> ShippingActualData::Synchronize();
+  *]
+}
diff --git a/_Main/BL/Relations/Relation_PackagingPlanCapability_MacroPlan_MacroPlan_PackagingPlanCapability.qbl b/_Main/BL/Relations/Relation_PackagingPlanCapability_MacroPlan_MacroPlan_PackagingPlanCapability.qbl
new file mode 100644
index 0000000..74cacf9
--- /dev/null
+++ b/_Main/BL/Relations/Relation_PackagingPlanCapability_MacroPlan_MacroPlan_PackagingPlanCapability.qbl
@@ -0,0 +1,23 @@
+Quintiq file version 2.0
+#parent: #root
+Relation PackagingPlanCapability_MacroPlan_MacroPlan_PackagingPlanCapability
+{
+  #keys: '1[413988.0.1393320363]'
+  DefaultRelationStrategy
+  {
+  }
+  RelationSide.LeftSide MacroPlan
+  {
+    #keys: '3[413988.0.1393320365][413988.0.1393320364][413988.0.1393320366]'
+    Cardinality: '0to1'
+    ObjectDefinition: PackagingPlanCapability
+    OwningSide: 'Reference'
+  }
+  RelationSide.RightSide PackagingPlanCapability
+  {
+    #keys: '3[413988.0.1393320368][413988.0.1393320367][413988.0.1393320369]'
+    Cardinality: '0to1'
+    ObjectDefinition: MacroPlan
+    OwningSide: 'Owned'
+  }
+}
diff --git a/_Main/BL/Relations/Relation_PackagingPlanColumn_MacroPlan_MacroPlan_PackagingPlanColumn.qbl b/_Main/BL/Relations/Relation_PackagingPlanColumn_MacroPlan_MacroPlan_PackagingPlanColumn.qbl
new file mode 100644
index 0000000..fca9b77
--- /dev/null
+++ b/_Main/BL/Relations/Relation_PackagingPlanColumn_MacroPlan_MacroPlan_PackagingPlanColumn.qbl
@@ -0,0 +1,23 @@
+Quintiq file version 2.0
+#parent: #root
+Relation PackagingPlanColumn_MacroPlan_MacroPlan_PackagingPlanColumn
+{
+  #keys: '1[413988.0.1393320074]'
+  DefaultRelationStrategy
+  {
+  }
+  RelationSide.LeftSide MacroPlan
+  {
+    #keys: '3[413988.0.1393320076][413988.0.1393320075][413988.0.1393320077]'
+    Cardinality: '0to1'
+    ObjectDefinition: PackagingPlanColumn
+    OwningSide: 'Reference'
+  }
+  RelationSide.RightSide PackagingPlanColumn
+  {
+    #keys: '3[413988.0.1393320079][413988.0.1393320078][413988.0.1393320080]'
+    Cardinality: '1toN'
+    ObjectDefinition: MacroPlan
+    OwningSide: 'Owned'
+  }
+}
diff --git a/_Main/BL/Relations/Relation_PackagingPlanColumn_PackagingPlanCell_PackagingPlanCell_PackagingPl.qbl b/_Main/BL/Relations/Relation_PackagingPlanColumn_PackagingPlanCell_PackagingPlanCell_PackagingPl.qbl
new file mode 100644
index 0000000..0aa717e
--- /dev/null
+++ b/_Main/BL/Relations/Relation_PackagingPlanColumn_PackagingPlanCell_PackagingPlanCell_PackagingPl.qbl
@@ -0,0 +1,23 @@
+Quintiq file version 2.0
+#parent: #root
+Relation PackagingPlanColumn_PackagingPlanCell_PackagingPlanCell_PackagingPlanColumn
+{
+  #keys: '1[413988.0.1393320089]'
+  DefaultRelationStrategy
+  {
+  }
+  RelationSide.LeftSide PackagingPlanCell
+  {
+    #keys: '3[413988.0.1393320091][413988.0.1393320090][413988.0.1393320092]'
+    Cardinality: '1toN'
+    ObjectDefinition: PackagingPlanColumn
+    OwningSide: 'Reference'
+  }
+  RelationSide.RightSide PackagingPlanColumn
+  {
+    #keys: '3[413988.0.1393320094][413988.0.1393320093][413988.0.1393320095]'
+    Cardinality: '0to1'
+    ObjectDefinition: PackagingPlanCell
+    OwningSide: 'Reference'
+  }
+}
diff --git a/_Main/BL/Relations/Relation_PackagingPlanLotSize_MacroPlan_MacroPlan_PackagingPlanLotSize.qbl b/_Main/BL/Relations/Relation_PackagingPlanLotSize_MacroPlan_MacroPlan_PackagingPlanLotSize.qbl
new file mode 100644
index 0000000..30b0988
--- /dev/null
+++ b/_Main/BL/Relations/Relation_PackagingPlanLotSize_MacroPlan_MacroPlan_PackagingPlanLotSize.qbl
@@ -0,0 +1,23 @@
+Quintiq file version 2.0
+#parent: #root
+Relation PackagingPlanLotSize_MacroPlan_MacroPlan_PackagingPlanLotSize
+{
+  #keys: '1[413988.0.1393320310]'
+  DefaultRelationStrategy
+  {
+  }
+  RelationSide.LeftSide MacroPlan
+  {
+    #keys: '3[413988.0.1393320312][413988.0.1393320311][413988.0.1393320313]'
+    Cardinality: '0to1'
+    ObjectDefinition: PackagingPlanLotSize
+    OwningSide: 'Reference'
+  }
+  RelationSide.RightSide PackagingPlanLotSize
+  {
+    #keys: '3[413988.0.1393320315][413988.0.1393320314][413988.0.1393320316]'
+    Cardinality: '1toN'
+    ObjectDefinition: MacroPlan
+    OwningSide: 'Owned'
+  }
+}
diff --git a/_Main/BL/Relations/Relation_PackagingPlanMaximumQuantity_MacroPlan_MacroPlan_PackagingPlanMaxim.qbl b/_Main/BL/Relations/Relation_PackagingPlanMaximumQuantity_MacroPlan_MacroPlan_PackagingPlanMaxim.qbl
new file mode 100644
index 0000000..1e2eb5c
--- /dev/null
+++ b/_Main/BL/Relations/Relation_PackagingPlanMaximumQuantity_MacroPlan_MacroPlan_PackagingPlanMaxim.qbl
@@ -0,0 +1,23 @@
+Quintiq file version 2.0
+#parent: #root
+Relation PackagingPlanMaximumQuantity_MacroPlan_MacroPlan_PackagingPlanMaximumQuantity
+{
+  #keys: '1[413988.0.1393320214]'
+  DefaultRelationStrategy
+  {
+  }
+  RelationSide.LeftSide MacroPlan
+  {
+    #keys: '3[413988.0.1393320216][413988.0.1393320215][413988.0.1393320217]'
+    Cardinality: '0to1'
+    ObjectDefinition: PackagingPlanMaximumQuantity
+    OwningSide: 'Reference'
+  }
+  RelationSide.RightSide PackagingPlanMaximumQuantity
+  {
+    #keys: '3[413988.0.1393320219][413988.0.1393320218][413988.0.1393320220]'
+    Cardinality: '0to1'
+    ObjectDefinition: MacroPlan
+    OwningSide: 'Owned'
+  }
+}
diff --git a/_Main/BL/Relations/Relation_PackagingPlanRow_MacroPlan_MacroPlan_PackagingPlanRow.qbl b/_Main/BL/Relations/Relation_PackagingPlanRow_MacroPlan_MacroPlan_PackagingPlanRow.qbl
new file mode 100644
index 0000000..9198c54
--- /dev/null
+++ b/_Main/BL/Relations/Relation_PackagingPlanRow_MacroPlan_MacroPlan_PackagingPlanRow.qbl
@@ -0,0 +1,23 @@
+Quintiq file version 2.0
+#parent: #root
+Relation PackagingPlanRow_MacroPlan_MacroPlan_PackagingPlanRow
+{
+  #keys: '1[413988.0.1393320034]'
+  DefaultRelationStrategy
+  {
+  }
+  RelationSide.LeftSide MacroPlan
+  {
+    #keys: '3[413988.0.1393320036][413988.0.1393320035][413988.0.1393320037]'
+    Cardinality: '0to1'
+    ObjectDefinition: PackagingPlanRow
+    OwningSide: 'Reference'
+  }
+  RelationSide.RightSide PackagingPlanRow
+  {
+    #keys: '3[413988.0.1393320039][413988.0.1393320038][413988.0.1393320040]'
+    Cardinality: '1toN'
+    ObjectDefinition: MacroPlan
+    OwningSide: 'Owned'
+  }
+}
diff --git a/_Main/BL/Relations/Relation_PackagingPlanRow_PackagingPlanCell_PackagingPlanCell_PackagingPlanR.qbl b/_Main/BL/Relations/Relation_PackagingPlanRow_PackagingPlanCell_PackagingPlanCell_PackagingPlanR.qbl
new file mode 100644
index 0000000..5ce8e77
--- /dev/null
+++ b/_Main/BL/Relations/Relation_PackagingPlanRow_PackagingPlanCell_PackagingPlanCell_PackagingPlanR.qbl
@@ -0,0 +1,23 @@
+Quintiq file version 2.0
+#parent: #root
+Relation PackagingPlanRow_PackagingPlanCell_PackagingPlanCell_PackagingPlanRow
+{
+  #keys: '1[413988.0.1393320049]'
+  DefaultRelationStrategy
+  {
+  }
+  RelationSide.LeftSide PackagingPlanCell
+  {
+    #keys: '3[413988.0.1393320051][413988.0.1393320050][413988.0.1393320052]'
+    Cardinality: '1toN'
+    ObjectDefinition: PackagingPlanRow
+    OwningSide: 'Owned'
+  }
+  RelationSide.RightSide PackagingPlanRow
+  {
+    #keys: '3[413988.0.1393320054][413988.0.1393320053][413988.0.1393320055]'
+    Cardinality: '0to1'
+    ObjectDefinition: PackagingPlanCell
+    OwningSide: 'Reference'
+  }
+}
diff --git a/_Main/BL/Relations/Relation_ShiftDayTime_ShiftDay_ShiftDay_ShiftDayTime.qbl b/_Main/BL/Relations/Relation_ShiftDayTime_ShiftDay_ShiftDay_ShiftDayTime.qbl
new file mode 100644
index 0000000..cd9cd96
--- /dev/null
+++ b/_Main/BL/Relations/Relation_ShiftDayTime_ShiftDay_ShiftDay_ShiftDayTime.qbl
@@ -0,0 +1,23 @@
+Quintiq file version 2.0
+#parent: #root
+Relation ShiftDayTime_ShiftDay_ShiftDay_ShiftDayTime
+{
+  #keys: '1[413988.0.1371171483]'
+  DefaultRelationStrategy
+  {
+  }
+  RelationSide.LeftSide ShiftDay
+  {
+    #keys: '3[413988.0.1371171485][413988.0.1371171484][413988.0.1371171486]'
+    Cardinality: '0to1'
+    ObjectDefinition: ShiftDayTime
+    OwningSide: 'Reference'
+  }
+  RelationSide.RightSide ShiftDayTime
+  {
+    #keys: '3[413988.0.1371171488][413988.0.1371171487][413988.0.1371171489]'
+    Cardinality: '1toN'
+    ObjectDefinition: ShiftDay
+    OwningSide: 'Owned'
+  }
+}
diff --git a/_Main/BL/Relations/Relation_ShippingActualCell_ShippingActualColumn_ShippingActualColumn_Shippi.qbl b/_Main/BL/Relations/Relation_ShippingActualCell_ShippingActualColumn_ShippingActualColumn_Shippi.qbl
new file mode 100644
index 0000000..66cccdd
--- /dev/null
+++ b/_Main/BL/Relations/Relation_ShippingActualCell_ShippingActualColumn_ShippingActualColumn_Shippi.qbl
@@ -0,0 +1,23 @@
+Quintiq file version 2.0
+#parent: #root
+Relation ShippingActualCell_ShippingActualColumn_ShippingActualColumn_ShippingActualCell
+{
+  #keys: '1[415136.0.904040097]'
+  DefaultRelationStrategy
+  {
+  }
+  RelationSide.LeftSide ShippingActualColumn
+  {
+    #keys: '3[415136.0.904040099][415136.0.904040098][415136.0.904040100]'
+    Cardinality: '0to1'
+    ObjectDefinition: ShippingActualCell
+    OwningSide: 'Reference'
+  }
+  RelationSide.RightSide ShippingActualCell
+  {
+    #keys: '3[415136.0.904040102][415136.0.904040101][415136.0.904040103]'
+    Cardinality: '1toN'
+    ObjectDefinition: ShippingActualColumn
+    OwningSide: 'Reference'
+  }
+}
diff --git a/_Main/BL/Relations/Relation_ShippingActualCell_ShippingActualRow_ShippingActualRow_ShippingActu.qbl b/_Main/BL/Relations/Relation_ShippingActualCell_ShippingActualRow_ShippingActualRow_ShippingActu.qbl
new file mode 100644
index 0000000..a39c361
--- /dev/null
+++ b/_Main/BL/Relations/Relation_ShippingActualCell_ShippingActualRow_ShippingActualRow_ShippingActu.qbl
@@ -0,0 +1,23 @@
+Quintiq file version 2.0
+#parent: #root
+Relation ShippingActualCell_ShippingActualRow_ShippingActualRow_ShippingActualCell
+{
+  #keys: '1[415136.0.904040084]'
+  DefaultRelationStrategy
+  {
+  }
+  RelationSide.LeftSide ShippingActualRow
+  {
+    #keys: '3[415136.0.904040086][415136.0.904040085][415136.0.904040087]'
+    Cardinality: '0to1'
+    ObjectDefinition: ShippingActualCell
+    OwningSide: 'Reference'
+  }
+  RelationSide.RightSide ShippingActualCell
+  {
+    #keys: '3[415136.0.904040089][415136.0.904040088][415136.0.904040090]'
+    Cardinality: '1toN'
+    ObjectDefinition: ShippingActualRow
+    OwningSide: 'Owned'
+  }
+}
diff --git a/_Main/BL/Relations/Relation_ShippingActualColumn_InterfaceDataset_InterfaceDataset_ShippingActu.qbl b/_Main/BL/Relations/Relation_ShippingActualColumn_InterfaceDataset_InterfaceDataset_ShippingActu.qbl
new file mode 100644
index 0000000..775e3fb
--- /dev/null
+++ b/_Main/BL/Relations/Relation_ShippingActualColumn_InterfaceDataset_InterfaceDataset_ShippingActu.qbl
@@ -0,0 +1,23 @@
+Quintiq file version 2.0
+#parent: #root
+Relation ShippingActualColumn_InterfaceDataset_InterfaceDataset_ShippingActualColumn
+{
+  #keys: '1[415136.0.904040009]'
+  DefaultRelationStrategy
+  {
+  }
+  RelationSide.LeftSide InterfaceDataset
+  {
+    #keys: '3[415136.0.904040011][415136.0.904040010][415136.0.904040012]'
+    Cardinality: '0to1'
+    ObjectDefinition: ShippingActualColumn
+    OwningSide: 'Reference'
+  }
+  RelationSide.RightSide ShippingActualColumn
+  {
+    #keys: '3[415136.0.904040014][415136.0.904040013][415136.0.904040015]'
+    Cardinality: '1toN'
+    ObjectDefinition: InterfaceDataset
+    OwningSide: 'Owned'
+  }
+}
diff --git a/_Main/BL/Relations/Relation_ShippingActualData_InterfaceDataset_InterfaceDataset_ShippingActual.qbl b/_Main/BL/Relations/Relation_ShippingActualData_InterfaceDataset_InterfaceDataset_ShippingActual.qbl
new file mode 100644
index 0000000..92a820d
--- /dev/null
+++ b/_Main/BL/Relations/Relation_ShippingActualData_InterfaceDataset_InterfaceDataset_ShippingActual.qbl
@@ -0,0 +1,23 @@
+Quintiq file version 2.0
+#parent: #root
+Relation ShippingActualData_InterfaceDataset_InterfaceDataset_ShippingActualData
+{
+  #keys: '1[415136.0.904000041]'
+  DefaultRelationStrategy
+  {
+  }
+  RelationSide.LeftSide InterfaceDataset
+  {
+    #keys: '3[415136.0.904000043][415136.0.904000042][415136.0.904000044]'
+    Cardinality: '0to1'
+    ObjectDefinition: ShippingActualData
+    OwningSide: 'Reference'
+  }
+  RelationSide.RightSide ShippingActualData
+  {
+    #keys: '3[415136.0.904000046][415136.0.904000045][415136.0.904000047]'
+    Cardinality: '1toN'
+    ObjectDefinition: InterfaceDataset
+    OwningSide: 'Owned'
+  }
+}
diff --git a/_Main/BL/Relations/Relation_ShippingActualRow_InterfaceDataset_InterfaceDataset_ShippingActualR.qbl b/_Main/BL/Relations/Relation_ShippingActualRow_InterfaceDataset_InterfaceDataset_ShippingActualR.qbl
new file mode 100644
index 0000000..5bef969
--- /dev/null
+++ b/_Main/BL/Relations/Relation_ShippingActualRow_InterfaceDataset_InterfaceDataset_ShippingActualR.qbl
@@ -0,0 +1,23 @@
+Quintiq file version 2.0
+#parent: #root
+Relation ShippingActualRow_InterfaceDataset_InterfaceDataset_ShippingActualRow
+{
+  #keys: '1[415136.0.904040037]'
+  DefaultRelationStrategy
+  {
+  }
+  RelationSide.LeftSide InterfaceDataset
+  {
+    #keys: '3[415136.0.904040039][415136.0.904040038][415136.0.904040040]'
+    Cardinality: '0to1'
+    ObjectDefinition: ShippingActualRow
+    OwningSide: 'Reference'
+  }
+  RelationSide.RightSide ShippingActualRow
+  {
+    #keys: '3[415136.0.904040042][415136.0.904040041][415136.0.904040043]'
+    Cardinality: '1toN'
+    ObjectDefinition: InterfaceDataset
+    OwningSide: 'Owned'
+  }
+}
diff --git a/_Main/BL/Type_InterfaceDataset/StaticMethod_GetResponseJsonData.qbl b/_Main/BL/Type_InterfaceDataset/StaticMethod_GetResponseJsonData.qbl
new file mode 100644
index 0000000..776c99f
--- /dev/null
+++ b/_Main/BL/Type_InterfaceDataset/StaticMethod_GetResponseJsonData.qbl
@@ -0,0 +1,16 @@
+Quintiq file version 2.0
+#parent: #root
+StaticMethod GetResponseJsonData (
+  String result
+) as owning JSON
+{
+  TextBody:
+  [*
+    // 鐢勫叞楦� Jul-17-2024 (created)
+    resultJson     := JSON::Parse( result );
+    //returnsuccess  := resultJson.Get( "success");
+    //msg            := resultJson.Get( "msg");
+    data           := resultJson.Get( "data");
+    return &data;
+  *]
+}
diff --git a/_Main/BL/Type_OfflinePlanCell/StaticMethod_RefreshOfflinePlan.qbl b/_Main/BL/Type_OfflinePlanCell/StaticMethod_RefreshOfflinePlan.qbl
index 75941d4..e21f43c 100644
--- a/_Main/BL/Type_OfflinePlanCell/StaticMethod_RefreshOfflinePlan.qbl
+++ b/_Main/BL/Type_OfflinePlanCell/StaticMethod_RefreshOfflinePlan.qbl
@@ -11,7 +11,7 @@
     opt := macroPlan.OfflinePlanTable( relnew, SaveDateTime := DateTime::ActualTime() );
     
     // 鐢熸垚涓嬬嚎璁″垝琛�
-    traverse ( macroPlan, Unit, u, u.HasCapacityTypeTime() /*and u.Name() = "Spider Assy Line 1"*/ ) {
+    traverse ( macroPlan, Unit, u, u.HasCapacityTypeTime() /*and u.Name() = "Body in White Line 1"*/ ) {
       // 鍒涘缓浜х嚎琛�
       opt.OfflinePlanRow( relnew, ProductionLine := u.ID(), ProductID := "", Type := "0" );
       
@@ -45,6 +45,10 @@
       opt.OfflinePlanRow( relnew, ProductionLine := u.ID(), ProductID := "Z", Type := "3" );
       // 鍒涘缓鐝琛�
       opt.OfflinePlanRow( relnew, ProductionLine := u.ID(), ProductID := "Z", Type := "4" );
+      // 鍒涘缓鐝寮�濮嬫椂闂磋
+      opt.OfflinePlanRow( relnew, ProductionLine := u.ID(), ProductID := "Z", Type := "5" );
+      // 鍒涘缓鐝缁撴潫鏃堕棿琛�
+      opt.OfflinePlanRow( relnew, ProductionLine := u.ID(), ProductID := "Z", Type := "6" );
     }
     
     // 鍒涘缓浜у搧鍒�&绫诲瀷鍒�
@@ -70,12 +74,20 @@
       } else if ( opr.Type() = "4" ) {
         shiftCell := typeOPC.OfflinePlanCell( relnew, Value :=  "鐝" );
         shiftCell.OfflinePlanRow( relset, opr );
+      } else if ( opr.Type() = "5" ) {
+        shiftStartDateCell := typeOPC.OfflinePlanCell( relnew, Value :=  "鐝寮�濮嬫椂闂�" );
+        shiftStartDateCell.OfflinePlanRow( relset, opr );
+      } else if ( opr.Type() = "6" ) {
+        shiftEndDateCell := typeOPC.OfflinePlanCell( relnew, Value :=  "鐝缁撴潫鏃堕棿" );
+        shiftEndDateCell.OfflinePlanRow( relset, opr );
       }
     }
     
-    // 琛ュ叏鎬婚噺鍜岀彮娆�
-    totalOPRs := selectset( opt, OfflinePlanRow, tempOPR, tempOPR.Type() = "3" );
-    shiftOPRs := selectset( opt, OfflinePlanRow, tempOPR, tempOPR.Type() = "4" );
+    // 琛ュ叏鎬婚噺&鐝&鐝寮�濮嬫椂闂�&鐝缁撴潫鏃堕棿
+    totalOPRs          := selectset( opt, OfflinePlanRow, tempOPR, tempOPR.Type() = "3" );
+    shiftOPRs          := selectset( opt, OfflinePlanRow, tempOPR, tempOPR.Type() = "4" );
+    shiftStartDateOPRs := selectset( opt, OfflinePlanRow, tempOPR, tempOPR.Type() = "5" );
+    shiftEndDateOPRs   := selectset( opt, OfflinePlanRow, tempOPR, tempOPR.Type() = "6" );
     traverse ( opt, OfflinePlanColumn, opc, opc.OfflinePlanCell( relsize ) > 0 and opc.ColumnDate() >= macroPlan.StartOfPlanning().Date() ) {
       traverse ( totalOPRs, Elements, totalOPR ) {
         total     := sum( opc, OfflinePlanCell, tempOPC, tempOPC.OfflinePlanRow().ProductionLine() = totalOPR.ProductionLine() and tempOPC.OfflinePlanRow().Type() = "1", [Real]tempOPC.Value() );
@@ -90,6 +102,24 @@
           shiftCell.OfflinePlanRow( relset, shiftOPR );
         }
       }
+      
+      traverse ( shiftStartDateOPRs, Elements, ssdOPR ) {
+        shift := select( opc, OfflinePlanCell, tempOPC, tempOPC.OfflinePlanRow().ProductionLine() = ssdOPR.ProductionLine() and tempOPC.OfflinePlanRow().Type() = "1" ); 
+        if ( not isnull( shift ) ) {
+          startDate     := guard( minselect( macroPlan, ShiftPattern.ShiftDay.ShiftDayTime, tempSDT, tempSDT.ShiftDay().ShiftPatternName() = shift.Shift(), tempSDT.Sequence() ).StartDateTime().Format( "H:m" ), "" );
+          startDateCell := opc.OfflinePlanCell( relnew, Value := startDate );
+          startDateCell.OfflinePlanRow( relset, ssdOPR );
+        }
+      }
+      
+      traverse ( shiftEndDateOPRs, Elements, sedOPR ) {
+        shift := select( opc, OfflinePlanCell, tempOPC, tempOPC.OfflinePlanRow().ProductionLine() = sedOPR.ProductionLine() and tempOPC.OfflinePlanRow().Type() = "1" ); 
+        if ( not isnull( shift ) ) {
+          endDate     := guard( maxselect( macroPlan, ShiftPattern.ShiftDay.ShiftDayTime, tempSDT, tempSDT.ShiftDay().ShiftPatternName() = shift.Shift(), tempSDT.Sequence() ).EndDateTIme().Format( "H:m" ), "" );
+          endDateCell := opc.OfflinePlanCell( relnew, Value := endDate );
+          endDateCell.OfflinePlanRow( relset, sedOPR );
+        }
+      }
     }
     
     // 琛ュ叏鏃堕棿鍒�
diff --git a/_Main/BL/Type_OfflinePlanRow/Attribute_Type.qbl b/_Main/BL/Type_OfflinePlanRow/Attribute_Type.qbl
index 491fe54..ad7cd48 100644
--- a/_Main/BL/Type_OfflinePlanRow/Attribute_Type.qbl
+++ b/_Main/BL/Type_OfflinePlanRow/Attribute_Type.qbl
@@ -5,11 +5,13 @@
   #keys: '3[413988.0.1295121717][413988.0.1295121716][413988.0.1295121718]'
   Description:
   [*
-    浜х嚎鍚嶈    锛�0
-    Quantity琛岋細1
-    Order琛�     锛�2
-    鍚堣琛�        锛�3
-    鐝琛�        锛�4
+    浜х嚎鍚嶈    	 锛�0
+    Quantity琛�	 锛�1
+    Order琛�     	 锛�2
+    鍚堣琛�        	 锛�3
+    鐝琛�        	 锛�4
+    鐝寮�濮嬫椂闂达細5
+    鐝缁撴潫鏃堕棿锛�6
   *]
   ValueType: String
 }
diff --git "a/_Main/BL/Type_PackagingPlanCapability/Attribute_CC_KW1_Package\0432.qbl" "b/_Main/BL/Type_PackagingPlanCapability/Attribute_CC_KW1_Package\0432.qbl"
new file mode 100644
index 0000000..d02d839
--- /dev/null
+++ "b/_Main/BL/Type_PackagingPlanCapability/Attribute_CC_KW1_Package\0432.qbl"
@@ -0,0 +1,7 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute CC_KW1_Package
+{
+  #keys: '3[413988.0.1393320531][413988.0.1393320530][413988.0.1393320532]'
+  ValueType: Number
+}
diff --git a/_Main/BL/Type_PackagingPlanCapability/Attribute_CC_KW1_Unpacking.qbl b/_Main/BL/Type_PackagingPlanCapability/Attribute_CC_KW1_Unpacking.qbl
new file mode 100644
index 0000000..5a1fe7b
--- /dev/null
+++ b/_Main/BL/Type_PackagingPlanCapability/Attribute_CC_KW1_Unpacking.qbl
@@ -0,0 +1,7 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute CC_KW1_Unpacking
+{
+  #keys: '3[413988.0.1393320551][413988.0.1393320550][413988.0.1393320552]'
+  ValueType: Number
+}
diff --git "a/_Main/BL/Type_PackagingPlanCapability/Attribute_CC_KW2_Package\0433.qbl" "b/_Main/BL/Type_PackagingPlanCapability/Attribute_CC_KW2_Package\0433.qbl"
new file mode 100644
index 0000000..efed2fa
--- /dev/null
+++ "b/_Main/BL/Type_PackagingPlanCapability/Attribute_CC_KW2_Package\0433.qbl"
@@ -0,0 +1,7 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute CC_KW2_Package
+{
+  #keys: '3[413988.0.1393320535][413988.0.1393320534][413988.0.1393320536]'
+  ValueType: Number
+}
diff --git a/_Main/BL/Type_PackagingPlanCapability/Attribute_CC_KW2_Unpacking.qbl b/_Main/BL/Type_PackagingPlanCapability/Attribute_CC_KW2_Unpacking.qbl
new file mode 100644
index 0000000..cab90a1
--- /dev/null
+++ b/_Main/BL/Type_PackagingPlanCapability/Attribute_CC_KW2_Unpacking.qbl
@@ -0,0 +1,7 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute CC_KW2_Unpacking
+{
+  #keys: '3[413988.0.1393320558][413988.0.1393320557][413988.0.1393320559]'
+  ValueType: Number
+}
diff --git "a/_Main/BL/Type_PackagingPlanCapability/Attribute_CC_PL_Package\0431.qbl" "b/_Main/BL/Type_PackagingPlanCapability/Attribute_CC_PL_Package\0431.qbl"
new file mode 100644
index 0000000..2e2ec9b
--- /dev/null
+++ "b/_Main/BL/Type_PackagingPlanCapability/Attribute_CC_PL_Package\0431.qbl"
@@ -0,0 +1,7 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute CC_PL_Package
+{
+  #keys: '3[413988.0.1393320527][413988.0.1393320526][413988.0.1393320528]'
+  ValueType: Number
+}
diff --git a/_Main/BL/Type_PackagingPlanCapability/Attribute_CC_PL_Unpacking.qbl b/_Main/BL/Type_PackagingPlanCapability/Attribute_CC_PL_Unpacking.qbl
new file mode 100644
index 0000000..103dc2c
--- /dev/null
+++ b/_Main/BL/Type_PackagingPlanCapability/Attribute_CC_PL_Unpacking.qbl
@@ -0,0 +1,7 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute CC_PL_Unpacking
+{
+  #keys: '3[413988.0.1393320565][413988.0.1393320564][413988.0.1393320566]'
+  ValueType: Number
+}
diff --git a/_Main/BL/Type_PackagingPlanCapability/Attribute_CC_ZKG_Package.qbl b/_Main/BL/Type_PackagingPlanCapability/Attribute_CC_ZKG_Package.qbl
new file mode 100644
index 0000000..fe58dc2
--- /dev/null
+++ b/_Main/BL/Type_PackagingPlanCapability/Attribute_CC_ZKG_Package.qbl
@@ -0,0 +1,7 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute CC_ZKG_Package
+{
+  #keys: '3[413988.0.1393320513][413988.0.1393320512][413988.0.1393320514]'
+  ValueType: Number
+}
diff --git a/_Main/BL/Type_PackagingPlanCapability/Attribute_CC_ZKG_Unpacking.qbl b/_Main/BL/Type_PackagingPlanCapability/Attribute_CC_ZKG_Unpacking.qbl
new file mode 100644
index 0000000..1a4f266
--- /dev/null
+++ b/_Main/BL/Type_PackagingPlanCapability/Attribute_CC_ZKG_Unpacking.qbl
@@ -0,0 +1,7 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute CC_ZKG_Unpacking
+{
+  #keys: '3[413988.0.1393320572][413988.0.1393320571][413988.0.1393320573]'
+  ValueType: Number
+}
diff --git a/_Main/BL/Type_PackagingPlanCapability/Attribute_CC_ZKM_Package.qbl b/_Main/BL/Type_PackagingPlanCapability/Attribute_CC_ZKM_Package.qbl
new file mode 100644
index 0000000..ac91d0a
--- /dev/null
+++ b/_Main/BL/Type_PackagingPlanCapability/Attribute_CC_ZKM_Package.qbl
@@ -0,0 +1,7 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute CC_ZKM_Package
+{
+  #keys: '3[413988.0.1393320523][413988.0.1393320522][413988.0.1393320524]'
+  ValueType: Number
+}
diff --git a/_Main/BL/Type_PackagingPlanCapability/Attribute_CC_ZKM_Unpacking.qbl b/_Main/BL/Type_PackagingPlanCapability/Attribute_CC_ZKM_Unpacking.qbl
new file mode 100644
index 0000000..6159947
--- /dev/null
+++ b/_Main/BL/Type_PackagingPlanCapability/Attribute_CC_ZKM_Unpacking.qbl
@@ -0,0 +1,7 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute CC_ZKM_Unpacking
+{
+  #keys: '3[413988.0.1393320579][413988.0.1393320578][413988.0.1393320580]'
+  ValueType: Number
+}
diff --git "a/_Main/BL/Type_PackagingPlanCapability/Attribute_DL_AGW12_Package\0434.qbl" "b/_Main/BL/Type_PackagingPlanCapability/Attribute_DL_AGW12_Package\0434.qbl"
new file mode 100644
index 0000000..88e8f2e
--- /dev/null
+++ "b/_Main/BL/Type_PackagingPlanCapability/Attribute_DL_AGW12_Package\0434.qbl"
@@ -0,0 +1,7 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute DL_AGW12_Package
+{
+  #keys: '3[413988.0.1393320408][413988.0.1393320407][413988.0.1393320409]'
+  ValueType: Number
+}
diff --git a/_Main/BL/Type_PackagingPlanCapability/Attribute_DL_AGW12_Unpacking.qbl b/_Main/BL/Type_PackagingPlanCapability/Attribute_DL_AGW12_Unpacking.qbl
new file mode 100644
index 0000000..9e4b163
--- /dev/null
+++ b/_Main/BL/Type_PackagingPlanCapability/Attribute_DL_AGW12_Unpacking.qbl
@@ -0,0 +1,7 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute DL_AGW12_Unpacking
+{
+  #keys: '3[413988.0.1393320464][413988.0.1393320463][413988.0.1393320465]'
+  ValueType: Number
+}
diff --git "a/_Main/BL/Type_PackagingPlanCapability/Attribute_DL_AGW3_Package\0435.qbl" "b/_Main/BL/Type_PackagingPlanCapability/Attribute_DL_AGW3_Package\0435.qbl"
new file mode 100644
index 0000000..ebafe11
--- /dev/null
+++ "b/_Main/BL/Type_PackagingPlanCapability/Attribute_DL_AGW3_Package\0435.qbl"
@@ -0,0 +1,7 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute DL_AGW3_Package
+{
+  #keys: '3[413988.0.1393320412][413988.0.1393320411][413988.0.1393320413]'
+  ValueType: Number
+}
diff --git a/_Main/BL/Type_PackagingPlanCapability/Attribute_DL_AGW3_Unpacking.qbl b/_Main/BL/Type_PackagingPlanCapability/Attribute_DL_AGW3_Unpacking.qbl
new file mode 100644
index 0000000..a93016d
--- /dev/null
+++ b/_Main/BL/Type_PackagingPlanCapability/Attribute_DL_AGW3_Unpacking.qbl
@@ -0,0 +1,7 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute DL_AGW3_Unpacking
+{
+  #keys: '3[413988.0.1393320471][413988.0.1393320470][413988.0.1393320472]'
+  ValueType: Number
+}
diff --git "a/_Main/BL/Type_PackagingPlanCapability/Attribute_DL_KW_Package\0433.qbl" "b/_Main/BL/Type_PackagingPlanCapability/Attribute_DL_KW_Package\0433.qbl"
new file mode 100644
index 0000000..8c632f0
--- /dev/null
+++ "b/_Main/BL/Type_PackagingPlanCapability/Attribute_DL_KW_Package\0433.qbl"
@@ -0,0 +1,7 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute DL_KW_Package
+{
+  #keys: '3[413988.0.1393320404][413988.0.1393320403][413988.0.1393320405]'
+  ValueType: Number
+}
diff --git a/_Main/BL/Type_PackagingPlanCapability/Attribute_DL_KW_Unpacking.qbl b/_Main/BL/Type_PackagingPlanCapability/Attribute_DL_KW_Unpacking.qbl
new file mode 100644
index 0000000..cb646ff
--- /dev/null
+++ b/_Main/BL/Type_PackagingPlanCapability/Attribute_DL_KW_Unpacking.qbl
@@ -0,0 +1,7 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute DL_KW_Unpacking
+{
+  #keys: '3[413988.0.1393320478][413988.0.1393320477][413988.0.1393320479]'
+  ValueType: Number
+}
diff --git "a/_Main/BL/Type_PackagingPlanCapability/Attribute_DL_PL_Package\0432.qbl" "b/_Main/BL/Type_PackagingPlanCapability/Attribute_DL_PL_Package\0432.qbl"
new file mode 100644
index 0000000..f0b71f5
--- /dev/null
+++ "b/_Main/BL/Type_PackagingPlanCapability/Attribute_DL_PL_Package\0432.qbl"
@@ -0,0 +1,7 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute DL_PL_Package
+{
+  #keys: '3[413988.0.1393320400][413988.0.1393320399][413988.0.1393320401]'
+  ValueType: Number
+}
diff --git a/_Main/BL/Type_PackagingPlanCapability/Attribute_DL_PL_Unpacking.qbl b/_Main/BL/Type_PackagingPlanCapability/Attribute_DL_PL_Unpacking.qbl
new file mode 100644
index 0000000..81ce2a7
--- /dev/null
+++ b/_Main/BL/Type_PackagingPlanCapability/Attribute_DL_PL_Unpacking.qbl
@@ -0,0 +1,7 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute DL_PL_Unpacking
+{
+  #keys: '3[413988.0.1393320485][413988.0.1393320484][413988.0.1393320486]'
+  ValueType: Number
+}
diff --git a/_Main/BL/Type_PackagingPlanCapability/Attribute_DL_ZKG_Package.qbl b/_Main/BL/Type_PackagingPlanCapability/Attribute_DL_ZKG_Package.qbl
new file mode 100644
index 0000000..3b25bc2
--- /dev/null
+++ b/_Main/BL/Type_PackagingPlanCapability/Attribute_DL_ZKG_Package.qbl
@@ -0,0 +1,7 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute DL_ZKG_Package
+{
+  #keys: '3[413988.0.1393320379][413988.0.1393320378][413988.0.1393320380]'
+  ValueType: Number
+}
diff --git a/_Main/BL/Type_PackagingPlanCapability/Attribute_DL_ZKG_Unpacking.qbl b/_Main/BL/Type_PackagingPlanCapability/Attribute_DL_ZKG_Unpacking.qbl
new file mode 100644
index 0000000..cfe312a
--- /dev/null
+++ b/_Main/BL/Type_PackagingPlanCapability/Attribute_DL_ZKG_Unpacking.qbl
@@ -0,0 +1,7 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute DL_ZKG_Unpacking
+{
+  #keys: '3[413988.0.1393320499][413988.0.1393320498][413988.0.1393320500]'
+  ValueType: Number
+}
diff --git a/_Main/BL/Type_PackagingPlanCapability/Attribute_DL_ZKM_Package.qbl b/_Main/BL/Type_PackagingPlanCapability/Attribute_DL_ZKM_Package.qbl
new file mode 100644
index 0000000..fa3e474
--- /dev/null
+++ b/_Main/BL/Type_PackagingPlanCapability/Attribute_DL_ZKM_Package.qbl
@@ -0,0 +1,7 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute DL_ZKM_Package
+{
+  #keys: '3[413988.0.1393320392][413988.0.1393320391][413988.0.1393320393]'
+  ValueType: Number
+}
diff --git a/_Main/BL/Type_PackagingPlanCapability/Attribute_DL_ZKM_Unpacking.qbl b/_Main/BL/Type_PackagingPlanCapability/Attribute_DL_ZKM_Unpacking.qbl
new file mode 100644
index 0000000..dc17ff7
--- /dev/null
+++ b/_Main/BL/Type_PackagingPlanCapability/Attribute_DL_ZKM_Unpacking.qbl
@@ -0,0 +1,7 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute DL_ZKM_Unpacking
+{
+  #keys: '3[413988.0.1393320506][413988.0.1393320505][413988.0.1393320507]'
+  ValueType: Number
+}
diff --git "a/_Main/BL/Type_PackagingPlanCapability/Attribute_DL_ZK_Package\0431.qbl" "b/_Main/BL/Type_PackagingPlanCapability/Attribute_DL_ZK_Package\0431.qbl"
new file mode 100644
index 0000000..31573cd
--- /dev/null
+++ "b/_Main/BL/Type_PackagingPlanCapability/Attribute_DL_ZK_Package\0431.qbl"
@@ -0,0 +1,7 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute DL_ZK_Package
+{
+  #keys: '3[413988.0.1393320396][413988.0.1393320395][413988.0.1393320397]'
+  ValueType: Number
+}
diff --git a/_Main/BL/Type_PackagingPlanCapability/Attribute_DL_ZK_Unpacking.qbl b/_Main/BL/Type_PackagingPlanCapability/Attribute_DL_ZK_Unpacking.qbl
new file mode 100644
index 0000000..6ff8ba6
--- /dev/null
+++ b/_Main/BL/Type_PackagingPlanCapability/Attribute_DL_ZK_Unpacking.qbl
@@ -0,0 +1,7 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute DL_ZK_Unpacking
+{
+  #keys: '3[413988.0.1393320492][413988.0.1393320491][413988.0.1393320493]'
+  ValueType: Number
+}
diff --git a/_Main/BL/Type_PackagingPlanCapability/_ROOT_Type_PackagingPlanCapability.qbl b/_Main/BL/Type_PackagingPlanCapability/_ROOT_Type_PackagingPlanCapability.qbl
new file mode 100644
index 0000000..3061354
--- /dev/null
+++ b/_Main/BL/Type_PackagingPlanCapability/_ROOT_Type_PackagingPlanCapability.qbl
@@ -0,0 +1,9 @@
+Quintiq file version 2.0
+#root
+#parent: #DomainModel
+Type PackagingPlanCapability
+{
+  #keys: '5[413988.0.1393320360][413988.0.1393320358][0.0.0][413988.0.1393320359][413988.0.1393320361]'
+  BaseType: Object
+  StructuredName: 'PackagingPlanCapabilitys'
+}
diff --git a/_Main/BL/Type_PackagingPlanCell/Attribute_EndingInventory.qbl b/_Main/BL/Type_PackagingPlanCell/Attribute_EndingInventory.qbl
new file mode 100644
index 0000000..41876e4
--- /dev/null
+++ b/_Main/BL/Type_PackagingPlanCell/Attribute_EndingInventory.qbl
@@ -0,0 +1,8 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute EndingInventory
+{
+  #keys: '3[413988.0.1393320115][413988.0.1393320114][413988.0.1393320116]'
+  Description: '鏈熸湯搴撳瓨'
+  ValueType: Real
+}
diff --git a/_Main/BL/Type_PackagingPlanCell/Attribute_NetDemand.qbl b/_Main/BL/Type_PackagingPlanCell/Attribute_NetDemand.qbl
new file mode 100644
index 0000000..cecdfc3
--- /dev/null
+++ b/_Main/BL/Type_PackagingPlanCell/Attribute_NetDemand.qbl
@@ -0,0 +1,8 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute NetDemand
+{
+  #keys: '3[413988.0.1393320105][413988.0.1393320104][413988.0.1393320106]'
+  Description: '鍑�闇�姹�'
+  ValueType: Real
+}
diff --git a/_Main/BL/Type_PackagingPlanCell/Attribute_Out.qbl b/_Main/BL/Type_PackagingPlanCell/Attribute_Out.qbl
new file mode 100644
index 0000000..a4a62bc
--- /dev/null
+++ b/_Main/BL/Type_PackagingPlanCell/Attribute_Out.qbl
@@ -0,0 +1,8 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute Out
+{
+  #keys: '3[413988.0.1393320157][413988.0.1393320156][413988.0.1393320158]'
+  Description: '璋冨嚭'
+  ValueType: Real
+}
diff --git a/_Main/BL/Type_PackagingPlanCell/Attribute_Package.qbl b/_Main/BL/Type_PackagingPlanCell/Attribute_Package.qbl
new file mode 100644
index 0000000..f7ec6ad
--- /dev/null
+++ b/_Main/BL/Type_PackagingPlanCell/Attribute_Package.qbl
@@ -0,0 +1,8 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute Package
+{
+  #keys: '3[413988.0.1393320189][413988.0.1393320188][413988.0.1393320190]'
+  Description: '鍖呰'
+  ValueType: Real
+}
diff --git a/_Main/BL/Type_PackagingPlanCell/Attribute_PackagingInventory.qbl b/_Main/BL/Type_PackagingPlanCell/Attribute_PackagingInventory.qbl
new file mode 100644
index 0000000..49dcd0c
--- /dev/null
+++ b/_Main/BL/Type_PackagingPlanCell/Attribute_PackagingInventory.qbl
@@ -0,0 +1,8 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute PackagingInventory
+{
+  #keys: '3[413988.0.1393320144][413988.0.1393320143][413988.0.1393320145]'
+  Description: '鍖呰搴撳瓨'
+  ValueType: Real
+}
diff --git a/_Main/BL/Type_PackagingPlanCell/Attribute_TransferIn.qbl b/_Main/BL/Type_PackagingPlanCell/Attribute_TransferIn.qbl
new file mode 100644
index 0000000..0fd939b
--- /dev/null
+++ b/_Main/BL/Type_PackagingPlanCell/Attribute_TransferIn.qbl
@@ -0,0 +1,8 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute TransferIn
+{
+  #keys: '3[413988.0.1393320167][413988.0.1393320166][413988.0.1393320168]'
+  Description: '璋冭繘'
+  ValueType: Real
+}
diff --git a/_Main/BL/Type_PackagingPlanCell/Attribute_UnpackagedInventory.qbl b/_Main/BL/Type_PackagingPlanCell/Attribute_UnpackagedInventory.qbl
new file mode 100644
index 0000000..9b28372
--- /dev/null
+++ b/_Main/BL/Type_PackagingPlanCell/Attribute_UnpackagedInventory.qbl
@@ -0,0 +1,8 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute UnpackagedInventory
+{
+  #keys: '3[413988.0.1393320131][413988.0.1393320130][413988.0.1393320132]'
+  Description: '闈炲寘瑁呭簱瀛�'
+  ValueType: Real
+}
diff --git a/_Main/BL/Type_PackagingPlanCell/Attribute_Unpacking.qbl b/_Main/BL/Type_PackagingPlanCell/Attribute_Unpacking.qbl
new file mode 100644
index 0000000..11f3e0e
--- /dev/null
+++ b/_Main/BL/Type_PackagingPlanCell/Attribute_Unpacking.qbl
@@ -0,0 +1,8 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute Unpacking
+{
+  #keys: '3[413988.0.1393320199][413988.0.1393320198][413988.0.1393320200]'
+  Description: '鎷嗗寘'
+  ValueType: Real
+}
diff --git a/_Main/BL/Type_PackagingPlanCell/_ROOT_Type_PackagingPlanCell.qbl b/_Main/BL/Type_PackagingPlanCell/_ROOT_Type_PackagingPlanCell.qbl
new file mode 100644
index 0000000..98b4f8d
--- /dev/null
+++ b/_Main/BL/Type_PackagingPlanCell/_ROOT_Type_PackagingPlanCell.qbl
@@ -0,0 +1,9 @@
+Quintiq file version 2.0
+#root
+#parent: #DomainModel
+Type PackagingPlanCell
+{
+  #keys: '5[413988.0.1393320021][413988.0.1393320019][0.0.0][413988.0.1393320020][413988.0.1393320022]'
+  BaseType: Object
+  StructuredName: 'PackagingPlanCells'
+}
diff --git a/_Main/BL/Type_PackagingPlanColumn/Attribute_StartDate.qbl b/_Main/BL/Type_PackagingPlanColumn/Attribute_StartDate.qbl
new file mode 100644
index 0000000..ccd0faa
--- /dev/null
+++ b/_Main/BL/Type_PackagingPlanColumn/Attribute_StartDate.qbl
@@ -0,0 +1,7 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute StartDate
+{
+  #keys: '3[413988.0.1393320065][413988.0.1393320064][413988.0.1393320066]'
+  ValueType: Date
+}
diff --git a/_Main/BL/Type_PackagingPlanColumn/_ROOT_Type_PackagingPlanColumn.qbl b/_Main/BL/Type_PackagingPlanColumn/_ROOT_Type_PackagingPlanColumn.qbl
new file mode 100644
index 0000000..1e4be73
--- /dev/null
+++ b/_Main/BL/Type_PackagingPlanColumn/_ROOT_Type_PackagingPlanColumn.qbl
@@ -0,0 +1,9 @@
+Quintiq file version 2.0
+#root
+#parent: #DomainModel
+Type PackagingPlanColumn
+{
+  #keys: '5[413988.0.1393320016][413988.0.1393320014][0.0.0][413988.0.1393320015][413988.0.1393320017]'
+  BaseType: Object
+  StructuredName: 'PackagingPlanColumns'
+}
diff --git a/_Main/BL/Type_PackagingPlanLotSize/Attribute_LotSize.qbl b/_Main/BL/Type_PackagingPlanLotSize/Attribute_LotSize.qbl
new file mode 100644
index 0000000..16c3978
--- /dev/null
+++ b/_Main/BL/Type_PackagingPlanLotSize/Attribute_LotSize.qbl
@@ -0,0 +1,7 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute LotSize
+{
+  #keys: '3[413988.0.1393320349][413988.0.1393320348][413988.0.1393320350]'
+  ValueType: Number
+}
diff --git a/_Main/BL/Type_PackagingPlanLotSize/Attribute_ProductID.qbl b/_Main/BL/Type_PackagingPlanLotSize/Attribute_ProductID.qbl
new file mode 100644
index 0000000..37e1184
--- /dev/null
+++ b/_Main/BL/Type_PackagingPlanLotSize/Attribute_ProductID.qbl
@@ -0,0 +1,7 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute ProductID
+{
+  #keys: '3[413988.0.1393320339][413988.0.1393320338][413988.0.1393320340]'
+  ValueType: String
+}
diff --git a/_Main/BL/Type_PackagingPlanLotSize/Attribute_factory.qbl b/_Main/BL/Type_PackagingPlanLotSize/Attribute_factory.qbl
new file mode 100644
index 0000000..fc5cfd5
--- /dev/null
+++ b/_Main/BL/Type_PackagingPlanLotSize/Attribute_factory.qbl
@@ -0,0 +1,7 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute Factory
+{
+  #keys: '3[413988.0.1393320326][413988.0.1393320325][413988.0.1393320327]'
+  ValueType: String
+}
diff --git a/_Main/BL/Type_PackagingPlanLotSize/_ROOT_Type_PackagingPlanLotSize.qbl b/_Main/BL/Type_PackagingPlanLotSize/_ROOT_Type_PackagingPlanLotSize.qbl
new file mode 100644
index 0000000..1a48d7e
--- /dev/null
+++ b/_Main/BL/Type_PackagingPlanLotSize/_ROOT_Type_PackagingPlanLotSize.qbl
@@ -0,0 +1,9 @@
+Quintiq file version 2.0
+#root
+#parent: #DomainModel
+Type PackagingPlanLotSize
+{
+  #keys: '5[413988.0.1393320307][413988.0.1393320305][0.0.0][413988.0.1393320306][413988.0.1393320308]'
+  BaseType: Object
+  StructuredName: 'PackagingPlanLotSizes'
+}
diff --git a/_Main/BL/Type_PackagingPlanMaximumQuantity/Attribute_CC_AGW.qbl b/_Main/BL/Type_PackagingPlanMaximumQuantity/Attribute_CC_AGW.qbl
new file mode 100644
index 0000000..ab1c0a6
--- /dev/null
+++ b/_Main/BL/Type_PackagingPlanMaximumQuantity/Attribute_CC_AGW.qbl
@@ -0,0 +1,7 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute CC_AGW
+{
+  #keys: '3[413988.0.1393320296][413988.0.1393320295][413988.0.1393320297]'
+  ValueType: Number
+}
diff --git "a/_Main/BL/Type_PackagingPlanMaximumQuantity/Attribute_CC_KW\0437.qbl" "b/_Main/BL/Type_PackagingPlanMaximumQuantity/Attribute_CC_KW\0437.qbl"
new file mode 100644
index 0000000..2ee8b48
--- /dev/null
+++ "b/_Main/BL/Type_PackagingPlanMaximumQuantity/Attribute_CC_KW\0437.qbl"
@@ -0,0 +1,7 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute CC_KW
+{
+  #keys: '3[413988.0.1393320268][413988.0.1393320267][413988.0.1393320269]'
+  ValueType: Number
+}
diff --git "a/_Main/BL/Type_PackagingPlanMaximumQuantity/Attribute_CC_PL\0436.qbl" "b/_Main/BL/Type_PackagingPlanMaximumQuantity/Attribute_CC_PL\0436.qbl"
new file mode 100644
index 0000000..5918da1
--- /dev/null
+++ "b/_Main/BL/Type_PackagingPlanMaximumQuantity/Attribute_CC_PL\0436.qbl"
@@ -0,0 +1,7 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute CC_PL
+{
+  #keys: '3[413988.0.1393320264][413988.0.1393320263][413988.0.1393320265]'
+  ValueType: Number
+}
diff --git "a/_Main/BL/Type_PackagingPlanMaximumQuantity/Attribute_CC_ZKG\0434.qbl" "b/_Main/BL/Type_PackagingPlanMaximumQuantity/Attribute_CC_ZKG\0434.qbl"
new file mode 100644
index 0000000..459c7c0
--- /dev/null
+++ "b/_Main/BL/Type_PackagingPlanMaximumQuantity/Attribute_CC_ZKG\0434.qbl"
@@ -0,0 +1,7 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute CC_ZKG
+{
+  #keys: '3[413988.0.1393320256][413988.0.1393320255][413988.0.1393320257]'
+  ValueType: Number
+}
diff --git "a/_Main/BL/Type_PackagingPlanMaximumQuantity/Attribute_CC_ZKM\0435.qbl" "b/_Main/BL/Type_PackagingPlanMaximumQuantity/Attribute_CC_ZKM\0435.qbl"
new file mode 100644
index 0000000..32d047d
--- /dev/null
+++ "b/_Main/BL/Type_PackagingPlanMaximumQuantity/Attribute_CC_ZKM\0435.qbl"
@@ -0,0 +1,7 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute CC_ZKM
+{
+  #keys: '3[413988.0.1393320260][413988.0.1393320259][413988.0.1393320261]'
+  ValueType: Number
+}
diff --git "a/_Main/BL/Type_PackagingPlanMaximumQuantity/Attribute_DL_AGW\0433.qbl" "b/_Main/BL/Type_PackagingPlanMaximumQuantity/Attribute_DL_AGW\0433.qbl"
new file mode 100644
index 0000000..b87aba2
--- /dev/null
+++ "b/_Main/BL/Type_PackagingPlanMaximumQuantity/Attribute_DL_AGW\0433.qbl"
@@ -0,0 +1,7 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute DL_AGW
+{
+  #keys: '3[413988.0.1393320252][413988.0.1393320251][413988.0.1393320253]'
+  ValueType: Number
+}
diff --git "a/_Main/BL/Type_PackagingPlanMaximumQuantity/Attribute_DL_KW\0432.qbl" "b/_Main/BL/Type_PackagingPlanMaximumQuantity/Attribute_DL_KW\0432.qbl"
new file mode 100644
index 0000000..f7a90c4
--- /dev/null
+++ "b/_Main/BL/Type_PackagingPlanMaximumQuantity/Attribute_DL_KW\0432.qbl"
@@ -0,0 +1,7 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute DL_KW
+{
+  #keys: '3[413988.0.1393320248][413988.0.1393320247][413988.0.1393320249]'
+  ValueType: Number
+}
diff --git "a/_Main/BL/Type_PackagingPlanMaximumQuantity/Attribute_DL_PL\0431.qbl" "b/_Main/BL/Type_PackagingPlanMaximumQuantity/Attribute_DL_PL\0431.qbl"
new file mode 100644
index 0000000..135c3ca
--- /dev/null
+++ "b/_Main/BL/Type_PackagingPlanMaximumQuantity/Attribute_DL_PL\0431.qbl"
@@ -0,0 +1,7 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute DL_PL
+{
+  #keys: '3[413988.0.1393320244][413988.0.1393320243][413988.0.1393320245]'
+  ValueType: Number
+}
diff --git a/_Main/BL/Type_PackagingPlanMaximumQuantity/Attribute_DL_ZKG.qbl b/_Main/BL/Type_PackagingPlanMaximumQuantity/Attribute_DL_ZKG.qbl
new file mode 100644
index 0000000..c3c3890
--- /dev/null
+++ b/_Main/BL/Type_PackagingPlanMaximumQuantity/Attribute_DL_ZKG.qbl
@@ -0,0 +1,7 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute DL_ZKG
+{
+  #keys: '3[413988.0.1393320230][413988.0.1393320229][413988.0.1393320231]'
+  ValueType: Number
+}
diff --git a/_Main/BL/Type_PackagingPlanMaximumQuantity/Attribute_DL_ZKM.qbl b/_Main/BL/Type_PackagingPlanMaximumQuantity/Attribute_DL_ZKM.qbl
new file mode 100644
index 0000000..eca0067
--- /dev/null
+++ b/_Main/BL/Type_PackagingPlanMaximumQuantity/Attribute_DL_ZKM.qbl
@@ -0,0 +1,7 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute DL_ZKM
+{
+  #keys: '3[413988.0.1393320240][413988.0.1393320239][413988.0.1393320241]'
+  ValueType: Number
+}
diff --git a/_Main/BL/Type_PackagingPlanMaximumQuantity/_ROOT_Type_PackagingPlanMaximumQuantity.qbl b/_Main/BL/Type_PackagingPlanMaximumQuantity/_ROOT_Type_PackagingPlanMaximumQuantity.qbl
new file mode 100644
index 0000000..ca91ce2
--- /dev/null
+++ b/_Main/BL/Type_PackagingPlanMaximumQuantity/_ROOT_Type_PackagingPlanMaximumQuantity.qbl
@@ -0,0 +1,9 @@
+Quintiq file version 2.0
+#root
+#parent: #DomainModel
+Type PackagingPlanMaximumQuantity
+{
+  #keys: '5[413988.0.1393320211][413988.0.1393320209][0.0.0][413988.0.1393320210][413988.0.1393320212]'
+  BaseType: Object
+  StructuredName: 'PackagingPlanMaximumQuantitys'
+}
diff --git a/_Main/BL/Type_PackagingPlanRow/Attribute_ProductID.qbl b/_Main/BL/Type_PackagingPlanRow/Attribute_ProductID.qbl
new file mode 100644
index 0000000..b1d9f2f
--- /dev/null
+++ b/_Main/BL/Type_PackagingPlanRow/Attribute_ProductID.qbl
@@ -0,0 +1,7 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute ProductID
+{
+  #keys: '3[413988.0.1393320025][413988.0.1393320024][413988.0.1393320026]'
+  ValueType: String
+}
diff --git a/_Main/BL/Type_PackagingPlanRow/_ROOT_Type_PackagingPlanRow.qbl b/_Main/BL/Type_PackagingPlanRow/_ROOT_Type_PackagingPlanRow.qbl
new file mode 100644
index 0000000..2bc066c
--- /dev/null
+++ b/_Main/BL/Type_PackagingPlanRow/_ROOT_Type_PackagingPlanRow.qbl
@@ -0,0 +1,9 @@
+Quintiq file version 2.0
+#root
+#parent: #DomainModel
+Type PackagingPlanRow
+{
+  #keys: '5[413988.0.1393320011][413988.0.1393320009][0.0.0][413988.0.1393320010][413988.0.1393320012]'
+  BaseType: Object
+  StructuredName: 'PackagingPlanRows'
+}
diff --git a/_Main/BL/Type_ShiftDay/_ROOT_Type_ShiftDay.qbl b/_Main/BL/Type_ShiftDay/_ROOT_Type_ShiftDay.qbl
new file mode 100644
index 0000000..559ac23
--- /dev/null
+++ b/_Main/BL/Type_ShiftDay/_ROOT_Type_ShiftDay.qbl
@@ -0,0 +1,6 @@
+Quintiq file version 2.0
+#root
+#parent: #DomainModel
+Type ShiftDay #extension
+{
+}
diff --git a/_Main/BL/Type_ShiftDayTime/Attribute_EndDateTIme.qbl b/_Main/BL/Type_ShiftDayTime/Attribute_EndDateTIme.qbl
new file mode 100644
index 0000000..098ee62
--- /dev/null
+++ b/_Main/BL/Type_ShiftDayTime/Attribute_EndDateTIme.qbl
@@ -0,0 +1,7 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute EndDateTIme
+{
+  #keys: '3[413988.0.1371171509][413988.0.1371171508][413988.0.1371171510]'
+  ValueType: DateTime
+}
diff --git a/_Main/BL/Type_ShiftDayTime/Attribute_Name.qbl b/_Main/BL/Type_ShiftDayTime/Attribute_Name.qbl
new file mode 100644
index 0000000..6790da7
--- /dev/null
+++ b/_Main/BL/Type_ShiftDayTime/Attribute_Name.qbl
@@ -0,0 +1,7 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute Name
+{
+  #keys: '3[413988.0.1371171519][413988.0.1371171518][413988.0.1371171520]'
+  ValueType: String
+}
diff --git a/_Main/BL/Type_ShiftDayTime/Attribute_Sequence.qbl b/_Main/BL/Type_ShiftDayTime/Attribute_Sequence.qbl
new file mode 100644
index 0000000..d8c8a3f
--- /dev/null
+++ b/_Main/BL/Type_ShiftDayTime/Attribute_Sequence.qbl
@@ -0,0 +1,7 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute Sequence
+{
+  #keys: '3[413988.0.1388790020][413988.0.1388790019][413988.0.1388790021]'
+  ValueType: Number
+}
diff --git a/_Main/BL/Type_ShiftDayTime/Attribute_StartDateTime.qbl b/_Main/BL/Type_ShiftDayTime/Attribute_StartDateTime.qbl
new file mode 100644
index 0000000..8d1c8a6
--- /dev/null
+++ b/_Main/BL/Type_ShiftDayTime/Attribute_StartDateTime.qbl
@@ -0,0 +1,7 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute StartDateTime
+{
+  #keys: '3[413988.0.1371171499][413988.0.1371171498][413988.0.1371171500]'
+  ValueType: DateTime
+}
diff --git a/_Main/BL/Type_ShiftDayTime/Function_CalcSequence.qbl b/_Main/BL/Type_ShiftDayTime/Function_CalcSequence.qbl
new file mode 100644
index 0000000..d48dc22
--- /dev/null
+++ b/_Main/BL/Type_ShiftDayTime/Function_CalcSequence.qbl
@@ -0,0 +1,21 @@
+Quintiq file version 2.0
+#parent: #root
+Function CalcSequence
+{
+  TextBody:
+  [*
+    // lihongji Jul-17-2024 (created)
+    
+    value := 0;
+    
+    if ( this.Name() = "鏃╃彮" ) {
+      value := 1;
+    } else if ( this.Name() = "涓彮" ) {
+      value := 2;
+    } else if ( this.Name() = "澶滅彮" ) {
+      value := 3;
+    }
+    
+    this.Sequence( value );
+  *]
+}
diff --git a/_Main/BL/Type_ShiftDayTime/_ROOT_Type_ShiftDayTime.qbl b/_Main/BL/Type_ShiftDayTime/_ROOT_Type_ShiftDayTime.qbl
new file mode 100644
index 0000000..e7b11b9
--- /dev/null
+++ b/_Main/BL/Type_ShiftDayTime/_ROOT_Type_ShiftDayTime.qbl
@@ -0,0 +1,9 @@
+Quintiq file version 2.0
+#root
+#parent: #DomainModel
+Type ShiftDayTime
+{
+  #keys: '5[413988.0.1371171480][413988.0.1371171478][0.0.0][413988.0.1371171479][413988.0.1371171481]'
+  BaseType: Object
+  StructuredName: 'ShiftDayTimes'
+}
diff --git a/_Main/BL/Type_ShippingActualCell/Attribute_Quantity.qbl b/_Main/BL/Type_ShippingActualCell/Attribute_Quantity.qbl
new file mode 100644
index 0000000..fc57d0a
--- /dev/null
+++ b/_Main/BL/Type_ShippingActualCell/Attribute_Quantity.qbl
@@ -0,0 +1,7 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute Quantity
+{
+  #keys: '3[415136.0.904040075][415136.0.904040074][415136.0.904040076]'
+  ValueType: Real
+}
diff --git a/_Main/BL/Type_ShippingActualCell/_ROOT_Type_ShippingActualCell.qbl b/_Main/BL/Type_ShippingActualCell/_ROOT_Type_ShippingActualCell.qbl
new file mode 100644
index 0000000..eea883e
--- /dev/null
+++ b/_Main/BL/Type_ShippingActualCell/_ROOT_Type_ShippingActualCell.qbl
@@ -0,0 +1,10 @@
+Quintiq file version 2.0
+#root
+#parent: #DomainModel
+Type ShippingActualCell
+{
+  #keys: '5[415136.0.904040072][415136.0.904040070][0.0.0][415136.0.904040071][415136.0.904040073]'
+  BaseType: Object
+  Description: '瀹為檯鍙戣繍鏁版嵁鍗曞厓鏍�'
+  StructuredName: 'ShippingActualCells'
+}
diff --git a/_Main/BL/Type_ShippingActualColumn/Attribute_Index.qbl b/_Main/BL/Type_ShippingActualColumn/Attribute_Index.qbl
new file mode 100644
index 0000000..ced89a2
--- /dev/null
+++ b/_Main/BL/Type_ShippingActualColumn/Attribute_Index.qbl
@@ -0,0 +1,7 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute Index
+{
+  #keys: '3[415136.0.904040147][415136.0.904040146][415136.0.904040148]'
+  ValueType: Number
+}
diff --git a/_Main/BL/Type_ShippingActualColumn/Attribute_StartDate.qbl b/_Main/BL/Type_ShippingActualColumn/Attribute_StartDate.qbl
new file mode 100644
index 0000000..dab5099
--- /dev/null
+++ b/_Main/BL/Type_ShippingActualColumn/Attribute_StartDate.qbl
@@ -0,0 +1,7 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute StartDate
+{
+  #keys: '3[415136.0.904040023][415136.0.904040022][415136.0.904040024]'
+  ValueType: Date
+}
diff --git a/_Main/BL/Type_ShippingActualColumn/_ROOT_Type_ShippingActualColumn.qbl b/_Main/BL/Type_ShippingActualColumn/_ROOT_Type_ShippingActualColumn.qbl
new file mode 100644
index 0000000..da2edb7
--- /dev/null
+++ b/_Main/BL/Type_ShippingActualColumn/_ROOT_Type_ShippingActualColumn.qbl
@@ -0,0 +1,10 @@
+Quintiq file version 2.0
+#root
+#parent: #DomainModel
+Type ShippingActualColumn
+{
+  #keys: '5[415136.0.904040006][415136.0.904040004][0.0.0][415136.0.904040005][415136.0.904040007]'
+  BaseType: Object
+  Description: '瀹為檯鍙戣繍鏁版嵁鍒�'
+  StructuredName: 'ShippingActualColumns'
+}
diff --git a/_Main/BL/Type_ShippingActualData/Attribute_CreateTime.qbl b/_Main/BL/Type_ShippingActualData/Attribute_CreateTime.qbl
new file mode 100644
index 0000000..f856ece
--- /dev/null
+++ b/_Main/BL/Type_ShippingActualData/Attribute_CreateTime.qbl
@@ -0,0 +1,8 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute CreateTime
+{
+  #keys: '3[415136.0.904000065][415136.0.904000064][415136.0.904000066]'
+  Description: '鏃堕棿'
+  ValueType: DateTime
+}
diff --git a/_Main/BL/Type_ShippingActualData/Attribute_DDay.qbl b/_Main/BL/Type_ShippingActualData/Attribute_DDay.qbl
new file mode 100644
index 0000000..e1631e0
--- /dev/null
+++ b/_Main/BL/Type_ShippingActualData/Attribute_DDay.qbl
@@ -0,0 +1,8 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute DDay
+{
+  #keys: '3[415136.0.904000085][415136.0.904000084][415136.0.904000086]'
+  Description: '鏃ユ湡'
+  ValueType: Date
+}
diff --git a/_Main/BL/Type_ShippingActualData/Attribute_Fac.qbl b/_Main/BL/Type_ShippingActualData/Attribute_Fac.qbl
new file mode 100644
index 0000000..407b39b
--- /dev/null
+++ b/_Main/BL/Type_ShippingActualData/Attribute_Fac.qbl
@@ -0,0 +1,8 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute Fac
+{
+  #keys: '3[415136.0.904000115][415136.0.904000114][415136.0.904000116]'
+  Description: '宸ュ巶浠g爜'
+  ValueType: String
+}
diff --git a/_Main/BL/Type_ShippingActualData/Attribute_FourCode.qbl b/_Main/BL/Type_ShippingActualData/Attribute_FourCode.qbl
new file mode 100644
index 0000000..cc1e7e5
--- /dev/null
+++ b/_Main/BL/Type_ShippingActualData/Attribute_FourCode.qbl
@@ -0,0 +1,8 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute FourCode
+{
+  #keys: '3[415136.0.904000095][415136.0.904000094][415136.0.904000096]'
+  Description: '鍥涗綅鐮�'
+  ValueType: String
+}
diff --git a/_Main/BL/Type_ShippingActualData/Attribute_ID.qbl b/_Main/BL/Type_ShippingActualData/Attribute_ID.qbl
new file mode 100644
index 0000000..9ced94f
--- /dev/null
+++ b/_Main/BL/Type_ShippingActualData/Attribute_ID.qbl
@@ -0,0 +1,8 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute ID
+{
+  #keys: '3[415136.0.904000125][415136.0.904000124][415136.0.904000126]'
+  Description: '闆朵欢鍚嶇О'
+  ValueType: Number
+}
diff --git a/_Main/BL/Type_ShippingActualData/Attribute_Quantity.qbl b/_Main/BL/Type_ShippingActualData/Attribute_Quantity.qbl
new file mode 100644
index 0000000..594b5da
--- /dev/null
+++ b/_Main/BL/Type_ShippingActualData/Attribute_Quantity.qbl
@@ -0,0 +1,7 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute Quantity
+{
+  #keys: '3[415136.0.904000105][415136.0.904000104][415136.0.904000106]'
+  ValueType: Real
+}
diff --git a/_Main/BL/Type_ShippingActualData/StaticMethod_Export.qbl b/_Main/BL/Type_ShippingActualData/StaticMethod_Export.qbl
new file mode 100644
index 0000000..2a07ff6
--- /dev/null
+++ b/_Main/BL/Type_ShippingActualData/StaticMethod_Export.qbl
@@ -0,0 +1,64 @@
+Quintiq file version 2.0
+#parent: #root
+StaticMethod Export (
+  InterfaceDataset owner
+) as BinaryValue
+{
+  TextBody:
+  [*
+    // 鐢勫叞楦� Jul-18-2024 (created)
+    name := ShippingActualData::GetDefalutName();
+    
+    xmlDOMI := XMLDOMImplementation::Create();
+    xmlDOM  := xmlDOMI.CreateDocumentFromString( '<?xml version="1.0" encoding="UTF-16"?><table><name>' + name + '</name></table>' );
+    
+    tableElement := xmlDOM.GetElementByTagName( "table", 0 );
+    //Product
+    productcolumnelement := xmlDOM.CreateElement( "column" );
+    productnameelement   := xmlDOM.CreateElement( "name" );
+    producttypeelement   := xmlDOM.CreateElement( "type" );
+    productnameelement.TextContent( 'Product' );
+    producttypeelement.TextContent( "String" );
+    productcolumnelement.AppendChild( productnameelement );
+    productcolumnelement.AppendChild( producttypeelement );
+    
+    tableElement.AppendChild( productcolumnelement ); 
+    traverse ( owner, ShippingActualColumn, column ) {
+      columnelement := xmlDOM.CreateElement( "column" );
+      nameelement   := xmlDOM.CreateElement( "name" );
+      typeelement   := xmlDOM.CreateElement( "type" );
+      nameelement.TextContent( column.StartDate().Format( "M2/D2/Y" ) );
+      typeelement.TextContent( "String" );
+      columnelement.AppendChild( nameelement );
+      columnelement.AppendChild( typeelement );
+      
+      cells := selectsortedset( column, ShippingActualCell, cell, cell.ShippingActualRow().RowNr() );
+    
+      traverse ( cells, Elements, c ) {
+        if( column.Index() = 0 ){
+          row := c.ShippingActualRow();
+          //Product
+          productcellElement := xmlDOM.CreateElement( "cell" );
+          productcellElement.SetAttribute( "value", row.Name() );
+          productcolumnelement.AppendChild( productcellElement );
+        }
+        cellElement := xmlDOM.CreateElement( "cell" );
+        cellElement.SetAttribute( "value", [String]c.Quantity() ); 
+        columnelement.AppendChild( cellElement );
+      }
+      tableElement.AppendChild( columnelement );  
+    }
+    
+    xmlString := xmlDOMI.CreateSerializer().WriteToString( xmlDOM )
+    
+    //info( xmlString );
+    
+    tableGroupHandle := TableGroupHandle::Create( FinancialProductionReport::GetDefaultName() );
+    tableHandle      := TableHandle::ImportXML( BinaryValue::Construct( xmlString ) );
+    tableGroupHandle.Add( tableHandle );
+    
+    binaryData := XLS::SaveTableGroupToBinaryData( tableGroupHandle, true );
+    
+    return binaryData.AsBinaryValue();
+  *]
+}
diff --git a/_Main/BL/Type_ShippingActualData/StaticMethod_GenerateData.qbl b/_Main/BL/Type_ShippingActualData/StaticMethod_GenerateData.qbl
new file mode 100644
index 0000000..9358b75
--- /dev/null
+++ b/_Main/BL/Type_ShippingActualData/StaticMethod_GenerateData.qbl
@@ -0,0 +1,29 @@
+Quintiq file version 2.0
+#parent: #root
+StaticMethod GenerateData (
+  InterfaceDataset owner,
+  StringToDateTime cnv1,
+  StringToDate cnv,
+  JSON item
+) as ShippingActualData
+{
+  TextBody:
+  [*
+    // 鐢勫叞楦� Jul-17-2024 (created)
+    createtime       := guard( item.Get( "create_time").GetString(),"");
+    dday             := guard( item.Get( "dday").GetString(),"");
+    fourcode         := guard( item.Get( "four_code").GetString(),"");
+    quantity         := guard( item.Get( "qty").GetReal(), 0);
+    fac              := guard( item.Get( "fac").GetString(),"");
+    id               := guard( item.Get( "id").GetNumber(),0);
+    
+    sadata           := owner.ShippingActualData( relnew, CreateTime := cnv1.Convert( createtime )
+                                                  , Fac := fac
+                                                  , FourCode := fourcode
+                                                  , Quantity := quantity
+                                                  , DDay := cnv.Convert( dday )
+                                                  , ID := id);
+    
+    return sadata;
+  *]
+}
diff --git a/_Main/BL/Type_ShippingActualData/StaticMethod_GetDefalutName.qbl b/_Main/BL/Type_ShippingActualData/StaticMethod_GetDefalutName.qbl
new file mode 100644
index 0000000..c593be6
--- /dev/null
+++ b/_Main/BL/Type_ShippingActualData/StaticMethod_GetDefalutName.qbl
@@ -0,0 +1,10 @@
+Quintiq file version 2.0
+#parent: #root
+StaticMethod GetDefalutName () as String
+{
+  TextBody:
+  [*
+    // 鐢勫叞楦� Jul-18-2024 (created)
+    return "Shipping actual";
+  *]
+}
diff --git a/_Main/BL/Type_ShippingActualData/StaticMethod_GetRequestBody.qbl b/_Main/BL/Type_ShippingActualData/StaticMethod_GetRequestBody.qbl
new file mode 100644
index 0000000..d122b01
--- /dev/null
+++ b/_Main/BL/Type_ShippingActualData/StaticMethod_GetRequestBody.qbl
@@ -0,0 +1,15 @@
+Quintiq file version 2.0
+#parent: #root
+StaticMethod GetRequestBody (
+  Date date
+) as String
+{
+  TextBody:
+  [*
+    // 鐢勫叞楦� Jul-19-2024 (created)
+    json := JSON::Object()
+                  .Add( "inParam", JSON::Object().Add( "dday", date.Format( "Y-M2-D2" ) ) ).Build();
+    requestbody := json.AsString();
+    return requestbody
+  *]
+}
diff --git a/_Main/BL/Type_ShippingActualData/StaticMethod_Synchronize.qbl b/_Main/BL/Type_ShippingActualData/StaticMethod_Synchronize.qbl
new file mode 100644
index 0000000..f528ecb
--- /dev/null
+++ b/_Main/BL/Type_ShippingActualData/StaticMethod_Synchronize.qbl
@@ -0,0 +1,66 @@
+Quintiq file version 2.0
+#parent: #root
+StaticMethod Synchronize (
+  InterfaceDataset owner
+)
+{
+  TextBody:
+  [*
+    //// 鐢勫叞楦� Jul-17-2024 (created)
+    column := owner.ShippingActualColumn( relnew, StartDate := Date::ActualDate(), Index := owner.ShippingActualColumn( relsize ) );
+    // vwedadmin Jul-18-2024 (created)
+    address := "ds-yunrong-gw.dmp.vwfawedl.mobi"; 
+    
+               /// http://ds-yunrong-gw.dmp.vwfawedl.mobi/data-service/api/service/post-data/V1.101/f4f94c47c1a2440898b5e1e2c0c5cbc8 
+    httpinterface := HTTPInterface::Create( address,80);
+                    httpinterface.URL("/data-service/api/service/post-data/V1.101/f4f94c47c1a2440898b5e1e2c0c5cbc8");
+    httpinterface.MediaType("application/json");
+    //httpinterface.SSL(true);
+    //httpinterface.SSLKeystore("MyKeystore");
+    httpinterface.PostMethod(true); 
+    //str :='{
+    //    "inParam":
+    //        {
+    //            "dday" : "2024-07-11"
+    //        }
+    //}'
+    httpinterface.AddHeader("Authorization","MTlLeG94UEYyNWN5OTZLOFRMXzUyNzA4ODkwNzg1NTA2OTIxNV9wcml2YXRlS2V5XzE3MjEzMDM4Nzc0NTE=")
+    httpinterface.Call( ShippingActualData::GetRequestBody( column.StartDate() ) ); //Sends request with the header Authorization: 538baa9045a84c0e889f 鍙互浼犻�掑姩鎬乼oken 鐨勫惂
+    result := httpinterface.Result();
+    
+    cnv1 := StringToDateTime::StandardConverter();
+    cnv1.SetCustomConversion();
+    cnv1.CustomFormatString( 'yyyy-MM-dd HH:mm:ss' );
+    
+    cnv2 := StringToDate::StandardConverter();
+    cnv2.SetCustomConversion();
+    cnv2.CustomFormatString( 'yyyy-MM-dd' );
+    
+    data := InterfaceDataset::GetResponseJsonData( result );
+    
+    sadatalist := construct( ShippingActualDatas );
+    for( seq := 0;seq < data.Size();seq++){
+      item := data.Get(seq);
+      sadata := ShippingActualData::GenerateData( owner, cnv1, cnv2, item );
+      sadatalist.Add( sadata );
+    }
+    beforerowsize := owner.ShippingActualRow( relsize );
+    traverse( sadatalist, Elements, e ){
+      row := selectobject( owner, ShippingActualRow, row, row.Name() = e.FourCode() );
+      if( isnull( row ) ){
+        owner.ShippingActualRow( relnew, Name := e.FourCode() );
+      }
+      
+      cell := row.ShippingActualCell( relnew, Quantity := e.Quantity() );
+      column.ShippingActualCell( relinsert, cell );
+    }
+    if( beforerowsize <> owner.ShippingActualRow( relsize ) ){
+      rows := selectsortedset( owner, ShippingActualRow, row, row.Name() );
+      nr    := 0;
+      traverse( rows, Elements, e ){
+        e.RowNr( nr );
+        nr := nr + 1;
+      }
+    }
+  *]
+}
diff --git a/_Main/BL/Type_ShippingActualData/_ROOT_Type_ShippingActualData.qbl b/_Main/BL/Type_ShippingActualData/_ROOT_Type_ShippingActualData.qbl
new file mode 100644
index 0000000..8d74386
--- /dev/null
+++ b/_Main/BL/Type_ShippingActualData/_ROOT_Type_ShippingActualData.qbl
@@ -0,0 +1,10 @@
+Quintiq file version 2.0
+#root
+#parent: #DomainModel
+Type ShippingActualData
+{
+  #keys: '5[415136.0.904000038][415136.0.904000036][0.0.0][415136.0.904000037][415136.0.904000039]'
+  BaseType: Object
+  Description: '鍙戣繍瀹為檯鏁版嵁'
+  StructuredName: 'ShippingActualDatas'
+}
diff --git a/_Main/BL/Type_ShippingActualRow/Attribute_Name.qbl b/_Main/BL/Type_ShippingActualRow/Attribute_Name.qbl
new file mode 100644
index 0000000..39f826d
--- /dev/null
+++ b/_Main/BL/Type_ShippingActualRow/Attribute_Name.qbl
@@ -0,0 +1,7 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute Name
+{
+  #keys: '3[415136.0.904040051][415136.0.904040050][415136.0.904040052]'
+  ValueType: String
+}
diff --git a/_Main/BL/Type_ShippingActualRow/Attribute_RowNr.qbl b/_Main/BL/Type_ShippingActualRow/Attribute_RowNr.qbl
new file mode 100644
index 0000000..7bbefe5
--- /dev/null
+++ b/_Main/BL/Type_ShippingActualRow/Attribute_RowNr.qbl
@@ -0,0 +1,7 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute RowNr
+{
+  #keys: '3[415136.0.904040061][415136.0.904040060][415136.0.904040062]'
+  ValueType: Number
+}
diff --git a/_Main/BL/Type_ShippingActualRow/_ROOT_Type_ShippingActualRow.qbl b/_Main/BL/Type_ShippingActualRow/_ROOT_Type_ShippingActualRow.qbl
new file mode 100644
index 0000000..7b9b84b
--- /dev/null
+++ b/_Main/BL/Type_ShippingActualRow/_ROOT_Type_ShippingActualRow.qbl
@@ -0,0 +1,10 @@
+Quintiq file version 2.0
+#root
+#parent: #DomainModel
+Type ShippingActualRow
+{
+  #keys: '5[415136.0.904040034][415136.0.904040032][0.0.0][415136.0.904040033][415136.0.904040035]'
+  BaseType: Object
+  Description: '瀹為檯鑸硅繍鏁版嵁琛�'
+  StructuredName: 'ShippingActualRows'
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_ApplicationMacroPlanner/Component_abgSecondDevelopmentPlan.def b/_Main/UI/MacroPlannerWebApp/Component_ApplicationMacroPlanner/Component_abgSecondDevelopmentPlan.def
index db2e7a4..7221e9b 100644
--- a/_Main/UI/MacroPlannerWebApp/Component_ApplicationMacroPlanner/Component_abgSecondDevelopmentPlan.def
+++ b/_Main/UI/MacroPlannerWebApp/Component_ApplicationMacroPlanner/Component_abgSecondDevelopmentPlan.def
@@ -22,6 +22,8 @@
       BaseType: 'WebButton'
       Properties:
       [
+        Image: 'SIXPACK_BEER'
+        Label: 'Packaging plan'
         Taborder: 3
       ]
     }
@@ -48,6 +50,26 @@
         Taborder: 2
       ]
     }
+    Component btnSecondDevelopmentPlan
+    {
+      #keys: '[413988.0.1400700646]'
+      BaseType: 'WebButton'
+      Properties:
+      [
+        Taborder: 4
+      ]
+    }
+    Component bShippingActualData
+    {
+      #keys: '[415136.0.905520117]'
+      BaseType: 'WebButton'
+      Properties:
+      [
+        Image: 'TABLE_CONNECTION'
+        Label: 'Shipping data'
+        Taborder: 5
+      ]
+    }
   ]
   Properties:
   [
diff --git a/_Main/UI/MacroPlannerWebApp/Component_ApplicationMacroPlanner/Response_MacroPlanner_abgSecondDevelopmentPlan_bPackagingPlan_OnClick.def b/_Main/UI/MacroPlannerWebApp/Component_ApplicationMacroPlanner/Response_MacroPlanner_abgSecondDevelopmentPlan_bPackagingPlan_OnClick.def
new file mode 100644
index 0000000..9dfe8ba
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_ApplicationMacroPlanner/Response_MacroPlanner_abgSecondDevelopmentPlan_bPackagingPlan_OnClick.def
@@ -0,0 +1,16 @@
+Quintiq file version 2.0
+#parent: abgSecondDevelopmentPlan/bPackagingPlan
+Response OnClick () id:Response_MacroPlanner_abgSecondDevelopmentPlan_bPackagingPlan_OnClick
+{
+  #keys: '[413988.0.1400700759]'
+  CanBindMultiple: false
+  DefinitionID: 'Responsedef_WebButton_OnClick'
+  GroupServerCalls: true
+  QuillAction
+  {
+    Body:
+    [*
+      ApplicationScope.ViewManager().ResetUserViewById( "PackagingPlan", true);
+    *]
+  }
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_ApplicationMacroPlanner/Response_MacroPlanner_abgSecondDevelopmentPlan_bShippingActualData_OnClick.def b/_Main/UI/MacroPlannerWebApp/Component_ApplicationMacroPlanner/Response_MacroPlanner_abgSecondDevelopmentPlan_bShippingActualData_OnClick.def
new file mode 100644
index 0000000..19a4c93
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_ApplicationMacroPlanner/Response_MacroPlanner_abgSecondDevelopmentPlan_bShippingActualData_OnClick.def
@@ -0,0 +1,16 @@
+Quintiq file version 2.0
+#parent: abgSecondDevelopmentPlan/bShippingActualData
+Response OnClick () id:Response_MacroPlanner_abgSecondDevelopmentPlan_bShippingActualData_OnClick
+{
+  #keys: '[415136.0.905520217]'
+  CanBindMultiple: false
+  DefinitionID: 'Responsedef_WebButton_OnClick'
+  QuillAction
+  {
+    Body:
+    [*
+      ApplicationScope.ViewManager().ResetUserViewById( "Shipping_actual_data_view", true);
+    *]
+    GroupServerCalls: false
+  }
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_ApplicationMacroPlanner/_ROOT_Component_ApplicationMacroPlanner.def b/_Main/UI/MacroPlannerWebApp/Component_ApplicationMacroPlanner/_ROOT_Component_ApplicationMacroPlanner.def
index e01fbb6..2a93db6 100644
--- a/_Main/UI/MacroPlannerWebApp/Component_ApplicationMacroPlanner/_ROOT_Component_ApplicationMacroPlanner.def
+++ b/_Main/UI/MacroPlannerWebApp/Component_ApplicationMacroPlanner/_ROOT_Component_ApplicationMacroPlanner.def
@@ -183,5 +183,15 @@
         Taborder: 51
       ]
     }
+    Component dhSelectedShiftDay
+    {
+      #keys: '[413988.0.1371211822]'
+      BaseType: 'WebDataHolder'
+      Databinding: 'ShiftDay'
+      Properties:
+      [
+        Taborder: 56
+      ]
+    }
   ]
 }
diff --git a/_Main/UI/MacroPlannerWebApp/Component_DialogCreateEditShiftDayTime/Component_pnlActions.def b/_Main/UI/MacroPlannerWebApp/Component_DialogCreateEditShiftDayTime/Component_pnlActions.def
new file mode 100644
index 0000000..59602c4
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_DialogCreateEditShiftDayTime/Component_pnlActions.def
@@ -0,0 +1,40 @@
+Quintiq file version 2.0
+Component pnlActions
+{
+  #keys: '[413988.0.1372501443]'
+  BaseType: 'WebPanel'
+  Children:
+  [
+    Component btnOk
+    {
+      #keys: '[413988.0.1372501447]'
+      BaseType: 'WebButton'
+      Properties:
+      [
+        Label: 'OK'
+        Taborder: 0
+      ]
+    }
+    Component btnCancel
+    {
+      #keys: '[413988.0.1372501449]'
+      BaseType: 'WebButton'
+      Properties:
+      [
+        Label: 'Cancel'
+        Taborder: 1
+      ]
+    }
+  ]
+  Properties:
+  [
+    Alignment: 'trailing'
+    Border: true
+    ExcludeFromActiveComponent: true
+    FixedSize: true
+    Orientation: 'horizontal'
+    Padding: 'true'
+    Style: 'footer'
+    Taborder: 1
+  ]
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_DialogCreateEditShiftDayTime/Component_pnlContent.def b/_Main/UI/MacroPlannerWebApp/Component_DialogCreateEditShiftDayTime/Component_pnlContent.def
new file mode 100644
index 0000000..a1be8e2
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_DialogCreateEditShiftDayTime/Component_pnlContent.def
@@ -0,0 +1,51 @@
+Quintiq file version 2.0
+Component pnlContent
+{
+  #keys: '[413988.0.1372501441]'
+  BaseType: 'WebPanel'
+  Children:
+  [
+    Component dtsStart
+    {
+      #keys: '[413988.0.1372565797]'
+      BaseType: 'WebDateTimeSelector'
+      Properties:
+      [
+        DataBinding: 'DataHolderDialogData.Data.StartDateTime'
+        DateTimeFormat: 'h:m'
+        Label: 'Start'
+        Taborder: 0
+      ]
+    }
+    Component dtsEnd
+    {
+      #keys: '[413988.0.1372565809]'
+      BaseType: 'WebDateTimeSelector'
+      Properties:
+      [
+        DataBinding: 'DataHolderDialogData.Data.EndDateTIme'
+        DateTimeFormat: 'h:m'
+        Label: 'End'
+        Taborder: 1
+      ]
+    }
+    Component ddslName
+    {
+      #keys: '[413988.0.1372565893]'
+      BaseType: 'WebDropDownStringList'
+      Properties:
+      [
+        DataBinding: 'DataHolderDialogData.Data.Name'
+        Label: 'Name'
+        Sorting: 'none'
+        Strings: '鏃╃彮;涓彮;澶滅彮'
+        Taborder: 2
+      ]
+    }
+  ]
+  Properties:
+  [
+    Padding: 'true'
+    Taborder: 0
+  ]
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_DialogCreateEditShiftDayTime/Method_Edit.def b/_Main/UI/MacroPlannerWebApp/Component_DialogCreateEditShiftDayTime/Method_Edit.def
new file mode 100644
index 0000000..0e30f07
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_DialogCreateEditShiftDayTime/Method_Edit.def
@@ -0,0 +1,14 @@
+Quintiq file version 2.0
+#parent: #root
+Method Edit (
+  ShiftDayTime selection
+) id:Method_DialogCreateEditShiftDayTime_Edit
+{
+  #keys: '[413988.0.1372696373]'
+  Body:
+  [*
+    DataHolderDialogData.Data( selection );
+    
+    ApplicationMacroPlanner.ShowFormModal( this );
+  *]
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_DialogCreateEditShiftDayTime/Method_New.def b/_Main/UI/MacroPlannerWebApp/Component_DialogCreateEditShiftDayTime/Method_New.def
new file mode 100644
index 0000000..f2f1b4b
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_DialogCreateEditShiftDayTime/Method_New.def
@@ -0,0 +1,16 @@
+Quintiq file version 2.0
+#parent: #root
+Method New (
+  ShiftDay selection
+) id:Method_DialogCreateEditShiftDayTime_New
+{
+  #keys: '[413988.0.1372696375]'
+  Body:
+  [*
+    data := selection.ShiftDayTime( relnew );
+    
+    DataHolderDialogData.Data( data );
+    
+    ApplicationMacroPlanner.ShowFormModal( this );
+  *]
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_DialogCreateEditShiftDayTime/Method_OnOK.def b/_Main/UI/MacroPlannerWebApp/Component_DialogCreateEditShiftDayTime/Method_OnOK.def
new file mode 100644
index 0000000..5d5f39e
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_DialogCreateEditShiftDayTime/Method_OnOK.def
@@ -0,0 +1,13 @@
+Quintiq file version 2.0
+#parent: #root
+Method OnOK () id:Method_DialogCreateEditShiftDayTime_OnOK
+{
+  #keys: '[413988.0.1372696376]'
+  Body:
+  [*
+    // On ok
+    Form.ApplyChanges();
+    
+    Form.Close();
+  *]
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_DialogCreateEditShiftDayTime/Response_pnlActions_btnCancel_OnClick.def b/_Main/UI/MacroPlannerWebApp/Component_DialogCreateEditShiftDayTime/Response_pnlActions_btnCancel_OnClick.def
new file mode 100644
index 0000000..0c37d72
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_DialogCreateEditShiftDayTime/Response_pnlActions_btnCancel_OnClick.def
@@ -0,0 +1,15 @@
+Quintiq file version 2.0
+#parent: pnlActions/btnCancel
+Response OnClick () id:Response_pnlActions_btnCancel_OnClick
+{
+  #keys: '[413988.0.1372501453]'
+  DefinitionID: 'Responsedef_WebButton_OnClick'
+  GroupServerCalls: true
+  QuillAction
+  {
+    Body:
+    [*
+      Form.Close();
+    *]
+  }
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_DialogCreateEditShiftDayTime/Response_pnlActions_btnOk_OnClick.def b/_Main/UI/MacroPlannerWebApp/Component_DialogCreateEditShiftDayTime/Response_pnlActions_btnOk_OnClick.def
new file mode 100644
index 0000000..ae0d49e
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_DialogCreateEditShiftDayTime/Response_pnlActions_btnOk_OnClick.def
@@ -0,0 +1,16 @@
+Quintiq file version 2.0
+#parent: pnlActions/btnOk
+Response OnClick () id:Response_pnlActions_btnOk_OnClick
+{
+  #keys: '[413988.0.1372501452]'
+  DefinitionID: 'Responsedef_WebButton_OnClick'
+  GroupServerCalls: true
+  QuillAction
+  {
+    Body:
+    [*
+      Form.ApplyChanges();
+      Form.Close();
+    *]
+  }
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_DialogCreateEditShiftDayTime/_ROOT_Component_DialogCreateEditShiftDayTime.def b/_Main/UI/MacroPlannerWebApp/Component_DialogCreateEditShiftDayTime/_ROOT_Component_DialogCreateEditShiftDayTime.def
new file mode 100644
index 0000000..17e8946
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_DialogCreateEditShiftDayTime/_ROOT_Component_DialogCreateEditShiftDayTime.def
@@ -0,0 +1,31 @@
+Quintiq file version 2.0
+#root
+#parent: MacroPlannerWebApp
+OrphanComponent DialogCreateEditShiftDayTime
+{
+  #keys: '[413988.0.1372501439]'
+  BaseType: 'WebForm'
+  Children:
+  [
+    #child: pnlContent
+    #child: pnlActions
+    Component DataHolderDialogData
+    {
+      #keys: '[413988.0.1372570042]'
+      BaseType: 'WebDataHolder'
+      Databinding: 'ShiftDayTime'
+      Properties:
+      [
+        Taborder: 2
+      ]
+    }
+  ]
+  Properties:
+  [
+    Alignment: 'trailing'
+    EnterButton: 'btnOk'
+    EscapeButton: 'btnCancel'
+    ExcludeFromActiveComponent: true
+    Padding: 'false'
+  ]
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_DialogPackagingPlanCapability/Component_p_CC_KW1.def b/_Main/UI/MacroPlannerWebApp/Component_DialogPackagingPlanCapability/Component_p_CC_KW1.def
new file mode 100644
index 0000000..a6f6517
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_DialogPackagingPlanCapability/Component_p_CC_KW1.def
@@ -0,0 +1,47 @@
+Quintiq file version 2.0
+Component p_CC_KW1
+{
+  #keys: '[413988.0.1402920178]'
+  BaseType: 'WebPanel'
+  Children:
+  [
+    Component L_CC_KW1
+    {
+      #keys: '[413988.0.1402920179]'
+      BaseType: 'WebLabel'
+      Properties:
+      [
+        Taborder: 0
+        Text: 'CC-KW1'
+      ]
+    }
+    Component np_CC_KW1_Package
+    {
+      #keys: '[413988.0.1402920180]'
+      BaseType: 'WebNumberPicker'
+      Properties:
+      [
+        DataBinding: 'DataHolderDialog.Data.CC_KW1_Package'
+        Label: '涓�鏃ユ渶澶у寘瑁呴噺(pcs)'
+        Taborder: 1
+      ]
+    }
+    Component np_CC_KW1_Unpacking
+    {
+      #keys: '[413988.0.1402920181]'
+      BaseType: 'WebNumberPicker'
+      Properties:
+      [
+        DataBinding: 'DataHolderDialog.Data.CC_KW1_Unpacking'
+        Label: '涓�鏃ユ渶澶ф媶鍖呴噺(pcs)'
+        Taborder: 2
+      ]
+    }
+  ]
+  Properties:
+  [
+    FixedSize: true
+    Orientation: 'horizontal'
+    Taborder: 10
+  ]
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_DialogPackagingPlanCapability/Component_p_CC_KW2.def b/_Main/UI/MacroPlannerWebApp/Component_DialogPackagingPlanCapability/Component_p_CC_KW2.def
new file mode 100644
index 0000000..b25bc35
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_DialogPackagingPlanCapability/Component_p_CC_KW2.def
@@ -0,0 +1,47 @@
+Quintiq file version 2.0
+Component p_CC_KW2
+{
+  #keys: '[413988.0.1402504026]'
+  BaseType: 'WebPanel'
+  Children:
+  [
+    Component L_CC_KW2
+    {
+      #keys: '[413988.0.1402504027]'
+      BaseType: 'WebLabel'
+      Properties:
+      [
+        Taborder: 0
+        Text: 'CC-KW2'
+      ]
+    }
+    Component np_CC_KW2_Package
+    {
+      #keys: '[413988.0.1402504028]'
+      BaseType: 'WebNumberPicker'
+      Properties:
+      [
+        DataBinding: 'DataHolderDialog.Data.CC_KW2_Package'
+        Label: '涓�鏃ユ渶澶у寘瑁呴噺(pcs)'
+        Taborder: 1
+      ]
+    }
+    Component np_CC_KW2_Unpacking
+    {
+      #keys: '[413988.0.1402504029]'
+      BaseType: 'WebNumberPicker'
+      Properties:
+      [
+        DataBinding: 'DataHolderDialog.Data.CC_KW2_Unpacking'
+        Label: '涓�鏃ユ渶澶ф媶鍖呴噺(pcs)'
+        Taborder: 2
+      ]
+    }
+  ]
+  Properties:
+  [
+    FixedSize: true
+    Orientation: 'horizontal'
+    Taborder: 11
+  ]
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_DialogPackagingPlanCapability/Component_p_CC_PL.def b/_Main/UI/MacroPlannerWebApp/Component_DialogPackagingPlanCapability/Component_p_CC_PL.def
new file mode 100644
index 0000000..90c0981
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_DialogPackagingPlanCapability/Component_p_CC_PL.def
@@ -0,0 +1,47 @@
+Quintiq file version 2.0
+Component p_CC_PL
+{
+  #keys: '[413988.0.1399553961]'
+  BaseType: 'WebPanel'
+  Children:
+  [
+    Component L_CC_PL
+    {
+      #keys: '[413988.0.1399553962]'
+      BaseType: 'WebLabel'
+      Properties:
+      [
+        Taborder: 0
+        Text: 'CC-PL'
+      ]
+    }
+    Component np_CC_PL_Package
+    {
+      #keys: '[413988.0.1399553963]'
+      BaseType: 'WebNumberPicker'
+      Properties:
+      [
+        DataBinding: 'DataHolderDialog.Data.CC_PL_Package'
+        Label: '涓�鏃ユ渶澶у寘瑁呴噺(pcs)'
+        Taborder: 1
+      ]
+    }
+    Component np_CC_PL_Unpacking
+    {
+      #keys: '[413988.0.1399553964]'
+      BaseType: 'WebNumberPicker'
+      Properties:
+      [
+        DataBinding: 'DataHolderDialog.Data.CC_PL_Unpacking'
+        Label: '涓�鏃ユ渶澶ф媶鍖呴噺(pcs)'
+        Taborder: 2
+      ]
+    }
+  ]
+  Properties:
+  [
+    FixedSize: true
+    Orientation: 'horizontal'
+    Taborder: 9
+  ]
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_DialogPackagingPlanCapability/Component_p_CC_ZKG.def b/_Main/UI/MacroPlannerWebApp/Component_DialogPackagingPlanCapability/Component_p_CC_ZKG.def
new file mode 100644
index 0000000..33b13ab
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_DialogPackagingPlanCapability/Component_p_CC_ZKG.def
@@ -0,0 +1,47 @@
+Quintiq file version 2.0
+Component p_CC_ZKG
+{
+  #keys: '[413988.0.1402569628]'
+  BaseType: 'WebPanel'
+  Children:
+  [
+    Component L_CC_ZKG
+    {
+      #keys: '[413988.0.1402569629]'
+      BaseType: 'WebLabel'
+      Properties:
+      [
+        Taborder: 0
+        Text: 'CC-ZKG'
+      ]
+    }
+    Component np_CC_ZKG_Package
+    {
+      #keys: '[413988.0.1402569630]'
+      BaseType: 'WebNumberPicker'
+      Properties:
+      [
+        DataBinding: 'DataHolderDialog.Data.CC_ZKG_Package'
+        Label: '涓�鏃ユ渶澶у寘瑁呴噺(pcs)'
+        Taborder: 1
+      ]
+    }
+    Component np_CC_ZKG_Unpacking
+    {
+      #keys: '[413988.0.1402569631]'
+      BaseType: 'WebNumberPicker'
+      Properties:
+      [
+        DataBinding: 'DataHolderDialog.Data.CC_ZKG_Unpacking'
+        Label: '涓�鏃ユ渶澶ф媶鍖呴噺(pcs)'
+        Taborder: 2
+      ]
+    }
+  ]
+  Properties:
+  [
+    FixedSize: true
+    Orientation: 'horizontal'
+    Taborder: 7
+  ]
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_DialogPackagingPlanCapability/Component_p_CC_ZKM.def b/_Main/UI/MacroPlannerWebApp/Component_DialogPackagingPlanCapability/Component_p_CC_ZKM.def
new file mode 100644
index 0000000..7a971dd
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_DialogPackagingPlanCapability/Component_p_CC_ZKM.def
@@ -0,0 +1,47 @@
+Quintiq file version 2.0
+Component p_CC_ZKM
+{
+  #keys: '[413988.0.1402424612]'
+  BaseType: 'WebPanel'
+  Children:
+  [
+    Component L_CC_ZKM
+    {
+      #keys: '[413988.0.1402424613]'
+      BaseType: 'WebLabel'
+      Properties:
+      [
+        Taborder: 0
+        Text: 'CC-ZKM'
+      ]
+    }
+    Component np_CC_ZKM_Package
+    {
+      #keys: '[413988.0.1402424614]'
+      BaseType: 'WebNumberPicker'
+      Properties:
+      [
+        DataBinding: 'DataHolderDialog.Data.CC_ZKM_Package'
+        Label: '涓�鏃ユ渶澶у寘瑁呴噺(pcs)'
+        Taborder: 1
+      ]
+    }
+    Component np_CC_ZKM_Unpacking
+    {
+      #keys: '[413988.0.1402424615]'
+      BaseType: 'WebNumberPicker'
+      Properties:
+      [
+        DataBinding: 'DataHolderDialog.Data.CC_ZKM_Unpacking'
+        Label: '涓�鏃ユ渶澶ф媶鍖呴噺(pcs)'
+        Taborder: 2
+      ]
+    }
+  ]
+  Properties:
+  [
+    FixedSize: true
+    Orientation: 'horizontal'
+    Taborder: 8
+  ]
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_DialogPackagingPlanCapability/Component_p_DL_AGW12.def b/_Main/UI/MacroPlannerWebApp/Component_DialogPackagingPlanCapability/Component_p_DL_AGW12.def
new file mode 100644
index 0000000..cbf3e80
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_DialogPackagingPlanCapability/Component_p_DL_AGW12.def
@@ -0,0 +1,47 @@
+Quintiq file version 2.0
+Component p_DL_AGW12
+{
+  #keys: '[413988.0.1402504011]'
+  BaseType: 'WebPanel'
+  Children:
+  [
+    Component L_DL_AGW12
+    {
+      #keys: '[413988.0.1402504012]'
+      BaseType: 'WebLabel'
+      Properties:
+      [
+        Taborder: 0
+        Text: 'DL-AGW1+2'
+      ]
+    }
+    Component np_DL_AGW12_Package
+    {
+      #keys: '[413988.0.1402504013]'
+      BaseType: 'WebNumberPicker'
+      Properties:
+      [
+        DataBinding: 'DataHolderDialog.Data.DL_AGW12_Package'
+        Label: '涓�鏃ユ渶澶у寘瑁呴噺(pcs)'
+        Taborder: 1
+      ]
+    }
+    Component np_DL_AGW12_Unpacking
+    {
+      #keys: '[413988.0.1402504014]'
+      BaseType: 'WebNumberPicker'
+      Properties:
+      [
+        DataBinding: 'DataHolderDialog.Data.DL_AGW12_Unpacking'
+        Label: '涓�鏃ユ渶澶ф媶鍖呴噺(pcs)'
+        Taborder: 2
+      ]
+    }
+  ]
+  Properties:
+  [
+    FixedSize: true
+    Orientation: 'horizontal'
+    Taborder: 5
+  ]
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_DialogPackagingPlanCapability/Component_p_DL_AGW3.def b/_Main/UI/MacroPlannerWebApp/Component_DialogPackagingPlanCapability/Component_p_DL_AGW3.def
new file mode 100644
index 0000000..b81e8a1
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_DialogPackagingPlanCapability/Component_p_DL_AGW3.def
@@ -0,0 +1,47 @@
+Quintiq file version 2.0
+Component p_DL_AGW3
+{
+  #keys: '[413988.0.1402607803]'
+  BaseType: 'WebPanel'
+  Children:
+  [
+    Component L_DL_AGW3
+    {
+      #keys: '[413988.0.1402607804]'
+      BaseType: 'WebLabel'
+      Properties:
+      [
+        Taborder: 0
+        Text: 'DL-AGW3'
+      ]
+    }
+    Component np_DL_AGW3_Package
+    {
+      #keys: '[413988.0.1402607805]'
+      BaseType: 'WebNumberPicker'
+      Properties:
+      [
+        DataBinding: 'DataHolderDialog.Data.DL_AGW3_Package'
+        Label: '涓�鏃ユ渶澶у寘瑁呴噺(pcs)'
+        Taborder: 1
+      ]
+    }
+    Component np_DL_AGW3_Unpacking
+    {
+      #keys: '[413988.0.1402607806]'
+      BaseType: 'WebNumberPicker'
+      Properties:
+      [
+        DataBinding: 'DataHolderDialog.Data.DL_AGW3_Unpacking'
+        Label: '涓�鏃ユ渶澶ф媶鍖呴噺(pcs)'
+        Taborder: 2
+      ]
+    }
+  ]
+  Properties:
+  [
+    FixedSize: true
+    Orientation: 'horizontal'
+    Taborder: 6
+  ]
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_DialogPackagingPlanCapability/Component_p_DL_KW.def b/_Main/UI/MacroPlannerWebApp/Component_DialogPackagingPlanCapability/Component_p_DL_KW.def
new file mode 100644
index 0000000..e61be02
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_DialogPackagingPlanCapability/Component_p_DL_KW.def
@@ -0,0 +1,47 @@
+Quintiq file version 2.0
+Component p_DL_KW
+{
+  #keys: '[413988.0.1402653329]'
+  BaseType: 'WebPanel'
+  Children:
+  [
+    Component L_DL_KW
+    {
+      #keys: '[413988.0.1402653330]'
+      BaseType: 'WebLabel'
+      Properties:
+      [
+        Taborder: 0
+        Text: 'DL-KW'
+      ]
+    }
+    Component np_DL_KW_Package
+    {
+      #keys: '[413988.0.1402653331]'
+      BaseType: 'WebNumberPicker'
+      Properties:
+      [
+        DataBinding: 'DataHolderDialog.Data.DL_KW_Package'
+        Label: '涓�鏃ユ渶澶у寘瑁呴噺(pcs)'
+        Taborder: 1
+      ]
+    }
+    Component np_DL_KW_Unpacking
+    {
+      #keys: '[413988.0.1402653332]'
+      BaseType: 'WebNumberPicker'
+      Properties:
+      [
+        DataBinding: 'DataHolderDialog.Data.DL_KW_Unpacking'
+        Label: '涓�鏃ユ渶澶ф媶鍖呴噺(pcs)'
+        Taborder: 2
+      ]
+    }
+  ]
+  Properties:
+  [
+    FixedSize: true
+    Orientation: 'horizontal'
+    Taborder: 4
+  ]
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_DialogPackagingPlanCapability/Component_p_DL_PL.def b/_Main/UI/MacroPlannerWebApp/Component_DialogPackagingPlanCapability/Component_p_DL_PL.def
new file mode 100644
index 0000000..7380df6
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_DialogPackagingPlanCapability/Component_p_DL_PL.def
@@ -0,0 +1,47 @@
+Quintiq file version 2.0
+Component p_DL_PL
+{
+  #keys: '[413988.0.1402149938]'
+  BaseType: 'WebPanel'
+  Children:
+  [
+    Component L_DL_PL
+    {
+      #keys: '[413988.0.1402149939]'
+      BaseType: 'WebLabel'
+      Properties:
+      [
+        Taborder: 0
+        Text: 'DL-PL'
+      ]
+    }
+    Component np_DL_PL_Package
+    {
+      #keys: '[413988.0.1402149940]'
+      BaseType: 'WebNumberPicker'
+      Properties:
+      [
+        DataBinding: 'DataHolderDialog.Data.DL_PL_Package'
+        Label: '涓�鏃ユ渶澶у寘瑁呴噺(pcs)'
+        Taborder: 1
+      ]
+    }
+    Component np_DL_PL_Unpacking
+    {
+      #keys: '[413988.0.1402149941]'
+      BaseType: 'WebNumberPicker'
+      Properties:
+      [
+        DataBinding: 'DataHolderDialog.Data.DL_PL_Unpacking'
+        Label: '涓�鏃ユ渶澶ф媶鍖呴噺(pcs)'
+        Taborder: 2
+      ]
+    }
+  ]
+  Properties:
+  [
+    FixedSize: true
+    Orientation: 'horizontal'
+    Taborder: 3
+  ]
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_DialogPackagingPlanCapability/Component_p_DL_ZK.def b/_Main/UI/MacroPlannerWebApp/Component_DialogPackagingPlanCapability/Component_p_DL_ZK.def
new file mode 100644
index 0000000..b287a96
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_DialogPackagingPlanCapability/Component_p_DL_ZK.def
@@ -0,0 +1,47 @@
+Quintiq file version 2.0
+Component p_DL_ZK
+{
+  #keys: '[413988.0.1399552827]'
+  BaseType: 'WebPanel'
+  Children:
+  [
+    Component L_DL_ZK
+    {
+      #keys: '[413988.0.1399552828]'
+      BaseType: 'WebLabel'
+      Properties:
+      [
+        Taborder: 0
+        Text: 'DL-ZK'
+      ]
+    }
+    Component np_DL_ZK_Package
+    {
+      #keys: '[413988.0.1399552829]'
+      BaseType: 'WebNumberPicker'
+      Properties:
+      [
+        DataBinding: 'DataHolderDialog.Data.DL_ZK_Package'
+        Label: '涓�鏃ユ渶澶у寘瑁呴噺(pcs)'
+        Taborder: 1
+      ]
+    }
+    Component np_DL_ZK_Unpacking
+    {
+      #keys: '[413988.0.1399552830]'
+      BaseType: 'WebNumberPicker'
+      Properties:
+      [
+        DataBinding: 'DataHolderDialog.Data.DL_ZK_Unpacking'
+        Label: '涓�鏃ユ渶澶ф媶鍖呴噺(pcs)'
+        Taborder: 2
+      ]
+    }
+  ]
+  Properties:
+  [
+    FixedSize: true
+    Orientation: 'horizontal'
+    Taborder: 2
+  ]
+}
diff --git "a/_Main/UI/MacroPlannerWebApp/Component_DialogPackagingPlanCapability/Component_p_DL_ZKG\043502.def" "b/_Main/UI/MacroPlannerWebApp/Component_DialogPackagingPlanCapability/Component_p_DL_ZKG\043502.def"
new file mode 100644
index 0000000..04e1b41
--- /dev/null
+++ "b/_Main/UI/MacroPlannerWebApp/Component_DialogPackagingPlanCapability/Component_p_DL_ZKG\043502.def"
@@ -0,0 +1,47 @@
+Quintiq file version 2.0
+Component p_DL_ZKG
+{
+  #keys: '[413988.0.1402148500]'
+  BaseType: 'WebPanel'
+  Children:
+  [
+    Component L_DL_ZKG
+    {
+      #keys: '[413988.0.1402289341]'
+      BaseType: 'WebLabel'
+      Properties:
+      [
+        Taborder: 0
+        Text: 'DL-ZKG'
+      ]
+    }
+    Component np_DL_ZKG_Package
+    {
+      #keys: '[413988.0.1402317616]'
+      BaseType: 'WebNumberPicker'
+      Properties:
+      [
+        DataBinding: 'DataHolderDialog.Data.DL_ZKG_Package'
+        Label: '涓�鏃ユ渶澶у寘瑁呴噺(pcs)'
+        Taborder: 1
+      ]
+    }
+    Component np_DL_ZKG_Unpacking
+    {
+      #keys: '[413988.0.1402289354]'
+      BaseType: 'WebNumberPicker'
+      Properties:
+      [
+        DataBinding: 'DataHolderDialog.Data.DL_ZKG_Unpacking'
+        Label: '涓�鏃ユ渶澶ф媶鍖呴噺(pcs)'
+        Taborder: 2
+      ]
+    }
+  ]
+  Properties:
+  [
+    FixedSize: true
+    Orientation: 'horizontal'
+    Taborder: 0
+  ]
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_DialogPackagingPlanCapability/Component_p_DL_ZKM.def b/_Main/UI/MacroPlannerWebApp/Component_DialogPackagingPlanCapability/Component_p_DL_ZKM.def
new file mode 100644
index 0000000..5acdfd4
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_DialogPackagingPlanCapability/Component_p_DL_ZKM.def
@@ -0,0 +1,47 @@
+Quintiq file version 2.0
+Component p_DL_ZKM
+{
+  #keys: '[413988.0.1401909922]'
+  BaseType: 'WebPanel'
+  Children:
+  [
+    Component L_DL_ZKM
+    {
+      #keys: '[413988.0.1401909923]'
+      BaseType: 'WebLabel'
+      Properties:
+      [
+        Taborder: 0
+        Text: 'DL-ZKM'
+      ]
+    }
+    Component np_DL_ZKM_Package
+    {
+      #keys: '[413988.0.1401909924]'
+      BaseType: 'WebNumberPicker'
+      Properties:
+      [
+        DataBinding: 'DataHolderDialog.Data.DL_ZKM_Package'
+        Label: '涓�鏃ユ渶澶у寘瑁呴噺(pcs)'
+        Taborder: 1
+      ]
+    }
+    Component np_DL_ZKM_Unpacking
+    {
+      #keys: '[413988.0.1401909925]'
+      BaseType: 'WebNumberPicker'
+      Properties:
+      [
+        DataBinding: 'DataHolderDialog.Data.DL_ZKM_Unpacking'
+        Label: '涓�鏃ユ渶澶ф媶鍖呴噺(pcs)'
+        Taborder: 2
+      ]
+    }
+  ]
+  Properties:
+  [
+    FixedSize: true
+    Orientation: 'horizontal'
+    Taborder: 1
+  ]
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_DialogPackagingPlanCapability/Component_pnlActions.def b/_Main/UI/MacroPlannerWebApp/Component_DialogPackagingPlanCapability/Component_pnlActions.def
new file mode 100644
index 0000000..d118081
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_DialogPackagingPlanCapability/Component_pnlActions.def
@@ -0,0 +1,40 @@
+Quintiq file version 2.0
+Component pnlActions
+{
+  #keys: '[413988.0.1402111604]'
+  BaseType: 'WebPanel'
+  Children:
+  [
+    Component btnOk
+    {
+      #keys: '[413988.0.1402111608]'
+      BaseType: 'WebButton'
+      Properties:
+      [
+        Label: 'OK'
+        Taborder: 0
+      ]
+    }
+    Component btnCancel
+    {
+      #keys: '[413988.0.1402111610]'
+      BaseType: 'WebButton'
+      Properties:
+      [
+        Label: 'Cancel'
+        Taborder: 1
+      ]
+    }
+  ]
+  Properties:
+  [
+    Alignment: 'trailing'
+    Border: true
+    ExcludeFromActiveComponent: true
+    FixedSize: true
+    Orientation: 'horizontal'
+    Padding: 'true'
+    Style: 'footer'
+    Taborder: 1
+  ]
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_DialogPackagingPlanCapability/Component_pnlContent.def b/_Main/UI/MacroPlannerWebApp/Component_DialogPackagingPlanCapability/Component_pnlContent.def
new file mode 100644
index 0000000..5f19dc3
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_DialogPackagingPlanCapability/Component_pnlContent.def
@@ -0,0 +1,26 @@
+Quintiq file version 2.0
+Component pnlContent
+{
+  #keys: '[413988.0.1402111602]'
+  BaseType: 'WebPanel'
+  Children:
+  [
+    #child: p_DL_ZKG
+    #child: p_DL_ZKM
+    #child: p_DL_ZK
+    #child: p_DL_PL
+    #child: p_DL_KW
+    #child: p_DL_AGW12
+    #child: p_DL_AGW3
+    #child: p_CC_ZKG
+    #child: p_CC_ZKM
+    #child: p_CC_PL
+    #child: p_CC_KW1
+    #child: p_CC_KW2
+  ]
+  Properties:
+  [
+    Padding: 'true'
+    Taborder: 0
+  ]
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_DialogPackagingPlanCapability/Method_Opne.def b/_Main/UI/MacroPlannerWebApp/Component_DialogPackagingPlanCapability/Method_Opne.def
new file mode 100644
index 0000000..c7c7d19
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_DialogPackagingPlanCapability/Method_Opne.def
@@ -0,0 +1,14 @@
+Quintiq file version 2.0
+#parent: #root
+Method Opne (
+  PackagingPlanCapability ppc
+) id:Method_DialogPackagingPlanCapability_Opne
+{
+  #keys: '[413988.0.1402004588]'
+  Body:
+  [*
+    DataHolderDialog.Data( ppc );
+    
+    ApplicationMacroPlanner.ShowFormModal( this );
+  *]
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_DialogPackagingPlanCapability/Response_pnlActions_btnCancel_OnClick.def b/_Main/UI/MacroPlannerWebApp/Component_DialogPackagingPlanCapability/Response_pnlActions_btnCancel_OnClick.def
new file mode 100644
index 0000000..7833098
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_DialogPackagingPlanCapability/Response_pnlActions_btnCancel_OnClick.def
@@ -0,0 +1,15 @@
+Quintiq file version 2.0
+#parent: pnlActions/btnCancel
+Response OnClick () id:Response_pnlActions_btnCancel_OnClick
+{
+  #keys: '[413988.0.1402111614]'
+  DefinitionID: 'Responsedef_WebButton_OnClick'
+  GroupServerCalls: true
+  QuillAction
+  {
+    Body:
+    [*
+      Form.Close();
+    *]
+  }
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_DialogPackagingPlanCapability/Response_pnlActions_btnOk_OnClick.def b/_Main/UI/MacroPlannerWebApp/Component_DialogPackagingPlanCapability/Response_pnlActions_btnOk_OnClick.def
new file mode 100644
index 0000000..379a354
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_DialogPackagingPlanCapability/Response_pnlActions_btnOk_OnClick.def
@@ -0,0 +1,16 @@
+Quintiq file version 2.0
+#parent: pnlActions/btnOk
+Response OnClick () id:Response_pnlActions_btnOk_OnClick
+{
+  #keys: '[413988.0.1402111613]'
+  DefinitionID: 'Responsedef_WebButton_OnClick'
+  GroupServerCalls: true
+  QuillAction
+  {
+    Body:
+    [*
+      Form.ApplyChanges();
+      Form.Close();
+    *]
+  }
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_DialogPackagingPlanCapability/_ROOT_Component_DialogPackagingPlanCapability.def b/_Main/UI/MacroPlannerWebApp/Component_DialogPackagingPlanCapability/_ROOT_Component_DialogPackagingPlanCapability.def
new file mode 100644
index 0000000..1939db5
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_DialogPackagingPlanCapability/_ROOT_Component_DialogPackagingPlanCapability.def
@@ -0,0 +1,32 @@
+Quintiq file version 2.0
+#root
+#parent: MacroPlannerWebApp
+OrphanComponent DialogPackagingPlanCapability
+{
+  #keys: '[413988.0.1402111600]'
+  BaseType: 'WebForm'
+  Children:
+  [
+    #child: pnlContent
+    #child: pnlActions
+    Component DataHolderDialog
+    {
+      #keys: '[413988.0.1402317641]'
+      BaseType: 'WebDataHolder'
+      Databinding: 'PackagingPlanCapability'
+      Properties:
+      [
+        Taborder: 2
+      ]
+    }
+  ]
+  Properties:
+  [
+    Alignment: 'trailing'
+    EnterButton: 'btnOk'
+    EscapeButton: 'btnCancel'
+    ExcludeFromActiveComponent: true
+    Padding: 'false'
+    Title: 'Packaging Plan Capability'
+  ]
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_DialogPackagingPlanLotSize/Component_List319.def b/_Main/UI/MacroPlannerWebApp/Component_DialogPackagingPlanLotSize/Component_List319.def
new file mode 100644
index 0000000..83617f9
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_DialogPackagingPlanLotSize/Component_List319.def
@@ -0,0 +1,59 @@
+Quintiq file version 2.0
+Component List319
+{
+  #keys: '[413988.0.1401611694]'
+  BaseType: 'WebList'
+  Children:
+  [
+    Component DataExtractor661
+    {
+      #keys: '[413988.0.1401611695]'
+      BaseType: 'WebDataExtractor'
+      Properties:
+      [
+        DataType: 'MacroPlan'
+        Source: 'MacroPlan'
+        Taborder: 0
+        Transformation: 'PackagingPlanLotSize'
+      ]
+    }
+    #child: listActionBarPage243
+    Component DataSetLevel404
+    {
+      #keys: '[413988.0.1401611700]'
+      BaseType: 'WebDataSetLevel'
+      Children:
+      [
+        #child: listContextMenu199
+      ]
+      Properties:
+      [
+        Columns: '[{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"Factory","title":"Factory","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"Factory"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"ProductID","title":"ProductID","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"ProductID"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"LotSize","title":"LotSize","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"LotSize"}}]'
+        ContextMenu: 'listContextMenu199'
+        Taborder: 2
+      ]
+    }
+  ]
+  Properties:
+  [
+    Taborder: 0
+  ]
+  ResponseDefinitions:
+  [
+    DelegatedResponseDefinition OnClick id:Responsedef_List319_WebMenu_OnClick
+    {
+      #keys: '[413988.0.1401935656]'
+      Initiator: 'WebMenu'
+      IsInherited: false
+      ResponseType: 'OnClick'
+      Arguments:
+      [
+        ResponseDefinitionArgument selection
+        {
+          #keys: '[3379.0.60561562]'
+          Binding: 'this.Selection()'
+        }
+      ]
+    }
+  ]
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_DialogPackagingPlanLotSize/Component_listActionBarPage243.def b/_Main/UI/MacroPlannerWebApp/Component_DialogPackagingPlanLotSize/Component_listActionBarPage243.def
new file mode 100644
index 0000000..bf225fd
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_DialogPackagingPlanLotSize/Component_listActionBarPage243.def
@@ -0,0 +1,10 @@
+Quintiq file version 2.0
+Component listActionBarPage243
+{
+  #keys: '[413988.0.1401611697]'
+  BaseType: 'listActionBarPage'
+  Properties:
+  [
+    Taborder: 1
+  ]
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_DialogPackagingPlanLotSize/Component_listContextMenu199.def b/_Main/UI/MacroPlannerWebApp/Component_DialogPackagingPlanLotSize/Component_listContextMenu199.def
new file mode 100644
index 0000000..0b042f1
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_DialogPackagingPlanLotSize/Component_listContextMenu199.def
@@ -0,0 +1,24 @@
+Quintiq file version 2.0
+Component listContextMenu199
+{
+  #keys: '[413988.0.1401611702]'
+  BaseType: 'listContextMenu'
+  Children:
+  [
+    Component mDelete
+    {
+      #keys: '[413988.0.1401907885]'
+      BaseType: 'WebMenu'
+      Properties:
+      [
+        Image: 'DELETE'
+        Taborder: 3
+        Title: 'Delete'
+      ]
+    }
+  ]
+  Properties:
+  [
+    Taborder: 0
+  ]
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_DialogPackagingPlanLotSize/Component_pContent.def b/_Main/UI/MacroPlannerWebApp/Component_DialogPackagingPlanLotSize/Component_pContent.def
new file mode 100644
index 0000000..814bdd1
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_DialogPackagingPlanLotSize/Component_pContent.def
@@ -0,0 +1,14 @@
+Quintiq file version 2.0
+Component pContent
+{
+  #keys: '[413988.0.1401575971]'
+  BaseType: 'WebPanel'
+  Children:
+  [
+    #child: List319
+  ]
+  Properties:
+  [
+    Taborder: 1
+  ]
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_DialogPackagingPlanLotSize/Component_pHeader.def b/_Main/UI/MacroPlannerWebApp/Component_DialogPackagingPlanLotSize/Component_pHeader.def
new file mode 100644
index 0000000..023aaa3
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_DialogPackagingPlanLotSize/Component_pHeader.def
@@ -0,0 +1,75 @@
+Quintiq file version 2.0
+Component pHeader
+{
+  #keys: '[413988.0.1401575958]'
+  BaseType: 'WebPanel'
+  Children:
+  [
+    Component ddslFactory
+    {
+      #keys: '[413988.0.1401691793]'
+      BaseType: 'WebDropDownStringList'
+      Properties:
+      [
+        Label: 'Factory'
+        Sorting: 'none'
+        Strings: '澶ц繛宸ュ巶;闀挎槬宸ュ巶'
+        Taborder: 0
+      ]
+    }
+    Component bAdd
+    {
+      #keys: '[413988.0.1401766018]'
+      BaseType: 'WebButton'
+      Properties:
+      [
+        Image: 'ADD2'
+        Taborder: 3
+      ]
+    }
+    Component ddlProductID
+    {
+      #keys: '[413988.0.1401766037]'
+      BaseType: 'WebDropDownList'
+      Databinding: 'Product_MP'
+      Children:
+      [
+        Component DataExtractor216
+        {
+          #keys: '[413988.0.1401766039]'
+          BaseType: 'WebDataExtractor'
+          Properties:
+          [
+            DataType: 'MacroPlan'
+            Source: 'MacroPlan'
+            Taborder: 0
+            Transformation: 'Product_MP'
+          ]
+        }
+      ]
+      Properties:
+      [
+        DisplayField: 'ID'
+        Label: 'Product'
+        Taborder: 1
+      ]
+    }
+    Component npQuantity
+    {
+      #keys: '[413988.0.1401801485]'
+      BaseType: 'WebNumberPicker'
+      Properties:
+      [
+        Label: 'Lot size'
+        Taborder: 2
+      ]
+    }
+  ]
+  Properties:
+  [
+    Border: true
+    FixedSize: true
+    Orientation: 'horizontal'
+    Taborder: 0
+  ]
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_DialogPackagingPlanLotSize/Component_pnlActions.def b/_Main/UI/MacroPlannerWebApp/Component_DialogPackagingPlanLotSize/Component_pnlActions.def
new file mode 100644
index 0000000..5a986c3
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_DialogPackagingPlanLotSize/Component_pnlActions.def
@@ -0,0 +1,40 @@
+Quintiq file version 2.0
+Component pnlActions
+{
+  #keys: '[413988.0.1401326590]'
+  BaseType: 'WebPanel'
+  Children:
+  [
+    Component btnOk
+    {
+      #keys: '[413988.0.1401326594]'
+      BaseType: 'WebButton'
+      Properties:
+      [
+        Label: 'OK'
+        Taborder: 0
+      ]
+    }
+    Component btnCancel
+    {
+      #keys: '[413988.0.1401326596]'
+      BaseType: 'WebButton'
+      Properties:
+      [
+        Label: 'Cancel'
+        Taborder: 1
+      ]
+    }
+  ]
+  Properties:
+  [
+    Alignment: 'trailing'
+    Border: true
+    ExcludeFromActiveComponent: true
+    FixedSize: true
+    Orientation: 'horizontal'
+    Padding: 'true'
+    Style: 'footer'
+    Taborder: 1
+  ]
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_DialogPackagingPlanLotSize/Component_pnlContent.def b/_Main/UI/MacroPlannerWebApp/Component_DialogPackagingPlanLotSize/Component_pnlContent.def
new file mode 100644
index 0000000..7a28c83
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_DialogPackagingPlanLotSize/Component_pnlContent.def
@@ -0,0 +1,16 @@
+Quintiq file version 2.0
+Component pnlContent
+{
+  #keys: '[413988.0.1401326588]'
+  BaseType: 'WebPanel'
+  Children:
+  [
+    #child: pHeader
+    #child: pContent
+  ]
+  Properties:
+  [
+    Padding: 'true'
+    Taborder: 0
+  ]
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_DialogPackagingPlanLotSize/Response_List319_mDelete_OnClick.def b/_Main/UI/MacroPlannerWebApp/Component_DialogPackagingPlanLotSize/Response_List319_mDelete_OnClick.def
new file mode 100644
index 0000000..f799d59
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_DialogPackagingPlanLotSize/Response_List319_mDelete_OnClick.def
@@ -0,0 +1,19 @@
+Quintiq file version 2.0
+#parent: List319
+Response OnClick (
+  structured[PackagingPlanLotSize] selection
+) id:Response_List319_mDelete_OnClick
+{
+  #keys: '[413988.0.1399533783]'
+  CanBindMultiple: false
+  DefinitionID => /List319/Responsedef_List319_WebMenu_OnClick
+  Initiator: 'mDelete'
+  QuillAction
+  {
+    Body:
+    [*
+      MacroPlan::DeleteObjects( selection );
+    *]
+    GroupServerCalls: false
+  }
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_DialogPackagingPlanLotSize/Response_pHeader_bAdd_OnClick.def b/_Main/UI/MacroPlannerWebApp/Component_DialogPackagingPlanLotSize/Response_pHeader_bAdd_OnClick.def
new file mode 100644
index 0000000..bf6fca9
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_DialogPackagingPlanLotSize/Response_pHeader_bAdd_OnClick.def
@@ -0,0 +1,16 @@
+Quintiq file version 2.0
+#parent: pHeader/bAdd
+Response OnClick () id:Response_pHeader_bAdd_OnClick
+{
+  #keys: '[413988.0.1401876560]'
+  CanBindMultiple: false
+  DefinitionID: 'Responsedef_WebButton_OnClick'
+  QuillAction
+  {
+    Body:
+    [*
+      MacroPlan.PackagingPlanLotSize( relnew, Factory := ddslFactory.Text(), ProductID := ddlProductID.Data().ID(), LotSize := [Number]npQuantity.Number() );
+    *]
+    GroupServerCalls: false
+  }
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_DialogPackagingPlanLotSize/Response_pnlActions_btnCancel_OnClick.def b/_Main/UI/MacroPlannerWebApp/Component_DialogPackagingPlanLotSize/Response_pnlActions_btnCancel_OnClick.def
new file mode 100644
index 0000000..ccb4cbf
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_DialogPackagingPlanLotSize/Response_pnlActions_btnCancel_OnClick.def
@@ -0,0 +1,15 @@
+Quintiq file version 2.0
+#parent: pnlActions/btnCancel
+Response OnClick () id:Response_pnlActions_btnCancel_OnClick
+{
+  #keys: '[413988.0.1401326600]'
+  DefinitionID: 'Responsedef_WebButton_OnClick'
+  GroupServerCalls: true
+  QuillAction
+  {
+    Body:
+    [*
+      Form.Close();
+    *]
+  }
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_DialogPackagingPlanLotSize/Response_pnlActions_btnOk_OnClick.def b/_Main/UI/MacroPlannerWebApp/Component_DialogPackagingPlanLotSize/Response_pnlActions_btnOk_OnClick.def
new file mode 100644
index 0000000..651abf1
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_DialogPackagingPlanLotSize/Response_pnlActions_btnOk_OnClick.def
@@ -0,0 +1,16 @@
+Quintiq file version 2.0
+#parent: pnlActions/btnOk
+Response OnClick () id:Response_pnlActions_btnOk_OnClick
+{
+  #keys: '[413988.0.1401326599]'
+  DefinitionID: 'Responsedef_WebButton_OnClick'
+  GroupServerCalls: true
+  QuillAction
+  {
+    Body:
+    [*
+      Form.ApplyChanges();
+      Form.Close();
+    *]
+  }
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_DialogPackagingPlanLotSize/_ROOT_Component_DialogPackagingPlanLotSize.def b/_Main/UI/MacroPlannerWebApp/Component_DialogPackagingPlanLotSize/_ROOT_Component_DialogPackagingPlanLotSize.def
new file mode 100644
index 0000000..b6e3ae9
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_DialogPackagingPlanLotSize/_ROOT_Component_DialogPackagingPlanLotSize.def
@@ -0,0 +1,23 @@
+Quintiq file version 2.0
+#root
+#parent: MacroPlannerWebApp
+OrphanComponent DialogPackagingPlanLotSize
+{
+  #keys: '[413988.0.1401326586]'
+  BaseType: 'WebForm'
+  Children:
+  [
+    #child: pnlContent
+    #child: pnlActions
+  ]
+  Properties:
+  [
+    Alignment: 'trailing'
+    EnterButton: 'btnOk'
+    EscapeButton: 'btnCancel'
+    ExcludeFromActiveComponent: true
+    MinimumRows: 30
+    Padding: 'false'
+    Title: 'Packaging Plan Lot Size'
+  ]
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_DialogPackagingPlanMaximumQuantity/Component_pCC.def b/_Main/UI/MacroPlannerWebApp/Component_DialogPackagingPlanMaximumQuantity/Component_pCC.def
new file mode 100644
index 0000000..48991c2
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_DialogPackagingPlanMaximumQuantity/Component_pCC.def
@@ -0,0 +1,69 @@
+Quintiq file version 2.0
+Component pCC
+{
+  #keys: '[413988.0.1400896849]'
+  BaseType: 'WebPanel'
+  Children:
+  [
+    Component CC_ZKG
+    {
+      #keys: '[413988.0.1400721669]'
+      BaseType: 'WebNumberPicker'
+      Properties:
+      [
+        DataBinding: 'DataHolderDialog.Data.CC_ZKG'
+        Label: 'ZKG(pcs)'
+        Taborder: 0
+      ]
+    }
+    Component CC_ZKM
+    {
+      #keys: '[413988.0.1400721671]'
+      BaseType: 'WebNumberPicker'
+      Properties:
+      [
+        DataBinding: 'DataHolderDialog.Data.CC_ZKM'
+        Label: 'ZKM(pcs)'
+        Taborder: 1
+      ]
+    }
+    Component CC_PL
+    {
+      #keys: '[413988.0.1400721673]'
+      BaseType: 'WebNumberPicker'
+      Properties:
+      [
+        DataBinding: 'DataHolderDialog.Data.CC_PL'
+        Label: 'PL(pcs)'
+        Taborder: 2
+      ]
+    }
+    Component CC_KW
+    {
+      #keys: '[413988.0.1400721675]'
+      BaseType: 'WebNumberPicker'
+      Properties:
+      [
+        DataBinding: 'DataHolderDialog.Data.CC_KW'
+        Label: 'KW(pcs)'
+        Taborder: 3
+      ]
+    }
+    Component CC_AGW
+    {
+      #keys: '[413988.0.1400721677]'
+      BaseType: 'WebNumberPicker'
+      Properties:
+      [
+        DataBinding: 'DataHolderDialog.Data.CC_AGW'
+        Label: 'AGW(pcs)'
+        Taborder: 4
+      ]
+    }
+  ]
+  Properties:
+  [
+    Taborder: 1
+    Title: '闀挎槬宸ュ巶'
+  ]
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_DialogPackagingPlanMaximumQuantity/Component_pDL.def b/_Main/UI/MacroPlannerWebApp/Component_DialogPackagingPlanMaximumQuantity/Component_pDL.def
new file mode 100644
index 0000000..63a6b81
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_DialogPackagingPlanMaximumQuantity/Component_pDL.def
@@ -0,0 +1,69 @@
+Quintiq file version 2.0
+Component pDL
+{
+  #keys: '[413988.0.1400896830]'
+  BaseType: 'WebPanel'
+  Children:
+  [
+    Component DL_ZKG
+    {
+      #keys: '[413988.0.1400721635]'
+      BaseType: 'WebNumberPicker'
+      Properties:
+      [
+        DataBinding: 'DataHolderDialog.Data.DL_ZKG'
+        Label: 'ZKG(pcs)'
+        Taborder: 0
+      ]
+    }
+    Component DL_ZKM
+    {
+      #keys: '[413988.0.1400721655]'
+      BaseType: 'WebNumberPicker'
+      Properties:
+      [
+        DataBinding: 'DataHolderDialog.Data.DL_ZKM'
+        Label: 'ZKM(pcs)'
+        Taborder: 1
+      ]
+    }
+    Component DL_PL
+    {
+      #keys: '[413988.0.1400721657]'
+      BaseType: 'WebNumberPicker'
+      Properties:
+      [
+        DataBinding: 'DataHolderDialog.Data.DL_PL'
+        Label: 'PL(pcs)'
+        Taborder: 2
+      ]
+    }
+    Component DL_KW
+    {
+      #keys: '[413988.0.1400721659]'
+      BaseType: 'WebNumberPicker'
+      Properties:
+      [
+        DataBinding: 'DataHolderDialog.Data.DL_KW'
+        Label: 'KW(pcs)'
+        Taborder: 3
+      ]
+    }
+    Component DL_AGW
+    {
+      #keys: '[413988.0.1400721661]'
+      BaseType: 'WebNumberPicker'
+      Properties:
+      [
+        DataBinding: 'DataHolderDialog.Data.DL_AGW'
+        Label: 'AGW(pcs)'
+        Taborder: 4
+      ]
+    }
+  ]
+  Properties:
+  [
+    Taborder: 0
+    Title: '澶ц繛宸ュ巶'
+  ]
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_DialogPackagingPlanMaximumQuantity/Component_pnlActions.def b/_Main/UI/MacroPlannerWebApp/Component_DialogPackagingPlanMaximumQuantity/Component_pnlActions.def
new file mode 100644
index 0000000..1c8a43e
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_DialogPackagingPlanMaximumQuantity/Component_pnlActions.def
@@ -0,0 +1,40 @@
+Quintiq file version 2.0
+Component pnlActions
+{
+  #keys: '[413988.0.1400835403]'
+  BaseType: 'WebPanel'
+  Children:
+  [
+    Component btnOk
+    {
+      #keys: '[413988.0.1400835407]'
+      BaseType: 'WebButton'
+      Properties:
+      [
+        Label: 'OK'
+        Taborder: 0
+      ]
+    }
+    Component btnCancel
+    {
+      #keys: '[413988.0.1400835409]'
+      BaseType: 'WebButton'
+      Properties:
+      [
+        Label: 'Cancel'
+        Taborder: 1
+      ]
+    }
+  ]
+  Properties:
+  [
+    Alignment: 'trailing'
+    Border: true
+    ExcludeFromActiveComponent: true
+    FixedSize: true
+    Orientation: 'horizontal'
+    Padding: 'true'
+    Style: 'footer'
+    Taborder: 1
+  ]
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_DialogPackagingPlanMaximumQuantity/Component_pnlContent.def b/_Main/UI/MacroPlannerWebApp/Component_DialogPackagingPlanMaximumQuantity/Component_pnlContent.def
new file mode 100644
index 0000000..5d0a02b
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_DialogPackagingPlanMaximumQuantity/Component_pnlContent.def
@@ -0,0 +1,17 @@
+Quintiq file version 2.0
+Component pnlContent
+{
+  #keys: '[413988.0.1400835401]'
+  BaseType: 'WebPanel'
+  Children:
+  [
+    #child: pDL
+    #child: pCC
+  ]
+  Properties:
+  [
+    Orientation: 'tab'
+    Padding: 'true'
+    Taborder: 0
+  ]
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_DialogPackagingPlanMaximumQuantity/Method_Open.def b/_Main/UI/MacroPlannerWebApp/Component_DialogPackagingPlanMaximumQuantity/Method_Open.def
new file mode 100644
index 0000000..23b136d
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_DialogPackagingPlanMaximumQuantity/Method_Open.def
@@ -0,0 +1,14 @@
+Quintiq file version 2.0
+#parent: #root
+Method Open (
+  PackagingPlanMaximumQuantity ppmq
+) id:Method_DialogPackagingPlanMaximumQuantity_Open
+{
+  #keys: '[413988.0.1401261851]'
+  Body:
+  [*
+    DataHolderDialog.Data( ppmq );
+    
+    ApplicationMacroPlanner.ShowFormModal( this );
+  *]
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_DialogPackagingPlanMaximumQuantity/Response_pnlActions_btnCancel_OnClick.def b/_Main/UI/MacroPlannerWebApp/Component_DialogPackagingPlanMaximumQuantity/Response_pnlActions_btnCancel_OnClick.def
new file mode 100644
index 0000000..8ff5b9a
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_DialogPackagingPlanMaximumQuantity/Response_pnlActions_btnCancel_OnClick.def
@@ -0,0 +1,15 @@
+Quintiq file version 2.0
+#parent: pnlActions/btnCancel
+Response OnClick () id:Response_pnlActions_btnCancel_OnClick
+{
+  #keys: '[413988.0.1400835413]'
+  DefinitionID: 'Responsedef_WebButton_OnClick'
+  GroupServerCalls: true
+  QuillAction
+  {
+    Body:
+    [*
+      Form.Close();
+    *]
+  }
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_DialogPackagingPlanMaximumQuantity/Response_pnlActions_btnOk_OnClick.def b/_Main/UI/MacroPlannerWebApp/Component_DialogPackagingPlanMaximumQuantity/Response_pnlActions_btnOk_OnClick.def
new file mode 100644
index 0000000..3719568
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_DialogPackagingPlanMaximumQuantity/Response_pnlActions_btnOk_OnClick.def
@@ -0,0 +1,16 @@
+Quintiq file version 2.0
+#parent: pnlActions/btnOk
+Response OnClick () id:Response_pnlActions_btnOk_OnClick
+{
+  #keys: '[413988.0.1400835412]'
+  DefinitionID: 'Responsedef_WebButton_OnClick'
+  GroupServerCalls: true
+  QuillAction
+  {
+    Body:
+    [*
+      Form.ApplyChanges();
+      Form.Close();
+    *]
+  }
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_DialogPackagingPlanMaximumQuantity/_ROOT_Component_DialogPackagingPlanMaximumQuantity.def b/_Main/UI/MacroPlannerWebApp/Component_DialogPackagingPlanMaximumQuantity/_ROOT_Component_DialogPackagingPlanMaximumQuantity.def
new file mode 100644
index 0000000..3de2d73
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_DialogPackagingPlanMaximumQuantity/_ROOT_Component_DialogPackagingPlanMaximumQuantity.def
@@ -0,0 +1,31 @@
+Quintiq file version 2.0
+#root
+#parent: MacroPlannerWebApp
+OrphanComponent DialogPackagingPlanMaximumQuantity
+{
+  #keys: '[413988.0.1400835399]'
+  BaseType: 'WebForm'
+  Children:
+  [
+    #child: pnlContent
+    #child: pnlActions
+    Component DataHolderDialog
+    {
+      #keys: '[413988.0.1401225474]'
+      BaseType: 'WebDataHolder'
+      Databinding: 'PackagingPlanMaximumQuantity'
+      Properties:
+      [
+        Taborder: 2
+      ]
+    }
+  ]
+  Properties:
+  [
+    Alignment: 'trailing'
+    EnterButton: 'btnOk'
+    EscapeButton: 'btnCancel'
+    ExcludeFromActiveComponent: true
+    Padding: 'false'
+  ]
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormPackagingPlan/Component_pContent.def b/_Main/UI/MacroPlannerWebApp/Component_FormPackagingPlan/Component_pContent.def
new file mode 100644
index 0000000..d51dd19
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormPackagingPlan/Component_pContent.def
@@ -0,0 +1,10 @@
+Quintiq file version 2.0
+Component pContent
+{
+  #keys: '[413988.0.1400730424]'
+  BaseType: 'WebPanel'
+  Properties:
+  [
+    Taborder: 1
+  ]
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormPackagingPlan/Component_pHeader.def b/_Main/UI/MacroPlannerWebApp/Component_FormPackagingPlan/Component_pHeader.def
new file mode 100644
index 0000000..ef58a48
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormPackagingPlan/Component_pHeader.def
@@ -0,0 +1,66 @@
+Quintiq file version 2.0
+Component pHeader
+{
+  #keys: '[413988.0.1400730394]'
+  BaseType: 'WebPanel'
+  Children:
+  [
+    Component bDownload
+    {
+      #keys: '[413988.0.1400720648]'
+      BaseType: 'WebButton'
+      Properties:
+      [
+        Label: 'Download'
+        Taborder: 0
+      ]
+    }
+    Component bMaximumQuantity
+    {
+      #keys: '[413988.0.1400805667]'
+      BaseType: 'WebButton'
+      Properties:
+      [
+        Label: 'Maximum quantity'
+        Taborder: 1
+      ]
+    }
+    Component bLotSize
+    {
+      #keys: '[413988.0.1399512028]'
+      BaseType: 'WebButton'
+      Properties:
+      [
+        Label: 'Lot size'
+        Taborder: 2
+      ]
+    }
+    Component bPackagingCapability
+    {
+      #keys: '[413988.0.1400835204]'
+      BaseType: 'WebButton'
+      Properties:
+      [
+        Label: 'Packaging capability'
+        Taborder: 3
+      ]
+    }
+    Component bGenerateReport
+    {
+      #keys: '[413988.0.1400835216]'
+      BaseType: 'WebButton'
+      Properties:
+      [
+        Label: 'Generate report'
+        Taborder: 4
+      ]
+    }
+  ]
+  Properties:
+  [
+    Border: true
+    FixedSize: true
+    Orientation: 'horizontal'
+    Taborder: 0
+  ]
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormPackagingPlan/Response_pHeader_bLotSize_OnClick.def b/_Main/UI/MacroPlannerWebApp/Component_FormPackagingPlan/Response_pHeader_bLotSize_OnClick.def
new file mode 100644
index 0000000..4c7afee
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormPackagingPlan/Response_pHeader_bLotSize_OnClick.def
@@ -0,0 +1,22 @@
+Quintiq file version 2.0
+#parent: pHeader/bLotSize
+Response OnClick () id:Response_pHeader_bLotSize_OnClick
+{
+  #keys: '[413988.0.1401611891]'
+  CanBindMultiple: false
+  DefinitionID: 'Responsedef_WebButton_OnClick'
+  Precondition:
+  [*
+    return not isnull( MacroPlan );
+  *]
+  QuillAction
+  {
+    Body:
+    [*
+      dlg := construct( DialogPackagingPlanLotSize );
+      
+      ApplicationMacroPlanner.ShowFormModal( dlg );
+    *]
+    GroupServerCalls: false
+  }
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormPackagingPlan/Response_pHeader_bMaximumQuantity_OnClick.def b/_Main/UI/MacroPlannerWebApp/Component_FormPackagingPlan/Response_pHeader_bMaximumQuantity_OnClick.def
new file mode 100644
index 0000000..805a50d
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormPackagingPlan/Response_pHeader_bMaximumQuantity_OnClick.def
@@ -0,0 +1,27 @@
+Quintiq file version 2.0
+#parent: pHeader/bMaximumQuantity
+Response OnClick () id:Response_pHeader_bMaximumQuantity_OnClick
+{
+  #keys: '[413988.0.1399583864]'
+  CanBindMultiple: false
+  DefinitionID: 'Responsedef_WebButton_OnClick'
+  Precondition:
+  [*
+    return not isnull( MacroPlan );
+  *]
+  QuillAction
+  {
+    Body:
+    [*
+      if ( isnull( MacroPlan.PackagingPlanMaximumQuantity() ) ) {
+        MacroPlan.PackagingPlanMaximumQuantity( relnew );
+      }
+      
+      
+      dlg := construct( DialogPackagingPlanMaximumQuantity );
+      
+      dlg.Open( MacroPlan.PackagingPlanMaximumQuantity() );
+    *]
+    GroupServerCalls: false
+  }
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormPackagingPlan/Response_pHeader_bPackagingCapability_OnClick.def b/_Main/UI/MacroPlannerWebApp/Component_FormPackagingPlan/Response_pHeader_bPackagingCapability_OnClick.def
new file mode 100644
index 0000000..2097279
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormPackagingPlan/Response_pHeader_bPackagingCapability_OnClick.def
@@ -0,0 +1,23 @@
+Quintiq file version 2.0
+#parent: pHeader/bPackagingCapability
+Response OnClick () id:Response_pHeader_bPackagingCapability_OnClick
+{
+  #keys: '[413988.0.1402010508]'
+  CanBindMultiple: false
+  DefinitionID: 'Responsedef_WebButton_OnClick'
+  QuillAction
+  {
+    Body:
+    [*
+      if ( isnull( MacroPlan.PackagingPlanCapability() ) ) {
+        MacroPlan.PackagingPlanCapability( relnew );
+      }
+      
+      
+      dlg := construct( DialogPackagingPlanCapability );
+      
+      dlg.Opne( MacroPlan.PackagingPlanCapability() );
+    *]
+    GroupServerCalls: false
+  }
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormPackagingPlan/_ROOT_Component_FormPackagingPlan.def b/_Main/UI/MacroPlannerWebApp/Component_FormPackagingPlan/_ROOT_Component_FormPackagingPlan.def
new file mode 100644
index 0000000..9b37580
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormPackagingPlan/_ROOT_Component_FormPackagingPlan.def
@@ -0,0 +1,17 @@
+Quintiq file version 2.0
+#root
+#parent: MacroPlannerWebApp
+OrphanComponent FormPackagingPlan
+{
+  #keys: '[413988.0.1400700626]'
+  BaseType: 'WebForm'
+  Children:
+  [
+    #child: pContent
+    #child: pHeader
+  ]
+  Properties:
+  [
+    Title: 'Packaging Plan'
+  ]
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormShiftDayTime/Component_ListShiftDayTime.def b/_Main/UI/MacroPlannerWebApp/Component_FormShiftDayTime/Component_ListShiftDayTime.def
new file mode 100644
index 0000000..79e95fe
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormShiftDayTime/Component_ListShiftDayTime.def
@@ -0,0 +1,59 @@
+Quintiq file version 2.0
+Component ListShiftDayTime
+{
+  #keys: '[413988.0.1371272751]'
+  BaseType: 'WebList'
+  Children:
+  [
+    Component DataExtractorShiftDayTime
+    {
+      #keys: '[413988.0.1371272752]'
+      BaseType: 'WebDataExtractor'
+      Properties:
+      [
+        DataType: 'ShiftDay'
+        Source: 'ApplicationMacroPlanner.dhSelectedShiftDay'
+        Taborder: 0
+        Transformation: 'ShiftDayTime'
+      ]
+    }
+    #child: listActionBarPageShiftDayTime
+    Component DataSetLevelShiftDayTime
+    {
+      #keys: '[413988.0.1371272757]'
+      BaseType: 'WebDataSetLevel'
+      Children:
+      [
+        #child: listContextMenuShiftDayTime
+      ]
+      Properties:
+      [
+        Columns: '[{"attribute":{"classtype":"WebApiDefinitionAttributeExpression","columnid":"Start","title":"Start","subtotals":"","tooltip":"","width":-1,"display":"always","expressionbody":"object.StartDateTime().Format( \'H:m\' )"}},{"attribute":{"classtype":"WebApiDefinitionAttributeExpression","columnid":"End","title":"End","subtotals":"","tooltip":"","width":-1,"display":"shown","expressionbody":"object.EndDateTIme().Format( \'H:m\' )"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"Name","title":"Name","subtotals":"","tooltip":"","width":-1,"display":"always","editable":false,"attribute":"Name"}}]'
+        ContextMenu: 'listContextMenuShiftDayTime'
+        Taborder: 2
+      ]
+    }
+  ]
+  Properties:
+  [
+    Taborder: 0
+  ]
+  ResponseDefinitions:
+  [
+    DelegatedResponseDefinition OnClick id:Responsedef_ListShiftDayTime_WebMenu_OnClick
+    {
+      #keys: '[413988.0.1372785557]'
+      Initiator: 'WebMenu'
+      IsInherited: false
+      ResponseType: 'OnClick'
+      Arguments:
+      [
+        ResponseDefinitionArgument selection
+        {
+          #keys: '[3327.0.38408907]'
+          Binding: 'this.Selection()'
+        }
+      ]
+    }
+  ]
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormShiftDayTime/Component_listActionBarPageShiftDayTime.def b/_Main/UI/MacroPlannerWebApp/Component_FormShiftDayTime/Component_listActionBarPageShiftDayTime.def
new file mode 100644
index 0000000..b6c3fc2
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormShiftDayTime/Component_listActionBarPageShiftDayTime.def
@@ -0,0 +1,10 @@
+Quintiq file version 2.0
+Component listActionBarPageShiftDayTime
+{
+  #keys: '[413988.0.1371272754]'
+  BaseType: 'listActionBarPage'
+  Properties:
+  [
+    Taborder: 1
+  ]
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormShiftDayTime/Component_listContextMenuShiftDayTime.def b/_Main/UI/MacroPlannerWebApp/Component_FormShiftDayTime/Component_listContextMenuShiftDayTime.def
new file mode 100644
index 0000000..c13f901
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormShiftDayTime/Component_listContextMenuShiftDayTime.def
@@ -0,0 +1,47 @@
+Quintiq file version 2.0
+Component listContextMenuShiftDayTime
+{
+  #keys: '[413988.0.1371272759]'
+  BaseType: 'listContextMenu'
+  Children:
+  [
+    Component mNew
+    {
+      #keys: '[413988.0.1372821546]'
+      BaseType: 'WebMenu'
+      Properties:
+      [
+        Image: 'ADD2'
+        Taborder: 3
+        Title: 'New'
+      ]
+    }
+    Component mEdit
+    {
+      #keys: '[413988.0.1372635806]'
+      BaseType: 'WebMenu'
+      Properties:
+      [
+        BindOnDoubleClick: true
+        Image: 'NOTEBOOK_EDIT'
+        Taborder: 4
+        Title: 'Edit'
+      ]
+    }
+    Component mDelete
+    {
+      #keys: '[413988.0.1372312862]'
+      BaseType: 'WebMenu'
+      Properties:
+      [
+        Image: 'DELETE'
+        Taborder: 5
+        Title: 'Delete'
+      ]
+    }
+  ]
+  Properties:
+  [
+    Taborder: 0
+  ]
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormShiftDayTime/Response_ListShiftDayTime_mDelete_OnClick.def b/_Main/UI/MacroPlannerWebApp/Component_FormShiftDayTime/Response_ListShiftDayTime_mDelete_OnClick.def
new file mode 100644
index 0000000..1cb6aca
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormShiftDayTime/Response_ListShiftDayTime_mDelete_OnClick.def
@@ -0,0 +1,19 @@
+Quintiq file version 2.0
+#parent: ListShiftDayTime
+Response OnClick (
+  structured[ShiftDayTime] selection
+) id:Response_ListShiftDayTime_mDelete_OnClick
+{
+  #keys: '[413988.0.1372312886]'
+  CanBindMultiple: false
+  DefinitionID => /ListShiftDayTime/Responsedef_ListShiftDayTime_WebMenu_OnClick
+  Initiator: 'mDelete'
+  QuillAction
+  {
+    Body:
+    [*
+      MacroPlan::DeleteObjects( selection );
+    *]
+    GroupServerCalls: false
+  }
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormShiftDayTime/Response_ListShiftDayTime_mEdit_OnClick.def b/_Main/UI/MacroPlannerWebApp/Component_FormShiftDayTime/Response_ListShiftDayTime_mEdit_OnClick.def
new file mode 100644
index 0000000..7c2725a
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormShiftDayTime/Response_ListShiftDayTime_mEdit_OnClick.def
@@ -0,0 +1,21 @@
+Quintiq file version 2.0
+#parent: ListShiftDayTime
+Response OnClick (
+  ShiftDayTime selection
+) id:Response_ListShiftDayTime_mEdit_OnClick
+{
+  #keys: '[413988.0.1372785651]'
+  CanBindMultiple: false
+  DefinitionID => /ListShiftDayTime/Responsedef_ListShiftDayTime_WebMenu_OnClick
+  Initiator: 'mEdit'
+  QuillAction
+  {
+    Body:
+    [*
+      dlg := construct( DialogCreateEditShiftDayTime );
+      
+      dlg.Edit( selection );
+    *]
+    GroupServerCalls: false
+  }
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormShiftDayTime/Response_ListShiftDayTime_mNew_OnClick.def b/_Main/UI/MacroPlannerWebApp/Component_FormShiftDayTime/Response_ListShiftDayTime_mNew_OnClick.def
new file mode 100644
index 0000000..f4712ac
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormShiftDayTime/Response_ListShiftDayTime_mNew_OnClick.def
@@ -0,0 +1,23 @@
+Quintiq file version 2.0
+#parent: ListShiftDayTime
+Response OnClick () id:Response_ListShiftDayTime_mNew_OnClick
+{
+  #keys: '[413988.0.1372900794]'
+  CanBindMultiple: false
+  DefinitionID => /ListShiftDayTime/Responsedef_ListShiftDayTime_WebMenu_OnClick
+  Initiator: 'mNew'
+  Precondition:
+  [*
+    return not isnull( ApplicationMacroPlanner.dhSelectedShiftDay().Data() );
+  *]
+  QuillAction
+  {
+    Body:
+    [*
+      dlg := construct( DialogCreateEditShiftDayTime );
+      
+      dlg.New( ApplicationMacroPlanner.dhSelectedShiftDay().Data() );
+    *]
+    GroupServerCalls: false
+  }
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormShiftDayTime/_ROOT_Component_FormShiftDayTime.def b/_Main/UI/MacroPlannerWebApp/Component_FormShiftDayTime/_ROOT_Component_FormShiftDayTime.def
new file mode 100644
index 0000000..9df8632
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormShiftDayTime/_ROOT_Component_FormShiftDayTime.def
@@ -0,0 +1,16 @@
+Quintiq file version 2.0
+#root
+#parent: MacroPlannerWebApp
+OrphanComponent FormShiftDayTime
+{
+  #keys: '[413988.0.1371272702]'
+  BaseType: 'WebForm'
+  Children:
+  [
+    #child: ListShiftDayTime
+  ]
+  Properties:
+  [
+    Title: 'Shift Day Time'
+  ]
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormShiftPattern/Component_MatrixEditorShiftPatterns.def b/_Main/UI/MacroPlannerWebApp/Component_FormShiftPattern/Component_MatrixEditorShiftPatterns.def
new file mode 100644
index 0000000..72becc1
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormShiftPattern/Component_MatrixEditorShiftPatterns.def
@@ -0,0 +1,4 @@
+Quintiq file version 2.0
+Component MatrixEditorShiftPatterns #extension
+{
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormShiftPattern/Response_MacroPlanner_MatrixEditorShiftPatterns_OnUserSelectionChanged.def b/_Main/UI/MacroPlannerWebApp/Component_FormShiftPattern/Response_MacroPlanner_MatrixEditorShiftPatterns_OnUserSelectionChanged.def
new file mode 100644
index 0000000..d64de67
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormShiftPattern/Response_MacroPlanner_MatrixEditorShiftPatterns_OnUserSelectionChanged.def
@@ -0,0 +1,22 @@
+Quintiq file version 2.0
+#parent: MatrixEditorShiftPatterns
+Response OnUserSelectionChanged (
+  ShiftDay selection
+) id:Response_MacroPlanner_MatrixEditorShiftPatterns_OnUserSelectionChanged
+{
+  #keys: '[413988.0.1372435241]'
+  CanBindMultiple: false
+  DefinitionID: 'Responsedef_WebMatrixEditor_OnUserSelectionChanged'
+  Precondition:
+  [*
+    return not isnull( MacroPlan );
+  *]
+  QuillAction
+  {
+    Body:
+    [*
+      dhSelectedShiftDay.Data( selection );
+    *]
+    GroupServerCalls: false
+  }
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormShiftPattern/_ROOT_Component_FormShiftPattern.def b/_Main/UI/MacroPlannerWebApp/Component_FormShiftPattern/_ROOT_Component_FormShiftPattern.def
new file mode 100644
index 0000000..1b41f98
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormShiftPattern/_ROOT_Component_FormShiftPattern.def
@@ -0,0 +1,10 @@
+Quintiq file version 2.0
+#root
+#parent: LibMacroPlannerWebUI
+OrphanComponent FormShiftPattern #extension
+{
+  Children:
+  [
+    #child: MatrixEditorShiftPatterns
+  ]
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormShippingActualData/Component_MatrixEditorTable.def b/_Main/UI/MacroPlannerWebApp/Component_FormShippingActualData/Component_MatrixEditorTable.def
new file mode 100644
index 0000000..82d2baf
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormShippingActualData/Component_MatrixEditorTable.def
@@ -0,0 +1,97 @@
+Quintiq file version 2.0
+Component MatrixEditorTable
+{
+  #keys: '[415136.0.904311855]'
+  BaseType: 'WebMatrixEditor'
+  Children:
+  [
+    Component MatrixEditorCellTable
+    {
+      #keys: '[415136.0.904311856]'
+      BaseType: 'WebMatrixEditorCell'
+      Children:
+      [
+        Component DataExtractorCell
+        {
+          #keys: '[415136.0.904311857]'
+          BaseType: 'WebDataExtractor'
+          Properties:
+          [
+            DataType: 'InterfaceDataset'
+            Source: 'InterfaceDataset'
+            Taborder: 0
+            Transformation: 'ShippingActualRow.ShippingActualCell'
+          ]
+        }
+      ]
+      Properties:
+      [
+        Attributes: 'Quantity'
+        Column: 'ShippingActualColumn'
+        Row: 'ShippingActualRow'
+        Taborder: 0
+      ]
+    }
+    Component MatrixEditorRowsTable
+    {
+      #keys: '[415136.0.904311860]'
+      BaseType: 'WebMatrixEditorHeaderLevel'
+      Children:
+      [
+        Component DataExtractorRow
+        {
+          #keys: '[415136.0.904311861]'
+          BaseType: 'WebDataExtractor'
+          Properties:
+          [
+            DataType: 'InterfaceDataset'
+            Source: 'InterfaceDataset'
+            Taborder: 0
+            Transformation: 'ShippingActualRow'
+          ]
+        }
+      ]
+      Properties:
+      [
+        Legend: 'Name'
+        SortCriteria: 'RowNr'
+        Taborder: 1
+      ]
+    }
+    Component MatrixEditorColumnsTable
+    {
+      #keys: '[415136.0.904311864]'
+      BaseType: 'WebMatrixEditorHeaderLevel'
+      Children:
+      [
+        Component DataExtractorColumn
+        {
+          #keys: '[415136.0.904311865]'
+          BaseType: 'WebDataExtractor'
+          Properties:
+          [
+            DataType: 'InterfaceDataset'
+            Source: 'InterfaceDataset'
+            Taborder: 0
+            Transformation: 'ShippingActualColumn'
+          ]
+        }
+      ]
+      Properties:
+      [
+        Legend: 'StartDate'
+        SortCriteria: 'StartDate'
+        Taborder: 2
+      ]
+    }
+    #child: matrixEditorActionBarPageTable
+    #child: matrixeditorContextMenuTable
+  ]
+  Properties:
+  [
+    Columns: 'MatrixEditorColumnsTable'
+    ContextMenu: 'matrixeditorContextMenuTable'
+    Rows: 'MatrixEditorRowsTable'
+    Taborder: 0
+  ]
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormShippingActualData/Component_PanelButton.def b/_Main/UI/MacroPlannerWebApp/Component_FormShippingActualData/Component_PanelButton.def
new file mode 100644
index 0000000..8178b3f
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormShippingActualData/Component_PanelButton.def
@@ -0,0 +1,25 @@
+Quintiq file version 2.0
+Component PanelButton
+{
+  #keys: '[415136.0.904311760]'
+  BaseType: 'WebPanel'
+  Children:
+  [
+    Component ButtonButton
+    {
+      #keys: '[415136.0.904311805]'
+      BaseType: 'WebButton'
+      Properties:
+      [
+        Image: 'EXPORT1'
+        Taborder: 0
+      ]
+    }
+  ]
+  Properties:
+  [
+    FixedSize: true
+    Orientation: 'horizontal'
+    Taborder: 0
+  ]
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormShippingActualData/Component_PanelTable.def b/_Main/UI/MacroPlannerWebApp/Component_FormShippingActualData/Component_PanelTable.def
new file mode 100644
index 0000000..40e1586
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormShippingActualData/Component_PanelTable.def
@@ -0,0 +1,14 @@
+Quintiq file version 2.0
+Component PanelTable
+{
+  #keys: '[415136.0.904311784]'
+  BaseType: 'WebPanel'
+  Children:
+  [
+    #child: MatrixEditorTable
+  ]
+  Properties:
+  [
+    Taborder: 1
+  ]
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormShippingActualData/Component_matrixEditorActionBarPageTable.def b/_Main/UI/MacroPlannerWebApp/Component_FormShippingActualData/Component_matrixEditorActionBarPageTable.def
new file mode 100644
index 0000000..106bbe8
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormShippingActualData/Component_matrixEditorActionBarPageTable.def
@@ -0,0 +1,10 @@
+Quintiq file version 2.0
+Component matrixEditorActionBarPageTable
+{
+  #keys: '[415136.0.904311868]'
+  BaseType: 'matrixEditorActionBarPage'
+  Properties:
+  [
+    Taborder: 3
+  ]
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormShippingActualData/Component_matrixeditorContextMenuTable.def b/_Main/UI/MacroPlannerWebApp/Component_FormShippingActualData/Component_matrixeditorContextMenuTable.def
new file mode 100644
index 0000000..312fee5
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormShippingActualData/Component_matrixeditorContextMenuTable.def
@@ -0,0 +1,10 @@
+Quintiq file version 2.0
+Component matrixeditorContextMenuTable
+{
+  #keys: '[415136.0.904311871]'
+  BaseType: 'matrixeditorContextMenu'
+  Properties:
+  [
+    Taborder: 4
+  ]
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormShippingActualData/Response_PanelButton_ButtonButton_OnClick.def b/_Main/UI/MacroPlannerWebApp/Component_FormShippingActualData/Response_PanelButton_ButtonButton_OnClick.def
new file mode 100644
index 0000000..fe6c193
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormShippingActualData/Response_PanelButton_ButtonButton_OnClick.def
@@ -0,0 +1,24 @@
+Quintiq file version 2.0
+#parent: PanelButton/ButtonButton
+Response OnClick () id:Response_PanelButton_ButtonButton_OnClick
+{
+  #keys: '[415136.0.904312139]'
+  CanBindMultiple: false
+  DefinitionID: 'Responsedef_WebButton_OnClick'
+  Precondition:
+  [*
+    return not isnull( InterfaceDataset );
+  *]
+  QuillAction
+  {
+    Body:
+    [*
+      binaryValue := ShippingActualData::Export( InterfaceDataset );
+      
+      Application.Download( ShippingActualData::GetDefalutName() + '.xlsx', binaryValue.AsBinaryData() );
+      
+      //ShippingActualData::Synchronize( InterfaceDataset );
+    *]
+    GroupServerCalls: false
+  }
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormShippingActualData/_ROOT_Component_FormShippingActualData.def b/_Main/UI/MacroPlannerWebApp/Component_FormShippingActualData/_ROOT_Component_FormShippingActualData.def
new file mode 100644
index 0000000..e9be208
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormShippingActualData/_ROOT_Component_FormShippingActualData.def
@@ -0,0 +1,18 @@
+Quintiq file version 2.0
+#root
+#parent: MacroPlannerWebApp
+OrphanComponent FormShippingActualData
+{
+  #keys: '[415136.0.904311721]'
+  BaseType: 'WebForm'
+  Children:
+  [
+    #child: PanelButton
+    #child: PanelTable
+  ]
+  Properties:
+  [
+    Image: 'TABLE_CONNECTION'
+    Title: 'Shipping data'
+  ]
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_StandardHoursReport/Response_pOperaction_cbComprehensiveHours_OnUserChanged.def b/_Main/UI/MacroPlannerWebApp/Component_StandardHoursReport/Response_pOperaction_cbComprehensiveHours_OnUserChanged.def
index 7f3145b..bd4fd00 100644
--- a/_Main/UI/MacroPlannerWebApp/Component_StandardHoursReport/Response_pOperaction_cbComprehensiveHours_OnUserChanged.def
+++ b/_Main/UI/MacroPlannerWebApp/Component_StandardHoursReport/Response_pOperaction_cbComprehensiveHours_OnUserChanged.def
@@ -12,9 +12,9 @@
     [*
       cbStandardHours.Checked( not this.Checked() );
       if( this.Checked() ){
-        FormComprehensiveStandardHoursReport.Title( "缁煎悎宸ユ椂鍒舵姤琛�" );
+        PackagingPlanLotSizeDialog.Title( "缁煎悎宸ユ椂鍒舵姤琛�" );
       }else{
-        FormComprehensiveStandardHoursReport.Title( "鏍囧噯宸ユ椂鍒舵姤琛�" );
+        PackagingPlanLotSizeDialog.Title( "鏍囧噯宸ユ椂鍒舵姤琛�" );
       }
     *]
   }
diff --git a/_Main/UI/MacroPlannerWebApp/Component_StandardHoursReport/Response_pOperaction_cbStandardHours_OnUserChanged.def b/_Main/UI/MacroPlannerWebApp/Component_StandardHoursReport/Response_pOperaction_cbStandardHours_OnUserChanged.def
index c65fbd7..d5737ab 100644
--- a/_Main/UI/MacroPlannerWebApp/Component_StandardHoursReport/Response_pOperaction_cbStandardHours_OnUserChanged.def
+++ b/_Main/UI/MacroPlannerWebApp/Component_StandardHoursReport/Response_pOperaction_cbStandardHours_OnUserChanged.def
@@ -13,9 +13,9 @@
       cbComprehensiveHours.Checked( not this.Checked() );
       
       if( this.Checked() ){
-        FormComprehensiveStandardHoursReport.Title( "鏍囧噯宸ユ椂鍒舵姤琛�" );
+        PackagingPlanLotSizeDialog.Title( "鏍囧噯宸ユ椂鍒舵姤琛�" );
       }else{
-        FormComprehensiveStandardHoursReport.Title( "缁煎悎宸ユ椂鍒舵姤琛�" );
+        PackagingPlanLotSizeDialog.Title( "缁煎悎宸ユ椂鍒舵姤琛�" );
       }
     *]
   }
diff --git a/_Main/UI/MacroPlannerWebApp/Component_StandardHoursReport/_ROOT_Component_FormComprehensiveStandardHoursReport.def b/_Main/UI/MacroPlannerWebApp/Component_StandardHoursReport/_ROOT_Component_PackagingPlanLotSizeDialog.def
similarity index 79%
rename from _Main/UI/MacroPlannerWebApp/Component_StandardHoursReport/_ROOT_Component_FormComprehensiveStandardHoursReport.def
rename to _Main/UI/MacroPlannerWebApp/Component_StandardHoursReport/_ROOT_Component_PackagingPlanLotSizeDialog.def
index 5a8f45a..2bb41dd 100644
--- a/_Main/UI/MacroPlannerWebApp/Component_StandardHoursReport/_ROOT_Component_FormComprehensiveStandardHoursReport.def
+++ b/_Main/UI/MacroPlannerWebApp/Component_StandardHoursReport/_ROOT_Component_PackagingPlanLotSizeDialog.def
@@ -1,7 +1,7 @@
 Quintiq file version 2.0
 #root
 #parent: MacroPlannerWebApp
-OrphanComponent FormComprehensiveStandardHoursReport
+OrphanComponent PackagingPlanLotSizeDialog
 {
   #keys: '[412672.1.33151116]'
   BaseType: 'WebForm'
diff --git a/_Main/UI/MacroPlannerWebApp/Views/PackagingPlan.vw b/_Main/UI/MacroPlannerWebApp/Views/PackagingPlan.vw
new file mode 100644
index 0000000..84e6ea8
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Views/PackagingPlan.vw
@@ -0,0 +1,89 @@
+Quintiq file version 2.0
+{
+  viewcontents
+  {
+    forms
+    {
+      form_FormPackagingPlan
+      {
+        title: 'QMacroPlanner::FormPackagingPlan'
+        shown: true
+        componentID: 'QMacroPlanner::FormPackagingPlan'
+        layout
+        {
+          mode: 'open'
+          rowPosition: 1
+          rowSpan: 14
+          columnPosition: 1
+          columnSpan: 12
+        }
+        components
+        {
+          FormPackagingPlan_pHeader
+          {
+            sizeRatio: 1
+          }
+          FormPackagingPlan_pContent
+          {
+            sizeRatio: 1
+          }
+        }
+      }
+      form_FormGeneralSettings
+      {
+        title: 'General Settings'
+        shown: true
+        componentID: 'FormGeneralSettings'
+        layout
+        {
+          mode: 'dockright'
+          index: 0
+        }
+        components
+        {
+          FormGeneralSettings_PanelContent
+          {
+            sizeRatio: 1
+          }
+          FormGeneralSettings_PanelGeneralParameter
+          {
+            sizeRatio: 1
+          }
+          FormGeneralSettings_PanelLeadTimeDependent
+          {
+            sizeRatio: 1
+          }
+          FormGeneralSettings_PanelShelfLife
+          {
+            sizeRatio: 1
+          }
+          FormGeneralSettings_PanelSustainability
+          {
+            sizeRatio: 1
+          }
+          FormGeneralSettings_PanelForecastNetting
+          {
+            sizeRatio: 1
+          }
+          FormGeneralSettings_PanelActions
+          {
+            sizeRatio: 1
+          }
+        }
+      }
+    }
+    userconfigurableinformation
+    {
+    }
+    page: ''
+    group: ''
+    index: 0
+    image: 'SIXPACK_BEER'
+    description: ''
+  }
+  formatversion: 2
+  id: 'PackagingPlan'
+  name: 'PackagingPlan'
+  isglobal: false
+  isroot: true
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Views/Shipping_actual_data_view.vw b/_Main/UI/MacroPlannerWebApp/Views/Shipping_actual_data_view.vw
new file mode 100644
index 0000000..56af2c4
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Views/Shipping_actual_data_view.vw
@@ -0,0 +1,92 @@
+Quintiq file version 2.0
+{
+  viewcontents
+  {
+    forms
+    {
+      form_FormShippingActualData
+      {
+        title: 'QMacroPlanner::FormShippingActualData'
+        shown: true
+        componentID: 'QMacroPlanner::FormShippingActualData'
+        layout
+        {
+          mode: 'open'
+          rowPosition: 1
+          rowSpan: 15
+          columnPosition: 1
+          columnSpan: 12
+        }
+        components
+        {
+          FormShippingActualData_PanelButton
+          {
+            sizeRatio: 1
+          }
+          FormShippingActualData_PanelTable
+          {
+            sizeRatio: 1
+          }
+          FormShippingActualData_MatrixEditorTable
+          {
+            gridColor: '#c4c4c4'
+            totalHeaderWidth: 200
+            attributeHeaderWidthRatio: 0.6
+            nameHeaderWidthRatio: 0.4
+            columnWidth: 100
+            horizontalGrid: true
+            verticalGrid: true
+            backendState
+            {
+              componentId: 'QMacroPlanner::FormShippingActualData.MatrixEditorTable'
+              state
+              {
+                cells
+                {
+                  attributes
+                  {
+                    attribute_Quantity
+                    {
+                      type: 'MatrixEditorWebApiCellDataModelInterest'
+                      index: 0
+                      rowsubtotal: ''
+                      columnsubtotal: ''
+                      attribute: 'Quantity'
+                    }
+                  }
+                }
+                columns
+                {
+                  sorting
+                  {
+                    criteria: "datamember:'StartDate'"
+                  }
+                }
+                rows
+                {
+                  sorting
+                  {
+                    criteria: "datamember:'RowNr'"
+                  }
+                }
+              }
+            }
+          }
+        }
+      }
+    }
+    userconfigurableinformation
+    {
+    }
+    page: ''
+    group: ''
+    index: 21
+    image: 'TABLE_CONNECTION'
+    description: ''
+  }
+  formatversion: 2
+  id: 'Shipping_actual_data_view'
+  name: 'Shipping actual data view'
+  isglobal: false
+  isroot: true
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Views/Time_Capacities.vw b/_Main/UI/MacroPlannerWebApp/Views/Time_Capacities.vw
index 819a968..e91d249 100644
--- a/_Main/UI/MacroPlannerWebApp/Views/Time_Capacities.vw
+++ b/_Main/UI/MacroPlannerWebApp/Views/Time_Capacities.vw
@@ -13,6 +13,17 @@
             totalHeaderWidth: 293
           }
         }
+        layout
+        {
+          rowPosition: 16
+        }
+      }
+      form_FormShiftPattern
+      {
+        layout
+        {
+          rowSpan: 15
+        }
       }
       form_FormProductionLineBatchData
       {
@@ -22,7 +33,7 @@
         layout
         {
           mode: 'open'
-          rowPosition: 18
+          rowPosition: 26
           rowSpan: 9
           columnPosition: 1
           columnSpan: 8
@@ -60,6 +71,57 @@
           }
         }
       }
+      form_FormShiftDayTime
+      {
+        title: 'QMacroPlanner::FormShiftDayTime'
+        shown: true
+        componentID: 'QMacroPlanner::FormShiftDayTime'
+        layout
+        {
+          mode: 'open'
+          rowPosition: 8
+          rowSpan: 8
+          columnPosition: 9
+          columnSpan: 4
+        }
+        components
+        {
+          FormShiftDayTime_ListShiftDayTime
+          {
+          }
+          FormShiftDayTime_DataSetLevelShiftDayTime
+          {
+            groupDepth: -1
+            column_Start
+            {
+              columnId: 'Start'
+              dataPath: 'Start'
+              dataType: 'string'
+              index: 0
+              subtotals: ''
+              width: 150
+            }
+            column_End
+            {
+              columnId: 'End'
+              dataPath: 'End'
+              dataType: 'string'
+              index: 1
+              subtotals: ''
+              width: 150
+            }
+            column_Name
+            {
+              columnId: 'Name'
+              dataPath: 'Name'
+              dataType: 'string'
+              index: 2
+              subtotals: ''
+              width: 150
+            }
+          }
+        }
+      }
     }
   }
   formatversion: 2
diff --git "a/_var/_Main/ProjSettings/EditorTC/Views/\346\213\206\347\217\255\346\254\241\345\210\206\346\236\220_\133413988.0.1361110378\135.vw" "b/_var/_Main/ProjSettings/EditorTC/Views/\346\213\206\347\217\255\346\254\241\345\210\206\346\236\220_\133413988.0.1361110378\135.vw"
index 110d87a..a27dc99 100644
--- "a/_var/_Main/ProjSettings/EditorTC/Views/\346\213\206\347\217\255\346\254\241\345\210\206\346\236\220_\133413988.0.1361110378\135.vw"
+++ "b/_var/_Main/ProjSettings/EditorTC/Views/\346\213\206\347\217\255\346\254\241\345\210\206\346\236\220_\133413988.0.1361110378\135.vw"
@@ -17,7 +17,7 @@
   CREATIONUSER 'quintiq/lihongji'
   UPDATEDATETIME '2024-07-12T11:19:19'
   UPDATEUSER 'quintiq/lihongji'
-  LASTACCESSDATE '2024-07-12'
+  LASTACCESSDATE '2024-07-16'
   VIEWSCOPE 0
 }
 AUTHORIZATIONS
@@ -43,13 +43,13 @@
 INFOOBJECT
 {
   KEY [892.10.659695]
-  OBJECTTYPE Application // appEditor
+  OBJECTTYPE Application
   INFOOBJECTS
   {
    INFOOBJECT
    {
     KEY [892.10.659696]
-    OBJECTTYPE Frame // Frame
+    OBJECTTYPE Frame
     CONTENTS
     {
      State := maximized
@@ -61,7 +61,7 @@
      INFOOBJECT
      {
       KEY [103784.990.795900613]
-      OBJECTTYPE ValueHolder // vhSearchHistory
+      OBJECTTYPE ValueHolder
       CONTENTS
       {
        Value ''
@@ -70,7 +70,7 @@
      INFOOBJECT
      {
       KEY [10786.1.820220316]
-      OBJECTTYPE ValueHolder // vhLoadingErrCount
+      OBJECTTYPE ValueHolder
       CONTENTS
       {
        Value '0'
@@ -79,7 +79,7 @@
      INFOOBJECT
      {
       KEY [10786.1.820229990]
-      OBJECTTYPE ValueHolder // vhLoadReason
+      OBJECTTYPE ValueHolder
       CONTENTS
       {
        Value 'Startup'
@@ -88,7 +88,7 @@
      INFOOBJECT
      {
       KEY [10786.1.821405088]
-      OBJECTTYPE ValueHolder // vhWriteErrorCount
+      OBJECTTYPE ValueHolder
       CONTENTS
       {
        Value '0'
@@ -97,13 +97,10 @@
      INFOOBJECT
      {
       KEY [10786.2.342765638]
-      OBJECTTYPE ValueHolder // vhGlobals
+      OBJECTTYPE ValueHolder
       CONTENTS
       {
        Value ''
-      }
-      BASEINFOOBJECTS
-      {
       }
      }
      INFOOBJECT
@@ -112,7 +109,7 @@
       SINGLEINSTANCE false
       ID 'Type Details'
       PARENTKEY [892.10.659696]
-      OBJECTTYPE Form // frmObjectDefinitionBrowser
+      OBJECTTYPE Form
       CREATETYPE frmObjectDefinitionBrowser
       CONTENTS
       {
@@ -120,15 +117,12 @@
        (485,0,400,912)
        DockableLocation := Station[MAIN]State[NORM]TreePath[L0.2052;B0.5727;]TabIdx[0]Selection[FRONT]
       }
-      BASEINFOOBJECTS
-      {
-      }
       INFOOBJECTS
       {
        INFOOBJECT
        {
         KEY [121142.0.500922030]
-        OBJECTTYPE GUIDataSetLevel // dslTypes
+        OBJECTTYPE GUIDataSetLevel
         CONTENTS
         {
          Columns
@@ -170,7 +164,7 @@
        INFOOBJECT
        {
         KEY [121142.0.500923128]
-        OBJECTTYPE List // lstObjectDefinitionBrowser
+        OBJECTTYPE List
         CONTENTS
         {
          Quantorrow := false
@@ -180,7 +174,7 @@
          INFOOBJECT
          {
           KEY [121142.0.500923177]
-          OBJECTTYPE GUIDataSetLevel // dslElements
+          OBJECTTYPE GUIDataSetLevel
           CONTENTS
           {
            Columns
@@ -224,7 +218,7 @@
            INFOOBJECT
            {
             KEY [121142.0.500923178]
-            OBJECTTYPE GUIDataSetLevel // dslOverrides
+            OBJECTTYPE GUIDataSetLevel
             CONTENTS
             {
              Columns
@@ -261,7 +255,7 @@
       SINGLEINSTANCE false
       ID 'Types per Module'
       PARENTKEY [892.10.659696]
-      OBJECTTYPE Form // frmTypesByModule
+      OBJECTTYPE Form
       CREATETYPE frmTypesByModule
       CONTENTS
       {
@@ -274,7 +268,7 @@
        BASEINFOOBJECT
        {
         KEY [136402.0.98084624]
-        OBJECTTYPE GUIComponent // frmTypesByModule
+        OBJECTTYPE GUIComponent
         COMPONENTDATA
         {
          [136402.0.98084624]:[103784.990.728734692]:[892.10.659816]:[514.0.129466]:[892.10.659835] STR 'true'
@@ -286,7 +280,7 @@
        INFOOBJECT
        {
         KEY [121142.0.1211769996]
-        OBJECTTYPE GUIDataSetLevel // GUIDataSetLevel776
+        OBJECTTYPE GUIDataSetLevel
         CONTENTS
         {
          Columns
@@ -315,7 +309,7 @@
        INFOOBJECT
        {
         KEY [103784.990.728734692]
-        OBJECTTYPE List // ListTypes
+        OBJECTTYPE List
         CONTENTS
         {
          Quantorrow := false
@@ -325,7 +319,7 @@
          INFOOBJECT
          {
           KEY [101180.2.890701323]
-          OBJECTTYPE ValueHolder // ValueHolder
+          OBJECTTYPE ValueHolder
           CONTENTS
           {
            Value 'false'
@@ -334,7 +328,7 @@
          INFOOBJECT
          {
           KEY [10786.2.342808981]
-          OBJECTTYPE ValueHolder // vhGlobals
+          OBJECTTYPE ValueHolder
           CONTENTS
           {
            Value ''
@@ -343,7 +337,7 @@
          INFOOBJECT
          {
           KEY [892.10.659838]
-          OBJECTTYPE GUIDataSetLevel // dslTypes
+          OBJECTTYPE GUIDataSetLevel
           CONTENTS
           {
            Columns
@@ -377,7 +371,7 @@
            INFOOBJECT
            {
             KEY [136402.0.98091406]
-            OBJECTTYPE GUIDataSetLevel // GUIDataSetLevelTypes
+            OBJECTTYPE GUIDataSetLevel
             CONTENTS
             {
              Columns
@@ -410,7 +404,7 @@
              INFOOBJECT
              {
               KEY [135566.0.318964952]
-              OBJECTTYPE GUIDataSetLevel // GUIDataSetLevelSpecializations
+              OBJECTTYPE GUIDataSetLevel
               CONTENTS
               {
                Columns
@@ -451,7 +445,7 @@
       SINGLEINSTANCE false
       ID 'Model Overview'
       PARENTKEY [892.10.659696]
-      OBJECTTYPE Form // frmModelOverview
+      OBJECTTYPE Form
       CREATETYPE frmModelOverview
       CONTENTS
       {
@@ -464,7 +458,7 @@
        BASEINFOOBJECT
        {
         KEY [121142.0.36340892]
-        OBJECTTYPE GUIContainerComponent // frmModelOverview
+        OBJECTTYPE GUIContainerComponent
         COMPONENTDATA
         {
          [121142.0.36340892]:[121142.0.37512339]:[121142.0.40573788] STR 'PeriodTaskOperation:Unit:PeriodTaskLaneLeg:OperationInput:OperationOutput:Operation:MacroPlan:PeriodTask_MP#410:211:150:667:432:465:184:173#218:128:299:127:29:128:29:216#219:54:197:164:175:109:109:153#26:26:26:26:26:26:26:26'
@@ -477,14 +471,11 @@
        INFOOBJECT
        {
         KEY [121142.0.37512339]
-        OBJECTTYPE CustomDrawComponent // customDraw
+        OBJECTTYPE CustomDrawComponent
         CONTENTS
         {
          ZoomX 1.331
          ZoomY 1.331
-        }
-        INFOOBJECTS
-        {
         }
        }
       }
diff --git "a/_var/_Main/ProjSettings/EditorTC/Views/\347\217\255\346\254\241\346\227\266\351\227\264\345\210\206\346\236\220_\133413988.0.1367211460\135.vw" "b/_var/_Main/ProjSettings/EditorTC/Views/\347\217\255\346\254\241\346\227\266\351\227\264\345\210\206\346\236\220_\133413988.0.1367211460\135.vw"
new file mode 100644
index 0000000..4f89ad5
--- /dev/null
+++ "b/_var/_Main/ProjSettings/EditorTC/Views/\347\217\255\346\254\241\346\227\266\351\227\264\345\210\206\346\236\220_\133413988.0.1367211460\135.vw"
@@ -0,0 +1,491 @@
+锘�# Quintiq GUI View File
+# Version 3.0
+
+PROPERTIES
+{
+  KEY := [413988.0.1367211460]
+  NAME := '鐝鏃堕棿鍒嗘瀽'
+  HELPPAGE := ''
+  PARENTKEY := [100676.19.414142820]
+  DOMAIN := 'MacroPlanner'
+  FOCUSED := [100828.0.145642700]
+  MUSTREADMDSSETTINGS := false
+  ISPERSONAL false
+  OWNERNAME 'quintiq/lihongji'
+  ICONIMAGE 'WINDOWS'
+  CREATIONDATETIME '2024-07-16T11:28:56'
+  CREATIONUSER 'quintiq/lihongji'
+  UPDATEDATETIME '2024-07-16T11:47:37'
+  UPDATEUSER 'quintiq/lihongji'
+  LASTACCESSDATE '2024-07-19'
+  VIEWSCOPE 0
+}
+AUTHORIZATIONS
+{
+  OPEN
+  {
+    AUTHORIZATIONS
+    {
+    }
+  }
+  EDIT
+  {
+    AUTHORIZATIONS
+    {
+    }
+  }
+}
+MDSINFO
+{
+  LOCAL ''
+  GLOBAL ''
+}
+INFOOBJECT
+{
+  KEY [892.10.659695]
+  OBJECTTYPE Application
+  INFOOBJECTS
+  {
+   INFOOBJECT
+   {
+    KEY [892.10.659696]
+    OBJECTTYPE Frame
+    CONTENTS
+    {
+     State := maximized
+     (896,312,1024,768)
+     WorkspaceLocation := TreePath[R0.7948;B0.0061;]
+    }
+    INFOOBJECTS
+    {
+     INFOOBJECT
+     {
+      KEY [103784.990.795900613]
+      OBJECTTYPE ValueHolder
+      CONTENTS
+      {
+       Value ''
+      }
+     }
+     INFOOBJECT
+     {
+      KEY [10786.1.820220316]
+      OBJECTTYPE ValueHolder
+      CONTENTS
+      {
+       Value '0'
+      }
+     }
+     INFOOBJECT
+     {
+      KEY [10786.1.820229990]
+      OBJECTTYPE ValueHolder
+      CONTENTS
+      {
+       Value 'Startup'
+      }
+     }
+     INFOOBJECT
+     {
+      KEY [10786.1.821405088]
+      OBJECTTYPE ValueHolder
+      CONTENTS
+      {
+       Value '0'
+      }
+     }
+     INFOOBJECT
+     {
+      KEY [10786.2.342765638]
+      OBJECTTYPE ValueHolder
+      CONTENTS
+      {
+       Value ''
+      }
+     }
+     INFOOBJECT
+     {
+      KEY [103784.990.815711421]
+      SINGLEINSTANCE false
+      ID 'Type Details'
+      PARENTKEY [892.10.659696]
+      OBJECTTYPE Form
+      CREATETYPE frmObjectDefinitionBrowser
+      CONTENTS
+      {
+       State := normal
+       (485,0,400,912)
+       DockableLocation := Station[MAIN]State[NORM]TreePath[L0.2052;B0.5727;]TabIdx[0]Selection[FRONT]
+      }
+      INFOOBJECTS
+      {
+       INFOOBJECT
+       {
+        KEY [121142.0.500922030]
+        OBJECTTYPE GUIDataSetLevel
+        CONTENTS
+        {
+         Columns
+         {
+           Definition := [892.10.660027]
+           {
+             [892.10.660028]
+             [644.0.84080945]
+           }
+           SubTotals := true
+           Visible
+           {
+             Column internal[DataSetDataColumn] [121142.0.501068000]
+             {
+               Header := 'Name'
+               Width := 100
+               Subtotals := false
+               Specific
+               {
+                 DataPath := 'Name [1.2.1645]'
+               }
+             }
+             Column internal[DataSetDataColumn] [121142.0.501068001]
+             {
+               Header := 'BaseTypeName'
+               Width := 100
+               Subtotals := false
+               Specific
+               {
+                 DataPath := 'BaseTypeName [1.2.2198]'
+               }
+             }
+           }
+         }
+         DataMemberSort 'SortOrder [1.2.1686]' true true
+         ColumnSort [121142.0.501068000] true false
+        }
+       }
+       INFOOBJECT
+       {
+        KEY [121142.0.500923128]
+        OBJECTTYPE List
+        CONTENTS
+        {
+         Quantorrow := false
+        }
+        INFOOBJECTS
+        {
+         INFOOBJECT
+         {
+          KEY [121142.0.500923177]
+          OBJECTTYPE GUIDataSetLevel
+          CONTENTS
+          {
+           Columns
+           {
+             Definition := [103784.990.769111502]
+             {
+               [103784.990.795596828]
+               [103784.990.795596827]
+             }
+             SubTotals := true
+             Visible
+             {
+               Column internal[DataSetDataColumn] [121142.0.501068002]
+               {
+                 Width := 401
+                 SizedByUser := true
+                 Subtotals := false
+                 Specific
+                 {
+                   DataPath := 'Outline [1.2.6115]'
+                 }
+               }
+               Column internal[DataSetDataColumn] [121142.0.501068003]
+               {
+                 Width := 319
+                 SizedByUser := true
+                 Subtotals := false
+                 Specific
+                 {
+                   DataPath := 'ValueType [1.2.6117]'
+                 }
+               }
+             }
+           }
+           Filter := '<?xml version="1.0" encoding="UTF-16"?>\n<GEBObjectsFilter xmlns="http://www.quintiq.com/GEB/GEBObjectsFilter" Key="@1" CurrentFilter="@Default_Filter1" TargetType="internal[UITypeDisplayElementBase]">\n  <GEBFiltering Key="@Default_Filter1" TargetType="internal[UITypeDisplayElementBase]">\n    <CurrentFilter>true</CurrentFilter>\n    <Name>Default Filter</Name>\n    <Active>true</Active>\n    <IsFavorite>false</IsFavorite>\n    <SortIndex>0</SortIndex>\n    <GEBFilteringData Key="@2">\n      <DefaultColumnPrefix></DefaultColumnPrefix>\n      <ColumnPostfix></ColumnPostfix>\n      <GEBSelectColumn Key="@Outline1" ElementType="internal[UITypeDisplayElementBase]" ValueType="String">\n        <ColumnID>[121142.0.1058023525]</ColumnID>\n        <BaseName>Outline</BaseName>\n        <Name>Outline</Name>\n        <Title>Outline</Title>\n        <IsTarget>false</IsTarget>\n        <NameHasBeenSet>false</NameHasBeenSet>\n        <ColumnFinal>Fail</ColumnFinal>\n        <AttributePathText>Outline</AttributePathText>\n        <AttributePathIdentifier>\n        </AttributePathIdentifier>\n      </GEBSelectColumn>\n      <GEBFilter Key="@3">\n        <FreeFilterEnabled>true</FreeFilterEnabled>\n        <GEBFilterColumn Key="@4" Column="@Outline1">\n          <ColumnID>[121142.0.1058023525]</ColumnID>\n        </GEBFilterColumn>\n        <GEBFreeFilterBody Key="@5">\n          <ExpressionText></ExpressionText>\n          <Converter>\n            <ZeroConverter Key="@6">\n              <IsStandard>true</IsStandard>\n              <IsISO>false</IsISO>\n              <IsCustom>false</IsCustom>\n              <ConversionType>0</ConversionType>\n            </ZeroConverter>\n          </Converter>\n        </GEBFreeFilterBody>\n      </GEBFilter>\n    </GEBFilteringData>\n  </GEBFiltering>\n  <GEBFiltering Key="@Hide_inherited_elements1" TargetType="internal[UITypeDisplayElementBase]">\n    <CurrentFilter>false</CurrentFilter>\n    <Name>Hide inherited elements</Name>\n    <Active>false</Active>\n    <IsFavorite>false</IsFavorite>\n    <SortIndex>1</SortIndex>\n    <GEBFilteringData Key="@7">\n      <DefaultColumnPrefix></DefaultColumnPrefix>\n      <ColumnPostfix></ColumnPostfix>\n      <GEBSelectColumn Key="@Outline2" ElementType="internal[UITypeDisplayElementBase]" ValueType="String">\n        <ColumnID>[121142.0.507823646]</ColumnID>\n        <BaseName>Outline</BaseName>\n        <Name>Outline</Name>\n        <Title>Outline</Title>\n        <IsTarget>false</IsTarget>\n        <NameHasBeenSet>false</NameHasBeenSet>\n        <ColumnFinal>Fail</ColumnFinal>\n        <AttributePathText>Outline</AttributePathText>\n        <AttributePathIdentifier>\n        </AttributePathIdentifier>\n      </GEBSelectColumn>\n      <GEBSelectColumn Key="@ValueType1" ElementType="internal[UITypeDisplayElementBase]" ValueType="String">\n        <ColumnID>[121142.0.507823661]</ColumnID>\n        <BaseName>ValueType</BaseName>\n        <Name>ValueType</Name>\n        <Title>ValueType</Title>\n        <IsTarget>false</IsTarget>\n        <NameHasBeenSet>false</NameHasBeenSet>\n        <ColumnFinal>Fail</ColumnFinal>\n        <AttributePathText>ValueType</AttributePathText>\n        <AttributePathIdentifier>\n        </AttributePathIdentifier>\n      </GEBSelectColumn>\n      <GEBSelectColumn Key="@IsInherited1" ElementType="internal[UITypeDisplayElementBase]" ValueType="Boolean">\n        <ColumnID>[121142.0.507823701]</ColumnID>\n        <BaseName>IsInherited</BaseName>\n        <Name>IsInherited</Name>\n        <Title>IsInherited</Title>\n        <IsTarget>false</IsTarget>\n        <NameHasBeenSet>false</NameHasBeenSet>\n        <ColumnFinal>Fail</ColumnFinal>\n        <AttributePathText>IsInherited</AttributePathText>\n        <AttributePathIdentifier>\n        </AttributePathIdentifier>\n      </GEBSelectColumn>\n      <GEBFilter Key="@8">\n        <FreeFilterEnabled>true</FreeFilterEnabled>\n        <GEBFilterColumn Key="@9" Column="@Outline2">\n          <ColumnID>[121142.0.507823646]</ColumnID>\n        </GEBFilterColumn>\n        <GEBFilterColumn Key="@10" Column="@ValueType1">\n          <ColumnID>[121142.0.507823661]</ColumnID>\n        </GEBFilterColumn>\n        <GEBFilterColumn Key="@11" Column="@IsInherited1">\n          <ColumnID>[121142.0.507823701]</ColumnID>\n          <GEBFilterColumnMatch Key="@12">\n            <Operation>=</Operation>\n            <Enabled>true</Enabled>\n            <RHSValue>\n              <RHSConstantValue Key="@13">\n                <StringValue></StringValue>\n                <Value>false</Value>\n              </RHSConstantValue>\n            </RHSValue>\n          </GEBFilterColumnMatch>\n        </GEBFilterColumn>\n        <GEBFreeFilterBody Key="@14">\n          <ExpressionText></ExpressionText>\n          <Converter>\n          </Converter>\n        </GEBFreeFilterBody>\n      </GEBFilter>\n    </GEBFilteringData>\n  </GEBFiltering>\n  <GEBFiltering Key="@Hide_empty_groups1" TargetType="internal[UITypeDisplayElementBase]">\n    <CurrentFilter>false</CurrentFilter>\n    <Name>Hide empty groups</Name>\n    <Active>false</Active>\n    <IsFavorite>false</IsFavorite>\n    <SortIndex>2</SortIndex>\n    <GEBFilteringData Key="@15">\n      <DefaultColumnPrefix></DefaultColumnPrefix>\n      <ColumnPostfix></ColumnPostfix>\n      <GEBSelectColumn Key="@Outline3" ElementType="internal[UITypeDisplayElementBase]" ValueType="String">\n        <ColumnID>[121142.0.507823747]</ColumnID>\n        <BaseName>Outline</BaseName>\n        <Name>Outline</Name>\n        <Title>Outline</Title>\n        <IsTarget>false</IsTarget>\n        <NameHasBeenSet>false</NameHasBeenSet>\n        <ColumnFinal>Fail</ColumnFinal>\n        <AttributePathText>Outline</AttributePathText>\n        <AttributePathIdentifier>\n        </AttributePathIdentifier>\n      </GEBSelectColumn>\n      <GEBFilter Key="@16">\n        <FreeFilterEnabled>true</FreeFilterEnabled>\n        <GEBFilterColumn Key="@17" Column="@Outline3">\n          <ColumnID>[121142.0.507823747]</ColumnID>\n        </GEBFilterColumn>\n        <GEBFreeFilterBody Key="@18">\n          <ExpressionText>object.istype( UITypeDisplayNewElementPlaceholder )\nor object.Group().ModeledElementsSize() &gt; 0</ExpressionText>\n          <Converter>\n            <ZeroConverter Key="@19">\n              <IsStandard>true</IsStandard>\n              <IsISO>false</IsISO>\n              <IsCustom>false</IsCustom>\n              <ConversionType>0</ConversionType>\n            </ZeroConverter>\n          </Converter>\n        </GEBFreeFilterBody>\n      </GEBFilter>\n    </GEBFilteringData>\n  </GEBFiltering>\n  <GEBFiltering Key="@Hide_coded_elements1" TargetType="internal[UITypeDisplayElementBase]">\n    <CurrentFilter>false</CurrentFilter>\n    <Name>Hide coded elements</Name>\n    <Active>true</Active>\n    <IsFavorite>false</IsFavorite>\n    <SortIndex>3</SortIndex>\n    <GEBFilteringData Key="@20">\n      <DefaultColumnPrefix></DefaultColumnPrefix>\n      <ColumnPostfix></ColumnPostfix>\n      <GEBSelectColumn Key="@Outline4" ElementType="internal[UITypeDisplayElementBase]" ValueType="String">\n        <ColumnID>[121142.0.1058023525]</ColumnID>\n        <BaseName>Outline</BaseName>\n        <Name>Outline</Name>\n        <Title>Outline</Title>\n        <IsTarget>false</IsTarget>\n        <NameHasBeenSet>false</NameHasBeenSet>\n        <ColumnFinal>Fail</ColumnFinal>\n        <AttributePathText>Outline</AttributePathText>\n        <AttributePathIdentifier>\n        </AttributePathIdentifier>\n      </GEBSelectColumn>\n      <GEBFilter Key="@21">\n        <FreeFilterEnabled>true</FreeFilterEnabled>\n        <GEBFilterColumn Key="@22" Column="@Outline4">\n          <ColumnID>[121142.0.1058023525]</ColumnID>\n        </GEBFilterColumn>\n        <GEBFreeFilterBody Key="@23">\n          <ExpressionText>( object.istype( UITypeDisplayElement ) and object.Kind() = &quot;RELATION&quot; ) or\nobject.istype( UITypeDisplayGroupHeader ) or\nobject.istype( UITypeDisplayNewElementPlaceholder ) or\n( object.istype( UIModeledTypeDisplayElement ) and\n  not isnull(object.astype( UIModeledTypeDisplayElement ).ObjectModelObject()) and\n  object.astype( UIModeledTypeDisplayElement ).ObjectModelObject().Visible() )</ExpressionText>\n          <Converter>\n            <ZeroConverter Key="@24">\n              <IsStandard>true</IsStandard>\n              <IsISO>false</IsISO>\n              <IsCustom>false</IsCustom>\n              <ConversionType>0</ConversionType>\n            </ZeroConverter>\n          </Converter>\n        </GEBFreeFilterBody>\n      </GEBFilter>\n    </GEBFilteringData>\n  </GEBFiltering>\n</GEBObjectsFilter>\n'
+           DataMemberSort 'Index [1.2.7326]' true true
+           ColumnSort [121142.0.501068002] true false
+          }
+          INFOOBJECTS
+          {
+           INFOOBJECT
+           {
+            KEY [121142.0.500923178]
+            OBJECTTYPE GUIDataSetLevel
+            CONTENTS
+            {
+             Columns
+             {
+               Definition := [103784.990.1153959078]
+               {
+                 [103784.990.1159008565]
+               }
+               SubTotals := true
+               Visible
+               {
+                 Column internal[DataSetDataColumn] [121142.0.501068004]
+                 {
+                   Width := 100
+                   Subtotals := false
+                   Specific
+                   {
+                     DataPath := 'ObjectModelObject [1.3.4850]|TargetType [1.2.1730]'
+                   }
+                 }
+               }
+             }
+            }
+           }
+          }
+         }
+        }
+       }
+      }
+     }
+     INFOOBJECT
+     {
+      KEY [136402.0.98084624]
+      SINGLEINSTANCE false
+      ID 'Types per Module'
+      PARENTKEY [892.10.659696]
+      OBJECTTYPE Form
+      CREATETYPE frmTypesByModule
+      CONTENTS
+      {
+       State := normal
+       (0,0,0,0)
+       DockableLocation := Station[MAIN]State[NORM]TreePath[L0.2052;T0.4273;]TabIdx[0]Selection[FRONT]
+      }
+      BASEINFOOBJECTS
+      {
+       BASEINFOOBJECT
+       {
+        KEY [136402.0.98084624]
+        OBJECTTYPE GUIComponent
+        COMPONENTDATA
+        {
+         [136402.0.98084624]:[103784.990.728734692]:[892.10.659816]:[514.0.129466]:[892.10.659835] STR 'true'
+        }
+       }
+      }
+      INFOOBJECTS
+      {
+       INFOOBJECT
+       {
+        KEY [121142.0.1211769996]
+        OBJECTTYPE GUIDataSetLevel
+        CONTENTS
+        {
+         Columns
+         {
+           Definition := [121142.0.950060792]
+           {
+             [121142.0.950062702]
+           }
+           SubTotals := true
+           Visible
+           {
+             Column internal[DataSetDataColumn] [121142.0.950062702]
+             {
+               Width := 100
+               Subtotals := false
+               Specific
+               {
+                 DataPath := 'Name [1.2.6744]'
+               }
+             }
+           }
+         }
+         ColumnSort [121142.0.950062702] true false
+        }
+       }
+       INFOOBJECT
+       {
+        KEY [103784.990.728734692]
+        OBJECTTYPE List
+        CONTENTS
+        {
+         Quantorrow := false
+        }
+        INFOOBJECTS
+        {
+         INFOOBJECT
+         {
+          KEY [101180.2.890701323]
+          OBJECTTYPE ValueHolder
+          CONTENTS
+          {
+           Value 'false'
+          }
+         }
+         INFOOBJECT
+         {
+          KEY [10786.2.342808981]
+          OBJECTTYPE ValueHolder
+          CONTENTS
+          {
+           Value ''
+          }
+         }
+         INFOOBJECT
+         {
+          KEY [892.10.659838]
+          OBJECTTYPE GUIDataSetLevel
+          CONTENTS
+          {
+           Columns
+           {
+             Definition := [121142.0.950060792]
+             {
+               [121142.0.950062702]
+             }
+             SubTotals := true
+             Visible
+             {
+               Column internal[DataSetDataColumn] [121142.0.950062702]
+               {
+                 Width := 367
+                 SizedByUser := true
+                 Subtotals := false
+                 Specific
+                 {
+                   DataPath := 'Name [1.2.6744]'
+                 }
+               }
+             }
+           }
+           DataMemberSort 'IsDomain [1.2.6747]' false true
+           DataMemberSort 'IsSystemLibrary [1.2.7907]' true true
+           DataMemberSort 'IsAvailable [1.2.7451]' false true
+           ColumnSort [121142.0.950062702] true false
+          }
+          INFOOBJECTS
+          {
+           INFOOBJECT
+           {
+            KEY [136402.0.98091406]
+            OBJECTTYPE GUIDataSetLevel
+            CONTENTS
+            {
+             Columns
+             {
+               Definition := [103784.990.1535755633]
+               {
+                 [103784.990.1535759199]
+               }
+               SubTotals := true
+               Visible
+               {
+                 Column internal[DataSetDataColumn] [103784.990.1535759199]
+                 {
+                   Width := 375
+                   SizedByUser := true
+                   Subtotals := false
+                   Specific
+                   {
+                     DataPath := 'Name [1.2.1645]'
+                   }
+                 }
+               }
+             }
+             Filter := '<?xml version="1.0" encoding="UTF-16"?>\n<GEBObjectsFilter xmlns="http://www.quintiq.com/GEB/GEBObjectsFilter" Key="@1" CurrentFilter="@Default_Filter1" TargetType="internal[ObjectModelType]">\n  <GEBFiltering Key="@Default_Filter1" TargetType="internal[ObjectModelType]">\n    <CurrentFilter>true</CurrentFilter>\n    <Name>Default Filter</Name>\n    <Active>true</Active>\n    <IsFavorite>false</IsFavorite>\n    <SortIndex>0</SortIndex>\n    <GEBFilteringData Key="@2">\n      <DefaultColumnPrefix></DefaultColumnPrefix>\n      <ColumnPostfix></ColumnPostfix>\n      <GEBSelectColumn Key="@Name1" ElementType="internal[ObjectModelType]" ValueType="String">\n        <ColumnID>[413988.0.1111730433]</ColumnID>\n        <BaseName>Name</BaseName>\n        <Name>Name</Name>\n        <Title>Name</Title>\n        <IsTarget>false</IsTarget>\n        <NameHasBeenSet>false</NameHasBeenSet>\n        <ColumnFinal>Fail</ColumnFinal>\n        <AttributePathText>Name</AttributePathText>\n        <AttributePathIdentifier>\n        </AttributePathIdentifier>\n      </GEBSelectColumn>\n      <GEBFilter Key="@3">\n        <FreeFilterEnabled>true</FreeFilterEnabled>\n        <GEBFilterColumn Key="@4" Column="@Name1">\n          <ColumnID>[413988.0.1111730433]</ColumnID>\n        </GEBFilterColumn>\n        <GEBFreeFilterBody Key="@5">\n          <ExpressionText></ExpressionText>\n          <Converter>\n          </Converter>\n        </GEBFreeFilterBody>\n      </GEBFilter>\n    </GEBFilteringData>\n  </GEBFiltering>\n</GEBObjectsFilter>\n'
+             DataMemberSort 'SortOrder [1.2.1686]' true true
+             ColumnSort [103784.990.1535759199] true false
+            }
+            INFOOBJECTS
+            {
+             INFOOBJECT
+             {
+              KEY [135566.0.318964952]
+              OBJECTTYPE GUIDataSetLevel
+              CONTENTS
+              {
+               Columns
+               {
+                 Definition := [103784.990.1535755633]
+                 {
+                   [103784.990.1535759199]
+                 }
+                 SubTotals := true
+                 Visible
+                 {
+                   Column internal[DataSetDataColumn] [103784.990.1535759199]
+                   {
+                     Width := 100
+                     Subtotals := false
+                     Specific
+                     {
+                       DataPath := 'Name [1.2.1645]'
+                     }
+                   }
+                 }
+               }
+               DataMemberSort 'SortOrder [1.2.1686]' true true
+               ColumnSort [103784.990.1535759199] true false
+              }
+             }
+            }
+           }
+          }
+         }
+        }
+       }
+      }
+     }
+     INFOOBJECT
+     {
+      KEY [121142.0.36340892]
+      SINGLEINSTANCE false
+      ID 'Model Overview'
+      PARENTKEY [892.10.659696]
+      OBJECTTYPE Form
+      CREATETYPE frmModelOverview
+      CONTENTS
+      {
+       State := normal
+       (0,0,0,0)
+       DockableLocation := Station[MAIN]State[NORM]TreePath[R0.7948;T0.9939;]TabIdx[0]Selection[FRONT]
+      }
+      BASEINFOOBJECTS
+      {
+       BASEINFOOBJECT
+       {
+        KEY [121142.0.36340892]
+        OBJECTTYPE GUIContainerComponent
+        COMPONENTDATA
+        {
+         [121142.0.36340892]:[121142.0.37512339]:[121142.0.40573788] STR 'ShiftDay:UnitPeriodTimeBase:MacroPlan:Day_MP:ShiftPattern#458:187:237:469:220#179:86:285:284:180#98:208:109:76:142#26:26:26:26:26'
+         [121142.0.36340892]:[121142.0.37512339]:[121142.0.48706989]:[121142.0.48706990]:[121142.0.48809938] STR 'true'
+        }
+       }
+      }
+      INFOOBJECTS
+      {
+       INFOOBJECT
+       {
+        KEY [121142.0.37512339]
+        OBJECTTYPE CustomDrawComponent
+        CONTENTS
+        {
+         ZoomX 1.331
+         ZoomY 1.331
+        }
+       }
+      }
+     }
+    }
+   }
+  }
+  COMPONENTDATA
+  {
+   [892.10.659695]:[892.10.659696]:[103784.990.702401639] STR 'MacroPlanner'
+   [892.10.659695]:[892.10.659696]:[892.10.659800]:[892.10.1501977] STR '0'
+  }
+}
diff --git "a/_var/_Main/ProjSettings/EditorTC/Views/\350\275\246\351\201\223\346\225\264\347\217\255\345\210\206\346\236\220_\133413988.0.1301140601\135.vw" "b/_var/_Main/ProjSettings/EditorTC/Views/\350\275\246\351\201\223\346\225\264\347\217\255\345\210\206\346\236\220_\133413988.0.1301140601\135.vw"
index f5480dc..188c8f8 100644
--- "a/_var/_Main/ProjSettings/EditorTC/Views/\350\275\246\351\201\223\346\225\264\347\217\255\345\210\206\346\236\220_\133413988.0.1301140601\135.vw"
+++ "b/_var/_Main/ProjSettings/EditorTC/Views/\350\275\246\351\201\223\346\225\264\347\217\255\345\210\206\346\236\220_\133413988.0.1301140601\135.vw"
@@ -17,7 +17,7 @@
   CREATIONUSER 'quintiq/lihongji'
   UPDATEDATETIME '2024-06-28T13:59:54'
   UPDATEUSER 'quintiq/lihongji'
-  LASTACCESSDATE '2024-07-12'
+  LASTACCESSDATE '2024-07-16'
   VIEWSCOPE 0
 }
 AUTHORIZATIONS

--
Gitblit v1.9.3