From 1093d0c693c5d10a0fa5bf614eb4b48161bee1ec Mon Sep 17 00:00:00 2001
From: hongjli <3117313295@qq.com>
Date: 星期五, 13 十月 2023 11:50:14 +0800
Subject: [PATCH] 填产优化

---
 _Main/UI/MacroPlannerWebApp/Component_FormCapacityAllocationResultsRuleConfiguration/Component_listContextMenuCapacityAllocationResultsRuleConfiguration.def          |   11 
 _Main/BL/Type_CapacityAllocationResults/StaticMethod_Test.qbl                                                                                                         |   15 
 _Main/UI/MacroPlannerWebApp/Component_DialogFillingCapacityOrder/Response_pnlActions_btnOk_OnClick.def                                                                |    1 
 _Main/UI/MacroPlannerWebApp/Component_FormFillingCapacityScheme/Component_listContextMenuCustomerAndFillingCapacityOrder.def                                          |   15 
 _Main/BL/Type_CapacityAllocationResults/StaticMethod_Test1.qbl                                                                                                        |   22 
 _Main/UI/MacroPlannerWebApp/Component_DialogFillingCustomerAndForecast/Response_pnlActions_btnOk_OnClick.def                                                          |   12 
 _Main/UI/MacroPlannerWebApp/Component_FormFillingCapacityOrder/Component_listContextMenuFillingCapacityOrder.def                                                      |   12 
 _Main/BL/Type_CapacityAllocationResults/StaticMethod_CreateDate1.qbl                                                                                                  |   42 +
 _Main/BL/Type_CapacityAllocationResults/StaticMethod_IterativeGeneration3.qbl                                                                                         |   23 
 _Main/UI/MacroPlannerWebApp/Views/Test.vw                                                                                                                             |   38 
 /dev/null                                                                                                                                                             |   17 
 _Main/BL/Type_CustomerAndForecastOrder/StaticMethod_CreateData.qbl                                                                                                    |    2 
 _var/_Main/ProjSettings/MacroPlanner/Views/X_分析视图_[414702.1.50321581].vw                                                                                              | 1188 +++++++++++++++++++++++++++++++++++++++------
 _Main/UI/MacroPlanner/Component_FormTestButtonCollection/Response_Button398_OnClick.def                                                                               |    2 
 _Main/UI/MacroPlannerWebApp/Component_FormCapacityAllocationResultsRuleConfiguration/Response_ListCapacityAllocationResultsRuleConfiguration_MenuGenerateByPeggin.def |   23 
 _Main/UI/MacroPlannerWebApp/Component_FormFillingCapacityScheme/Response_PanelButton_ButtonTransform_OnClick.def                                                      |    5 
 _Main/UI/MacroPlannerWebApp/Component_FormCapacityAllocationResultsRuleConfiguration/Component_ListCapacityAllocationResultsRuleConfiguration.def                     |    2 
 _Main/UI/MacroPlannerWebApp/Component_DialogFillingCustomerAndForecast/Component_pnlContent.def                                                                       |   22 
 _Main/BL/Type_FillingCapacityOrder/StaticMethod_CreateFillingCapacityOrder.qbl                                                                                        |   37 +
 _Main/UI/MacroPlannerWebApp/Component_DialogCapacityAllocationResultsRuleConfiguration/Component_pnlContent.def                                                       |    8 
 _Main/UI/MacroPlannerWebApp/Component_DialogFillingCustomerAndForecast/Method_ClickBtnOk.def                                                                          |   17 
 _Main/UI/MacroPlannerWebApp/Component_FormFillingCapacityOrder/Response_ListFillingCapacityOrder_MenuDelete_OnClick.def                                               |    1 
 _Main/UI/MacroPlannerWebApp/Component_FormFillingCapacityOrder/Response_ListFillingCapacityOrder_MenuSelectAll_OnClick.def                                            |   17 
 _Main/UI/MacroPlannerWebApp/Component_DialogCapacityAllocationResultsRuleConfiguration/Response_pnlActions_btnOk_OnClick.def                                          |   12 
 24 files changed, 1,285 insertions(+), 259 deletions(-)

diff --git a/_Main/BL/Type_CapacityAllocationResults/StaticMethod_CreateDate1.qbl b/_Main/BL/Type_CapacityAllocationResults/StaticMethod_CreateDate1.qbl
new file mode 100644
index 0000000..2b6d0a6
--- /dev/null
+++ b/_Main/BL/Type_CapacityAllocationResults/StaticMethod_CreateDate1.qbl
@@ -0,0 +1,42 @@
+Quintiq file version 2.0
+#parent: #root
+StaticMethod CreateDate1 (
+  MacroPlan macroPlan,
+  GlobalOTDTable globalOTDTable,
+  DependentDemand dependentDemand,
+  NewSupply newSupply,
+  Supply_MP firstNewSupply,
+  CapacityAllocationResultsRuleConfiguration capacityAllocationResultsRuleConfiguration,
+  Real fulfillmentQuantity
+)
+{
+  TextBody:
+  [*
+    panelPISP := dependentDemand.ProductInStockingPointInPeriodPlanningLeaf().ProductInStockingPoint_MP();
+    info( "浜у搧ID锛�", panelPISP.ProductID(), "    搴撳瓨鐐笽D锛�", panelPISP.StockingPointID() );
+    productID := dependentDemand.ProductInStockingPointInPeriodPlanningLeaf().ProductInStockingPoint_MP().ProductID();
+    
+    if ( capacityAllocationResultsRuleConfiguration.PanelMaterialCode() = productID ) {
+      info( "鎵惧埌浜嗭紒锛侊紒" );
+      globalOTDTable.CapacityAllocationResults( relnew,
+                                                PanelBase             := panelPISP.StockingPointID(),
+                                                PanelMaterialCode     := panelPISP.ProductID(),
+                                                NumberOfPanels        := fulfillmentQuantity,
+                                                PanelMeasurementUnit  := panelPISP.UnitOfMeasure_MP().Name(),
+                                                ModuleMaterialCode    := firstNewSupply.ProductInStockingPointInPeriodPlanning().ProductInStockingPoint_MP().ProductID(),
+                                                NumberOfModules       := firstNewSupply.Quantity(),
+                                                ModuleMeasurementUnit := firstNewSupply.ProductInStockingPointInPeriodPlanning().ProductInStockingPoint_MP().UnitOfMeasureName(),
+                                                ModuleBase            := firstNewSupply.ProductInStockingPointInPeriodPlanning().ProductInStockingPoint_MP().StockingPointID(),
+                                                RequirementDate       := dependentDemand.Start().Date(),
+                                                // 瀵煎嚭澶栭儴渚涘簲瀛楁
+                                                Date                  := dependentDemand.Start().Date(),
+                                                Description           := "",
+                                                ID                    := OS::GenerateGUIDAsString(),
+                                                ProductID             := panelPISP.ProductID(),
+                                                StockingPointID       := panelPISP.StockingPointID(),
+                                                UserQuantity          := fulfillmentQuantity,
+                                                ManufacturedDate      := Date::MinDate()
+                                               );
+    }
+  *]
+}
diff --git a/_Main/BL/Type_CapacityAllocationResults/StaticMethod_IterativeGeneration3.qbl b/_Main/BL/Type_CapacityAllocationResults/StaticMethod_IterativeGeneration3.qbl
index a3edaf0..1c16b4d 100644
--- a/_Main/BL/Type_CapacityAllocationResults/StaticMethod_IterativeGeneration3.qbl
+++ b/_Main/BL/Type_CapacityAllocationResults/StaticMethod_IterativeGeneration3.qbl
@@ -1,9 +1,13 @@
 Quintiq file version 2.0
 #parent: #root
 StaticMethod IterativeGeneration3 (
+  MacroPlan macroPlan,
+  GlobalOTDTable globalOTDTable,
   Supply_MP smp,
+  Supply_MP firstSMP,
   Number numberOfPlies,
-  Real fulfillmentQuantity
+  Real fulfillmentQuantity,
+  CapacityAllocationResultsRuleConfiguration capacityAllocationResultsRuleConfiguration
 )
 {
   TextBody:
@@ -20,10 +24,12 @@
               traverse ( dd, Fulfillment, f ) {
                 smp1 := f.Supply_MP();
                 numberOfPlies++;
+                fulfillmentQuantity := ( dd.Quantity() / ns.Quantity() ) * fulfillmentQuantity;
                 info( "--------------------------------------------------------------" );
-                fulfillmentQuantity := fulfillmentQuantity * ns.ProcessOutput().astype( OperationOutput ).Quantity() *
-                                                             dd.ProcessInput().astype( OperationInput ).Quantity();
-                CapacityAllocationResults::IterativeGeneration3( smp1, numberOfPlies, fulfillmentQuantity );
+                if ( not isnull( capacityAllocationResultsRuleConfiguration ) ) {
+                  CapacityAllocationResults::CreateDate1( macroPlan, globalOTDTable, dd, ns, firstSMP, capacityAllocationResultsRuleConfiguration, fulfillmentQuantity );
+                }
+                CapacityAllocationResults::IterativeGeneration3( macroPlan, globalOTDTable, smp1, firstSMP, numberOfPlies, fulfillmentQuantity, capacityAllocationResultsRuleConfiguration );
                 numberOfPlies--;
               }
             }
@@ -33,14 +39,17 @@
             targetDependentDemand := select( ptll, DependentDemand, dd, dd.ProcessInput().ProductInStockingPoint_MP().ProductID() = ns.ProductInStockingPointInPeriodPlanningLeaf().ProductInStockingPoint_MP().ProductID() and
                                              dd.Quantity() = ns.Quantity() );
             info( "杞﹂亾鍛ㄦ湡浠诲姟    ", "渚涘簲鏃堕棿锛�", ns.Start().Format( "Y-M2-D2" ), "    鍛ㄦ湡浠诲姟KEY锛�", ptll.Key(), "    ", 
-                  targetDependentDemand.ProductInStockingPointInPeriodPlanningLeaf().ProductInStockingPoint_MP().Name() );
+                  ns.ProductInStockingPointInPeriodPlanningLeaf().ProductInStockingPoint_MP().Name() );
             traverse ( targetDependentDemand, Fulfillment, f ) {
               smp1 := f.Supply_MP();
               numberOfPlies++;
               info( "--------------------------------------------------------------" );
-              CapacityAllocationResults::IterativeGeneration3( smp1, numberOfPlies, f.Quantity() );
+              if ( not isnull( capacityAllocationResultsRuleConfiguration ) ) {
+                CapacityAllocationResults::CreateDate1( macroPlan, globalOTDTable, targetDependentDemand, ns, firstSMP, capacityAllocationResultsRuleConfiguration, f.Quantity() );
+              }
+              CapacityAllocationResults::IterativeGeneration3( macroPlan, globalOTDTable, smp1, firstSMP, numberOfPlies, f.Quantity(), capacityAllocationResultsRuleConfiguration );
               numberOfPlies--;
-            } 
+            }
           }
         }
       }
diff --git a/_Main/BL/Type_CapacityAllocationResults/StaticMethod_Test.qbl b/_Main/BL/Type_CapacityAllocationResults/StaticMethod_Test.qbl
index 7000af7..416ea24 100644
--- a/_Main/BL/Type_CapacityAllocationResults/StaticMethod_Test.qbl
+++ b/_Main/BL/Type_CapacityAllocationResults/StaticMethod_Test.qbl
@@ -1,17 +1,24 @@
 Quintiq file version 2.0
 #parent: #root
 StaticMethod Test (
-  MacroPlan macroPlan
+  MacroPlan macroPlan,
+  GlobalOTDTable globalOTDTable
 )
 {
   TextBody:
   [*
+    globalOTDTable.CapacityAllocationResults( relflush );
+    
+    capacityAllocationResultsRuleConfiguration := select( globalOTDTable, CapacityAllocationResultsRuleConfiguration, carrc, 
+                                                          carrc.ModuleMaterialCode() = "ProXOver 1 D2.6 A" and
+                                                          carrc.StockingPointID() = "Carco Philadelphia" );
+    
     traverse ( macroPlan, Product_MP.ProductInStockingPoint_MP, pisp, pisp.ProductID() = "ProXOver 1 D2.6 A"        and 
                                                                       pisp.StockingPointID() = "Carco Philadelphia" ) {
       traverse ( pisp, ProductInStockingPointInPeriodPlanning.astype( ProductInStockingPointInPeriodPlanningLeaf ).Supply_MP, smp, 
-               smp.ProductInStockingPointInPeriodPlanning().Start().Date() = Date::Construct( 2020, 4, 7 ) and
-               smp.Quantity() > 0 ) {                                                                  
-        CapacityAllocationResults::IterativeGeneration3( smp, 1, smp.Quantity() );
+                 /*smp.ProductInStockingPointInPeriodPlanning().Start().Date() = Date::Construct( 2020, 4, 7 ) and*/
+                 smp.Quantity() > 0 ) {                                                                  
+        CapacityAllocationResults::IterativeGeneration3( macroPlan, globalOTDTable, smp, smp, 1, smp.Quantity(), capacityAllocationResultsRuleConfiguration );
       }
     }
   *]
diff --git a/_Main/BL/Type_CapacityAllocationResults/StaticMethod_Test1.qbl b/_Main/BL/Type_CapacityAllocationResults/StaticMethod_Test1.qbl
new file mode 100644
index 0000000..a56cf1b
--- /dev/null
+++ b/_Main/BL/Type_CapacityAllocationResults/StaticMethod_Test1.qbl
@@ -0,0 +1,22 @@
+Quintiq file version 2.0
+#parent: #root
+StaticMethod Test1 (
+  MacroPlan macroPlan,
+  GlobalOTDTable globalOTDTable,
+  CapacityAllocationResultsRuleConfigurations capacityAllocationResultsRuleConfigurations
+)
+{
+  TextBody:
+  [*
+    traverse ( capacityAllocationResultsRuleConfigurations, Elements, carrc ) {
+      pisp := select( macroPlan, Product_MP.ProductInStockingPoint_MP, tempPISP, tempPISP.ProductID() = carrc.ModuleMaterialCode() and
+                                                                       tempPISP.StockingPointID() = carrc.StockingPointID() );
+      traverse ( pisp, ProductInStockingPointInPeriodPlanning.astype( ProductInStockingPointInPeriodPlanningLeaf ).Supply_MP, smp, 
+                 /*smp.ProductInStockingPointInPeriodPlanning().Start().Date() = Date::Construct( 2020, 4, 7 ) and*/
+                 smp.Quantity() > 0 ) {                                                                  
+        CapacityAllocationResults::IterativeGeneration3( macroPlan, globalOTDTable, smp, smp, 1, smp.Quantity(), carrc );
+        info( "=======================================================>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>" );
+      }
+    }
+  *]
+}
diff --git a/_Main/BL/Type_CustomerAndForecastOrder/StaticMethod_CreateData.qbl b/_Main/BL/Type_CustomerAndForecastOrder/StaticMethod_CreateData.qbl
index bb13b39..9109ec9 100644
--- a/_Main/BL/Type_CustomerAndForecastOrder/StaticMethod_CreateData.qbl
+++ b/_Main/BL/Type_CustomerAndForecastOrder/StaticMethod_CreateData.qbl
@@ -12,7 +12,7 @@
     traverse ( macroPlan, SalesDemand.astype( CustomerOrder ), co, true ) {
       macroPlan.CustomerAndForecastOrder( relnew,
                                           VerNo             := scenario.Name(),
-                                          OrderID           := co.OrderID(),
+                                          OrderID           := co.ID(),
                                           ProductID         := co.ProductID(),
                                           BusinessType      := co.BusinessType(),
                                           Customer          := co.CustomerName(),
diff --git a/_Main/BL/Type_FillingCapacityOrder/StaticMethod_CreateFillingCapacityOrder.qbl b/_Main/BL/Type_FillingCapacityOrder/StaticMethod_CreateFillingCapacityOrder.qbl
new file mode 100644
index 0000000..38c7f8a
--- /dev/null
+++ b/_Main/BL/Type_FillingCapacityOrder/StaticMethod_CreateFillingCapacityOrder.qbl
@@ -0,0 +1,37 @@
+Quintiq file version 2.0
+#parent: #root
+StaticMethod CreateFillingCapacityOrder (
+  MacroPlan macroPlan,
+  String id,
+  Real quantity,
+  Date demandDate,
+  Date forecastDemandDate,
+  String orderType,
+  String verNo
+)
+{
+  TextBody:
+  [*
+    targetCustomOrder := select( macroPlan, SalesDemand.astype( CustomerOrder ), tempCO, tempCO.ID() = id );
+    info( "id锛�", id, "    ", not isnull( targetCustomOrder ), "    鐗堟湰鍙凤細", verNo );
+    if ( not isnull( targetCustomOrder ) ) {
+      macroPlan.FillingCapacityOrder( relnew,
+                                      ID                 := OS::GenerateGUIDAsString(),
+                                      ProductID          := targetCustomOrder.ProductID(),
+                                      BusinessType       := targetCustomOrder.BusinessType(),
+                                      SalesSegmentName   := targetCustomOrder.SalesSegmentName(),
+                                      StockingPointID    := targetCustomOrder.StockingPointID(),
+                                      Customer           := targetCustomOrder.CustomerName(),
+                                      CustomerID         := targetCustomOrder.CustomerID(),
+                                      Quantity           := quantity,
+                                      UnitOfMeasureName  := targetCustomOrder.UnitOfMeasureName(),
+                                      ForecastDemandDate := forecastDemandDate,
+                                      DemandDate         := demandDate,
+                                      OrderType          := orderType,
+                                      SalesAmount        := [Number]quantity,
+                                      CurrencyID         := targetCustomOrder.CurrencyID(),
+                                      VerNo              := verNo
+                                     );
+    }
+  *]
+}
diff --git a/_Main/UI/MacroPlanner/Component_FormTestButtonCollection/Response_Button398_OnClick.def b/_Main/UI/MacroPlanner/Component_FormTestButtonCollection/Response_Button398_OnClick.def
index 5d184e4..4209271 100644
--- a/_Main/UI/MacroPlanner/Component_FormTestButtonCollection/Response_Button398_OnClick.def
+++ b/_Main/UI/MacroPlanner/Component_FormTestButtonCollection/Response_Button398_OnClick.def
@@ -9,7 +9,7 @@
     
     //CapacityAllocationResultsRuleConfiguration::AutomaticallyGenerateCapacityRules( GlobalOTDTable, MacroPlan );
     
-    CapacityAllocationResults::Test( MacroPlan );
+    CapacityAllocationResults::Test( MacroPlan, GlobalOTDTable );
   *]
   CanBindMultiple: false
   DefinitionID: 'Responsedef_GUIButtonBase_OnClick'
diff --git a/_Main/UI/MacroPlannerWebApp/Component_DialogCapacityAllocationResultsRuleConfiguration/Component_pnlContent.def b/_Main/UI/MacroPlannerWebApp/Component_DialogCapacityAllocationResultsRuleConfiguration/Component_pnlContent.def
index f885a86..2e2c2fc 100644
--- a/_Main/UI/MacroPlannerWebApp/Component_DialogCapacityAllocationResultsRuleConfiguration/Component_pnlContent.def
+++ b/_Main/UI/MacroPlannerWebApp/Component_DialogCapacityAllocationResultsRuleConfiguration/Component_pnlContent.def
@@ -13,7 +13,7 @@
       [
         DataBinding: 'DataHolderDialogData.Data.PanelMaterialCode'
         Label: '闈㈡澘鐗╂枡缂栫爜'
-        Taborder: 0
+        Taborder: 2
       ]
     }
     Component efModuleMaterialCode
@@ -24,7 +24,7 @@
       [
         DataBinding: 'DataHolderDialogData.Data.ModuleMaterialCode'
         Label: '妯℃澘浜ф垚鍝両D'
-        Taborder: 1
+        Taborder: 0
       ]
     }
     Component efDivision
@@ -35,7 +35,7 @@
       [
         DataBinding: 'DataHolderDialogData.Data.Division'
         Label: '浜嬩笟閮�'
-        Taborder: 2
+        Taborder: 3
       ]
     }
     Component efStockingPointID
@@ -46,7 +46,7 @@
       [
         DataBinding: 'DataHolderDialogData.Data.StockingPointID'
         Label: '妯$粍浜ф垚鍝佸簱瀛樼偣ID'
-        Taborder: 3
+        Taborder: 1
       ]
     }
   ]
diff --git a/_Main/UI/MacroPlannerWebApp/Component_DialogCapacityAllocationResultsRuleConfiguration/Response_pnlActions_btnOk_OnClick.def b/_Main/UI/MacroPlannerWebApp/Component_DialogCapacityAllocationResultsRuleConfiguration/Response_pnlActions_btnOk_OnClick.def
index 336e9a8..9d16e0c 100644
--- a/_Main/UI/MacroPlannerWebApp/Component_DialogCapacityAllocationResultsRuleConfiguration/Response_pnlActions_btnOk_OnClick.def
+++ b/_Main/UI/MacroPlannerWebApp/Component_DialogCapacityAllocationResultsRuleConfiguration/Response_pnlActions_btnOk_OnClick.def
@@ -19,11 +19,13 @@
                                                                    StockingPointID    := efStockingPointID.Text()
                                                                   );
       } else {
-        DataHolderDialogData.Data().PanelMaterialCode( efPanelMaterialCode.Text() );
-        DataHolderDialogData.Data().ModuleMaterialCode( efModuleMaterialCode.Text() );
-        DataHolderDialogData.Data().Division( efDivision.Text() );
-        DataHolderDialogData.Data().StockingPointID( efStockingPointID.Text() );
-        DataHolderDialogData.Data().Commit();
+        data.Delete();
+        GlobalOTDTable.CapacityAllocationResultsRuleConfiguration( relnew,
+                                                                   PanelMaterialCode  := efPanelMaterialCode.Text(),
+                                                                   ModuleMaterialCode := efModuleMaterialCode.Text(),
+                                                                   Division           := efDivision.Text(),
+                                                                   StockingPointID    := efStockingPointID.Text()
+                                                                  );
       }
       
       
diff --git a/_Main/UI/MacroPlannerWebApp/Component_DialogFillingCapacityOrder/Response_pnlActions_btnOk_OnClick.def b/_Main/UI/MacroPlannerWebApp/Component_DialogFillingCapacityOrder/Response_pnlActions_btnOk_OnClick.def
index 34b2cb2..3314383 100644
--- a/_Main/UI/MacroPlannerWebApp/Component_DialogFillingCapacityOrder/Response_pnlActions_btnOk_OnClick.def
+++ b/_Main/UI/MacroPlannerWebApp/Component_DialogFillingCapacityOrder/Response_pnlActions_btnOk_OnClick.def
@@ -24,6 +24,7 @@
       data := guard( DataHolderFillingCapacityOrder.Data().WrappedInstance(), null( FillingCapacityOrder ) );;
       if ( isnull( data ) ) {
         MacroPlan.FillingCapacityOrder( relnew,
+                                        VerNo              := guard( DataHolderActiveScenario.Data().Name(), "" ),
                                         ID                 := OS::GenerateGUIDAsString(),
                                         ProductID          := guard( ddlProduct_MP.Data().ID(), "null" ),
                                         BusinessType       := guard( ddlBusinessType.Data().BusinessTypeName(), "null" ),
diff --git a/_Main/UI/MacroPlannerWebApp/Component_DialogFillingCustomerAndForecast/Component_pnlContent.def b/_Main/UI/MacroPlannerWebApp/Component_DialogFillingCustomerAndForecast/Component_pnlContent.def
index 3c4dba9..71af1e8 100644
--- a/_Main/UI/MacroPlannerWebApp/Component_DialogFillingCustomerAndForecast/Component_pnlContent.def
+++ b/_Main/UI/MacroPlannerWebApp/Component_DialogFillingCustomerAndForecast/Component_pnlContent.def
@@ -12,6 +12,7 @@
       Properties:
       [
         DataBinding: 'DataHolderFilling.Data.VerNo'
+        Enabled: false
         Label: '鐗堟湰鍙�'
         Taborder: 0
       ]
@@ -24,7 +25,7 @@
       [
         DataBinding: 'DataHolderFilling.Data.BusinessType'
         Enabled: false
-        Label: 'BusinessType'
+        Label: '浜嬩笟閮�'
         ReadOnly: true
         Taborder: 1
       ]
@@ -37,7 +38,7 @@
       [
         DataBinding: 'DataHolderFilling.Data.Customer'
         Enabled: false
-        Label: 'Customer'
+        Label: '瀹㈡埛鍚嶇О'
         ReadOnly: true
         Taborder: 2
       ]
@@ -49,7 +50,7 @@
       Properties:
       [
         DataBinding: 'DataHolderFilling.Data.SalesAmount'
-        Label: 'SalesAmount'
+        Label: '濉骇鏁伴噺'
         Taborder: 3
       ]
     }
@@ -60,7 +61,7 @@
       Properties:
       [
         DataBinding: 'DataHolderFilling.Data.DemandDate'
-        Label: 'Demand Date'
+        Label: '闇�姹傛椂闂�'
         ReadOnly: true
         Taborder: 4
       ]
@@ -72,10 +73,21 @@
       Properties:
       [
         DataBinding: 'DataHolderFilling.Data.ForecastDemandDate'
-        Label: 'Forecast Demand Date'
+        Label: '闇�姹傞娴嬫椂闂�'
         Taborder: 5
       ]
     }
+    Component ddslOrderType id:ddslOrderType_944
+    {
+      #keys: '[414702.1.71083523]'
+      BaseType: 'WebDropDownStringList'
+      Properties:
+      [
+        Label: '璁㈠崟绫诲瀷'
+        Strings: '鍙嶇;鎺堟潈'
+        Taborder: 6
+      ]
+    }
   ]
   Properties:
   [
diff --git a/_Main/UI/MacroPlannerWebApp/Component_DialogFillingCustomerAndForecast/Method_ClickBtnOk.def b/_Main/UI/MacroPlannerWebApp/Component_DialogFillingCustomerAndForecast/Method_ClickBtnOk.def
index 6519f81..f696a84 100644
--- a/_Main/UI/MacroPlannerWebApp/Component_DialogFillingCustomerAndForecast/Method_ClickBtnOk.def
+++ b/_Main/UI/MacroPlannerWebApp/Component_DialogFillingCustomerAndForecast/Method_ClickBtnOk.def
@@ -7,15 +7,15 @@
   [*
     // Disabled button to prevent the possibility of multiple firing
     
-    btnOk.Enabled(false,'');
+    //btnOk.Enabled(false,'');
     
     // OnOk
     this.ApplyChanges();
-    DataHolderFilling.Data().Commit();
+    //DataHolderFilling.Data().Commit();
     
-    fillingData := DataHolderFilling.Data();
+    //fillingData := DataHolderFilling.Data();
     
-    CustomerAndForecastOrder::CreateFillingCapacityOrder( MacroPlan, fillingData.WrappedInstance());
+    //CustomerAndForecastOrder::CreateFillingCapacityOrder( MacroPlan, fillingData.WrappedInstance());
     
     //if( not isnull( DataHolderForm.Data() ) )
     //{
@@ -23,6 +23,15 @@
     //  DataHolderForm.Data().ListAssumptions().SelectByKey( DataHolderDialogData.Data().WrappedInstance().Key() );
     //}
     
+    FillingCapacityOrder::CreateFillingCapacityOrder( MacroPlan, 
+                                                      DataHolderFilling.Data().OrderID(),
+                                                      [Real]edtSalesAmount.Text(),
+                                                      dsDemandDate.Date(),
+                                                      dsForecastDemandDate.Date(),
+                                                      ddslOrderType.Text(),
+                                                      DataHolderFilling.Data().VerNo()
+                                                     );
+    
     this.Close();
   *]
 }
diff --git a/_Main/UI/MacroPlannerWebApp/Component_DialogFillingCustomerAndForecast/Response_pnlActions_btnOk_OnClick.def b/_Main/UI/MacroPlannerWebApp/Component_DialogFillingCustomerAndForecast/Response_pnlActions_btnOk_OnClick.def
index 4a485e4..f8f3a5d 100644
--- a/_Main/UI/MacroPlannerWebApp/Component_DialogFillingCustomerAndForecast/Response_pnlActions_btnOk_OnClick.def
+++ b/_Main/UI/MacroPlannerWebApp/Component_DialogFillingCustomerAndForecast/Response_pnlActions_btnOk_OnClick.def
@@ -6,10 +6,14 @@
   DefinitionID: 'Responsedef_WebButton_OnClick'
   Precondition:
   [*
-    verNo := efVerNo.Text();
-    salesAmount := edtSalesAmount.Text();
-    feedback := Translations::FilllingCapacity_ValidateInput();
-    return not salesAmount = '' and not verNo = '';
+    //verNo := efVerNo.Text();
+    //salesAmount := edtSalesAmount.Text();
+    //feedback := Translations::FilllingCapacity_ValidateInput();
+    //return not salesAmount = '' and not verNo = '';
+    
+    flag := guard( [Real]edtSalesAmount.Text(), 0 ) > 0;
+    
+    return flag;
   *]
   QuillAction
   {
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormCapacityAllocationResultsRuleConfiguration/Component_ListCapacityAllocationResultsRuleConfiguration.def b/_Main/UI/MacroPlannerWebApp/Component_FormCapacityAllocationResultsRuleConfiguration/Component_ListCapacityAllocationResultsRuleConfiguration.def
index add7c86..8e85a2c 100644
--- a/_Main/UI/MacroPlannerWebApp/Component_FormCapacityAllocationResultsRuleConfiguration/Component_ListCapacityAllocationResultsRuleConfiguration.def
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormCapacityAllocationResultsRuleConfiguration/Component_ListCapacityAllocationResultsRuleConfiguration.def
@@ -28,7 +28,7 @@
       ]
       Properties:
       [
-        Columns: '[{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"PanelMaterialCode","title":"PanelMaterialCode","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"PanelMaterialCode"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"ModuleMaterialCode","title":"ModuleMaterialCode","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"ModuleMaterialCode"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"Division","title":"Division","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"Division"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"StockingPointID","title":"StockingPointID","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"StockingPointID"}}]'
+        Columns: '[{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"ModuleMaterialCode","title":"ModuleMaterialCode","subtotals":"","tooltip":"","width":-1,"display":"shown","attribute":"ModuleMaterialCode"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"StockingPointID","title":"StockingPointID","subtotals":"","tooltip":"","width":-1,"display":"shown","attribute":"StockingPointID"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"PanelMaterialCode","title":"PanelMaterialCode","subtotals":"","tooltip":"","width":-1,"display":"shown","attribute":"PanelMaterialCode"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"Division","title":"Division","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"Division"}}]'
         ContextMenu: 'listContextMenuCapacityAllocationResultsRuleConfiguration'
         Taborder: 2
       ]
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormCapacityAllocationResultsRuleConfiguration/Component_listContextMenuCapacityAllocationResultsRuleConfiguration.def b/_Main/UI/MacroPlannerWebApp/Component_FormCapacityAllocationResultsRuleConfiguration/Component_listContextMenuCapacityAllocationResultsRuleConfiguration.def
index 594eaef..2873ee8 100644
--- a/_Main/UI/MacroPlannerWebApp/Component_FormCapacityAllocationResultsRuleConfiguration/Component_listContextMenuCapacityAllocationResultsRuleConfiguration.def
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormCapacityAllocationResultsRuleConfiguration/Component_listContextMenuCapacityAllocationResultsRuleConfiguration.def
@@ -72,6 +72,17 @@
         Title: '鑷姩鍒涘缓瑙勫垯'
       ]
     }
+    Component MenuGenerateByPegging
+    {
+      #keys: '[414702.1.60885527]'
+      BaseType: 'WebMenu'
+      Properties:
+      [
+        Image: 'PODIUM2'
+        Taborder: 9
+        Title: '閫氳繃Pegging鐢熸垚'
+      ]
+    }
   ]
   Properties:
   [
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormCapacityAllocationResultsRuleConfiguration/Response_ListCapacityAllocationResultsRuleConfiguration_MenuGenerateByPeggin.def b/_Main/UI/MacroPlannerWebApp/Component_FormCapacityAllocationResultsRuleConfiguration/Response_ListCapacityAllocationResultsRuleConfiguration_MenuGenerateByPeggin.def
new file mode 100644
index 0000000..3bbd52f
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormCapacityAllocationResultsRuleConfiguration/Response_ListCapacityAllocationResultsRuleConfiguration_MenuGenerateByPeggin.def
@@ -0,0 +1,23 @@
+Quintiq file version 2.0
+#parent: ListCapacityAllocationResultsRuleConfiguration
+Response OnClick (
+  structured[CapacityAllocationResultsRuleConfiguration] selection
+) id:Response_ListCapacityAllocationResultsRuleConfiguration_MenuGenerateByPegging_OnClick
+{
+  #keys: '[414702.1.58432888]'
+  CanBindMultiple: false
+  DefinitionID => /ListCapacityAllocationResultsRuleConfiguration/Responsedef_ListCapacityAllocationResultsRuleConfiguration_WebMenu_OnClick
+  Initiator: 'MenuGenerateByPegging'
+  Precondition:
+  [*
+    return not isnull( MacroPlan );
+  *]
+  QuillAction
+  {
+    Body:
+    [*
+      CapacityAllocationResults::Test1( MacroPlan, GlobalOTDTable, selection );
+    *]
+    GroupServerCalls: false
+  }
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormFillingCapacityOrder/Component_listContextMenuFillingCapacityOrder.def b/_Main/UI/MacroPlannerWebApp/Component_FormFillingCapacityOrder/Component_listContextMenuFillingCapacityOrder.def
index 7db97cc..ded91eb 100644
--- a/_Main/UI/MacroPlannerWebApp/Component_FormFillingCapacityOrder/Component_listContextMenuFillingCapacityOrder.def
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormFillingCapacityOrder/Component_listContextMenuFillingCapacityOrder.def
@@ -50,6 +50,18 @@
         Title: 'Save Scheme'
       ]
     }
+    Component MenuSelectAll
+    {
+      #keys: '[414702.1.72339677]'
+      BaseType: 'WebMenu'
+      Properties:
+      [
+        Image: 'DOCUMENT_SELECTION'
+        Shortcut: 'Ctrl+A'
+        Taborder: 7
+        Title: '鍏ㄩ��'
+      ]
+    }
   ]
   Properties:
   [
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormFillingCapacityOrder/Response_ListFillingCapacityOrder_MenuDelete_OnClick.def b/_Main/UI/MacroPlannerWebApp/Component_FormFillingCapacityOrder/Response_ListFillingCapacityOrder_MenuDelete_OnClick.def
index 243c7c1..6bf5abd 100644
--- a/_Main/UI/MacroPlannerWebApp/Component_FormFillingCapacityOrder/Response_ListFillingCapacityOrder_MenuDelete_OnClick.def
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormFillingCapacityOrder/Response_ListFillingCapacityOrder_MenuDelete_OnClick.def
@@ -5,7 +5,6 @@
 ) id:Response_ListFillingCapacityOrder_MenuDelete_OnClick
 {
   #keys: '[414382.0.402561135]'
-  CanBindMultiple: false
   DefinitionID => /ListFillingCapacityOrder/Responsedef_ListFillingCapacityOrder_WebMenu_OnClick
   GroupServerCalls: true
   Initiator: 'MenuDelete'
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormFillingCapacityOrder/Response_ListFillingCapacityOrder_MenuSelectAll_OnClick.def b/_Main/UI/MacroPlannerWebApp/Component_FormFillingCapacityOrder/Response_ListFillingCapacityOrder_MenuSelectAll_OnClick.def
new file mode 100644
index 0000000..3db4945
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormFillingCapacityOrder/Response_ListFillingCapacityOrder_MenuSelectAll_OnClick.def
@@ -0,0 +1,17 @@
+Quintiq file version 2.0
+#parent: ListFillingCapacityOrder
+Response OnClick () id:Response_ListFillingCapacityOrder_MenuSelectAll_OnClick
+{
+  #keys: '[414702.1.72149428]'
+  CanBindMultiple: false
+  DefinitionID => /ListFillingCapacityOrder/Responsedef_ListFillingCapacityOrder_WebMenu_OnClick
+  Initiator: 'MenuSelectAll'
+  QuillAction
+  {
+    Body:
+    [*
+      this.SelectAll();
+    *]
+    GroupServerCalls: false
+  }
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormFillingCapacityScheme/Component_listContextMenuCustomerAndFillingCapacityOrder.def b/_Main/UI/MacroPlannerWebApp/Component_FormFillingCapacityScheme/Component_listContextMenuCustomerAndFillingCapacityOrder.def
index cdcd03d..486b097 100644
--- a/_Main/UI/MacroPlannerWebApp/Component_FormFillingCapacityScheme/Component_listContextMenuCustomerAndFillingCapacityOrder.def
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormFillingCapacityScheme/Component_listContextMenuCustomerAndFillingCapacityOrder.def
@@ -16,17 +16,6 @@
         Title: '濉骇'
       ]
     }
-    Component MenuRefresh
-    {
-      #keys: '[414382.0.415603149]'
-      BaseType: 'WebMenu'
-      Properties:
-      [
-        Image: 'EDITOR_HAS_DECLARATIVE_DEFINITION'
-        Taborder: 4
-        Title: '鍒涘缓娴嬭瘯鏁版嵁'
-      ]
-    }
     Component MenuDelete
     {
       #keys: '[414702.0.472081906]'
@@ -34,7 +23,7 @@
       Properties:
       [
         Image: 'DELETE'
-        Taborder: 5
+        Taborder: 4
         Title: '鍒犻櫎'
       ]
     }
@@ -46,7 +35,7 @@
       [
         Image: 'DOCUMENT_SELECTION'
         Shortcut: 'Ctrl+A'
-        Taborder: 6
+        Taborder: 5
         Title: '鍏ㄩ��'
       ]
     }
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormFillingCapacityScheme/Response_ListCustomerAndFillingCapacityOrder_MenuRefresh_OnClick.def b/_Main/UI/MacroPlannerWebApp/Component_FormFillingCapacityScheme/Response_ListCustomerAndFillingCapacityOrder_MenuRefresh_OnClick.def
deleted file mode 100644
index aba413a..0000000
--- a/_Main/UI/MacroPlannerWebApp/Component_FormFillingCapacityScheme/Response_ListCustomerAndFillingCapacityOrder_MenuRefresh_OnClick.def
+++ /dev/null
@@ -1,17 +0,0 @@
-Quintiq file version 2.0
-#parent: ListCustomerAndFillingCapacityOrder
-Response OnClick () id:Response_ListCustomerAndFillingCapacityOrder_MenuRefresh_OnClick
-{
-  #keys: '[414382.0.415724061]'
-  CanBindMultiple: false
-  DefinitionID => /ListCustomerAndFillingCapacityOrder/Responsedef_ListCustomerAndFillingCapacityOrder_WebMenu_OnClick
-  Initiator: 'MenuRefresh'
-  QuillAction
-  {
-    Body:
-    [*
-      CustomerAndForecastOrder::RefreshData(  MacroPlan,GlobalOTDTable);
-    *]
-    GroupServerCalls: false
-  }
-}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormFillingCapacityScheme/Response_PanelButton_ButtonTransform_OnClick.def b/_Main/UI/MacroPlannerWebApp/Component_FormFillingCapacityScheme/Response_PanelButton_ButtonTransform_OnClick.def
index fd6d7b1..e982e5c 100644
--- a/_Main/UI/MacroPlannerWebApp/Component_FormFillingCapacityScheme/Response_PanelButton_ButtonTransform_OnClick.def
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormFillingCapacityScheme/Response_PanelButton_ButtonTransform_OnClick.def
@@ -17,8 +17,9 @@
       
       message := "鎬昏鍗曚釜鏁帮細"                                                               + 
                 [String]counter( MacroPlan, SalesDemand.astype( CustomerOrder ), cs, true )  + 
-                 "    鎴愬姛杞崲涓暟锛�"                                                         +
-                 [String]counter( MacroPlan, SalesDemand.astype( CustomerOrder ), cs, true )
+                String::NewLine()                                                            +
+                "    鎴愬姛杞崲涓暟锛�"                                                         +
+                [String]counter( MacroPlan, SalesDemand.astype( CustomerOrder ), cs, true )
       
       WebMessageBox::Success( message, true );
     *]
diff --git a/_Main/UI/MacroPlannerWebApp/Views/Test.vw b/_Main/UI/MacroPlannerWebApp/Views/Test.vw
index f59a1db..c5e2f28 100644
--- a/_Main/UI/MacroPlannerWebApp/Views/Test.vw
+++ b/_Main/UI/MacroPlannerWebApp/Views/Test.vw
@@ -29,30 +29,12 @@
           FormCapacityAllocationResultsRuleConfiguration_DataSetLevelCapacityAllocationResultsRuleConfiguration
           {
             groupDepth: -1
-            column_PanelMaterialCode
-            {
-              columnId: 'PanelMaterialCode'
-              dataPath: 'PanelMaterialCode'
-              dataType: 'string'
-              index: 0
-              subtotals: ''
-              width: 150
-            }
             column_ModuleMaterialCode
             {
               columnId: 'ModuleMaterialCode'
               dataPath: 'ModuleMaterialCode'
               dataType: 'string'
-              index: 1
-              subtotals: ''
-              width: 150
-            }
-            column_Division
-            {
-              columnId: 'Division'
-              dataPath: 'Division'
-              dataType: 'string'
-              index: 2
+              index: 0
               subtotals: ''
               width: 150
             }
@@ -61,6 +43,24 @@
               columnId: 'StockingPointID'
               dataPath: 'StockingPointID'
               dataType: 'string'
+              index: 1
+              subtotals: ''
+              width: 117
+            }
+            column_PanelMaterialCode
+            {
+              columnId: 'PanelMaterialCode'
+              dataPath: 'PanelMaterialCode'
+              dataType: 'string'
+              index: 2
+              subtotals: ''
+              width: 129
+            }
+            column_Division
+            {
+              columnId: 'Division'
+              dataPath: 'Division'
+              dataType: 'string'
               index: 3
               subtotals: ''
               width: 150
diff --git "a/_var/_Main/ProjSettings/MacroPlanner/Views/X_\345\210\206\346\236\220\350\247\206\345\233\276_\133414702.1.50321581\135.vw" "b/_var/_Main/ProjSettings/MacroPlanner/Views/X_\345\210\206\346\236\220\350\247\206\345\233\276_\133414702.1.50321581\135.vw"
index 3693bd3..3c61315 100644
--- "a/_var/_Main/ProjSettings/MacroPlanner/Views/X_\345\210\206\346\236\220\350\247\206\345\233\276_\133414702.1.50321581\135.vw"
+++ "b/_var/_Main/ProjSettings/MacroPlanner/Views/X_\345\210\206\346\236\220\350\247\206\345\233\276_\133414702.1.50321581\135.vw"
@@ -14,9 +14,9 @@
   ICONIMAGE 'WINDOWS'
   CREATIONDATETIME '2023-10-12T10:00:44'
   CREATIONUSER 'quintiq/hongjli'
-  UPDATEDATETIME '2023-10-12T10:18:13'
+  UPDATEDATETIME '2023-10-12T23:32:10'
   UPDATEUSER 'quintiq/hongjli'
-  LASTACCESSDATE '2023-10-12'
+  LASTACCESSDATE '2023-10-13'
   VIEWSCOPE 0
 }
 AUTHORIZATIONS
@@ -42,33 +42,33 @@
 INFOOBJECT
 {
   KEY [626.0.4514905]
-  OBJECTTYPE Application // ApplicationLibMacroPlanner
+  OBJECTTYPE Application
   BASEINFOOBJECTS
   {
    BASEINFOOBJECT
    {
     KEY [626.0.4514905]
-    OBJECTTYPE GUIComponent // ApplicationLibMacroPlanner
+    OBJECTTYPE GUIComponent
     CONTENTS
     {
      SETTINGS_MDS_WITH_FOLDER
      {
-       [414702.1.52504981]:LibInt_IntegratorProxy:/root:LibInt_IntegratorProxy
-       [414702.1.52533373]:SWF_CommunicationDataset:/root:SWF_CommunicationDataset
-       [414702.1.52528776]:SWF_WorkflowDataset:/root:SWF_WorkflowDataset
-       [414702.1.52500409]:LibDEF_DataBroker:/root:LibDEF_DataBroker
-       [414702.1.50285849]:LibDEF_DataRepository:/root:LibDEF_DataRepository
-       [414702.1.50276708]:DMF_ConvertorDataset:/root:DMF_ConvertorDataset
-       [414702.1.52542521]:LibMon_Monitor:/root:LibMon_Monitor
-       [414702.1.52537950]:LibUTF:/root:UTF
-       [414702.1.52550001]:Lib3DS_RootDataset:/root:Lib3DS_RootDataset
-       [414702.1.52580001]:KpiTracker:/root:KpiTracker
-       [414702.1.50281280]:MPDomainHandler:/root:MPDomainHandler
-       [414702.1.52560001]:MPSync:/root:MPSync
-       [414702.1.52509550]:ScenarioManager:/root:ScenarioManager
-       [414702.1.52570001]:LibSCIIntegrationInterface:/root:LibSCIIntegrationInterface
-       [414702.1.52519619]:GlobalOTDTable:/root:GlobalOTDTable
-       [414702.1.52585361]:MacroPlan:/root:MacroPlan
+       [414702.1.62804981]:LibInt_IntegratorProxy:/root:LibInt_IntegratorProxy
+       [414702.1.62833373]:SWF_CommunicationDataset:/root:SWF_CommunicationDataset
+       [414702.1.62828776]:SWF_WorkflowDataset:/root:SWF_WorkflowDataset
+       [414702.1.62800409]:LibDEF_DataBroker:/root:LibDEF_DataBroker
+       [414702.1.61685849]:LibDEF_DataRepository:/root:LibDEF_DataRepository
+       [414702.1.61676708]:DMF_ConvertorDataset:/root:DMF_ConvertorDataset
+       [414702.1.62842521]:LibMon_Monitor:/root:LibMon_Monitor
+       [414702.1.62837950]:LibUTF:/root:UTF
+       [414702.1.62860001]:Lib3DS_RootDataset:/root:Lib3DS_RootDataset
+       [414702.1.62850001]:KpiTracker:/root:KpiTracker
+       [414702.1.62875363]:MacroPlan:/root:MacroPlan
+       [414702.1.61681280]:MPDomainHandler:/root:MPDomainHandler
+       [414702.1.62880001]:MPSync:/root:MPSync
+       [414702.1.62809550]:ScenarioManager:/root:ScenarioManager
+       [414702.1.62870001]:LibSCIIntegrationInterface:/root:LibSCIIntegrationInterface
+       [414702.1.62819619]:GlobalOTDTable:/root:GlobalOTDTable
      }
     }
    }
@@ -78,19 +78,19 @@
    INFOOBJECT
    {
     KEY [514.0.2180]
-    OBJECTTYPE Frame // Frame
+    OBJECTTYPE Frame
     CONTENTS
     {
      State := maximized
      (200,0,1536,809)
-     WorkspaceLocation := 
+     WorkspaceLocation :=
     }
     INFOOBJECTS
     {
      INFOOBJECT
      {
       KEY [113694.2.1024236755]
-      OBJECTTYPE ValueHolder // ValueHolderViewLayout
+      OBJECTTYPE ValueHolder
       CONTENTS
       {
        Value ''
@@ -99,16 +99,16 @@
      INFOOBJECT
      {
       KEY [127710.1.721401771]
-      OBJECTTYPE ValueHolder // ValueHolderActiveMacroPlan
+      OBJECTTYPE ValueHolder
       CONTENTS
       {
-       Value '[414702.1.52620491]'
+       Value '[414702.1.64020493]'
       }
      }
      INFOOBJECT
      {
       KEY [132448.0.224582518]
-      OBJECTTYPE ValueHolder // ValueHolderSetMPDefaultViewForFirstLogin
+      OBJECTTYPE ValueHolder
       CONTENTS
       {
        Value 'false'
@@ -117,7 +117,7 @@
      INFOOBJECT
      {
       KEY [146450.2.1404665746]
-      OBJECTTYPE ValueHolder // vhConfiguration
+      OBJECTTYPE ValueHolder
       CONTENTS
       {
        Value 'false'
@@ -126,7 +126,7 @@
      INFOOBJECT
      {
       KEY [146874.1.233869144]
-      OBJECTTYPE ValueHolder // vhConfigurationMatrix
+      OBJECTTYPE ValueHolder
       CONTENTS
       {
        Value 'false'
@@ -135,7 +135,7 @@
      INFOOBJECT
      {
       KEY [132894.0.1007052496]
-      OBJECTTYPE ValueHolder // ValueHolderSetDataHolderSelectedPISPIPExtractor
+      OBJECTTYPE ValueHolder
       CONTENTS
       {
        Value 'false'
@@ -144,7 +144,7 @@
      INFOOBJECT
      {
       KEY [108684.0.1782661552]
-      OBJECTTYPE ValueHolder // ValueHolderLastSelected3DDriveDirectory
+      OBJECTTYPE ValueHolder
       CONTENTS
       {
        Value ''
@@ -153,16 +153,16 @@
      INFOOBJECT
      {
       KEY [107654.0.557163713]
-      OBJECTTYPE ValueHolder // ValueHolderUserGroup
+      OBJECTTYPE ValueHolder
       CONTENTS
       {
-       Value ';Administrator;Developer;AggregatedPlanning;Blending;CampaignPlanning;CapacitySmoothing;DatabaseIntegration;Development;Feedback;Groups;InventoryMixBalancing;InventorySpecifications;InventorySupplies;LotSizes;OptimizerBenchmarking;Pegging;ProductPlanningGanttChart;SafetyStockCalculation;SalesDemandPostponement;ShelfLife;SupplyChainMap;SupplySpecifications;TransportationPlanning;Workflow;Functionalities;Software;SOP;Cloud;OnPremise;SupplyChainDirector;SupplyPlanner;DemandPlanner;CollaborativeForecasting;SOAPServerUserGroup;Web_SupplyPlanning;Web_SupplyChainData;Web_CampaignPlanning;Web_Sales;Web_Development;Web;Web_ScenariosAndSettings;Web_Blending;Web_DemandPostponement;Web_Allocation;Web_Financials;Web_Feedbacks;Web_InventoryMixBalancing;Web_SafetyStockCalculation;Web_WorkFlowConfiguration;Web_MyActivities;Web_Integration;Web_OptimizerBenchmarking;Web_SupplyDashboard;Web_Optimizer;Web_LotSizes;Web_ShelfLife;Web_CapacitySmoothing;Web_Inventory;Web_SafetyStock;KpiTrackerAdmin;Web_ProductionPlan;Web_PurchasingPlan;Web_TripPlan;Web_Plan;Web_BlendingPlan;BusinessUnitOM;ProductionPlan;MRPPlanning;AppConfigurators;Implementors'
+       Value ';MRPPlanning;ProductionPlan;BusinessUnitOM;Web_BlendingPlan;Web_Plan;Web_TripPlan;Web_PurchasingPlan;Web_ProductionPlan;KpiTrackerAdmin;Web_SafetyStock;Web_Inventory;Web_CapacitySmoothing;Web_ShelfLife;Web_LotSizes;Web_Optimizer;Web_SupplyDashboard;Web_OptimizerBenchmarking;Web_Integration;Web_MyActivities;Web_WorkFlowConfiguration;Web_SafetyStockCalculation;Web_InventoryMixBalancing;Web_Feedbacks;Web_Financials;Web_Allocation;Web_DemandPostponement;Web_Blending;Web_ScenariosAndSettings;Web;Web_Development;Web_Sales;Web_CampaignPlanning;Web_SupplyChainData;Web_SupplyPlanning;SOAPServerUserGroup;CollaborativeForecasting;DemandPlanner;SupplyPlanner;SupplyChainDirector;OnPremise;Cloud;SOP;Software;Functionalities;Workflow;TransportationPlanning;SupplySpecifications;SupplyChainMap;ShelfLife;SalesDemandPostponement;SafetyStockCalculation;ProductPlanningGanttChart;Pegging;OptimizerBenchmarking;LotSizes;InventorySupplies;InventorySpecifications;InventoryMixBalancing;Groups;Feedback;Development;DatabaseIntegration;CapacitySmoothing;CampaignPlanning;Blending;AggregatedPlanning;Developer;Administrator;Implementors;AppConfigurators'
       }
      }
      INFOOBJECT
      {
       KEY [113694.1.227882923]
-      OBJECTTYPE ValueHolder // ValueHolderShowSanityCheck
+      OBJECTTYPE ValueHolder
       CONTENTS
       {
        Value ''
@@ -171,7 +171,7 @@
      INFOOBJECT
      {
       KEY [126224.0.581715]
-      OBJECTTYPE ValueHolder // ValueHolder
+      OBJECTTYPE ValueHolder
       CONTENTS
       {
        Value 'Feasible'
@@ -180,7 +180,7 @@
      INFOOBJECT
      {
       KEY [132894.0.388222255]
-      OBJECTTYPE ValueHolder // ValueHolderImportProfileMessage
+      OBJECTTYPE ValueHolder
       CONTENTS
       {
        Value ''
@@ -189,7 +189,7 @@
      INFOOBJECT
      {
       KEY [127238.1.80067038]
-      OBJECTTYPE ValueHolder // ValueHolderSizing
+      OBJECTTYPE ValueHolder
       CONTENTS
       {
        Value 'true'
@@ -198,7 +198,7 @@
      INFOOBJECT
      {
       KEY [122192.0.103731718]
-      OBJECTTYPE ValueHolder // ValueHolderSanityCheckHighestSeverityMsgCount
+      OBJECTTYPE ValueHolder
       CONTENTS
       {
        Value '39'
@@ -207,7 +207,7 @@
      INFOOBJECT
      {
       KEY [113694.2.1085093394]
-      OBJECTTYPE ValueHolder // ValueHolderIsImportSucceed
+      OBJECTTYPE ValueHolder
       CONTENTS
       {
        Value 'true'
@@ -216,7 +216,7 @@
      INFOOBJECT
      {
       KEY [132448.0.331221783]
-      OBJECTTYPE ValueHolder // ValueHolderScenarioMPSize
+      OBJECTTYPE ValueHolder
       CONTENTS
       {
        Value '1'
@@ -225,7 +225,7 @@
      INFOOBJECT
      {
       KEY [127238.1.502176570]
-      OBJECTTYPE ValueHolder // ValueHolderPeriodRollStatus
+      OBJECTTYPE ValueHolder
       CONTENTS
       {
        Value 'false'
@@ -234,7 +234,7 @@
      INFOOBJECT
      {
       KEY [112884.1.706803944]
-      OBJECTTYPE ValueHolder // ValueHolderSanityCheckHighestSeverity
+      OBJECTTYPE ValueHolder
       CONTENTS
       {
        Value '2'
@@ -243,7 +243,7 @@
      INFOOBJECT
      {
       KEY [132448.0.662420775]
-      OBJECTTYPE GUIDataSetLevel // GUIDataSetLevel
+      OBJECTTYPE GUIDataSetLevel
       CONTENTS
       {
        Columns
@@ -283,13 +283,13 @@
      INFOOBJECT
      {
       KEY [136682.0.314428046]
-      OBJECTTYPE GUIComponent // PTFPanelTestController
+      OBJECTTYPE GUIComponent
       INFOOBJECTS
       {
        INFOOBJECT
        {
         KEY [105690.0.246954464]
-        OBJECTTYPE ValueHolder // vhLogging
+        OBJECTTYPE ValueHolder
         CONTENTS
         {
          Value ''
@@ -298,7 +298,7 @@
        INFOOBJECT
        {
         KEY [104342.0.773994982]
-        OBJECTTYPE ValueHolder // vhDoActionInfoReturn
+        OBJECTTYPE ValueHolder
         CONTENTS
         {
          Value ''
@@ -307,7 +307,7 @@
        INFOOBJECT
        {
         KEY [104342.0.867521338]
-        OBJECTTYPE ValueHolder // vhPendingActions
+        OBJECTTYPE ValueHolder
         CONTENTS
         {
          Value ''
@@ -316,7 +316,7 @@
        INFOOBJECT
        {
         KEY [104342.0.867524820]
-        OBJECTTYPE ValueHolder // vhSharedRepository
+        OBJECTTYPE ValueHolder
         CONTENTS
         {
          Value '\\\\CNLEN1845000693\\PTF_Repository\\'
@@ -325,7 +325,7 @@
        INFOOBJECT
        {
         KEY [105690.0.892938783]
-        OBJECTTYPE ValueHolder // vhAsyncActionStatus
+        OBJECTTYPE ValueHolder
         CONTENTS
         {
          Value ''
@@ -334,7 +334,7 @@
        INFOOBJECT
        {
         KEY [105690.0.247211998]
-        OBJECTTYPE ValueHolder // vhResultLogPath
+        OBJECTTYPE ValueHolder
         CONTENTS
         {
          Value ''
@@ -343,7 +343,7 @@
        INFOOBJECT
        {
         KEY [105690.0.892939622]
-        OBJECTTYPE ValueHolder // vhPTFExecutionStatus
+        OBJECTTYPE ValueHolder
         CONTENTS
         {
          Value 'Inactive'
@@ -352,7 +352,7 @@
        INFOOBJECT
        {
         KEY [103546.0.81355542]
-        OBJECTTYPE ValueHolder // vhAutoClose
+        OBJECTTYPE ValueHolder
         CONTENTS
         {
          Value ''
@@ -361,7 +361,7 @@
        INFOOBJECT
        {
         KEY [103546.0.54652306]
-        OBJECTTYPE ValueHolder // vhLogStart
+        OBJECTTYPE ValueHolder
         CONTENTS
         {
          Value ''
@@ -372,7 +372,7 @@
      INFOOBJECT
      {
       KEY [113694.2.1146370710]
-      OBJECTTYPE Toolbar // ToolbarWorkflow
+      OBJECTTYPE Toolbar
       CONTENTS
       {
        'vertical' '50' '0'
@@ -382,19 +382,16 @@
        INFOOBJECT
        {
         KEY [113694.2.1146375645]
-        OBJECTTYPE CustomDrawComponent // SWF_MP_CustomDrawComponentProcessDashboard
-        BASEINFOOBJECTS
-        {
-        }
+        OBJECTTYPE CustomDrawComponent
         INFOOBJECTS
         {
          INFOOBJECT
          {
           KEY [132478.0.288924864]
-          OBJECTTYPE ValueHolder // ValueHolderLastSyncDateTime
+          OBJECTTYPE ValueHolder
           CONTENTS
           {
-           Value '12-10-2023, 10:01:17'
+           Value '12-10-2023, 20:12:19'
           }
          }
         }
@@ -404,7 +401,7 @@
      INFOOBJECT
      {
       KEY [11660.0.360702312]
-      OBJECTTYPE Toolbar // ToolbarSupplyChainPanel
+      OBJECTTYPE Toolbar
       CONTENTS
       {
        'horizontal' '50' '336'
@@ -414,7 +411,7 @@
        INFOOBJECT
        {
         KEY [113694.2.1070869880]
-        OBJECTTYPE ValueHolder // ValueHolderNavigationPanelState
+        OBJECTTYPE ValueHolder
         CONTENTS
         {
          Value 'true'
@@ -423,7 +420,7 @@
        INFOOBJECT
        {
         KEY [113694.2.1070870209]
-        OBJECTTYPE ValueHolder // ValueHolderNavigationPanelSize
+        OBJECTTYPE ValueHolder
         CONTENTS
         {
          Value '336'
@@ -432,13 +429,13 @@
        INFOOBJECT
        {
         KEY [113694.2.1033284312]
-        OBJECTTYPE SplitterWnd // SplitterWnd
+        OBJECTTYPE SplitterWnd
         INFOOBJECTS
         {
          INFOOBJECT
          {
           KEY [113694.2.1033284313]
-          OBJECTTYPE SplitterPane // SplitterPane
+          OBJECTTYPE SplitterPane
           CONTENTS
           {
            VISIBLE true
@@ -448,7 +445,7 @@
            INFOOBJECT
            {
             KEY [127238.0.1883499282]
-            OBJECTTYPE TabComponent // TabComponent
+            OBJECTTYPE TabComponent
             CONTENTS
             {
              ActivePageIndex 0
@@ -458,7 +455,7 @@
              INFOOBJECT
              {
               KEY [132448.0.71838188]
-              OBJECTTYPE List // ListNavigationPanelSelection
+              OBJECTTYPE List
               CONTENTS
               {
                Quantorrow := false
@@ -468,16 +465,16 @@
                INFOOBJECT
                {
                 KEY [127238.0.1883514459]
-                OBJECTTYPE ValueHolder // ValueHolderListSelections
+                OBJECTTYPE ValueHolder
                 CONTENTS
                 {
-                 Value 'Stocking points and units'
+                 Value 'Products'
                 }
                }
                INFOOBJECT
                {
                 KEY [127238.0.1883514458]
-                OBJECTTYPE GUIDataSetLevel // GUIDataSetLevel288
+                OBJECTTYPE GUIDataSetLevel
                 CONTENTS
                 {
                  Columns
@@ -508,13 +505,13 @@
              INFOOBJECT
              {
               KEY [127238.0.1883516525]
-              OBJECTTYPE SplitterWnd // SplitterWnd516
+              OBJECTTYPE SplitterWnd
               INFOOBJECTS
               {
                INFOOBJECT
                {
                 KEY [127238.0.1883516526]
-                OBJECTTYPE SplitterPane // SplitterPaneEntities
+                OBJECTTYPE SplitterPane
                 CONTENTS
                 {
                  Size 100
@@ -525,20 +522,17 @@
                  INFOOBJECT
                  {
                   KEY [127238.0.1883516528]
-                  OBJECTTYPE List // ListEntityTreeInPanel
+                  OBJECTTYPE List
                   CONTENTS
                   {
                    Quantorrow := false
-                  }
-                  BASEINFOOBJECTS
-                  {
                   }
                   INFOOBJECTS
                   {
                    INFOOBJECT
                    {
                     KEY [113694.2.1026852831]
-                    OBJECTTYPE GUIDataSetLevel // GUIDataSetLevelUnit
+                    OBJECTTYPE GUIDataSetLevel
                     CONTENTS
                     {
                      Columns
@@ -553,7 +547,7 @@
                          Column internal[DataSetDataColumn] [127710.1.1014102531]
                          {
                            Header := 'Name'
-                           Width := 100
+                           Width := 60
                            Subtotals := false
                            Specific
                            {
@@ -573,7 +567,7 @@
                INFOOBJECT
                {
                 KEY [127238.0.1883516541]
-                OBJECTTYPE SplitterPane // SplitterPaneProducts
+                OBJECTTYPE SplitterPane
                 CONTENTS
                 {
                  Size 0
@@ -584,20 +578,17 @@
                  INFOOBJECT
                  {
                   KEY [127238.0.1883516544]
-                  OBJECTTYPE List // ListProductInPanel
+                  OBJECTTYPE List
                   CONTENTS
                   {
                    Quantorrow := false
-                  }
-                  BASEINFOOBJECTS
-                  {
                   }
                   INFOOBJECTS
                   {
                    INFOOBJECT
                    {
                     KEY [113694.2.1025678105]
-                    OBJECTTYPE GUIDataSetLevel // GUIDataSetLevelProducts
+                    OBJECTTYPE GUIDataSetLevel
                     CONTENTS
                     {
                      Columns
@@ -611,7 +602,7 @@
                        {
                          Column internal[DataSetDataColumn] [127710.1.791646005]
                          {
-                           Width := 43
+                           Width := 60
                            Subtotals := false
                            Specific
                            {
@@ -630,7 +621,7 @@
                INFOOBJECT
                {
                 KEY [127238.0.1883516552]
-                OBJECTTYPE SplitterPane // SplitterPaneSalesSegment
+                OBJECTTYPE SplitterPane
                 CONTENTS
                 {
                  Size 0
@@ -641,20 +632,17 @@
                  INFOOBJECT
                  {
                   KEY [127238.0.1883516554]
-                  OBJECTTYPE List // ListSalesSegmentInPanel
+                  OBJECTTYPE List
                   CONTENTS
                   {
                    Quantorrow := false
-                  }
-                  BASEINFOOBJECTS
-                  {
                   }
                   INFOOBJECTS
                   {
                    INFOOBJECT
                    {
                     KEY [11660.0.1616690288]
-                    OBJECTTYPE GUIDataSetLevel // GUIDataSetLevelSalesSegment
+                    OBJECTTYPE GUIDataSetLevel
                     CONTENTS
                     {
                      Columns
@@ -668,7 +656,7 @@
                        {
                          Column internal[DataSetDataColumn] [127710.1.791646006]
                          {
-                           Width := 100
+                           Width := 60
                            Subtotals := false
                            Specific
                            {
@@ -687,7 +675,7 @@
                INFOOBJECT
                {
                 KEY [131438.0.356639347]
-                OBJECTTYPE SplitterPane // SplitterPanePeriods
+                OBJECTTYPE SplitterPane
                 CONTENTS
                 {
                  Size 0
@@ -698,7 +686,7 @@
                  INFOOBJECT
                  {
                   KEY [131438.0.353247249]
-                  OBJECTTYPE List // ListPeriodSpecificationInPanel
+                  OBJECTTYPE List
                   CONTENTS
                   {
                    Quantorrow := false
@@ -708,7 +696,7 @@
                    INFOOBJECT
                    {
                     KEY [131438.0.371333408]
-                    OBJECTTYPE GUIDataSetLevel // GUIDataSetLevelPeriodSpecifications
+                    OBJECTTYPE GUIDataSetLevel
                     CONTENTS
                     {
                      Columns
@@ -723,7 +711,7 @@
                          Column internal[DataSetDataColumn] [131438.0.360619967]
                          {
                            Header := 'Name'
-                           Width := 100
+                           Width := 60
                            Subtotals := false
                            Specific
                            {
@@ -740,7 +728,7 @@
                      INFOOBJECT
                      {
                       KEY [131438.0.402834330]
-                      OBJECTTYPE GUIDataSetLevel // GUIDataSetLevelPeriods
+                      OBJECTTYPE GUIDataSetLevel
                       CONTENTS
                       {
                        Columns
@@ -789,13 +777,13 @@
              INFOOBJECT
              {
               KEY [127238.0.1884468404]
-              OBJECTTYPE SplitterWnd // SplitterWnd466
+              OBJECTTYPE SplitterWnd
               INFOOBJECTS
               {
                INFOOBJECT
                {
                 KEY [127238.0.1884468405]
-                OBJECTTYPE SplitterPane // SplitterPane252
+                OBJECTTYPE SplitterPane
                 CONTENTS
                 {
                  VISIBLE true
@@ -805,7 +793,7 @@
                  INFOOBJECT
                  {
                   KEY [127238.0.1884468597]
-                  OBJECTTYPE List // ListBookmarks
+                  OBJECTTYPE List
                   CONTENTS
                   {
                    Quantorrow := false
@@ -815,7 +803,7 @@
                    INFOOBJECT
                    {
                     KEY [130238.0.368320209]
-                    OBJECTTYPE GUIDataSetLevel // GUIDataSetLevelBookmarks
+                    OBJECTTYPE GUIDataSetLevel
                     CONTENTS
                     {
                      Columns
@@ -846,7 +834,7 @@
                      INFOOBJECT
                      {
                       KEY [130238.0.368320210]
-                      OBJECTTYPE GUIDataSetLevel // GUIDataSetLevelBookmarkChildren
+                      OBJECTTYPE GUIDataSetLevel
                       CONTENTS
                       {
                        Columns
@@ -895,29 +883,26 @@
       SINGLEINSTANCE false
       ID 'Pegging'
       PARENTKEY [514.0.2180]
-      OBJECTTYPE Form // FormPegging
+      OBJECTTYPE Form
       CREATETYPE FormPegging
       CONTENTS
       {
        State := normal
        (354,421,990,664)
-       DockableLocation := Station[MAIN]State[NORM]TreePath[B0.5507;]TabIdx[1]Selection[FRONT]
-      }
-      BASEINFOOBJECTS
-      {
+       DockableLocation := Station[MAIN]State[NORM]TreePath[B0.5507;]TabIdx[0]Selection[NONE]
       }
       INFOOBJECTS
       {
        INFOOBJECT
        {
         KEY [108486.1.1171911809]
-        OBJECTTYPE SplitterWnd // SplitterWnd1
+        OBJECTTYPE SplitterWnd
         INFOOBJECTS
         {
          INFOOBJECT
          {
           KEY [108486.1.1171911810]
-          OBJECTTYPE SplitterPane // SplitterPane
+          OBJECTTYPE SplitterPane
           CONTENTS
           {
            Size 50.132802124834
@@ -928,13 +913,13 @@
            INFOOBJECT
            {
             KEY [108486.1.1171921411]
-            OBJECTTYPE SplitterWnd // SplitterWndDemand_MP_Pegging
+            OBJECTTYPE SplitterWnd
             INFOOBJECTS
             {
              INFOOBJECT
              {
               KEY [108486.1.1171921412]
-              OBJECTTYPE SplitterPane // SplitterPane2
+              OBJECTTYPE SplitterPane
               CONTENTS
               {
                Size 52.6515151515151
@@ -945,7 +930,7 @@
                INFOOBJECT
                {
                 KEY [108486.1.1171921414]
-                OBJECTTYPE List // ListDemand
+                OBJECTTYPE List
                 CONTENTS
                 {
                  Quantorrow := false
@@ -955,7 +940,7 @@
                  INFOOBJECT
                  {
                   KEY [108486.1.1171924299]
-                  OBJECTTYPE GUIDataSetLevel // GUIDataSetLevelDemand_MP
+                  OBJECTTYPE GUIDataSetLevel
                   CONTENTS
                   {
                    Columns
@@ -1100,7 +1085,7 @@
              INFOOBJECT
              {
               KEY [108486.1.1171921413]
-              OBJECTTYPE SplitterPane // SplitterPane3
+              OBJECTTYPE SplitterPane
               CONTENTS
               {
                Size 47.3484848484849
@@ -1111,7 +1096,7 @@
                INFOOBJECT
                {
                 KEY [113694.0.1490022148]
-                OBJECTTYPE List // ListDemandPegging
+                OBJECTTYPE List
                 CONTENTS
                 {
                  Quantorrow := false
@@ -1121,7 +1106,7 @@
                  INFOOBJECT
                  {
                   KEY [113694.0.1490022154]
-                  OBJECTTYPE GUIDataSetLevel // GUIDataSetLevel2
+                  OBJECTTYPE GUIDataSetLevel
                   CONTENTS
                   {
                    Columns
@@ -1222,7 +1207,7 @@
          INFOOBJECT
          {
           KEY [108486.1.1171911811]
-          OBJECTTYPE SplitterPane // SplitterPane1
+          OBJECTTYPE SplitterPane
           CONTENTS
           {
            Size 49.867197875166
@@ -1233,13 +1218,13 @@
            INFOOBJECT
            {
             KEY [108486.1.1175693802]
-            OBJECTTYPE SplitterWnd // SplitterWndSupply_MP_Pegging
+            OBJECTTYPE SplitterWnd
             INFOOBJECTS
             {
              INFOOBJECT
              {
               KEY [108486.1.1175693803]
-              OBJECTTYPE SplitterPane // SplitterPane4
+              OBJECTTYPE SplitterPane
               CONTENTS
               {
                Size 52.6315789473684
@@ -1250,7 +1235,7 @@
                INFOOBJECT
                {
                 KEY [108486.1.1175693804]
-                OBJECTTYPE List // ListSupply
+                OBJECTTYPE List
                 CONTENTS
                 {
                  Quantorrow := false
@@ -1260,7 +1245,7 @@
                  INFOOBJECT
                  {
                   KEY [108486.1.1175693807]
-                  OBJECTTYPE GUIDataSetLevel // GUIDataSetLevelSupply_MP
+                  OBJECTTYPE GUIDataSetLevel
                   CONTENTS
                   {
                    Columns
@@ -1384,7 +1369,7 @@
              INFOOBJECT
              {
               KEY [108486.1.1175693810]
-              OBJECTTYPE SplitterPane // SplitterPane5
+              OBJECTTYPE SplitterPane
               CONTENTS
               {
                Size 47.3684210526316
@@ -1395,7 +1380,7 @@
                INFOOBJECT
                {
                 KEY [108486.1.1175693811]
-                OBJECTTYPE List // ListSupplyPegging
+                OBJECTTYPE List
                 CONTENTS
                 {
                  Quantorrow := false
@@ -1405,7 +1390,7 @@
                  INFOOBJECT
                  {
                   KEY [108486.1.1175693814]
-                  OBJECTTYPE GUIDataSetLevel // GUIDataSetLevel4
+                  OBJECTTYPE GUIDataSetLevel
                   CONTENTS
                   {
                    Columns
@@ -1511,23 +1496,20 @@
       SINGLEINSTANCE false
       ID '浜у搧瑙勫垝鏁版嵁鐭╅樀'
       PARENTKEY [514.0.2180]
-      OBJECTTYPE Form // FormProductPlanningMatrix
+      OBJECTTYPE Form
       CREATETYPE FormProductPlanningMatrix
       CONTENTS
       {
        State := normal
        (0,0,0,0)
-       DockableLocation := Station[MAIN]State[NORM]TreePath[T0.4493;]TabIdx[0]Selection[NONE]
-      }
-      BASEINFOOBJECTS
-      {
+       DockableLocation := Station[MAIN]State[NORM]TreePath[T0.4493;]TabIdx[0]Selection[FRONT]
       }
       INFOOBJECTS
       {
        INFOOBJECT
        {
         KEY [127710.1.821866707]
-        OBJECTTYPE CheckBox // CheckBoxFilterByProductLevel
+        OBJECTTYPE CheckBox
         CONTENTS
         {
          Checkstate 1
@@ -1536,19 +1518,16 @@
        INFOOBJECT
        {
         KEY [127710.1.821866918]
-        OBJECTTYPE StringSelection // StringSelectionProductLevel
+        OBJECTTYPE StringSelection
         CONTENTS
         {
          BoundValue '[Leaf product]'
-        }
-        INFOOBJECTS
-        {
         }
        }
        INFOOBJECT
        {
         KEY [127710.1.818312567]
-        OBJECTTYPE MatrixEditor // MatrixEditorProductPlanning
+        OBJECTTYPE MatrixEditor
         CONTENTS
         {
          RowHeight 29
@@ -1561,13 +1540,13 @@
          INFOOBJECT
          {
           KEY [127710.1.819572713]
-          OBJECTTYPE GUIScaleView // MatrixEditorColumns
+          OBJECTTYPE GUIScaleView
           INFOOBJECTS
           {
            INFOOBJECT
            {
             KEY [127710.1.820829335]
-            OBJECTTYPE UserConfigurableInformation // UserConfigurableInformationPeriod
+            OBJECTTYPE UserConfigurableInformation
             CONTENTS
             {
              ObjectText 'VALUE(object.Start())'
@@ -1578,13 +1557,13 @@
          INFOOBJECT
          {
           KEY [127710.1.819572710]
-          OBJECTTYPE GUIScaleView // MatrixEditorRows
+          OBJECTTYPE GUIScaleView
           INFOOBJECTS
           {
            INFOOBJECT
            {
             KEY [127710.1.820300549]
-            OBJECTTYPE UserConfigurableInformation // UserConfigurableInformationPISP
+            OBJECTTYPE UserConfigurableInformation
             CONTENTS
             {
              ObjectText 'VALUE( object.Name() ) (VALUE( object.UnitOfMeasureName() ))'
@@ -1602,29 +1581,26 @@
       SINGLEINSTANCE false
       ID '閿�鍞渶姹�'
       PARENTKEY [514.0.2180]
-      OBJECTTYPE Form // FormSalesDemands
+      OBJECTTYPE Form
       CREATETYPE FormSalesDemands
       CONTENTS
       {
        State := normal
        (1344,0,192,928)
-       DockableLocation := Station[MAIN]State[NORM]TreePath[T0.4493;]TabIdx[1]Selection[FOCUS]
-      }
-      BASEINFOOBJECTS
-      {
+       DockableLocation := Station[MAIN]State[NORM]TreePath[T0.4493;]TabIdx[1]Selection[NONE]
       }
       INFOOBJECTS
       {
        INFOOBJECT
        {
         KEY [124112.0.87054864]
-        OBJECTTYPE SplitterWnd // SplitterWnd1
+        OBJECTTYPE SplitterWnd
         INFOOBJECTS
         {
          INFOOBJECT
          {
           KEY [124112.0.87054865]
-          OBJECTTYPE SplitterPane // SplitterPaneSalesDemand
+          OBJECTTYPE SplitterPane
           CONTENTS
           {
            Size 72.2642807983482
@@ -1635,7 +1611,7 @@
            INFOOBJECT
            {
             KEY [124112.0.87250426]
-            OBJECTTYPE List // ListSalesDemand
+            OBJECTTYPE List
             CONTENTS
             {
              Quantorrow := false
@@ -1645,7 +1621,7 @@
              INFOOBJECT
              {
               KEY [124112.0.87253131]
-              OBJECTTYPE GUIDataSetLevel // GUIDataSetLevelSalesDemand
+              OBJECTTYPE GUIDataSetLevel
               CONTENTS
               {
                Columns
@@ -1780,7 +1756,7 @@
          INFOOBJECT
          {
           KEY [124112.0.87054866]
-          OBJECTTYPE SplitterPane // SplitterPaneSalesDemandInPeriod
+          OBJECTTYPE SplitterPane
           CONTENTS
           {
            Size 27.7357192016518
@@ -1791,13 +1767,13 @@
            INFOOBJECT
            {
             KEY [116826.1.6886965]
-            OBJECTTYPE SplitterWnd // SplitterWnd
+            OBJECTTYPE SplitterWnd
             INFOOBJECTS
             {
              INFOOBJECT
              {
               KEY [116826.1.6886966]
-              OBJECTTYPE SplitterPane // SplitterPane
+              OBJECTTYPE SplitterPane
               CONTENTS
               {
                VISIBLE true
@@ -1807,7 +1783,7 @@
                INFOOBJECT
                {
                 KEY [116826.1.6887229]
-                OBJECTTYPE List // ListAggregatedSalesDemandInPeriod
+                OBJECTTYPE List
                 CONTENTS
                 {
                  Quantorrow := false
@@ -1817,7 +1793,7 @@
                  INFOOBJECT
                  {
                   KEY [116826.1.6887235]
-                  OBJECTTYPE GUIDataSetLevel // GUIDataSetLevelSalesDemandInPeriod
+                  OBJECTTYPE GUIDataSetLevel
                   CONTENTS
                   {
                    Columns
@@ -1910,7 +1886,7 @@
              INFOOBJECT
              {
               KEY [116826.1.6886967]
-              OBJECTTYPE SplitterPane // SplitterPane552
+              OBJECTTYPE SplitterPane
               CONTENTS
               {
                VISIBLE true
@@ -1920,7 +1896,7 @@
                INFOOBJECT
                {
                 KEY [116826.1.6889558]
-                OBJECTTYPE List // ListDisaggregatedSalesDemandInPeriod
+                OBJECTTYPE List
                 CONTENTS
                 {
                  Quantorrow := false
@@ -1930,7 +1906,7 @@
                  INFOOBJECT
                  {
                   KEY [116826.1.6889563]
-                  OBJECTTYPE GUIDataSetLevel // GUIDataSetLevel
+                  OBJECTTYPE GUIDataSetLevel
                   CONTENTS
                   {
                    Columns
@@ -2035,29 +2011,26 @@
       SINGLEINSTANCE false
       ID '鍔犲伐璺緞'
       PARENTKEY [514.0.2180]
-      OBJECTTYPE Form // FormRoutings
+      OBJECTTYPE Form
       CREATETYPE FormRoutings
       CONTENTS
       {
        State := normal
        (0,0,0,0)
-       DockableLocation := Station[MAIN]State[NORM]TreePath[B0.5507;]TabIdx[0]Selection[NONE]
-      }
-      BASEINFOOBJECTS
-      {
+       DockableLocation := Station[MAIN]State[NORM]TreePath[B0.5507;]TabIdx[1]Selection[NONE]
       }
       INFOOBJECTS
       {
        INFOOBJECT
        {
         KEY [136682.0.365497231]
-        OBJECTTYPE SplitterWnd // SplitterWnd1
+        OBJECTTYPE SplitterWnd
         INFOOBJECTS
         {
          INFOOBJECT
          {
           KEY [136682.0.365497232]
-          OBJECTTYPE SplitterPane // SplitterPane
+          OBJECTTYPE SplitterPane
           CONTENTS
           {
            VISIBLE true
@@ -2067,7 +2040,7 @@
            INFOOBJECT
            {
             KEY [136682.0.365497233]
-            OBJECTTYPE List // ListRouting
+            OBJECTTYPE List
             CONTENTS
             {
              Quantorrow := false
@@ -2077,7 +2050,7 @@
              INFOOBJECT
              {
               KEY [136682.0.365497235]
-              OBJECTTYPE GUIDataSetLevel // GUIDataSetLevelRouting
+              OBJECTTYPE GUIDataSetLevel
               CONTENTS
               {
                Columns
@@ -2322,7 +2295,7 @@
          INFOOBJECT
          {
           KEY [136682.0.365497250]
-          OBJECTTYPE SplitterPane // SplitterPane1
+          OBJECTTYPE SplitterPane
           CONTENTS
           {
            VISIBLE true
@@ -2332,19 +2305,16 @@
            INFOOBJECT
            {
             KEY [136682.0.365497251]
-            OBJECTTYPE SplitterWnd // SplitterWnd2
+            OBJECTTYPE SplitterWnd
             INFOOBJECTS
             {
              INFOOBJECT
              {
               KEY [136682.0.365497252]
-              OBJECTTYPE SplitterPane // SplitterPane2
+              OBJECTTYPE SplitterPane
               CONTENTS
               {
                VISIBLE true
-              }
-              INFOOBJECTS
-              {
               }
              }
             }
@@ -2356,7 +2326,7 @@
        INFOOBJECT
        {
         KEY [136682.0.365502343]
-        OBJECTTYPE CheckBox // CheckBoxFilterProduct
+        OBJECTTYPE CheckBox
         CONTENTS
         {
          Checkstate 1
@@ -2364,6 +2334,882 @@
        }
       }
      }
+     INFOOBJECT
+     {
+      KEY [414702.0.340554698]
+      SINGLEINSTANCE false
+      ID '鍔熻兘娴嬭瘯鎸夐挳'
+      PARENTKEY [514.0.2180]
+      OBJECTTYPE Form
+      CREATETYPE FormTestButtonCollection
+      CONTENTS
+      {
+       State := normal
+       (0,0,0,0)
+       DockableLocation := Station[MAIN]State[NORM]TreePath[B0.5507;]TabIdx[3]Selection[FOCUS]
+      }
+     }
+     INFOOBJECT
+     {
+      KEY [514.0.2141306]
+      SINGLEINSTANCE false
+      ID '鍚庡彴杈撳嚭'
+      PARENTKEY [514.0.2180]
+      OBJECTTYPE Dialog
+      CREATETYPE dlgServerMessages
+      CONTENTS
+      {
+       State := normal
+       (0,0,0,0)
+       DockableLocation := Station[MAIN]State[NORM]TreePath[B0.5507;]TabIdx[2]Selection[NONE]
+      }
+      INFOOBJECTS
+      {
+       INFOOBJECT
+       {
+        KEY [514.0.2141287]
+        OBJECTTYPE List
+        CONTENTS
+        {
+         Quantorrow := false
+        }
+        INFOOBJECTS
+        {
+         INFOOBJECT
+         {
+          KEY [536.0.860799]
+          OBJECTTYPE GUIDataSetLevel
+          CONTENTS
+          {
+           Columns
+           {
+             Definition := [514.0.2141302]
+             {
+               [514.0.2141305]
+             }
+             SubTotals := true
+             Visible
+             {
+               Column internal[DataSetDataColumn] [514.0.2141305]
+               {
+                 Header := 'Message'
+                 Width := 100
+                 Subtotals := false
+                 Specific
+                 {
+                   DataPath := 'Message [1.2.530]'
+                 }
+               }
+             }
+           }
+           Filter := '<?xml version="1.0" encoding="UTF-16"?>\n<GEBObjectsFilter xmlns="http://www.quintiq.com/GEB/GEBObjectsFilter" Key="@1" CurrentFilter="@Default_Filter1" TargetType="internal[ClientReport]">\n  <GEBFiltering Key="@Default_Filter1" TargetType="internal[ClientReport]">\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="@Message1" ElementType="internal[ClientReport]" ValueType="String">\n        <ColumnID>[414702.1.53972260]</ColumnID>\n        <BaseName>Message</BaseName>\n        <Name>Message</Name>\n        <Title>Message</Title>\n        <IsTarget>false</IsTarget>\n        <NameHasBeenSet>true</NameHasBeenSet>\n        <ColumnFinal>Fail</ColumnFinal>\n        <AttributePathText>Message</AttributePathText>\n        <AttributePathIdentifier>\n        </AttributePathIdentifier>\n      </GEBSelectColumn>\n      <GEBFilter Key="@3">\n        <FreeFilterEnabled>true</FreeFilterEnabled>\n        <GEBFilterColumn Key="@4" Column="@Message1">\n          <ColumnID>[414702.1.53972260]</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 'Index [1.2.531]' true true
+          }
+         }
+        }
+       }
+      }
+     }
+     INFOOBJECT
+     {
+      KEY [414702.0.137524322]
+      SINGLEINSTANCE false
+      ID 'Analysis GlobalOTDTable'
+      PARENTKEY [514.0.2180]
+      OBJECTTYPE Form
+      CREATETYPE frmStandardAnalysisGlobalOTDTable
+      CONTENTS
+      {
+       State := normal
+       (0,0,0,0)
+       DockableLocation := Station[MAIN]State[NORM]TreePath[T0.4493;]TabIdx[2]Selection[NONE]
+      }
+      INFOOBJECTS
+      {
+       INFOOBJECT
+       {
+        KEY [530.0.3531801]
+        OBJECTTYPE SplitterWnd
+        INFOOBJECTS
+        {
+         INFOOBJECT
+         {
+          KEY [530.0.3531802]
+          OBJECTTYPE SplitterPane
+          CONTENTS
+          {
+           VISIBLE true
+          }
+          INFOOBJECTS
+          {
+           INFOOBJECT
+           {
+            KEY [530.0.3531806]
+            OBJECTTYPE SplitterWnd
+            INFOOBJECTS
+            {
+             INFOOBJECT
+             {
+              KEY [530.0.3531807]
+              OBJECTTYPE SplitterPane
+              CONTENTS
+              {
+               VISIBLE true
+              }
+              INFOOBJECTS
+              {
+               INFOOBJECT
+               {
+                KEY [530.0.3532065]
+                OBJECTTYPE GUIAnalysis
+                CONTENTS
+                {
+                 START(0,0,0,0,false)
+                 ANALYSIS(0,0,0,0,false,'Analysis1')
+                 {
+                   SOURCE 'Types' '[414702.0.340560328]' 0
+                 
+                   NAME 'Analysis1'
+                 }
+                 COLUMNSETTINGS
+                 {
+                   CapacityAllocationResults
+                   {
+                     Columns
+                     {
+                       Visible
+                       {
+                         Column internal[DataSetDataColumn] [414702.1.64628063]
+                         {
+                           Width := 100
+                           Subtotals := false
+                           Specific
+                           {
+                             DataPath := 'Date [414702.0.388471425]'
+                           }
+                         }
+                         Column internal[DataSetDataColumn] [414702.1.64628064]
+                         {
+                           Width := 100
+                           Subtotals := false
+                           Specific
+                           {
+                             DataPath := 'Description [414702.0.388471435]'
+                           }
+                         }
+                         Column internal[DataSetDataColumn] [414702.1.64628065]
+                         {
+                           Width := 100
+                           Subtotals := false
+                           Specific
+                           {
+                             DataPath := 'Division [414702.0.340560477]'
+                           }
+                         }
+                         Column internal[DataSetDataColumn] [414702.1.64628066]
+                         {
+                           Width := 100
+                           Subtotals := false
+                           Specific
+                           {
+                             DataPath := 'ID [414702.0.388471445]'
+                           }
+                         }
+                         Column internal[DataSetDataColumn] [414702.1.64628067]
+                         {
+                           Width := 100
+                           Subtotals := false
+                           Specific
+                           {
+                             DataPath := 'ManufacturedDate [414702.0.388471485]'
+                           }
+                         }
+                         Column internal[DataSetDataColumn] [414702.1.64628068]
+                         {
+                           Width := 173
+                           SizedByUser := true
+                           Subtotals := false
+                           Specific
+                           {
+                             DataPath := 'ModuleBase [414702.0.340560467]'
+                           }
+                         }
+                         Column internal[DataSetDataColumn] [414702.1.64628069]
+                         {
+                           Width := 199
+                           SizedByUser := true
+                           Subtotals := false
+                           Specific
+                           {
+                             DataPath := 'ModuleMaterialCode [414702.0.340560428]'
+                           }
+                         }
+                         Column internal[DataSetDataColumn] [414702.1.64628070]
+                         {
+                           Width := 100
+                           Subtotals := false
+                           Specific
+                           {
+                             DataPath := 'ModuleMeasurementUnit [414702.0.340560457]'
+                           }
+                         }
+                         Column internal[DataSetDataColumn] [414702.1.64628071]
+                         {
+                           Width := 100
+                           Subtotals := false
+                           Specific
+                           {
+                             DataPath := 'NumberOfModules [414702.0.340560441]'
+                           }
+                         }
+                         Column internal[DataSetDataColumn] [414702.1.64628072]
+                         {
+                           Width := 100
+                           Subtotals := false
+                           Specific
+                           {
+                             DataPath := 'NumberOfPanels [414702.0.340560390]'
+                           }
+                         }
+                         Column internal[DataSetDataColumn] [414702.1.64628073]
+                         {
+                           Width := 100
+                           Subtotals := false
+                           Specific
+                           {
+                             DataPath := 'PanelBase [414702.0.340560370]'
+                           }
+                         }
+                         Column internal[DataSetDataColumn] [414702.1.64628074]
+                         {
+                           Width := 180
+                           SizedByUser := true
+                           Subtotals := false
+                           Specific
+                           {
+                             DataPath := 'PanelMaterialCode [414702.0.340560380]'
+                           }
+                         }
+                         Column internal[DataSetDataColumn] [414702.1.64628075]
+                         {
+                           Width := 231
+                           SizedByUser := true
+                           Subtotals := false
+                           Specific
+                           {
+                             DataPath := 'PanelMeasurementUnit [414702.0.340560403]'
+                           }
+                         }
+                         Column internal[DataSetDataColumn] [414702.1.64628076]
+                         {
+                           Width := 100
+                           Subtotals := false
+                           Specific
+                           {
+                             DataPath := 'ProductID [414702.0.388471455]'
+                           }
+                         }
+                         Column internal[DataSetDataColumn] [414702.1.64628077]
+                         {
+                           Width := 100
+                           Subtotals := false
+                           Specific
+                           {
+                             DataPath := 'RequirementDate [414702.0.340560505]'
+                           }
+                         }
+                         Column internal[DataSetDataColumn] [414702.1.64628078]
+                         {
+                           Width := 100
+                           Subtotals := false
+                           Specific
+                           {
+                             DataPath := 'StockingPointID [414702.0.388471465]'
+                           }
+                         }
+                         Column internal[DataSetDataColumn] [414702.1.64628079]
+                         {
+                           Width := 100
+                           Subtotals := false
+                           Specific
+                           {
+                             DataPath := 'UserQuantity [414702.0.388471475]'
+                           }
+                         }
+                         Column internal[DataSetDataColumn] [414702.1.64628080]
+                         {
+                           Width := 100
+                           Subtotals := false
+                           Specific
+                           {
+                             DataPath := 'VersionNumber [414702.0.340560354]'
+                           }
+                         }
+                       }
+                     }
+                   }
+                 }
+                 CURRENT 'Analysis1'
+                 FIXEDANALYSIS
+                 {
+                 }
+                }
+               }
+               INFOOBJECT
+               {
+                KEY [530.1.25480335]
+                OBJECTTYPE List
+                CONTENTS
+                {
+                 Quantorrow := false
+                }
+                INFOOBJECTS
+                {
+                 INFOOBJECT
+                 {
+                  KEY [530.1.25480340]
+                  OBJECTTYPE GUIDataSetLevel
+                  CONTENTS
+                  {
+                   Columns
+                   {
+                     Definition := [530.1.25480345]
+                     {
+                       [530.1.25480393]
+                       [530.1.25480394]
+                     }
+                     SubTotals := true
+                     Visible
+                     {
+                       Column internal[DataSetDataColumn] [530.1.25480393]
+                       {
+                         Header := 'Name'
+                         Width := 100
+                         Subtotals := false
+                         Specific
+                         {
+                           DataPath := 'Name [1.2.2366]'
+                         }
+                       }
+                       Column internal[DataSetDataColumn] [530.1.25480394]
+                       {
+                         Header := 'Description'
+                         Width := 100
+                         Subtotals := false
+                         Specific
+                         {
+                           DataPath := 'Description [1.2.1211]'
+                         }
+                       }
+                     }
+                   }
+                   ColumnSort [530.1.25480393] true false
+                  }
+                 }
+                }
+               }
+              }
+             }
+             INFOOBJECT
+             {
+              KEY [530.0.3531808]
+              OBJECTTYPE SplitterPane
+              CONTENTS
+              {
+               VISIBLE true
+              }
+              INFOOBJECTS
+              {
+               INFOOBJECT
+               {
+                KEY [530.0.3532013]
+                OBJECTTYPE GUIAnalysisGrid
+                CONTENTS
+                {
+                 NEWFORMAT
+                 COLUMN 102 50
+                 COLUMN 103 50
+                }
+               }
+              }
+             }
+            }
+           }
+          }
+         }
+         INFOOBJECT
+         {
+          KEY [530.0.3531803]
+          OBJECTTYPE SplitterPane
+          CONTENTS
+          {
+           VISIBLE true
+          }
+          INFOOBJECTS
+          {
+           INFOOBJECT
+           {
+            KEY [530.0.3531811]
+            OBJECTTYPE SplitterWnd
+            INFOOBJECTS
+            {
+             INFOOBJECT
+             {
+              KEY [530.0.3531812]
+              OBJECTTYPE SplitterPane
+              CONTENTS
+              {
+               Size 44.6569920844327
+               VISIBLE true
+              }
+              INFOOBJECTS
+              {
+               INFOOBJECT
+               {
+                KEY [530.0.3532136]
+                OBJECTTYPE SplitterWnd
+                INFOOBJECTS
+                {
+                 INFOOBJECT
+                 {
+                  KEY [530.0.3532137]
+                  OBJECTTYPE SplitterPane
+                  CONTENTS
+                  {
+                   VISIBLE true
+                  }
+                  INFOOBJECTS
+                  {
+                   INFOOBJECT
+                   {
+                    KEY [530.0.3532138]
+                    OBJECTTYPE SplitterWnd
+                    INFOOBJECTS
+                    {
+                     INFOOBJECT
+                     {
+                      KEY [530.0.3532139]
+                      OBJECTTYPE SplitterPane
+                      CONTENTS
+                      {
+                       VISIBLE true
+                      }
+                      INFOOBJECTS
+                      {
+                       INFOOBJECT
+                       {
+                        KEY [530.0.3532140]
+                        OBJECTTYPE List
+                        CONTENTS
+                        {
+                         Quantorrow := false
+                        }
+                        INFOOBJECTS
+                        {
+                         INFOOBJECT
+                         {
+                          KEY [530.0.3532156]
+                          OBJECTTYPE GUIDataSetLevel
+                          CONTENTS
+                          {
+                           Columns
+                           {
+                             Definition := [514.0.499727]
+                             {
+                               [514.0.499730]
+                               [530.1.32701549]
+                               [678.0.64301138]
+                             }
+                             SubTotals := true
+                             Visible
+                             {
+                               Column internal[DataSetDataColumn] [514.0.499730]
+                               {
+                                 Header := 'Name'
+                                 Width := 68
+                                 Subtotals := false
+                                 Specific
+                                 {
+                                   DataPath := 'Name [1.2.34]'
+                                 }
+                               }
+                               Column internal[DataSetDataColumn] [530.1.32701549]
+                               {
+                                 Header := 'Description'
+                                 Width := 105
+                                 Subtotals := false
+                                 Specific
+                                 {
+                                   DataPath := 'Description [1.2.2564]'
+                                 }
+                               }
+                               Column internal[DataSetDataColumn] [678.0.64301138]
+                               {
+                                 Header := 'astype(UITypeDataMember).DataType.FullName'
+                                 Width := 404
+                                 Subtotals := false
+                                 Specific
+                                 {
+                                   DataPath := 'downcast(internal[UITypeDataMember]) [1.1.1409]|DataType [1.3.1182]|FullName [1.2.8615]'
+                                 }
+                               }
+                             }
+                           }
+                           ColumnSort [514.0.499730] true false
+                          }
+                         }
+                        }
+                       }
+                      }
+                     }
+                     INFOOBJECT
+                     {
+                      KEY [530.0.3532169]
+                      OBJECTTYPE SplitterPane
+                      CONTENTS
+                      {
+                       VISIBLE true
+                      }
+                      INFOOBJECTS
+                      {
+                       INFOOBJECT
+                       {
+                        KEY [530.0.3532170]
+                        OBJECTTYPE List
+                        CONTENTS
+                        {
+                         Quantorrow := false
+                        }
+                        INFOOBJECTS
+                        {
+                         INFOOBJECT
+                         {
+                          KEY [530.0.3532175]
+                          OBJECTTYPE GUIDataSetLevel
+                          CONTENTS
+                          {
+                           Columns
+                           {
+                             Definition := [514.0.499727]
+                             {
+                               [514.0.499730]
+                               [530.1.32701549]
+                               [678.0.64301138]
+                             }
+                             SubTotals := true
+                             Visible
+                             {
+                               Column internal[DataSetDataColumn] [514.0.499730]
+                               {
+                                 Header := 'Name'
+                                 Width := 100
+                                 Subtotals := false
+                                 Specific
+                                 {
+                                   DataPath := 'Name [1.2.34]'
+                                 }
+                               }
+                               Column internal[DataSetDataColumn] [530.1.32701549]
+                               {
+                                 Header := 'Description'
+                                 Width := 100
+                                 Subtotals := false
+                                 Specific
+                                 {
+                                   DataPath := 'Description [1.2.2564]'
+                                 }
+                               }
+                               Column internal[DataSetDataColumn] [678.0.64301138]
+                               {
+                                 Header := 'astype(UITypeDataMember).DataType.FullName'
+                                 Width := 100
+                                 Subtotals := false
+                                 Specific
+                                 {
+                                   DataPath := 'downcast(internal[UITypeDataMember]) [1.1.1409]|DataType [1.3.1182]|FullName [1.2.8615]'
+                                 }
+                               }
+                             }
+                           }
+                           ColumnSort [514.0.499730] true false
+                          }
+                         }
+                        }
+                       }
+                      }
+                     }
+                    }
+                   }
+                  }
+                 }
+                 INFOOBJECT
+                 {
+                  KEY [530.0.3532181]
+                  OBJECTTYPE SplitterPane
+                  CONTENTS
+                  {
+                   VISIBLE true
+                  }
+                  INFOOBJECTS
+                  {
+                   INFOOBJECT
+                   {
+                    KEY [530.1.8006303]
+                    OBJECTTYPE SplitterWnd
+                    INFOOBJECTS
+                    {
+                     INFOOBJECT
+                     {
+                      KEY [530.1.8006304]
+                      OBJECTTYPE SplitterPane
+                      CONTENTS
+                      {
+                       VISIBLE true
+                      }
+                     }
+                     INFOOBJECT
+                     {
+                      KEY [530.1.8006305]
+                      OBJECTTYPE SplitterPane
+                      CONTENTS
+                      {
+                       VISIBLE true
+                      }
+                      INFOOBJECTS
+                      {
+                       INFOOBJECT
+                       {
+                        KEY [530.0.3532182]
+                        OBJECTTYPE GUIAnalysisBarChart
+                        CONTENTS
+                        {
+                         LeftSize 207
+                        }
+                       }
+                      }
+                     }
+                    }
+                   }
+                  }
+                 }
+                }
+               }
+              }
+             }
+             INFOOBJECT
+             {
+              KEY [530.0.3531813]
+              OBJECTTYPE SplitterPane
+              CONTENTS
+              {
+               Size 55.3430079155673
+               VISIBLE true
+              }
+              INFOOBJECTS
+              {
+               INFOOBJECT
+               {
+                KEY [530.0.3531950]
+                OBJECTTYPE List
+                CONTENTS
+                {
+                 Quantorrow := false
+                }
+                INFOOBJECTS
+                {
+                 INFOOBJECT
+                 {
+                  KEY [530.0.3531958]
+                  OBJECTTYPE GUIDataSetLevel
+                  CONTENTS
+                  {
+                   Columns
+                   {
+                     SubTotals := true
+                     Visible
+                     {
+                       Column internal[DataSetDataColumn] [414702.1.64628063]
+                       {
+                         Width := 100
+                         Subtotals := false
+                         Specific
+                         {
+                           DataPath := 'Date [414702.0.388471425]'
+                         }
+                       }
+                       Column internal[DataSetDataColumn] [414702.1.64628064]
+                       {
+                         Width := 100
+                         Subtotals := false
+                         Specific
+                         {
+                           DataPath := 'Description [414702.0.388471435]'
+                         }
+                       }
+                       Column internal[DataSetDataColumn] [414702.1.64628065]
+                       {
+                         Width := 100
+                         Subtotals := false
+                         Specific
+                         {
+                           DataPath := 'Division [414702.0.340560477]'
+                         }
+                       }
+                       Column internal[DataSetDataColumn] [414702.1.64628066]
+                       {
+                         Width := 100
+                         Subtotals := false
+                         Specific
+                         {
+                           DataPath := 'ID [414702.0.388471445]'
+                         }
+                       }
+                       Column internal[DataSetDataColumn] [414702.1.64628067]
+                       {
+                         Width := 100
+                         Subtotals := false
+                         Specific
+                         {
+                           DataPath := 'ManufacturedDate [414702.0.388471485]'
+                         }
+                       }
+                       Column internal[DataSetDataColumn] [414702.1.64628068]
+                       {
+                         Width := 173
+                         SizedByUser := true
+                         Subtotals := false
+                         Specific
+                         {
+                           DataPath := 'ModuleBase [414702.0.340560467]'
+                         }
+                       }
+                       Column internal[DataSetDataColumn] [414702.1.64628069]
+                       {
+                         Width := 199
+                         SizedByUser := true
+                         Subtotals := false
+                         Specific
+                         {
+                           DataPath := 'ModuleMaterialCode [414702.0.340560428]'
+                         }
+                       }
+                       Column internal[DataSetDataColumn] [414702.1.64628070]
+                       {
+                         Width := 100
+                         Subtotals := false
+                         Specific
+                         {
+                           DataPath := 'ModuleMeasurementUnit [414702.0.340560457]'
+                         }
+                       }
+                       Column internal[DataSetDataColumn] [414702.1.64628071]
+                       {
+                         Width := 100
+                         Subtotals := false
+                         Specific
+                         {
+                           DataPath := 'NumberOfModules [414702.0.340560441]'
+                         }
+                       }
+                       Column internal[DataSetDataColumn] [414702.1.64628072]
+                       {
+                         Width := 100
+                         Subtotals := false
+                         Specific
+                         {
+                           DataPath := 'NumberOfPanels [414702.0.340560390]'
+                         }
+                       }
+                       Column internal[DataSetDataColumn] [414702.1.64628073]
+                       {
+                         Width := 100
+                         Subtotals := false
+                         Specific
+                         {
+                           DataPath := 'PanelBase [414702.0.340560370]'
+                         }
+                       }
+                       Column internal[DataSetDataColumn] [414702.1.64628074]
+                       {
+                         Width := 180
+                         SizedByUser := true
+                         Subtotals := false
+                         Specific
+                         {
+                           DataPath := 'PanelMaterialCode [414702.0.340560380]'
+                         }
+                       }
+                       Column internal[DataSetDataColumn] [414702.1.64628075]
+                       {
+                         Width := 231
+                         SizedByUser := true
+                         Subtotals := false
+                         Specific
+                         {
+                           DataPath := 'PanelMeasurementUnit [414702.0.340560403]'
+                         }
+                       }
+                       Column internal[DataSetDataColumn] [414702.1.64628076]
+                       {
+                         Width := 100
+                         Subtotals := false
+                         Specific
+                         {
+                           DataPath := 'ProductID [414702.0.388471455]'
+                         }
+                       }
+                       Column internal[DataSetDataColumn] [414702.1.64628077]
+                       {
+                         Width := 100
+                         Subtotals := false
+                         Specific
+                         {
+                           DataPath := 'RequirementDate [414702.0.340560505]'
+                         }
+                       }
+                       Column internal[DataSetDataColumn] [414702.1.64628078]
+                       {
+                         Width := 100
+                         Subtotals := false
+                         Specific
+                         {
+                           DataPath := 'StockingPointID [414702.0.388471465]'
+                         }
+                       }
+                       Column internal[DataSetDataColumn] [414702.1.64628079]
+                       {
+                         Width := 100
+                         Subtotals := false
+                         Specific
+                         {
+                           DataPath := 'UserQuantity [414702.0.388471475]'
+                         }
+                       }
+                       Column internal[DataSetDataColumn] [414702.1.64628080]
+                       {
+                         Width := 100
+                         Subtotals := false
+                         Specific
+                         {
+                           DataPath := 'VersionNumber [414702.0.340560354]'
+                         }
+                       }
+                     }
+                   }
+                  }
+                 }
+                }
+               }
+              }
+             }
+            }
+           }
+          }
+         }
+        }
+       }
+      }
+     }
     }
    }
   }

--
Gitblit v1.9.3