From d901b1ab0ee0b690f5ac211b9cdb1db3a58bca86 Mon Sep 17 00:00:00 2001
From: yanweiyuan3 <yanweiyuan3@gmail.com>
Date: 星期二, 10 十月 2023 17:45:58 +0800
Subject: [PATCH] Merge branch 'dev' into dev_yy

---
 _Main/UI/MacroPlannerWebApp/Component_ApplicationMacroPlanner/Response_TIANMA_JITUAN_cmTestAttempt_mnPanelPullingMaterialOperationsOfEachB.def |   16 
 _Main/UI/MacroPlannerWebApp/Component_FormInterfaceTest/Response_ListInterfaceTest_MenuCreateShowData_OnClick.def                              |   24 
 _Main/UI/MacroPlannerWebApp/Component_FormShowInterfaceData/_ROOT_Component_FormShowInterfaceData.def                                          |    1 
 _Main/UI/MacroPlannerWebApp/Component_FormShowInterfaceData/Component_listActionBarPageCustomOrder.def                                         |   10 
 _Main/UI/MacroPlannerWebApp/Component_FormShowInterfaceData/Component_PanelUnitOfMeasure_MP.def                                                |   15 
 _Main/UI/MacroPlannerWebApp/Views/面板拉料_各事业部操作.vw                                                                                               |   94 ++
 _Main/BL/Type_Global_ShowCell/StaticMethod_ShowData.qbl                                                                                        |    8 
 _Main/UI/MacroPlannerWebApp/Views/对接ERP进行PR释放.vw                                                                                               |  168 ++++
 _Main/UI/MacroPlannerWebApp/Component_FormInterfaceTest/Component_PanelInterfaceOption4.def                                                    |    2 
 _Main/UI/MacroPlannerWebApp/Component_FormShowInterfaceData/Component_ListUnitOfMeasure_MP.def                                                 |   41 +
 _Main/UI/MacroPlannerWebApp/Component_FormShowInterfaceData/Component_ListCustomOrder.def                                                      |   41 +
 _Main/UI/MacroPlannerWebApp/Component_ApplicationMacroPlanner/Response_TIANMA_JITUAN_cmTestAttempt_mnDockingERPForPRRelease_OnClick.def        |   16 
 _Main/BL/Type_Global_ShowCell/StaticMethod_CreateShowData_Forecast.qbl                                                                         |   23 
 _Main/UI/MacroPlannerWebApp/Component_FormInterfaceTest/Component_PanelInterfaceOption2#456.def                                                |    2 
 _Main/BL/Type_Global_ShowCell/StaticMethod_GenerateDataThroughReflection.qbl                                                                   |   30 
 _Main/UI/MacroPlannerWebApp/Component_FormShowInterfaceData/Component_listActionBarPageUnitOfMeasure_MP.def                                    |   10 
 _Main/UI/MacroPlannerWebApp/Component_ApplicationMacroPlanner/Response_TIANMA_JITUAN_cmTestAttempt_mnPanelPullingMaterialGroupOperations_O.def |   16 
 _Main/UI/MacroPlannerWebApp/Views/面板拉料_集团操作.vw                                                                                                 | 1471 +++++++++++++++++++++++++++++++++++++++
 _Main/UI/MacroPlannerWebApp/Views/Test.vw                                                                                                      |    4 
 _Main/UI/MacroPlannerWebApp/Component_FormShowInterfaceData/Component_listActionBarPageForecast.def                                            |   10 
 _Main/UI/MacroPlannerWebApp/Component_FormShowInterfaceData/Component_MatrixEditorShowInterfaceData.def                                        |    1 
 _Main/UI/MacroPlannerWebApp/Component_FormShowInterfaceData/Component_ListForecast.def                                                         |   41 +
 _Main/UI/MacroPlannerWebApp/Component_FormShowInterfaceData/Component_PanelCustomOrder#682.def                                                 |   15 
 _Main/UI/MacroPlannerWebApp/Component_FormShowInterfaceData/Component_listContextMenuUnitOfMeasure_MP.def                                      |   10 
 _Main/UI/MacroPlannerWebApp/Component_ApplicationMacroPlanner/Component_cmTestAttempt.def                                                      |   45 +
 _Main/UI/MacroPlannerWebApp/Component_FormShowInterfaceData/Component_PanelForecast.def                                                        |   15 
 _Main/UI/MacroPlannerWebApp/Component_FormInterfaceTest/Component_PanelInterfaceOption1.def                                                    |    2 
 _Main/UI/MacroPlannerWebApp/Component_FormShowInterfaceData/Component_listContextMenuCustomOrder.def                                           |   10 
 _Main/UI/MacroPlannerWebApp/Component_FormShowInterfaceData/Component_PanelInterfaceDataDisplayContent.def                                     |   17 
 _Main/UI/MacroPlannerWebApp/Component_FormShowInterfaceData/Component_listContextMenuForecast.def                                              |   10 
 30 files changed, 2,150 insertions(+), 18 deletions(-)

diff --git a/_Main/BL/Type_Global_ShowCell/StaticMethod_CreateShowData_Forecast.qbl b/_Main/BL/Type_Global_ShowCell/StaticMethod_CreateShowData_Forecast.qbl
new file mode 100644
index 0000000..ecbe488
--- /dev/null
+++ b/_Main/BL/Type_Global_ShowCell/StaticMethod_CreateShowData_Forecast.qbl
@@ -0,0 +1,23 @@
+Quintiq file version 2.0
+#parent: #root
+StaticMethod CreateShowData_Forecast (
+  GlobalOTDTable globalOTDTable
+)
+{
+  TextBody:
+  [*
+    businessTypeColumn       := Global_ShowColumn::CreateColumn( globalOTDTable, 0, "浜嬩笟閮�" );
+    idColumn                 := Global_ShowColumn::CreateColumn( globalOTDTable, 0, "ID" );
+    productIDColumn          := Global_ShowColumn::CreateColumn( globalOTDTable, 0, "浜у搧缂栫爜" );
+    
+    i := 1;
+    traverse ( globalOTDTable, Global_MappingForecast, gmf ) {
+      gloabal_ShowRow := globalOTDTable.Global_ShowRow( relnew, RowNr := i );
+      Global_ShowCell::SetColumnsAndRows( globalOTDTable, gmf.BusinessType(), businessTypeColumn, gloabal_ShowRow );
+      Global_ShowCell::SetColumnsAndRows( globalOTDTable, gmf.ID(), idColumn, gloabal_ShowRow );
+      Global_ShowCell::SetColumnsAndRows( globalOTDTable, gmf.ProductID(), productIDColumn, gloabal_ShowRow );
+           
+      i++;                                                             
+    }
+  *]
+}
diff --git a/_Main/BL/Type_Global_ShowCell/StaticMethod_GenerateDataThroughReflection.qbl b/_Main/BL/Type_Global_ShowCell/StaticMethod_GenerateDataThroughReflection.qbl
new file mode 100644
index 0000000..7bca228
--- /dev/null
+++ b/_Main/BL/Type_Global_ShowCell/StaticMethod_GenerateDataThroughReflection.qbl
@@ -0,0 +1,30 @@
+Quintiq file version 2.0
+#parent: #root
+StaticMethod GenerateDataThroughReflection (
+  GlobalOTDTable globalOTDTable,
+  String className
+)
+{
+  TextBody:
+  [*
+    //columnIndex := 0;
+    //rowIndex    := 0;
+    //
+    //traverse ( globalOTDTable, Global_MappingUnitOfMeasure_MP, gmuommp ) {
+    //  gloabal_ShowRow := globalOTDTable.Global_ShowRow( relnew, RowNr := rowIndex );
+    //  traverse ( typeof( Global_MappingUnitOfMeasure_MP ), MdlAttrElements, mae ) {
+    //    targetReflectionAttribute := Reflection::FindAttribute( className, mae.Name() );
+    //    if ( not isnull( targetReflectionAttribute ) ) {
+    //      targetsGlobal_ShowColumn := select( globalOTDTable, Global_ShowColumn, tempGSC, tempGSC.ColumnName() = mae.Name() );
+    //      if ( isnull( targetsGlobal_ShowColumn ) ) {
+    //        targetsGlobal_ShowColumn := Global_ShowColumn::CreateColumn( globalOTDTable, columnIndex, mae.Name() );
+    //        columnIndex++;
+    //      }
+    //      
+    //      Global_ShowCell::SetColumnsAndRows( globalOTDTable, targetReflectionAttribute.Get( gmuommp )., targetsGlobal_ShowColumn, gloabal_ShowRow );
+    //    }
+    //  }
+    //  rowIndex++;
+    //}
+  *]
+}
diff --git a/_Main/BL/Type_Global_ShowCell/StaticMethod_ShowData.qbl b/_Main/BL/Type_Global_ShowCell/StaticMethod_ShowData.qbl
index 7eebedc..1753baf 100644
--- a/_Main/BL/Type_Global_ShowCell/StaticMethod_ShowData.qbl
+++ b/_Main/BL/Type_Global_ShowCell/StaticMethod_ShowData.qbl
@@ -10,5 +10,13 @@
     if ( global_BrokerExecuteLog.BrokerName() = "GlobalOTDTable_CustomOrder" ) {
       Global_ShowCell::CreateShowData_CustomOrder( globalOTDTable );
     }
+    
+    if ( global_BrokerExecuteLog.BrokerName() = "GlobalOTDTable_Forecast" ) {
+    //  Global_ShowCell::CreateShowData_Forecast( globalOTDTable );
+    }
+    
+    if ( global_BrokerExecuteLog.BrokerName() = "GlobalOTDTable_UnitOfMeasure_MP" ) {
+      Global_ShowCell::GenerateDataThroughReflection( globalOTDTable, "Global_MappingUnitOfMeasure_MP" );
+    }
   *]
 }
diff --git a/_Main/UI/MacroPlannerWebApp/Component_ApplicationMacroPlanner/Component_cmTestAttempt.def b/_Main/UI/MacroPlannerWebApp/Component_ApplicationMacroPlanner/Component_cmTestAttempt.def
index 884eba9..4a5d5b5 100644
--- a/_Main/UI/MacroPlannerWebApp/Component_ApplicationMacroPlanner/Component_cmTestAttempt.def
+++ b/_Main/UI/MacroPlannerWebApp/Component_ApplicationMacroPlanner/Component_cmTestAttempt.def
@@ -23,10 +23,53 @@
       Properties:
       [
         Image: 'PIG'
-        Taborder: 1
+        Taborder: 5
         Title: '骞村害浜ч攢澶嶇洏'
       ]
     }
+    Component mnPanelPullingMaterialOperationsOfEachBusinessUnit
+    {
+      #keys: '[414702.1.5481991]'
+      BaseType: 'WebMenu'
+      Properties:
+      [
+        Image: 'BANANA'
+        Taborder: 1
+        Title: '闈㈡澘鎷夋枡_浜嬩笟閮ㄦ搷浣�'
+      ]
+    }
+    Component mnPanelPullingMaterialGroupOperations
+    {
+      #keys: '[414702.1.5522564]'
+      BaseType: 'WebMenu'
+      Properties:
+      [
+        Image: 'CLIENT_NETWORK'
+        Taborder: 2
+        Title: '闈㈡澘鎷夋枡_闆嗗洟鎿嶄綔'
+      ]
+    }
+    Component mn224
+    {
+      #keys: '[414702.1.5593849]'
+      BaseType: 'WebMenu'
+      Properties:
+      [
+        Separator: true
+        Taborder: 4
+      ]
+    }
+    Component mnDockingERPForPRRelease
+    {
+      #keys: '[414702.1.5920760]'
+      BaseType: 'WebMenu'
+      Properties:
+      [
+        Image: 'BEER_GLASS'
+        Taborder: 3
+        Title: '瀵规帴ERP杩涜PR閲婃斁'
+      ]
+    }
   ]
   Properties:
   [
diff --git a/_Main/UI/MacroPlannerWebApp/Component_ApplicationMacroPlanner/Response_TIANMA_JITUAN_cmTestAttempt_mnDockingERPForPRRelease_OnClick.def b/_Main/UI/MacroPlannerWebApp/Component_ApplicationMacroPlanner/Response_TIANMA_JITUAN_cmTestAttempt_mnDockingERPForPRRelease_OnClick.def
new file mode 100644
index 0000000..23229a5
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_ApplicationMacroPlanner/Response_TIANMA_JITUAN_cmTestAttempt_mnDockingERPForPRRelease_OnClick.def
@@ -0,0 +1,16 @@
+Quintiq file version 2.0
+#parent: cmTestAttempt/mnDockingERPForPRRelease
+Response OnClick () id:Response_TIANMA_JITUAN_cmTestAttempt_mnDockingERPForPRRelease_OnClick
+{
+  #keys: '[414702.1.7136407]'
+  CanBindMultiple: false
+  DefinitionID: 'Responsedef_WebMenu_OnClick'
+  GroupServerCalls: true
+  QuillAction
+  {
+    Body:
+    [*
+      ApplicationScope.ViewManager().ResetUserViewById( "瀵规帴ERP杩涜PR閲婃斁", true );
+    *]
+  }
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_ApplicationMacroPlanner/Response_TIANMA_JITUAN_cmTestAttempt_mnPanelPullingMaterialGroupOperations_O.def b/_Main/UI/MacroPlannerWebApp/Component_ApplicationMacroPlanner/Response_TIANMA_JITUAN_cmTestAttempt_mnPanelPullingMaterialGroupOperations_O.def
new file mode 100644
index 0000000..a665175
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_ApplicationMacroPlanner/Response_TIANMA_JITUAN_cmTestAttempt_mnPanelPullingMaterialGroupOperations_O.def
@@ -0,0 +1,16 @@
+Quintiq file version 2.0
+#parent: cmTestAttempt/mnPanelPullingMaterialGroupOperations
+Response OnClick () id:Response_TIANMA_JITUAN_cmTestAttempt_mnPanelPullingMaterialGroupOperations_OnClick
+{
+  #keys: '[414702.1.5773124]'
+  CanBindMultiple: false
+  DefinitionID: 'Responsedef_WebMenu_OnClick'
+  GroupServerCalls: true
+  QuillAction
+  {
+    Body:
+    [*
+      ApplicationScope.ViewManager().ResetUserViewById( "闈㈡澘鎷夋枡_闆嗗洟鎿嶄綔", true );
+    *]
+  }
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_ApplicationMacroPlanner/Response_TIANMA_JITUAN_cmTestAttempt_mnPanelPullingMaterialOperationsOfEachB.def b/_Main/UI/MacroPlannerWebApp/Component_ApplicationMacroPlanner/Response_TIANMA_JITUAN_cmTestAttempt_mnPanelPullingMaterialOperationsOfEachB.def
new file mode 100644
index 0000000..2fb709c
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_ApplicationMacroPlanner/Response_TIANMA_JITUAN_cmTestAttempt_mnPanelPullingMaterialOperationsOfEachB.def
@@ -0,0 +1,16 @@
+Quintiq file version 2.0
+#parent: cmTestAttempt/mnPanelPullingMaterialOperationsOfEachBusinessUnit
+Response OnClick () id:Response_TIANMA_JITUAN_cmTestAttempt_mnPanelPullingMaterialOperationsOfEachBusinessUnit_OnClick
+{
+  #keys: '[414702.1.4243881]'
+  CanBindMultiple: false
+  DefinitionID: 'Responsedef_WebMenu_OnClick'
+  GroupServerCalls: true
+  QuillAction
+  {
+    Body:
+    [*
+      ApplicationScope.ViewManager().ResetUserViewById( "闈㈡澘鎷夋枡_鍚勪簨涓氶儴鎿嶄綔", true );
+    *]
+  }
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormInterfaceTest/Component_PanelInterfaceOption1.def b/_Main/UI/MacroPlannerWebApp/Component_FormInterfaceTest/Component_PanelInterfaceOption1.def
index da696e8..b01bde0 100644
--- a/_Main/UI/MacroPlannerWebApp/Component_FormInterfaceTest/Component_PanelInterfaceOption1.def
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormInterfaceTest/Component_PanelInterfaceOption1.def
@@ -21,7 +21,7 @@
       BaseType: 'WebCheckbox'
       Properties:
       [
-        Label: 'Forecast'
+        Label: 'Forecast '
         Taborder: 1
       ]
     }
diff --git "a/_Main/UI/MacroPlannerWebApp/Component_FormInterfaceTest/Component_PanelInterfaceOption2\043456.def" "b/_Main/UI/MacroPlannerWebApp/Component_FormInterfaceTest/Component_PanelInterfaceOption2\043456.def"
index a089baa..54c954d 100644
--- "a/_Main/UI/MacroPlannerWebApp/Component_FormInterfaceTest/Component_PanelInterfaceOption2\043456.def"
+++ "b/_Main/UI/MacroPlannerWebApp/Component_FormInterfaceTest/Component_PanelInterfaceOption2\043456.def"
@@ -21,7 +21,7 @@
       BaseType: 'WebCheckbox'
       Properties:
       [
-        Label: 'Operation'
+        Label: 'Operation '
         Taborder: 1
       ]
     }
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormInterfaceTest/Component_PanelInterfaceOption4.def b/_Main/UI/MacroPlannerWebApp/Component_FormInterfaceTest/Component_PanelInterfaceOption4.def
index f708ac7..c32b468 100644
--- a/_Main/UI/MacroPlannerWebApp/Component_FormInterfaceTest/Component_PanelInterfaceOption4.def
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormInterfaceTest/Component_PanelInterfaceOption4.def
@@ -41,7 +41,7 @@
       BaseType: 'WebCheckbox'
       Properties:
       [
-        Label: 'Lane'
+        Label: 'Lane '
         Taborder: 3
       ]
     }
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormInterfaceTest/Response_ListInterfaceTest_MenuCreateShowData_OnClick.def b/_Main/UI/MacroPlannerWebApp/Component_FormInterfaceTest/Response_ListInterfaceTest_MenuCreateShowData_OnClick.def
index afeef73..fbb23d2 100644
--- a/_Main/UI/MacroPlannerWebApp/Component_FormInterfaceTest/Response_ListInterfaceTest_MenuCreateShowData_OnClick.def
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormInterfaceTest/Response_ListInterfaceTest_MenuCreateShowData_OnClick.def
@@ -10,23 +10,23 @@
   Initiator: 'MenuCreateShowData'
   Precondition:
   [*
-    flag := selection.BrokerName() = "GlobalOTDTable_CustomOrder"
-    
-    if ( not flag ) {
-      feedback := "鏆備笉鏀寔锛侊紒锛�";
-    }
-      
-    return flag;
+    //flag := selection.BrokerName() = "GlobalOTDTable_CustomOrder"
+    //
+    //if ( not flag ) {
+    //  feedback := "鏆備笉鏀寔锛侊紒锛�";
+    //}
+    //  
+    //return flag;
   *]
   QuillAction
   {
     Body:
     [*
-      GlobalOTDTable.Global_ShowRow( relflush );
-      GlobalOTDTable.Global_ShowColumn( relflush );
-      GlobalOTDTable.Global_ShowCell( relflush );
-      
-      Global_ShowCell::ShowData( GlobalOTDTable, selection );
+      //GlobalOTDTable.Global_ShowRow( relflush );
+      //GlobalOTDTable.Global_ShowColumn( relflush );
+      //GlobalOTDTable.Global_ShowCell( relflush );
+      //
+      //Global_ShowCell::ShowData( GlobalOTDTable, selection );
     *]
     GroupServerCalls: false
   }
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormShowInterfaceData/Component_ListCustomOrder.def b/_Main/UI/MacroPlannerWebApp/Component_FormShowInterfaceData/Component_ListCustomOrder.def
new file mode 100644
index 0000000..1930918
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormShowInterfaceData/Component_ListCustomOrder.def
@@ -0,0 +1,41 @@
+Quintiq file version 2.0
+Component ListCustomOrder
+{
+  #keys: '[414502.0.410384594]'
+  BaseType: 'WebList'
+  Children:
+  [
+    Component DataExtractorCustomOrder
+    {
+      #keys: '[414502.0.410384595]'
+      BaseType: 'WebDataExtractor'
+      Properties:
+      [
+        DataType: 'GlobalOTDTable'
+        Source: 'GlobalOTDTable'
+        Taborder: 0
+        Transformation: 'Global_MappingCustomOrder'
+      ]
+    }
+    #child: listActionBarPageCustomOrder
+    Component DataSetLevelCustomOrder
+    {
+      #keys: '[414502.0.410384600]'
+      BaseType: 'WebDataSetLevel'
+      Children:
+      [
+        #child: listContextMenuCustomOrder
+      ]
+      Properties:
+      [
+        Columns: '[{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"BusinessType","title":"BusinessType","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"BusinessType"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"CurrencyID","title":"CurrencyID","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"CurrencyID"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"Customer","title":"Customer","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"Customer"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"CustomerID","title":"CustomerID","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"CustomerID"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"ID","title":"ID","subtotals":"","tooltip":"","width":-1,"display":"shown","attribute":"ID"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"IsAvailable","title":"IsAvailable","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"IsAvailable"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"OrderDate","title":"OrderDate","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"OrderDate"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"OrderID","title":"OrderID","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"OrderID"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"OrderLineID","title":"OrderLineID","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"OrderLineID"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"OrderTime","title":"OrderTime","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"OrderTime"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"OrderType","title":"OrderType","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"OrderType"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"Price","title":"Price","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"Price"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"PriorityName","title":"PriorityName","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"PriorityName"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"ProductGrade","title":"ProductGrade","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"ProductGrade"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"ProductID","title":"ProductID","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"ProductID"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"Quantity","title":"Quantity","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"Quantity"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"SalesSegmentName","title":"SalesSegmentName","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"SalesSegmentName"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"SegmentPriority","title":"SegmentPriority","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"SegmentPriority"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"SheetProfitability","title":"SheetProfitability","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"SheetProfitability"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"StockingPointID","title":"StockingPointID","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"StockingPointID"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"UnitOfMeasureName","title":"UnitOfMeasureName","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"UnitOfMeasureName"}}]'
+        ContextMenu: 'listContextMenuCustomOrder'
+        Taborder: 2
+      ]
+    }
+  ]
+  Properties:
+  [
+    Taborder: 0
+  ]
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormShowInterfaceData/Component_ListForecast.def b/_Main/UI/MacroPlannerWebApp/Component_FormShowInterfaceData/Component_ListForecast.def
new file mode 100644
index 0000000..5e70a0c
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormShowInterfaceData/Component_ListForecast.def
@@ -0,0 +1,41 @@
+Quintiq file version 2.0
+Component ListForecast
+{
+  #keys: '[414502.0.410501478]'
+  BaseType: 'WebList'
+  Children:
+  [
+    Component DataExtractorForecast
+    {
+      #keys: '[414502.0.410501479]'
+      BaseType: 'WebDataExtractor'
+      Properties:
+      [
+        DataType: 'GlobalOTDTable'
+        Source: 'GlobalOTDTable'
+        Taborder: 0
+        Transformation: 'Global_MappingForecast'
+      ]
+    }
+    #child: listActionBarPageForecast
+    Component DataSetLevelForecast
+    {
+      #keys: '[414502.0.410501484]'
+      BaseType: 'WebDataSetLevel'
+      Children:
+      [
+        #child: listContextMenuForecast
+      ]
+      Properties:
+      [
+        Columns: '[{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"BusinessType","title":"BusinessType","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"BusinessType"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"CurrencyID","title":"CurrencyID","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"CurrencyID"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"EndDate","title":"EndDate","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"EndDate"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"ID","title":"ID","subtotals":"","tooltip":"","width":-1,"display":"shown","attribute":"ID"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"Price","title":"Price","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"Price"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"PriorityName","title":"PriorityName","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"PriorityName"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"ProductID","title":"ProductID","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"ProductID"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"Quantity","title":"Quantity","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"Quantity"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"SalesSegmentName","title":"SalesSegmentName","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"SalesSegmentName"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"StartDate","title":"StartDate","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"StartDate"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"StockingPointID","title":"StockingPointID","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"StockingPointID"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"UnitOfMeasureName","title":"UnitOfMeasureName","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"UnitOfMeasureName"}}]'
+        ContextMenu: 'listContextMenuForecast'
+        Taborder: 2
+      ]
+    }
+  ]
+  Properties:
+  [
+    Taborder: 0
+  ]
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormShowInterfaceData/Component_ListUnitOfMeasure_MP.def b/_Main/UI/MacroPlannerWebApp/Component_FormShowInterfaceData/Component_ListUnitOfMeasure_MP.def
new file mode 100644
index 0000000..f59a8c1
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormShowInterfaceData/Component_ListUnitOfMeasure_MP.def
@@ -0,0 +1,41 @@
+Quintiq file version 2.0
+Component ListUnitOfMeasure_MP
+{
+  #keys: '[414502.0.410391545]'
+  BaseType: 'WebList'
+  Children:
+  [
+    Component DataExtractorUnitOfMeasure_MP
+    {
+      #keys: '[414502.0.410391546]'
+      BaseType: 'WebDataExtractor'
+      Properties:
+      [
+        DataType: 'GlobalOTDTable'
+        Source: 'GlobalOTDTable'
+        Taborder: 0
+        Transformation: 'Global_MappingUnitOfMeasure_MP'
+      ]
+    }
+    #child: listActionBarPageUnitOfMeasure_MP
+    Component DataSetLevelUnitOfMeasure_MP
+    {
+      #keys: '[414502.0.410391551]'
+      BaseType: 'WebDataSetLevel'
+      Children:
+      [
+        #child: listContextMenuUnitOfMeasure_MP
+      ]
+      Properties:
+      [
+        Columns: '[{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"IsDefault","title":"IsDefault","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"IsDefault"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"Name","title":"Name","subtotals":"","tooltip":"","width":-1,"display":"shown","attribute":"Name"}}]'
+        ContextMenu: 'listContextMenuUnitOfMeasure_MP'
+        Taborder: 2
+      ]
+    }
+  ]
+  Properties:
+  [
+    Taborder: 0
+  ]
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormShowInterfaceData/Component_MatrixEditorShowInterfaceData.def b/_Main/UI/MacroPlannerWebApp/Component_FormShowInterfaceData/Component_MatrixEditorShowInterfaceData.def
index f73b35a..66bfefb 100644
--- a/_Main/UI/MacroPlannerWebApp/Component_FormShowInterfaceData/Component_MatrixEditorShowInterfaceData.def
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormShowInterfaceData/Component_MatrixEditorShowInterfaceData.def
@@ -93,5 +93,6 @@
     ContextMenu: 'matrixeditorContextMenuShowInterfaceData'
     Rows: 'MatrixEditorRowsShowInterfaceData'
     Taborder: 0
+    Visible: false
   ]
 }
diff --git "a/_Main/UI/MacroPlannerWebApp/Component_FormShowInterfaceData/Component_PanelCustomOrder\043682.def" "b/_Main/UI/MacroPlannerWebApp/Component_FormShowInterfaceData/Component_PanelCustomOrder\043682.def"
new file mode 100644
index 0000000..310184f
--- /dev/null
+++ "b/_Main/UI/MacroPlannerWebApp/Component_FormShowInterfaceData/Component_PanelCustomOrder\043682.def"
@@ -0,0 +1,15 @@
+Quintiq file version 2.0
+Component PanelCustomOrder
+{
+  #keys: '[414502.0.409352936]'
+  BaseType: 'WebPanel'
+  Children:
+  [
+    #child: ListCustomOrder
+  ]
+  Properties:
+  [
+    Taborder: 0
+    Title: 'CustomOrder'
+  ]
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormShowInterfaceData/Component_PanelForecast.def b/_Main/UI/MacroPlannerWebApp/Component_FormShowInterfaceData/Component_PanelForecast.def
new file mode 100644
index 0000000..b0f4ecd
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormShowInterfaceData/Component_PanelForecast.def
@@ -0,0 +1,15 @@
+Quintiq file version 2.0
+Component PanelForecast
+{
+  #keys: '[414502.0.409524617]'
+  BaseType: 'WebPanel'
+  Children:
+  [
+    #child: ListForecast
+  ]
+  Properties:
+  [
+    Taborder: 1
+    Title: 'Forecast '
+  ]
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormShowInterfaceData/Component_PanelInterfaceDataDisplayContent.def b/_Main/UI/MacroPlannerWebApp/Component_FormShowInterfaceData/Component_PanelInterfaceDataDisplayContent.def
new file mode 100644
index 0000000..0746e39
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormShowInterfaceData/Component_PanelInterfaceDataDisplayContent.def
@@ -0,0 +1,17 @@
+Quintiq file version 2.0
+Component PanelInterfaceDataDisplayContent
+{
+  #keys: '[414502.0.409352883]'
+  BaseType: 'WebPanel'
+  Children:
+  [
+    #child: PanelCustomOrder
+    #child: PanelForecast
+    #child: PanelUnitOfMeasure_MP
+  ]
+  Properties:
+  [
+    Orientation: 'tab'
+    Taborder: 1
+  ]
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormShowInterfaceData/Component_PanelUnitOfMeasure_MP.def b/_Main/UI/MacroPlannerWebApp/Component_FormShowInterfaceData/Component_PanelUnitOfMeasure_MP.def
new file mode 100644
index 0000000..9820357
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormShowInterfaceData/Component_PanelUnitOfMeasure_MP.def
@@ -0,0 +1,15 @@
+Quintiq file version 2.0
+Component PanelUnitOfMeasure_MP
+{
+  #keys: '[414502.0.410390401]'
+  BaseType: 'WebPanel'
+  Children:
+  [
+    #child: ListUnitOfMeasure_MP
+  ]
+  Properties:
+  [
+    Taborder: 2
+    Title: 'UnitOfMeasure_MP'
+  ]
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormShowInterfaceData/Component_listActionBarPageCustomOrder.def b/_Main/UI/MacroPlannerWebApp/Component_FormShowInterfaceData/Component_listActionBarPageCustomOrder.def
new file mode 100644
index 0000000..12f4eef
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormShowInterfaceData/Component_listActionBarPageCustomOrder.def
@@ -0,0 +1,10 @@
+Quintiq file version 2.0
+Component listActionBarPageCustomOrder
+{
+  #keys: '[414502.0.410384597]'
+  BaseType: 'listActionBarPage'
+  Properties:
+  [
+    Taborder: 1
+  ]
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormShowInterfaceData/Component_listActionBarPageForecast.def b/_Main/UI/MacroPlannerWebApp/Component_FormShowInterfaceData/Component_listActionBarPageForecast.def
new file mode 100644
index 0000000..8370bfe
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormShowInterfaceData/Component_listActionBarPageForecast.def
@@ -0,0 +1,10 @@
+Quintiq file version 2.0
+Component listActionBarPageForecast
+{
+  #keys: '[414502.0.410501481]'
+  BaseType: 'listActionBarPage'
+  Properties:
+  [
+    Taborder: 1
+  ]
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormShowInterfaceData/Component_listActionBarPageUnitOfMeasure_MP.def b/_Main/UI/MacroPlannerWebApp/Component_FormShowInterfaceData/Component_listActionBarPageUnitOfMeasure_MP.def
new file mode 100644
index 0000000..b8c0188
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormShowInterfaceData/Component_listActionBarPageUnitOfMeasure_MP.def
@@ -0,0 +1,10 @@
+Quintiq file version 2.0
+Component listActionBarPageUnitOfMeasure_MP
+{
+  #keys: '[414502.0.410391548]'
+  BaseType: 'listActionBarPage'
+  Properties:
+  [
+    Taborder: 1
+  ]
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormShowInterfaceData/Component_listContextMenuCustomOrder.def b/_Main/UI/MacroPlannerWebApp/Component_FormShowInterfaceData/Component_listContextMenuCustomOrder.def
new file mode 100644
index 0000000..6418719
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormShowInterfaceData/Component_listContextMenuCustomOrder.def
@@ -0,0 +1,10 @@
+Quintiq file version 2.0
+Component listContextMenuCustomOrder
+{
+  #keys: '[414502.0.410384602]'
+  BaseType: 'listContextMenu'
+  Properties:
+  [
+    Taborder: 0
+  ]
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormShowInterfaceData/Component_listContextMenuForecast.def b/_Main/UI/MacroPlannerWebApp/Component_FormShowInterfaceData/Component_listContextMenuForecast.def
new file mode 100644
index 0000000..bf6bb96
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormShowInterfaceData/Component_listContextMenuForecast.def
@@ -0,0 +1,10 @@
+Quintiq file version 2.0
+Component listContextMenuForecast
+{
+  #keys: '[414502.0.410501486]'
+  BaseType: 'listContextMenu'
+  Properties:
+  [
+    Taborder: 0
+  ]
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormShowInterfaceData/Component_listContextMenuUnitOfMeasure_MP.def b/_Main/UI/MacroPlannerWebApp/Component_FormShowInterfaceData/Component_listContextMenuUnitOfMeasure_MP.def
new file mode 100644
index 0000000..7864ecf
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormShowInterfaceData/Component_listContextMenuUnitOfMeasure_MP.def
@@ -0,0 +1,10 @@
+Quintiq file version 2.0
+Component listContextMenuUnitOfMeasure_MP
+{
+  #keys: '[414502.0.410391553]'
+  BaseType: 'listContextMenu'
+  Properties:
+  [
+    Taborder: 0
+  ]
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormShowInterfaceData/_ROOT_Component_FormShowInterfaceData.def b/_Main/UI/MacroPlannerWebApp/Component_FormShowInterfaceData/_ROOT_Component_FormShowInterfaceData.def
index 82115f2..e3f55d8 100644
--- a/_Main/UI/MacroPlannerWebApp/Component_FormShowInterfaceData/_ROOT_Component_FormShowInterfaceData.def
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormShowInterfaceData/_ROOT_Component_FormShowInterfaceData.def
@@ -8,6 +8,7 @@
   Children:
   [
     #child: MatrixEditorShowInterfaceData
+    #child: PanelInterfaceDataDisplayContent
   ]
   Properties:
   [
diff --git a/_Main/UI/MacroPlannerWebApp/Views/Test.vw b/_Main/UI/MacroPlannerWebApp/Views/Test.vw
index 1a6fe97..808d3e8 100644
--- a/_Main/UI/MacroPlannerWebApp/Views/Test.vw
+++ b/_Main/UI/MacroPlannerWebApp/Views/Test.vw
@@ -444,15 +444,15 @@
     userconfigurableinformation
     {
     }
-    image: 'BEAR'
     page: ''
     group: ''
     index: 0
+    image: 'BEAR'
     description: ''
   }
   formatversion: 2
   id: 'Test'
-  name: 'Test'
+  name: '浜ц兘鍒嗛厤_濉骇'
   isglobal: false
   isroot: true
 }
diff --git "a/_Main/UI/MacroPlannerWebApp/Views/\345\257\271\346\216\245ERP\350\277\233\350\241\214PR\351\207\212\346\224\276.vw" "b/_Main/UI/MacroPlannerWebApp/Views/\345\257\271\346\216\245ERP\350\277\233\350\241\214PR\351\207\212\346\224\276.vw"
new file mode 100644
index 0000000..0811978
--- /dev/null
+++ "b/_Main/UI/MacroPlannerWebApp/Views/\345\257\271\346\216\245ERP\350\277\233\350\241\214PR\351\207\212\346\224\276.vw"
@@ -0,0 +1,168 @@
+Quintiq file version 2.0
+{
+  viewcontents
+  {
+    forms
+    {
+      form_FormWorkOrderType
+      {
+        title: 'QTIANMA_JITUAN::FormWorkOrderType'
+        shown: true
+        componentID: 'QTIANMA_JITUAN::FormWorkOrderType'
+        layout
+        {
+          mode: 'open'
+          rowPosition: 1
+          rowSpan: 16
+          columnPosition: 1
+          columnSpan: 3
+        }
+        components
+        {
+          FormWorkOrderType_ListWorkOrderType
+          {
+          }
+          FormWorkOrderType_DataSetLevelWorkOrderType
+          {
+            groupDepth: -1
+            column_ID
+            {
+              columnId: 'ID'
+              dataPath: 'ID'
+              dataType: 'string'
+              index: 0
+              subtotals: ''
+              width: 150
+            }
+            column_TypeName
+            {
+              columnId: 'TypeName'
+              dataPath: 'TypeName'
+              dataType: 'string'
+              index: 1
+              subtotals: ''
+              width: 150
+            }
+          }
+        }
+      }
+      form_FormIssueWorkOrder
+      {
+        title: 'QTIANMA_JITUAN::FormIssueWorkOrder'
+        shown: true
+        componentID: 'QTIANMA_JITUAN::FormIssueWorkOrder'
+        layout
+        {
+          mode: 'open'
+          rowPosition: 1
+          rowSpan: 16
+          columnPosition: 4
+          columnSpan: 9
+        }
+        components
+        {
+          FormIssueWorkOrder_PanelButton
+          {
+            sizeRatio: 1
+          }
+          FormIssueWorkOrder_PanelIssueWorkOrder
+          {
+            sizeRatio: 1
+          }
+          FormIssueWorkOrder_ListIssueWorkOrder
+          {
+          }
+          FormIssueWorkOrder_DataSetLevelIssueWorkOrder
+          {
+            groupDepth: -1
+            column_ProductionWorkOrderNumber
+            {
+              columnId: 'ProductionWorkOrderNumber'
+              dataPath: 'ProductionWorkOrderNumber'
+              dataType: 'string'
+              index: 0
+              subtotals: ''
+              width: 150
+            }
+            column_ProductModel
+            {
+              columnId: 'ProductModel'
+              dataPath: 'ProductModel'
+              dataType: 'string'
+              index: 1
+              subtotals: ''
+              width: 150
+            }
+            column_MaterialDescription
+            {
+              columnId: 'MaterialDescription'
+              dataPath: 'MaterialDescription'
+              dataType: 'string'
+              index: 2
+              subtotals: ''
+              width: 150
+            }
+            column_StartDate
+            {
+              columnId: 'StartDate'
+              dataPath: 'StartDate'
+              dataType: 'date'
+              index: 3
+              subtotals: ''
+              width: 150
+            }
+            column_EndDate
+            {
+              columnId: 'EndDate'
+              dataPath: 'EndDate'
+              dataType: 'date'
+              index: 4
+              subtotals: ''
+              width: 150
+            }
+            column_PlannedQuantity
+            {
+              columnId: 'PlannedQuantity'
+              dataPath: 'PlannedQuantity'
+              dataType: 'real'
+              index: 5
+              subtotals: ''
+              width: 150
+            }
+            column_WorkOrderType
+            {
+              columnId: 'WorkOrderType'
+              dataPath: 'WorkOrderType'
+              dataType: 'string'
+              index: 6
+              subtotals: ''
+              width: 150
+            }
+            column_WorkOrderStatus
+            {
+              columnId: 'WorkOrderStatus'
+              dataPath: 'WorkOrderStatus'
+              dataType: 'string'
+              index: 7
+              subtotals: ''
+              width: 150
+            }
+          }
+        }
+      }
+    }
+    userconfigurableinformation
+    {
+    }
+    page: ''
+    group: ''
+    index: 0
+    image: 'INDUSTRIAL_ROBOT'
+    description: ''
+  }
+  formatversion: 2
+  id: '瀵规帴ERP杩涜PR閲婃斁'
+  name: '瀵规帴ERP杩涜PR閲婃斁'
+  isglobal: false
+  isroot: true
+}
diff --git "a/_Main/UI/MacroPlannerWebApp/Views/\351\235\242\346\235\277\346\213\211\346\226\231_\345\220\204\344\272\213\344\270\232\351\203\250\346\223\215\344\275\234.vw" "b/_Main/UI/MacroPlannerWebApp/Views/\351\235\242\346\235\277\346\213\211\346\226\231_\345\220\204\344\272\213\344\270\232\351\203\250\346\223\215\344\275\234.vw"
new file mode 100644
index 0000000..89c5aa2
--- /dev/null
+++ "b/_Main/UI/MacroPlannerWebApp/Views/\351\235\242\346\235\277\346\213\211\346\226\231_\345\220\204\344\272\213\344\270\232\351\203\250\346\223\215\344\275\234.vw"
@@ -0,0 +1,94 @@
+Quintiq file version 2.0
+{
+  viewcontents
+  {
+    forms
+    {
+      form_FormPanelPullPlanReport
+      {
+        title: 'QTIANMA_JITUAN::FormPanelPullPlanReport'
+        shown: true
+        componentID: 'QTIANMA_JITUAN::FormPanelPullPlanReport'
+        layout
+        {
+          mode: 'open'
+          rowPosition: 1
+          rowSpan: 16
+          columnPosition: 1
+          columnSpan: 6
+        }
+        components
+        {
+          FormPanelPullPlanReport_PanelPanelPullPlanReport
+          {
+            sizeRatio: 1
+          }
+          FormPanelPullPlanReport_PanelFunctionButtons
+          {
+            sizeRatio: 1
+          }
+          FormPanelPullPlanReport_PanelData
+          {
+            sizeRatio: 1
+          }
+          FormPanelPullPlanReport_ListData
+          {
+          }
+          FormPanelPullPlanReport_DataSetLevelData
+          {
+            groupDepth: -1
+            column_PanelModel
+            {
+              columnId: 'PanelModel'
+              dataPath: 'PanelModel'
+              dataType: 'string'
+              index: 0
+              subtotals: ''
+              width: 150
+            }
+            column_MaterialDescription
+            {
+              columnId: 'MaterialDescription'
+              dataPath: 'MaterialDescription'
+              dataType: 'string'
+              index: 1
+              subtotals: ''
+              width: 150
+            }
+            column_StartDate
+            {
+              columnId: 'StartDate'
+              dataPath: 'StartDate'
+              dataType: 'date'
+              index: 2
+              subtotals: ''
+              width: 150
+            }
+            column_DemandQuantity
+            {
+              columnId: 'DemandQuantity'
+              dataPath: 'DemandQuantity'
+              dataType: 'real'
+              index: 3
+              subtotals: ''
+              width: 150
+            }
+          }
+        }
+      }
+    }
+    userconfigurableinformation
+    {
+    }
+    image: 'BARREL'
+    page: ''
+    group: ''
+    index: 0
+    description: ''
+  }
+  formatversion: 2
+  id: '闈㈡澘鎷夋枡_鍚勪簨涓氶儴鎿嶄綔'
+  name: '闈㈡澘鎷夋枡_鍚勪簨涓氶儴鎿嶄綔'
+  isglobal: false
+  isroot: true
+}
diff --git "a/_Main/UI/MacroPlannerWebApp/Views/\351\235\242\346\235\277\346\213\211\346\226\231_\351\233\206\345\233\242\346\223\215\344\275\234.vw" "b/_Main/UI/MacroPlannerWebApp/Views/\351\235\242\346\235\277\346\213\211\346\226\231_\351\233\206\345\233\242\346\223\215\344\275\234.vw"
new file mode 100644
index 0000000..d5d1c39
--- /dev/null
+++ "b/_Main/UI/MacroPlannerWebApp/Views/\351\235\242\346\235\277\346\213\211\346\226\231_\351\233\206\345\233\242\346\223\215\344\275\234.vw"
@@ -0,0 +1,1471 @@
+Quintiq file version 2.0
+{
+  viewcontents
+  {
+    forms
+    {
+      form_FormPanelMaterialSpecializedDisplay
+      {
+        title: 'QTIANMA_JITUAN::FormPanelMaterialSpecializedDisplay'
+        shown: true
+        componentID: 'QTIANMA_JITUAN::FormPanelMaterialSpecializedDisplay'
+        layout
+        {
+          mode: 'open'
+          rowPosition: 1
+          rowSpan: 6
+          columnPosition: 1
+          columnSpan: 4
+        }
+        components
+        {
+          FormPanelMaterialSpecializedDisplay_ListPanelMaterialSpecializedDisplay
+          {
+          }
+          FormPanelMaterialSpecializedDisplay_DataSetLevelPanelMaterialSpecializedDisplay
+          {
+            groupDepth: -1
+            column_CurrencyID
+            {
+              columnId: 'CurrencyID'
+              dataPath: 'CurrencyID'
+              dataType: 'string'
+              index: 0
+              subtotals: ''
+              width: 150
+            }
+            column_Customer
+            {
+              columnId: 'Customer'
+              dataPath: 'Customer'
+              dataType: 'string'
+              index: 1
+              subtotals: ''
+              width: 150
+            }
+            column_CustomerID
+            {
+              columnId: 'CustomerID'
+              dataPath: 'CustomerID'
+              dataType: 'string'
+              index: 2
+              subtotals: ''
+              width: 150
+            }
+            column_ID
+            {
+              columnId: 'ID'
+              dataPath: 'ID'
+              dataType: 'string'
+              index: 3
+              subtotals: ''
+              width: 150
+            }
+            column_IsEligibleForNetting
+            {
+              columnId: 'IsEligibleForNetting'
+              dataPath: 'IsEligibleForNetting'
+              dataType: 'boolean'
+              index: 4
+              subtotals: ''
+              width: 150
+            }
+            column_IsExcludedFromFulfillmentKPIUser
+            {
+              columnId: 'IsExcludedFromFulfillmentKPIUser'
+              dataPath: 'IsExcludedFromFulfillmentKPIUser'
+              dataType: 'boolean'
+              index: 5
+              subtotals: ''
+              width: 150
+            }
+            column_IsFirmed
+            {
+              columnId: 'IsFirmed'
+              dataPath: 'IsFirmed'
+              dataType: 'boolean'
+              index: 6
+              subtotals: ''
+              width: 150
+            }
+            column_OrderDate
+            {
+              columnId: 'OrderDate'
+              dataPath: 'OrderDate'
+              dataType: 'date'
+              index: 7
+              subtotals: ''
+              width: 150
+            }
+            column_OrderID
+            {
+              columnId: 'OrderID'
+              dataPath: 'OrderID'
+              dataType: 'string'
+              index: 8
+              subtotals: ''
+              width: 150
+            }
+            column_OrderLineID
+            {
+              columnId: 'OrderLineID'
+              dataPath: 'OrderLineID'
+              dataType: 'string'
+              index: 9
+              subtotals: ''
+              width: 150
+            }
+            column_Price
+            {
+              columnId: 'Price'
+              dataPath: 'Price'
+              dataType: 'real'
+              index: 10
+              subtotals: ''
+              width: 150
+            }
+            column_PriorityName
+            {
+              columnId: 'PriorityName'
+              dataPath: 'PriorityName'
+              dataType: 'string'
+              index: 11
+              subtotals: ''
+              width: 150
+            }
+            column_ProductID
+            {
+              columnId: 'ProductID'
+              dataPath: 'ProductID'
+              dataType: 'string'
+              index: 12
+              subtotals: ''
+              width: 150
+            }
+            column_Quantity
+            {
+              columnId: 'Quantity'
+              dataPath: 'Quantity'
+              dataType: 'string'
+              index: 13
+              subtotals: ''
+              width: 150
+            }
+            column_SalesSegmentName
+            {
+              columnId: 'SalesSegmentName'
+              dataPath: 'SalesSegmentName'
+              dataType: 'string'
+              index: 14
+              subtotals: ''
+              width: 150
+            }
+            column_StockingPointID
+            {
+              columnId: 'StockingPointID'
+              dataPath: 'StockingPointID'
+              dataType: 'string'
+              index: 15
+              subtotals: ''
+              width: 150
+            }
+            column_UnitOfMeasureName
+            {
+              columnId: 'UnitOfMeasureName'
+              dataPath: 'UnitOfMeasureName'
+              dataType: 'string'
+              index: 16
+              subtotals: ''
+              width: 150
+            }
+          }
+        }
+      }
+      form_FormPanelMaterialSportsHealth
+      {
+        title: 'QTIANMA_JITUAN::FormPanelMaterialSportsHealth'
+        shown: true
+        componentID: 'QTIANMA_JITUAN::FormPanelMaterialSportsHealth'
+        layout
+        {
+          mode: 'open'
+          rowPosition: 1
+          rowSpan: 6
+          columnPosition: 5
+          columnSpan: 4
+        }
+        components
+        {
+          FormPanelMaterialSportsHealth_ListPanelMaterialSportsHealth
+          {
+          }
+          FormPanelMaterialSportsHealth_DataSetLevelPanelMaterialSportsHealth
+          {
+            groupDepth: -1
+            column_CurrencyID
+            {
+              columnId: 'CurrencyID'
+              dataPath: 'CurrencyID'
+              dataType: 'string'
+              index: 0
+              subtotals: ''
+              width: 150
+            }
+            column_Customer
+            {
+              columnId: 'Customer'
+              dataPath: 'Customer'
+              dataType: 'string'
+              index: 1
+              subtotals: ''
+              width: 150
+            }
+            column_CustomerID
+            {
+              columnId: 'CustomerID'
+              dataPath: 'CustomerID'
+              dataType: 'string'
+              index: 2
+              subtotals: ''
+              width: 150
+            }
+            column_ID
+            {
+              columnId: 'ID'
+              dataPath: 'ID'
+              dataType: 'string'
+              index: 3
+              subtotals: ''
+              width: 150
+            }
+            column_IsEligibleForNetting
+            {
+              columnId: 'IsEligibleForNetting'
+              dataPath: 'IsEligibleForNetting'
+              dataType: 'boolean'
+              index: 4
+              subtotals: ''
+              width: 150
+            }
+            column_IsExcludedFromFulfillmentKPIUser
+            {
+              columnId: 'IsExcludedFromFulfillmentKPIUser'
+              dataPath: 'IsExcludedFromFulfillmentKPIUser'
+              dataType: 'boolean'
+              index: 5
+              subtotals: ''
+              width: 150
+            }
+            column_IsFirmed
+            {
+              columnId: 'IsFirmed'
+              dataPath: 'IsFirmed'
+              dataType: 'boolean'
+              index: 6
+              subtotals: ''
+              width: 150
+            }
+            column_OrderDate
+            {
+              columnId: 'OrderDate'
+              dataPath: 'OrderDate'
+              dataType: 'date'
+              index: 7
+              subtotals: ''
+              width: 150
+            }
+            column_OrderID
+            {
+              columnId: 'OrderID'
+              dataPath: 'OrderID'
+              dataType: 'string'
+              index: 8
+              subtotals: ''
+              width: 150
+            }
+            column_OrderLineID
+            {
+              columnId: 'OrderLineID'
+              dataPath: 'OrderLineID'
+              dataType: 'string'
+              index: 9
+              subtotals: ''
+              width: 150
+            }
+            column_Price
+            {
+              columnId: 'Price'
+              dataPath: 'Price'
+              dataType: 'real'
+              index: 10
+              subtotals: ''
+              width: 150
+            }
+            column_PriorityName
+            {
+              columnId: 'PriorityName'
+              dataPath: 'PriorityName'
+              dataType: 'string'
+              index: 11
+              subtotals: ''
+              width: 150
+            }
+            column_ProductID
+            {
+              columnId: 'ProductID'
+              dataPath: 'ProductID'
+              dataType: 'string'
+              index: 12
+              subtotals: ''
+              width: 150
+            }
+            column_Quantity
+            {
+              columnId: 'Quantity'
+              dataPath: 'Quantity'
+              dataType: 'string'
+              index: 13
+              subtotals: ''
+              width: 150
+            }
+            column_SalesSegmentName
+            {
+              columnId: 'SalesSegmentName'
+              dataPath: 'SalesSegmentName'
+              dataType: 'string'
+              index: 14
+              subtotals: ''
+              width: 150
+            }
+            column_StockingPointID
+            {
+              columnId: 'StockingPointID'
+              dataPath: 'StockingPointID'
+              dataType: 'string'
+              index: 15
+              subtotals: ''
+              width: 150
+            }
+            column_UnitOfMeasureName
+            {
+              columnId: 'UnitOfMeasureName'
+              dataPath: 'UnitOfMeasureName'
+              dataType: 'string'
+              index: 16
+              subtotals: ''
+              width: 150
+            }
+          }
+        }
+      }
+      form_FormPanelMaterialTM17
+      {
+        title: 'QTIANMA_JITUAN::FormPanelMaterialTM17'
+        shown: true
+        componentID: 'QTIANMA_JITUAN::FormPanelMaterialTM17'
+        layout
+        {
+          mode: 'open'
+          rowPosition: 1
+          rowSpan: 6
+          columnPosition: 9
+          columnSpan: 4
+        }
+        components
+        {
+          FormPanelMaterialTM17_ListPanelMaterialTM
+          {
+          }
+          FormPanelMaterialTM17_DataSetLevelPanelMaterialTM
+          {
+            groupDepth: -1
+            column_CurrencyID
+            {
+              columnId: 'CurrencyID'
+              dataPath: 'CurrencyID'
+              dataType: 'string'
+              index: 0
+              subtotals: ''
+              width: 150
+            }
+            column_Customer
+            {
+              columnId: 'Customer'
+              dataPath: 'Customer'
+              dataType: 'string'
+              index: 1
+              subtotals: ''
+              width: 150
+            }
+            column_CustomerID
+            {
+              columnId: 'CustomerID'
+              dataPath: 'CustomerID'
+              dataType: 'string'
+              index: 2
+              subtotals: ''
+              width: 150
+            }
+            column_ID
+            {
+              columnId: 'ID'
+              dataPath: 'ID'
+              dataType: 'string'
+              index: 3
+              subtotals: ''
+              width: 150
+            }
+            column_IsEligibleForNetting
+            {
+              columnId: 'IsEligibleForNetting'
+              dataPath: 'IsEligibleForNetting'
+              dataType: 'boolean'
+              index: 4
+              subtotals: ''
+              width: 150
+            }
+            column_IsExcludedFromFulfillmentKPIUser
+            {
+              columnId: 'IsExcludedFromFulfillmentKPIUser'
+              dataPath: 'IsExcludedFromFulfillmentKPIUser'
+              dataType: 'boolean'
+              index: 5
+              subtotals: ''
+              width: 150
+            }
+            column_IsFirmed
+            {
+              columnId: 'IsFirmed'
+              dataPath: 'IsFirmed'
+              dataType: 'boolean'
+              index: 6
+              subtotals: ''
+              width: 150
+            }
+            column_OrderDate
+            {
+              columnId: 'OrderDate'
+              dataPath: 'OrderDate'
+              dataType: 'date'
+              index: 7
+              subtotals: ''
+              width: 150
+            }
+            column_OrderID
+            {
+              columnId: 'OrderID'
+              dataPath: 'OrderID'
+              dataType: 'string'
+              index: 8
+              subtotals: ''
+              width: 150
+            }
+            column_OrderLineID
+            {
+              columnId: 'OrderLineID'
+              dataPath: 'OrderLineID'
+              dataType: 'string'
+              index: 9
+              subtotals: ''
+              width: 150
+            }
+            column_Price
+            {
+              columnId: 'Price'
+              dataPath: 'Price'
+              dataType: 'real'
+              index: 10
+              subtotals: ''
+              width: 150
+            }
+            column_PriorityName
+            {
+              columnId: 'PriorityName'
+              dataPath: 'PriorityName'
+              dataType: 'string'
+              index: 11
+              subtotals: ''
+              width: 150
+            }
+            column_ProductID
+            {
+              columnId: 'ProductID'
+              dataPath: 'ProductID'
+              dataType: 'string'
+              index: 12
+              subtotals: ''
+              width: 150
+            }
+            column_Quantity
+            {
+              columnId: 'Quantity'
+              dataPath: 'Quantity'
+              dataType: 'string'
+              index: 13
+              subtotals: ''
+              width: 150
+            }
+            column_SalesSegmentName
+            {
+              columnId: 'SalesSegmentName'
+              dataPath: 'SalesSegmentName'
+              dataType: 'string'
+              index: 14
+              subtotals: ''
+              width: 150
+            }
+            column_StockingPointID
+            {
+              columnId: 'StockingPointID'
+              dataPath: 'StockingPointID'
+              dataType: 'string'
+              index: 15
+              subtotals: ''
+              width: 150
+            }
+            column_UnitOfMeasureName
+            {
+              columnId: 'UnitOfMeasureName'
+              dataPath: 'UnitOfMeasureName'
+              dataType: 'string'
+              index: 16
+              subtotals: ''
+              width: 150
+            }
+          }
+        }
+      }
+      form_FormPanelMaterialTM18
+      {
+        title: 'QTIANMA_JITUAN::FormPanelMaterialTM18'
+        shown: true
+        componentID: 'QTIANMA_JITUAN::FormPanelMaterialTM18'
+        layout
+        {
+          mode: 'open'
+          rowPosition: 7
+          rowSpan: 6
+          columnPosition: 1
+          columnSpan: 4
+        }
+        components
+        {
+          FormPanelMaterialTM18_ListPanelMaterialTM
+          {
+          }
+          FormPanelMaterialTM18_DataSetLevelPanelMaterialTM
+          {
+            groupDepth: -1
+            column_CurrencyID
+            {
+              columnId: 'CurrencyID'
+              dataPath: 'CurrencyID'
+              dataType: 'string'
+              index: 0
+              subtotals: ''
+              width: 150
+            }
+            column_Customer
+            {
+              columnId: 'Customer'
+              dataPath: 'Customer'
+              dataType: 'string'
+              index: 1
+              subtotals: ''
+              width: 150
+            }
+            column_CustomerID
+            {
+              columnId: 'CustomerID'
+              dataPath: 'CustomerID'
+              dataType: 'string'
+              index: 2
+              subtotals: ''
+              width: 150
+            }
+            column_ID
+            {
+              columnId: 'ID'
+              dataPath: 'ID'
+              dataType: 'string'
+              index: 3
+              subtotals: ''
+              width: 150
+            }
+            column_IsEligibleForNetting
+            {
+              columnId: 'IsEligibleForNetting'
+              dataPath: 'IsEligibleForNetting'
+              dataType: 'boolean'
+              index: 4
+              subtotals: ''
+              width: 150
+            }
+            column_IsExcludedFromFulfillmentKPIUser
+            {
+              columnId: 'IsExcludedFromFulfillmentKPIUser'
+              dataPath: 'IsExcludedFromFulfillmentKPIUser'
+              dataType: 'boolean'
+              index: 5
+              subtotals: ''
+              width: 150
+            }
+            column_IsFirmed
+            {
+              columnId: 'IsFirmed'
+              dataPath: 'IsFirmed'
+              dataType: 'boolean'
+              index: 6
+              subtotals: ''
+              width: 150
+            }
+            column_OrderDate
+            {
+              columnId: 'OrderDate'
+              dataPath: 'OrderDate'
+              dataType: 'date'
+              index: 7
+              subtotals: ''
+              width: 150
+            }
+            column_OrderID
+            {
+              columnId: 'OrderID'
+              dataPath: 'OrderID'
+              dataType: 'string'
+              index: 8
+              subtotals: ''
+              width: 150
+            }
+            column_OrderLineID
+            {
+              columnId: 'OrderLineID'
+              dataPath: 'OrderLineID'
+              dataType: 'string'
+              index: 9
+              subtotals: ''
+              width: 150
+            }
+            column_Price
+            {
+              columnId: 'Price'
+              dataPath: 'Price'
+              dataType: 'real'
+              index: 10
+              subtotals: ''
+              width: 150
+            }
+            column_PriorityName
+            {
+              columnId: 'PriorityName'
+              dataPath: 'PriorityName'
+              dataType: 'string'
+              index: 11
+              subtotals: ''
+              width: 150
+            }
+            column_ProductID
+            {
+              columnId: 'ProductID'
+              dataPath: 'ProductID'
+              dataType: 'string'
+              index: 12
+              subtotals: ''
+              width: 150
+            }
+            column_Quantity
+            {
+              columnId: 'Quantity'
+              dataPath: 'Quantity'
+              dataType: 'string'
+              index: 13
+              subtotals: ''
+              width: 150
+            }
+            column_SalesSegmentName
+            {
+              columnId: 'SalesSegmentName'
+              dataPath: 'SalesSegmentName'
+              dataType: 'string'
+              index: 14
+              subtotals: ''
+              width: 150
+            }
+            column_StockingPointID
+            {
+              columnId: 'StockingPointID'
+              dataPath: 'StockingPointID'
+              dataType: 'string'
+              index: 15
+              subtotals: ''
+              width: 150
+            }
+            column_UnitOfMeasureName
+            {
+              columnId: 'UnitOfMeasureName'
+              dataPath: 'UnitOfMeasureName'
+              dataType: 'string'
+              index: 16
+              subtotals: ''
+              width: 150
+            }
+          }
+        }
+      }
+      form_FormPanelMaterialIT
+      {
+        title: 'QTIANMA_JITUAN::FormPanelMaterialIT'
+        shown: true
+        componentID: 'QTIANMA_JITUAN::FormPanelMaterialIT'
+        layout
+        {
+          mode: 'open'
+          rowPosition: 7
+          rowSpan: 6
+          columnPosition: 5
+          columnSpan: 4
+        }
+        components
+        {
+          FormPanelMaterialIT_ListPanelMaterialIT
+          {
+          }
+          FormPanelMaterialIT_DataSetLevelPanelMaterialIT
+          {
+            groupDepth: -1
+            column_CurrencyID
+            {
+              columnId: 'CurrencyID'
+              dataPath: 'CurrencyID'
+              dataType: 'string'
+              index: 0
+              subtotals: ''
+              width: 150
+            }
+            column_Customer
+            {
+              columnId: 'Customer'
+              dataPath: 'Customer'
+              dataType: 'string'
+              index: 1
+              subtotals: ''
+              width: 150
+            }
+            column_CustomerID
+            {
+              columnId: 'CustomerID'
+              dataPath: 'CustomerID'
+              dataType: 'string'
+              index: 2
+              subtotals: ''
+              width: 150
+            }
+            column_ID
+            {
+              columnId: 'ID'
+              dataPath: 'ID'
+              dataType: 'string'
+              index: 3
+              subtotals: ''
+              width: 150
+            }
+            column_IsEligibleForNetting
+            {
+              columnId: 'IsEligibleForNetting'
+              dataPath: 'IsEligibleForNetting'
+              dataType: 'boolean'
+              index: 4
+              subtotals: ''
+              width: 150
+            }
+            column_IsExcludedFromFulfillmentKPIUser
+            {
+              columnId: 'IsExcludedFromFulfillmentKPIUser'
+              dataPath: 'IsExcludedFromFulfillmentKPIUser'
+              dataType: 'boolean'
+              index: 5
+              subtotals: ''
+              width: 150
+            }
+            column_IsFirmed
+            {
+              columnId: 'IsFirmed'
+              dataPath: 'IsFirmed'
+              dataType: 'boolean'
+              index: 6
+              subtotals: ''
+              width: 150
+            }
+            column_OrderDate
+            {
+              columnId: 'OrderDate'
+              dataPath: 'OrderDate'
+              dataType: 'date'
+              index: 7
+              subtotals: ''
+              width: 150
+            }
+            column_OrderID
+            {
+              columnId: 'OrderID'
+              dataPath: 'OrderID'
+              dataType: 'string'
+              index: 8
+              subtotals: ''
+              width: 150
+            }
+            column_OrderLineID
+            {
+              columnId: 'OrderLineID'
+              dataPath: 'OrderLineID'
+              dataType: 'string'
+              index: 9
+              subtotals: ''
+              width: 150
+            }
+            column_Price
+            {
+              columnId: 'Price'
+              dataPath: 'Price'
+              dataType: 'real'
+              index: 10
+              subtotals: ''
+              width: 150
+            }
+            column_PriorityName
+            {
+              columnId: 'PriorityName'
+              dataPath: 'PriorityName'
+              dataType: 'string'
+              index: 11
+              subtotals: ''
+              width: 150
+            }
+            column_ProductID
+            {
+              columnId: 'ProductID'
+              dataPath: 'ProductID'
+              dataType: 'string'
+              index: 12
+              subtotals: ''
+              width: 150
+            }
+            column_Quantity
+            {
+              columnId: 'Quantity'
+              dataPath: 'Quantity'
+              dataType: 'string'
+              index: 13
+              subtotals: ''
+              width: 150
+            }
+            column_SalesSegmentName
+            {
+              columnId: 'SalesSegmentName'
+              dataPath: 'SalesSegmentName'
+              dataType: 'string'
+              index: 14
+              subtotals: ''
+              width: 150
+            }
+            column_StockingPointID
+            {
+              columnId: 'StockingPointID'
+              dataPath: 'StockingPointID'
+              dataType: 'string'
+              index: 15
+              subtotals: ''
+              width: 150
+            }
+            column_UnitOfMeasureName
+            {
+              columnId: 'UnitOfMeasureName'
+              dataPath: 'UnitOfMeasureName'
+              dataType: 'string'
+              index: 16
+              subtotals: ''
+              width: 150
+            }
+          }
+        }
+      }
+      form_FormPanelMaterialTianHua
+      {
+        title: 'QTIANMA_JITUAN::FormPanelMaterialTianHua'
+        shown: true
+        componentID: 'QTIANMA_JITUAN::FormPanelMaterialTianHua'
+        layout
+        {
+          mode: 'open'
+          rowPosition: 7
+          rowSpan: 6
+          columnPosition: 9
+          columnSpan: 4
+        }
+        components
+        {
+          FormPanelMaterialTianHua_ListPanelMaterialTianHua
+          {
+          }
+          FormPanelMaterialTianHua_DataSetLevelPanelMaterialTianHua
+          {
+            groupDepth: -1
+            column_CurrencyID
+            {
+              columnId: 'CurrencyID'
+              dataPath: 'CurrencyID'
+              dataType: 'string'
+              index: 0
+              subtotals: ''
+              width: 150
+            }
+            column_Customer
+            {
+              columnId: 'Customer'
+              dataPath: 'Customer'
+              dataType: 'string'
+              index: 1
+              subtotals: ''
+              width: 150
+            }
+            column_CustomerID
+            {
+              columnId: 'CustomerID'
+              dataPath: 'CustomerID'
+              dataType: 'string'
+              index: 2
+              subtotals: ''
+              width: 150
+            }
+            column_ID
+            {
+              columnId: 'ID'
+              dataPath: 'ID'
+              dataType: 'string'
+              index: 3
+              subtotals: ''
+              width: 150
+            }
+            column_IsEligibleForNetting
+            {
+              columnId: 'IsEligibleForNetting'
+              dataPath: 'IsEligibleForNetting'
+              dataType: 'boolean'
+              index: 4
+              subtotals: ''
+              width: 150
+            }
+            column_IsExcludedFromFulfillmentKPIUser
+            {
+              columnId: 'IsExcludedFromFulfillmentKPIUser'
+              dataPath: 'IsExcludedFromFulfillmentKPIUser'
+              dataType: 'boolean'
+              index: 5
+              subtotals: ''
+              width: 150
+            }
+            column_IsFirmed
+            {
+              columnId: 'IsFirmed'
+              dataPath: 'IsFirmed'
+              dataType: 'boolean'
+              index: 6
+              subtotals: ''
+              width: 150
+            }
+            column_OrderDate
+            {
+              columnId: 'OrderDate'
+              dataPath: 'OrderDate'
+              dataType: 'date'
+              index: 7
+              subtotals: ''
+              width: 150
+            }
+            column_OrderID
+            {
+              columnId: 'OrderID'
+              dataPath: 'OrderID'
+              dataType: 'string'
+              index: 8
+              subtotals: ''
+              width: 150
+            }
+            column_OrderLineID
+            {
+              columnId: 'OrderLineID'
+              dataPath: 'OrderLineID'
+              dataType: 'string'
+              index: 9
+              subtotals: ''
+              width: 150
+            }
+            column_Price
+            {
+              columnId: 'Price'
+              dataPath: 'Price'
+              dataType: 'real'
+              index: 10
+              subtotals: ''
+              width: 150
+            }
+            column_PriorityName
+            {
+              columnId: 'PriorityName'
+              dataPath: 'PriorityName'
+              dataType: 'string'
+              index: 11
+              subtotals: ''
+              width: 150
+            }
+            column_ProductID
+            {
+              columnId: 'ProductID'
+              dataPath: 'ProductID'
+              dataType: 'string'
+              index: 12
+              subtotals: ''
+              width: 150
+            }
+            column_Quantity
+            {
+              columnId: 'Quantity'
+              dataPath: 'Quantity'
+              dataType: 'string'
+              index: 13
+              subtotals: ''
+              width: 150
+            }
+            column_SalesSegmentName
+            {
+              columnId: 'SalesSegmentName'
+              dataPath: 'SalesSegmentName'
+              dataType: 'string'
+              index: 14
+              subtotals: ''
+              width: 150
+            }
+            column_StockingPointID
+            {
+              columnId: 'StockingPointID'
+              dataPath: 'StockingPointID'
+              dataType: 'string'
+              index: 15
+              subtotals: ''
+              width: 150
+            }
+            column_UnitOfMeasureName
+            {
+              columnId: 'UnitOfMeasureName'
+              dataPath: 'UnitOfMeasureName'
+              dataType: 'string'
+              index: 16
+              subtotals: ''
+              width: 150
+            }
+          }
+        }
+      }
+      form_FormPanelMaterialAutomotiveElectronics
+      {
+        title: 'QTIANMA_JITUAN::FormPanelMaterialAutomotiveElectronics'
+        shown: true
+        componentID: 'QTIANMA_JITUAN::FormPanelMaterialAutomotiveElectronics'
+        layout
+        {
+          mode: 'open'
+          rowPosition: 13
+          rowSpan: 6
+          columnPosition: 1
+          columnSpan: 4
+        }
+        components
+        {
+          FormPanelMaterialAutomotiveElectronics_ListPanelMaterialAutomotiveElectronics
+          {
+          }
+          FormPanelMaterialAutomotiveElectronics_DataSetLevelPanelMaterialAutomotiveElectronics
+          {
+            groupDepth: -1
+            column_CurrencyID
+            {
+              columnId: 'CurrencyID'
+              dataPath: 'CurrencyID'
+              dataType: 'string'
+              index: 0
+              subtotals: ''
+              width: 150
+            }
+            column_Customer
+            {
+              columnId: 'Customer'
+              dataPath: 'Customer'
+              dataType: 'string'
+              index: 1
+              subtotals: ''
+              width: 150
+            }
+            column_CustomerID
+            {
+              columnId: 'CustomerID'
+              dataPath: 'CustomerID'
+              dataType: 'string'
+              index: 2
+              subtotals: ''
+              width: 150
+            }
+            column_ID
+            {
+              columnId: 'ID'
+              dataPath: 'ID'
+              dataType: 'string'
+              index: 3
+              subtotals: ''
+              width: 150
+            }
+            column_IsEligibleForNetting
+            {
+              columnId: 'IsEligibleForNetting'
+              dataPath: 'IsEligibleForNetting'
+              dataType: 'boolean'
+              index: 4
+              subtotals: ''
+              width: 150
+            }
+            column_IsExcludedFromFulfillmentKPIUser
+            {
+              columnId: 'IsExcludedFromFulfillmentKPIUser'
+              dataPath: 'IsExcludedFromFulfillmentKPIUser'
+              dataType: 'boolean'
+              index: 5
+              subtotals: ''
+              width: 150
+            }
+            column_IsFirmed
+            {
+              columnId: 'IsFirmed'
+              dataPath: 'IsFirmed'
+              dataType: 'boolean'
+              index: 6
+              subtotals: ''
+              width: 150
+            }
+            column_OrderDate
+            {
+              columnId: 'OrderDate'
+              dataPath: 'OrderDate'
+              dataType: 'date'
+              index: 7
+              subtotals: ''
+              width: 150
+            }
+            column_OrderID
+            {
+              columnId: 'OrderID'
+              dataPath: 'OrderID'
+              dataType: 'string'
+              index: 8
+              subtotals: ''
+              width: 150
+            }
+            column_OrderLineID
+            {
+              columnId: 'OrderLineID'
+              dataPath: 'OrderLineID'
+              dataType: 'string'
+              index: 9
+              subtotals: ''
+              width: 150
+            }
+            column_Price
+            {
+              columnId: 'Price'
+              dataPath: 'Price'
+              dataType: 'real'
+              index: 10
+              subtotals: ''
+              width: 150
+            }
+            column_PriorityName
+            {
+              columnId: 'PriorityName'
+              dataPath: 'PriorityName'
+              dataType: 'string'
+              index: 11
+              subtotals: ''
+              width: 150
+            }
+            column_ProductID
+            {
+              columnId: 'ProductID'
+              dataPath: 'ProductID'
+              dataType: 'string'
+              index: 12
+              subtotals: ''
+              width: 150
+            }
+            column_Quantity
+            {
+              columnId: 'Quantity'
+              dataPath: 'Quantity'
+              dataType: 'string'
+              index: 13
+              subtotals: ''
+              width: 150
+            }
+            column_SalesSegmentName
+            {
+              columnId: 'SalesSegmentName'
+              dataPath: 'SalesSegmentName'
+              dataType: 'string'
+              index: 14
+              subtotals: ''
+              width: 150
+            }
+            column_StockingPointID
+            {
+              columnId: 'StockingPointID'
+              dataPath: 'StockingPointID'
+              dataType: 'string'
+              index: 15
+              subtotals: ''
+              width: 150
+            }
+            column_UnitOfMeasureName
+            {
+              columnId: 'UnitOfMeasureName'
+              dataPath: 'UnitOfMeasureName'
+              dataType: 'string'
+              index: 16
+              subtotals: ''
+              width: 150
+            }
+          }
+        }
+      }
+      form_FormPanelMaterialVehicle
+      {
+        title: 'QTIANMA_JITUAN::FormPanelMaterialVehicle'
+        shown: true
+        componentID: 'QTIANMA_JITUAN::FormPanelMaterialVehicle'
+        layout
+        {
+          mode: 'open'
+          rowPosition: 13
+          rowSpan: 6
+          columnPosition: 5
+          columnSpan: 4
+        }
+        components
+        {
+          FormPanelMaterialVehicle_ListPanelMaterialVehicle
+          {
+          }
+          FormPanelMaterialVehicle_DataSetLevelPanelMaterialVehicle
+          {
+            groupDepth: -1
+            column_CurrencyID
+            {
+              columnId: 'CurrencyID'
+              dataPath: 'CurrencyID'
+              dataType: 'string'
+              index: 0
+              subtotals: ''
+              width: 150
+            }
+            column_Customer
+            {
+              columnId: 'Customer'
+              dataPath: 'Customer'
+              dataType: 'string'
+              index: 1
+              subtotals: ''
+              width: 150
+            }
+            column_CustomerID
+            {
+              columnId: 'CustomerID'
+              dataPath: 'CustomerID'
+              dataType: 'string'
+              index: 2
+              subtotals: ''
+              width: 150
+            }
+            column_ID
+            {
+              columnId: 'ID'
+              dataPath: 'ID'
+              dataType: 'string'
+              index: 3
+              subtotals: ''
+              width: 150
+            }
+            column_IsEligibleForNetting
+            {
+              columnId: 'IsEligibleForNetting'
+              dataPath: 'IsEligibleForNetting'
+              dataType: 'boolean'
+              index: 4
+              subtotals: ''
+              width: 150
+            }
+            column_IsExcludedFromFulfillmentKPIUser
+            {
+              columnId: 'IsExcludedFromFulfillmentKPIUser'
+              dataPath: 'IsExcludedFromFulfillmentKPIUser'
+              dataType: 'boolean'
+              index: 5
+              subtotals: ''
+              width: 150
+            }
+            column_IsFirmed
+            {
+              columnId: 'IsFirmed'
+              dataPath: 'IsFirmed'
+              dataType: 'boolean'
+              index: 6
+              subtotals: ''
+              width: 150
+            }
+            column_OrderDate
+            {
+              columnId: 'OrderDate'
+              dataPath: 'OrderDate'
+              dataType: 'date'
+              index: 7
+              subtotals: ''
+              width: 150
+            }
+            column_OrderID
+            {
+              columnId: 'OrderID'
+              dataPath: 'OrderID'
+              dataType: 'string'
+              index: 8
+              subtotals: ''
+              width: 150
+            }
+            column_OrderLineID
+            {
+              columnId: 'OrderLineID'
+              dataPath: 'OrderLineID'
+              dataType: 'string'
+              index: 9
+              subtotals: ''
+              width: 150
+            }
+            column_Price
+            {
+              columnId: 'Price'
+              dataPath: 'Price'
+              dataType: 'real'
+              index: 10
+              subtotals: ''
+              width: 150
+            }
+            column_PriorityName
+            {
+              columnId: 'PriorityName'
+              dataPath: 'PriorityName'
+              dataType: 'string'
+              index: 11
+              subtotals: ''
+              width: 150
+            }
+            column_ProductID
+            {
+              columnId: 'ProductID'
+              dataPath: 'ProductID'
+              dataType: 'string'
+              index: 12
+              subtotals: ''
+              width: 150
+            }
+            column_Quantity
+            {
+              columnId: 'Quantity'
+              dataPath: 'Quantity'
+              dataType: 'string'
+              index: 13
+              subtotals: ''
+              width: 150
+            }
+            column_SalesSegmentName
+            {
+              columnId: 'SalesSegmentName'
+              dataPath: 'SalesSegmentName'
+              dataType: 'string'
+              index: 14
+              subtotals: ''
+              width: 150
+            }
+            column_StockingPointID
+            {
+              columnId: 'StockingPointID'
+              dataPath: 'StockingPointID'
+              dataType: 'string'
+              index: 15
+              subtotals: ''
+              width: 150
+            }
+            column_UnitOfMeasureName
+            {
+              columnId: 'UnitOfMeasureName'
+              dataPath: 'UnitOfMeasureName'
+              dataType: 'string'
+              index: 16
+              subtotals: ''
+              width: 150
+            }
+          }
+        }
+      }
+      form_DialogFusionData
+      {
+        title: 'QTIANMA_JITUAN::DialogFusionData'
+        shown: true
+        componentID: 'QTIANMA_JITUAN::DialogFusionData'
+        layout
+        {
+          mode: 'open'
+          rowPosition: 13
+          rowSpan: 6
+          columnPosition: 9
+          columnSpan: 4
+        }
+        components
+        {
+          DialogFusionData_pnlContent
+          {
+            sizeRatio: 1
+          }
+          DialogFusionData_pnlReceiveDatas
+          {
+            sizeRatio: 1
+          }
+          DialogFusionData_pnlSelectVersion
+          {
+            sizeRatio: 1
+          }
+          DialogFusionData_pnlActions
+          {
+            sizeRatio: 1
+          }
+        }
+      }
+    }
+    userconfigurableinformation
+    {
+    }
+    image: 'WATER_FISH'
+    page: ''
+    group: ''
+    index: 0
+    description: ''
+  }
+  formatversion: 2
+  id: '闈㈡澘鎷夋枡_闆嗗洟鎿嶄綔'
+  name: '闈㈡澘鎷夋枡_闆嗗洟鎿嶄綔'
+  isglobal: false
+  isroot: true
+}

--
Gitblit v1.9.3