From 9fb49c653fd25dfb81263f70fb56d2b1f9ec0a7f Mon Sep 17 00:00:00 2001
From: lazhen <17772815105@139.com>
Date: 星期四, 17 十月 2024 11:39:23 +0800
Subject: [PATCH] 装配上线计划前端界面

---
 _Main/UI/MacroPlannerWebApp/Component_FormAssemblyOnlinePlanVersion/Component_PanelOperation#283.def                                           |   24 +
 _Main/UI/MacroPlannerWebApp/Component_FormAssemblyOnlinePlanVersion/Response_PanelPeriod_DateSelectorEnd_OnChanged.def                         |   24 +
 _Main/UI/MacroPlannerWebApp/Component_FormAssemblyOnlinePlanVersion/Response_PanelUnit_ddslUnit_OnSelectionChanged.def                         |   19 +
 _Main/UI/MacroPlannerWebApp/Component_FormAssemblyOnlinePlanVersion/Response_PanelTimeUnit_234_RadioButtonGroupUseForTimeUnit_OnCreated.def    |   16 +
 _Main/UI/MacroPlannerWebApp/Component_FormAssemblyOnlinePlanVersion/Response_PanelProduct_937_ddslProduct_OnSelectionChanged.def               |   19 +
 _Main/BL/Type_CCEngineLogisticsCostReport/StaticMethod_Import.qbl                                                                              |   33 +
 _Main/UI/MacroPlannerWebApp/Component_FormAssemblyOnlinePlanVersion/Component_PanelHeader#952.def                                              |   20 +
 _Main/UI/MacroPlannerWebApp/Component_FormAssemblyOnlinePlanVersion/Response_PanelProductLine_ddslMQBMLB_OnCreated.def                         |   23 +
 _Main/UI/MacroPlannerWebApp/Component_FormAssemblyOnlinePlanVersion/Response_PanelPeriod_DateSelectorStart_OnChanged.def                       |   24 +
 _Main/UI/MacroPlannerWebApp/Component_FormAssemblyOnlinePlanVersion/Response_PanelTimeUnit_234_RadioButtonGroupUseForTimeUnit_OnChanged.def    |   20 +
 _Main/UI/MacroPlannerWebApp/Component_FormAssemblyOnlinePlanVersion/Component_PanelProductLine.def                                             |   24 +
 _Main/UI/MacroPlannerWebApp/Component_FormAssemblyOnlinePlanVersion/Component_PanelTable#273.def                                               |   14 +
 _Main/UI/MacroPlannerWebApp/Component_FormAssemblyOnlinePlanVersion/Component_MatrixEditorTable#384.def                                        |  104 +++++++
 _Main/UI/MacroPlannerWebApp/Component_FormAssemblyOnlinePlanVersion/_ROOT_Component_FormAssemblyOnlinePlanVersion.def                          |   38 ++
 _Main/UI/MacroPlannerWebApp/Component_FormAssemblyOnlinePlanVersion/Response_PanelProductLine_ddslMQBMLB_OnSelectionChanged.def                |   19 +
 _Main/UI/MacroPlannerWebApp/Component_FormAssemblyOnlinePlanVersion/Component_PanelTimeUnit#234.def                                            |   26 +
 _Main/UI/MacroPlannerWebApp/Component_FormAssemblyOnlinePlanVersion/Component_PanelPeriod.def                                                  |   35 ++
 _Main/UI/MacroPlannerWebApp/Component_FormAssemblyOnlinePlanVersion/Component_matrixeditorContextMenuTable#1.def                               |   10 
 _Main/UI/MacroPlannerWebApp/Component_ApplicationMacroPlanner/Component_ActionBarGroupReport.def                                               |   11 
 _Main/UI/MacroPlannerWebApp/Component_FormAssemblyOnlinePlanVersion/Component_PanelProduct#937.def                                             |   25 +
 _Main/UI/MacroPlannerWebApp/Component_FormAssemblyOnlinePlanVersion/Response_PanelProduct_937_ddslProduct_OnCreated.def                        |   23 +
 _Main/UI/MacroPlannerWebApp/Views/Assembly_online_plan_version.vw                                                                              |  116 ++++++++
 _Main/UI/MacroPlannerWebApp/Component_ApplicationMacroPlanner/Response_MacroPlanner_ActionBarGroupReport_ButtonAssemblyOnlinePlanVersion_O.def |   16 +
 _Main/UI/MacroPlannerWebApp/Component_FormAssemblyOnlinePlanVersion/Response_PanelUnit_ddslUnit_OnCreated.def                                  |   23 +
 _Main/UI/MacroPlannerWebApp/Component_FormAssemblyOnlinePlanVersion/Component_PanelUnit.def                                                    |   24 +
 _Main/UI/MacroPlannerWebApp/Component_FormAssemblyOnlinePlanVersion/Component_matrixEditorActionBarPageTable#1.def                             |   10 
 _Main/BL/Type_CCEngineLogisticsCostReport0/StaticMethod_Import.qbl                                                                             |   63 ++--
 27 files changed, 762 insertions(+), 41 deletions(-)

diff --git a/_Main/BL/Type_CCEngineLogisticsCostReport/StaticMethod_Import.qbl b/_Main/BL/Type_CCEngineLogisticsCostReport/StaticMethod_Import.qbl
index 69d95bd..190be2b 100644
--- a/_Main/BL/Type_CCEngineLogisticsCostReport/StaticMethod_Import.qbl
+++ b/_Main/BL/Type_CCEngineLogisticsCostReport/StaticMethod_Import.qbl
@@ -45,27 +45,34 @@
           cell                := selectobject( ccrow, Cell, cell, cell.Column() = column );
           traverse( sameproductcells, Elements.GeneralExcelImportAndExportDataRow, samerow ){
             attricell         := selectobject( samerow, GeneralExcelImportAndExportDataCell, attricell, attricell.GeneralExcelImportAndExportDataColumn() = attricolumn );
-            if( not ( attricell.Value() = '棰勮鎬昏垂鐢�' or attricell.Value() = '鎬昏垂鐢�' ) ){
+            if( attricell.Value() = '鎬昏垂鐢�' ){
               valuecell       := selectobject( samerow, GeneralExcelImportAndExportDataCell, valuecell, valuecell.GeneralExcelImportAndExportDataColumn() = excelcolumn );
-              if( attricell.Value() = '澶栫搴撳叆搴撹垂鐢�' ){
-                cell.RentInCost( [Number]valuecell.Value() );
-              }else if( attricell.Value() = '澶栫搴撳嚭搴撹垂鐢�' ){
-                cell.RentOutOfCost( [Number]valuecell.Value() );
-              }else if( attricell.Value() = '鍘傚唴鍒板绉熷簱杩愯緭璐圭敤' ){
-                cell.WerkToRentTransCost( [Number]valuecell.Value() );
-              }else if( attricell.Value() = '澶栫搴撲粨鍌ㄨ垂鐢�' ){
-                cell.RentStorCost( [Number]valuecell.Value() );
+              if( [Real]valuecell.Value() <> cell.AllCost() ){
+                cell.AllCost( [Real]valuecell.Value() );
+                cell.IsUpdate( true );
               }
+            }
+    //        if( not ( attricell.Value() = '棰勮鎬昏垂鐢�' or attricell.Value() = '鎬昏垂鐢�' ) ){
+    //          valuecell       := selectobject( samerow, GeneralExcelImportAndExportDataCell, valuecell, valuecell.GeneralExcelImportAndExportDataColumn() = excelcolumn );
+    //          if( attricell.Value() = '澶栫搴撳叆搴撹垂鐢�' ){
+    //            cell.RentInCost( [Number]valuecell.Value() );
+    //          }else if( attricell.Value() = '澶栫搴撳嚭搴撹垂鐢�' ){
+    //            cell.RentOutOfCost( [Number]valuecell.Value() );
+    //          }else if( attricell.Value() = '鍘傚唴鍒板绉熷簱杩愯緭璐圭敤' ){
+    //            cell.WerkToRentTransCost( [Number]valuecell.Value() );
+    //          }else if( attricell.Value() = '澶栫搴撲粨鍌ㄨ垂鐢�' ){
+    //            cell.RentStorCost( [Number]valuecell.Value() );
+    //          }
     //          else if( attricell.Value() = '棰勮鎬昏垂鐢�' ){
     //            cell.EstimatedTotalCost( [Number]valuecell.Value() );
     //          }
-              else if( attricell.Value() = '绯绘暟' ){
-                cell.CoefficientValue( valuecell.Value() );
-              }
+    //          else if( attricell.Value() = '绯绘暟' ){
+    //            cell.CoefficientValue( valuecell.Value() );
+    //          }
     //          else if( attricell.Value() = '鎬昏垂鐢�' ){
     //            cell.TotalCost( [Number]valuecell.Value() );
     //          }
-            }
+    //        }
           }
         }
       }
diff --git a/_Main/BL/Type_CCEngineLogisticsCostReport0/StaticMethod_Import.qbl b/_Main/BL/Type_CCEngineLogisticsCostReport0/StaticMethod_Import.qbl
index e0ffefd..2726257 100644
--- a/_Main/BL/Type_CCEngineLogisticsCostReport0/StaticMethod_Import.qbl
+++ b/_Main/BL/Type_CCEngineLogisticsCostReport0/StaticMethod_Import.qbl
@@ -45,37 +45,44 @@
           cell                := selectobject( ccrow, Cell, cell, cell.Column() = column );
           traverse( sameproductcells, Elements.GeneralExcelImportAndExportDataRow, samerow ){
             attricell         := selectobject( samerow, GeneralExcelImportAndExportDataCell, attricell, attricell.GeneralExcelImportAndExportDataColumn() = attricolumn );
-            if( not ( attricell.Value() = '棰勮鎬昏垂鐢�' or attricell.Value() = '鎬昏垂鐢�' ) ){
+            if( attricell.Value() = '鎬昏垂鐢�' ){
               valuecell       := selectobject( samerow, GeneralExcelImportAndExportDataCell, valuecell, valuecell.GeneralExcelImportAndExportDataColumn() = excelcolumn );
-              if( attricell.Value() = '闀挎槬澶栫搴撳叆搴撹垂鐢�' ){
-                cell.CCRentInCost( [Number]valuecell.Value() );
-              }else if( attricell.Value() = '闀挎槬澶栫搴撳嚭搴撹垂鐢�' ){
-                cell.CCRentOutOfCost( [Number]valuecell.Value() );
-              }else if( attricell.Value() = '闀挎槬闀块�旇繍杈撹垂鐢�' ){
-                cell.CCLongTransCost( [Number]valuecell.Value() );
-              }else if( attricell.Value() = '闀挎槬鐭�旇繍杈撹垂鐢�' ){
-                cell.CCShorTransCost( [Number]valuecell.Value() );
-              }else if( attricell.Value() = '闀挎槬澶栫搴撲粨鍌ㄨ垂鐢�' ){
-                cell.CCRentStorCost( [Number]valuecell.Value() );
-              }else if( attricell.Value() = '澶ц繛澶栫搴撳叆搴撹垂鐢�' ){
-                cell.DLRentInCost( [Number]valuecell.Value() );
-              }else if( attricell.Value() = '澶ц繛澶栫搴撳嚭搴撹垂鐢�' ){
-                cell.DLRentOutOfCost( [Number]valuecell.Value() );
-              }else if( attricell.Value() = '鍘傚唴鍒板绉熷簱杩愯緭璐圭敤' ){
-                cell.WerkToDLRentTransCost( [Number]valuecell.Value() );
-              }else if( attricell.Value() = '澶ц繛澶栫搴撲粨鍌ㄨ垂鐢�' ){
-                cell.DLRentStorCost( [Number]valuecell.Value() );
+              if( [Real]valuecell.Value() <> cell.AllCost() ){
+                cell.AllCost( [Real]valuecell.Value() );
+                cell.IsUpdate( true );
               }
-    //          else if( attricell.Value() = '棰勮鎬昏垂鐢�' ){
-    //            cell.EstimatedTotalCost( [Number]valuecell.Value() );
-    //          }
-              else if( attricell.Value() = '绯绘暟' ){
-                cell.CoefficientValue( valuecell.Value() );
-              }
-    //          else if( attricell.Value() = '鎬昏垂鐢�' ){
-    //            cell.TotalCost( [Number]valuecell.Value() );
-    //          }
             }
+    //        if( not ( attricell.Value() = '棰勮鎬昏垂鐢�' or attricell.Value() = '鎬昏垂鐢�' ) ){
+    //          valuecell       := selectobject( samerow, GeneralExcelImportAndExportDataCell, valuecell, valuecell.GeneralExcelImportAndExportDataColumn() = excelcolumn );
+    //          if( attricell.Value() = '闀挎槬澶栫搴撳叆搴撹垂鐢�' ){
+    //            cell.CCRentInCost( [Number]valuecell.Value() );
+    //          }else if( attricell.Value() = '闀挎槬澶栫搴撳嚭搴撹垂鐢�' ){
+    //            cell.CCRentOutOfCost( [Number]valuecell.Value() );
+    //          }else if( attricell.Value() = '闀挎槬闀块�旇繍杈撹垂鐢�' ){
+    //            cell.CCLongTransCost( [Number]valuecell.Value() );
+    //          }else if( attricell.Value() = '闀挎槬鐭�旇繍杈撹垂鐢�' ){
+    //            cell.CCShorTransCost( [Number]valuecell.Value() );
+    //          }else if( attricell.Value() = '闀挎槬澶栫搴撲粨鍌ㄨ垂鐢�' ){
+    //            cell.CCRentStorCost( [Number]valuecell.Value() );
+    //          }else if( attricell.Value() = '澶ц繛澶栫搴撳叆搴撹垂鐢�' ){
+    //            cell.DLRentInCost( [Number]valuecell.Value() );
+    //          }else if( attricell.Value() = '澶ц繛澶栫搴撳嚭搴撹垂鐢�' ){
+    //            cell.DLRentOutOfCost( [Number]valuecell.Value() );
+    //          }else if( attricell.Value() = '鍘傚唴鍒板绉熷簱杩愯緭璐圭敤' ){
+    //            cell.WerkToDLRentTransCost( [Number]valuecell.Value() );
+    //          }else if( attricell.Value() = '澶ц繛澶栫搴撲粨鍌ㄨ垂鐢�' ){
+    //            cell.DLRentStorCost( [Number]valuecell.Value() );
+    //          }
+    ////          else if( attricell.Value() = '棰勮鎬昏垂鐢�' ){
+    ////            cell.EstimatedTotalCost( [Number]valuecell.Value() );
+    ////          }
+    //          else if( attricell.Value() = '绯绘暟' ){
+    //            cell.CoefficientValue( valuecell.Value() );
+    //          }
+    ////          else if( attricell.Value() = '鎬昏垂鐢�' ){
+    ////            cell.TotalCost( [Number]valuecell.Value() );
+    ////          }
+    //        }
           }
         }
       }
diff --git a/_Main/UI/MacroPlannerWebApp/Component_ApplicationMacroPlanner/Component_ActionBarGroupReport.def b/_Main/UI/MacroPlannerWebApp/Component_ApplicationMacroPlanner/Component_ActionBarGroupReport.def
index e6454fc..159f17e 100644
--- a/_Main/UI/MacroPlannerWebApp/Component_ApplicationMacroPlanner/Component_ActionBarGroupReport.def
+++ b/_Main/UI/MacroPlannerWebApp/Component_ApplicationMacroPlanner/Component_ActionBarGroupReport.def
@@ -161,6 +161,17 @@
         Taborder: 12
       ]
     }
+    Component ButtonAssemblyOnlinePlanVersion
+    {
+      #keys: '[415136.0.1201203922]'
+      BaseType: 'WebButton'
+      Properties:
+      [
+        Image: 'Document'
+        Label: 'Assembly online plan version'
+        Taborder: 13
+      ]
+    }
   ]
   Properties:
   [
diff --git a/_Main/UI/MacroPlannerWebApp/Component_ApplicationMacroPlanner/Response_MacroPlanner_ActionBarGroupReport_ButtonAssemblyOnlinePlanVersion_O.def b/_Main/UI/MacroPlannerWebApp/Component_ApplicationMacroPlanner/Response_MacroPlanner_ActionBarGroupReport_ButtonAssemblyOnlinePlanVersion_O.def
new file mode 100644
index 0000000..d296f26
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_ApplicationMacroPlanner/Response_MacroPlanner_ActionBarGroupReport_ButtonAssemblyOnlinePlanVersion_O.def
@@ -0,0 +1,16 @@
+Quintiq file version 2.0
+#parent: ActionBarGroupReport/ButtonAssemblyOnlinePlanVersion
+Response OnClick () id:Response_MacroPlanner_ActionBarGroupReport_ButtonAssemblyOnlinePlanVersion_OnClick
+{
+  #keys: '[415136.0.1201203950]'
+  CanBindMultiple: false
+  DefinitionID: 'Responsedef_WebButton_OnClick'
+  QuillAction
+  {
+    Body:
+    [*
+      ApplicationScope.ViewManager().ResetUserViewById( "Assembly_online_plan_version", true);
+    *]
+    GroupServerCalls: false
+  }
+}
diff --git "a/_Main/UI/MacroPlannerWebApp/Component_FormAssemblyOnlinePlanVersion/Component_MatrixEditorTable\043384.def" "b/_Main/UI/MacroPlannerWebApp/Component_FormAssemblyOnlinePlanVersion/Component_MatrixEditorTable\043384.def"
new file mode 100644
index 0000000..3dacaf1
--- /dev/null
+++ "b/_Main/UI/MacroPlannerWebApp/Component_FormAssemblyOnlinePlanVersion/Component_MatrixEditorTable\043384.def"
@@ -0,0 +1,104 @@
+Quintiq file version 2.0
+Component MatrixEditorTable id:MatrixEditorTable_384
+{
+  #keys: '[415136.0.1199351187]'
+  BaseType: 'WebMatrixEditor'
+  Children:
+  [
+    Component MatrixEditorCellTable
+    {
+      #keys: '[415136.0.1199351188]'
+      BaseType: 'WebMatrixEditorCell'
+      Children:
+      [
+        Component DataExtractorCells
+        {
+          #keys: '[415136.0.1199351189]'
+          BaseType: 'WebDataExtractor'
+          Properties:
+          [
+            DataType: 'InterfaceDataset'
+            FilterArguments: 'search:QMacroPlanner::FormAssemblyOnlinePlanVersion.dhSearch'
+            FixedFilter: 'object.Column().TimeUnit() = search.TimeUnit() and object.Column().StartDate() >= search.StartDate() and object.Column().StartDate() <= search.EndDate()'
+            Source: 'InterfaceDataset'
+            Taborder: 0
+            Transformation: 'AssemblyOnlinePlanVersion.Row.Cell'
+          ]
+        }
+      ]
+      Properties:
+      [
+        Attributes: 'Value'
+        Column: 'Column'
+        Row: 'Row'
+        Taborder: 0
+      ]
+    }
+    Component MatrixEditorRowsTable
+    {
+      #keys: '[415136.0.1199351190]'
+      BaseType: 'WebMatrixEditorHeaderLevel'
+      Children:
+      [
+        Component DataExtractorRows
+        {
+          #keys: '[415136.0.1199351191]'
+          BaseType: 'WebDataExtractor'
+          Properties:
+          [
+            DataType: 'InterfaceDataset'
+            Description: "( search.Generation() = '<All>' or object.Product_MP().Generation() = search.Generation() ) and ( search.MqbMlb() = '<All>' or object.Product_MP().MQBMLB() = search.MqbMlb() ) and ( search.Power() = '<All>' or object.Product_MP().Power() = search.Power() )"
+            FilterArguments: 'search:QMacroPlanner::FormAssemblyOnlinePlanVersion.dhSearch'
+            FixedFilter: "( search.Product() = '<All>' or object.ProductID() = search.Product() ) and ( search.ProductionLine() = '<All>' or object.ProductionLine() = search.ProductionLine() )"
+            Source: 'InterfaceDataset'
+            Taborder: 0
+            Transformation: 'AssemblyOnlinePlanVersion.Row'
+          ]
+        }
+      ]
+      Properties:
+      [
+        Legend: 'ProductID'
+        SortCriteria: 'ProductID'
+        Taborder: 1
+      ]
+    }
+    Component MatrixEditorColumnsTable
+    {
+      #keys: '[415136.0.1199351192]'
+      BaseType: 'WebMatrixEditorHeaderLevel'
+      Children:
+      [
+        Component DataExtractorColumns
+        {
+          #keys: '[415136.0.1199351193]'
+          BaseType: 'WebDataExtractor'
+          Properties:
+          [
+            DataType: 'InterfaceDataset'
+            FilterArguments: 'search:QMacroPlanner::FormAssemblyOnlinePlanVersion.dhSearch'
+            FixedFilter: 'object.TimeUnit() = search.TimeUnit() and object.StartDate() >= search.StartDate() and object.StartDate() <= search.EndDate()'
+            Source: 'InterfaceDataset'
+            Taborder: 0
+            Transformation: 'AssemblyOnlinePlanVersion.Column'
+          ]
+        }
+      ]
+      Properties:
+      [
+        Legend: 'ColumnName'
+        SortCriteria: 'StartDate'
+        Taborder: 2
+      ]
+    }
+    #child: matrixEditorActionBarPageTable_1
+    #child: matrixeditorContextMenuTable_1
+  ]
+  Properties:
+  [
+    Columns: 'MatrixEditorColumnsTable'
+    ContextMenu: 'matrixeditorContextMenuTable'
+    Rows: 'MatrixEditorRowsTable'
+    Taborder: 0
+  ]
+}
diff --git "a/_Main/UI/MacroPlannerWebApp/Component_FormAssemblyOnlinePlanVersion/Component_PanelHeader\043952.def" "b/_Main/UI/MacroPlannerWebApp/Component_FormAssemblyOnlinePlanVersion/Component_PanelHeader\043952.def"
new file mode 100644
index 0000000..9268559
--- /dev/null
+++ "b/_Main/UI/MacroPlannerWebApp/Component_FormAssemblyOnlinePlanVersion/Component_PanelHeader\043952.def"
@@ -0,0 +1,20 @@
+Quintiq file version 2.0
+Component PanelHeader id:PanelHeader_952
+{
+  #keys: '[415136.0.1199302065]'
+  BaseType: 'WebPanel'
+  Children:
+  [
+    #child: PanelUnit
+    #child: PanelProductLine
+    #child: PanelOperation_283
+    #child: PanelTimeUnit_234
+    #child: PanelPeriod
+    #child: PanelProduct_937
+  ]
+  Properties:
+  [
+    Orientation: 'horizontal'
+    Taborder: 1
+  ]
+}
diff --git "a/_Main/UI/MacroPlannerWebApp/Component_FormAssemblyOnlinePlanVersion/Component_PanelOperation\043283.def" "b/_Main/UI/MacroPlannerWebApp/Component_FormAssemblyOnlinePlanVersion/Component_PanelOperation\043283.def"
new file mode 100644
index 0000000..bc7d09f
--- /dev/null
+++ "b/_Main/UI/MacroPlannerWebApp/Component_FormAssemblyOnlinePlanVersion/Component_PanelOperation\043283.def"
@@ -0,0 +1,24 @@
+Quintiq file version 2.0
+Component PanelOperation id:PanelOperation_283
+{
+  #keys: '[415136.0.1199302076]'
+  BaseType: 'WebPanel'
+  Children:
+  [
+    Component ButtonSearch
+    {
+      #keys: '[415136.0.1199302077]'
+      BaseType: 'WebButton'
+      Properties:
+      [
+        Image: 'VIEW'
+        Taborder: 0
+      ]
+    }
+  ]
+  Properties:
+  [
+    Taborder: 5
+    Visible: false
+  ]
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormAssemblyOnlinePlanVersion/Component_PanelPeriod.def b/_Main/UI/MacroPlannerWebApp/Component_FormAssemblyOnlinePlanVersion/Component_PanelPeriod.def
new file mode 100644
index 0000000..346d79a
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormAssemblyOnlinePlanVersion/Component_PanelPeriod.def
@@ -0,0 +1,35 @@
+Quintiq file version 2.0
+Component PanelPeriod
+{
+  #keys: '[415136.0.1199302080]'
+  BaseType: 'WebPanel'
+  Children:
+  [
+    Component DateSelectorStart
+    {
+      #keys: '[415136.0.1199302081]'
+      BaseType: 'WebDateSelector'
+      Properties:
+      [
+        Label: 'Start date'
+        Taborder: 0
+      ]
+    }
+    Component DateSelectorEnd
+    {
+      #keys: '[415136.0.1199302082]'
+      BaseType: 'WebDateSelector'
+      Properties:
+      [
+        Date: 9999-12-31
+        Label: 'End date'
+        Taborder: 1
+      ]
+    }
+  ]
+  Properties:
+  [
+    Orientation: 'horizontal'
+    Taborder: 3
+  ]
+}
diff --git "a/_Main/UI/MacroPlannerWebApp/Component_FormAssemblyOnlinePlanVersion/Component_PanelProduct\043937.def" "b/_Main/UI/MacroPlannerWebApp/Component_FormAssemblyOnlinePlanVersion/Component_PanelProduct\043937.def"
new file mode 100644
index 0000000..85b3013
--- /dev/null
+++ "b/_Main/UI/MacroPlannerWebApp/Component_FormAssemblyOnlinePlanVersion/Component_PanelProduct\043937.def"
@@ -0,0 +1,25 @@
+Quintiq file version 2.0
+Component PanelProduct id:PanelProduct_937
+{
+  #keys: '[415136.0.1199302078]'
+  BaseType: 'WebPanel'
+  Children:
+  [
+    Component ddslProduct
+    {
+      #keys: '[415136.0.1199302079]'
+      BaseType: 'WebDropDownStringList'
+      Properties:
+      [
+        FixedSize: false
+        Label: 'Product'
+        Taborder: 0
+      ]
+    }
+  ]
+  Properties:
+  [
+    FixedSize: true
+    Taborder: 2
+  ]
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormAssemblyOnlinePlanVersion/Component_PanelProductLine.def b/_Main/UI/MacroPlannerWebApp/Component_FormAssemblyOnlinePlanVersion/Component_PanelProductLine.def
new file mode 100644
index 0000000..c128e14
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormAssemblyOnlinePlanVersion/Component_PanelProductLine.def
@@ -0,0 +1,24 @@
+Quintiq file version 2.0
+Component PanelProductLine
+{
+  #keys: '[415136.0.1199302072]'
+  BaseType: 'WebPanel'
+  Children:
+  [
+    Component ddslMQBMLB
+    {
+      #keys: '[415136.0.1199302073]'
+      BaseType: 'WebDropDownStringList'
+      Properties:
+      [
+        Label: 'MQB/MLB'
+        Taborder: 0
+      ]
+    }
+  ]
+  Properties:
+  [
+    FixedSize: true
+    Taborder: 1
+  ]
+}
diff --git "a/_Main/UI/MacroPlannerWebApp/Component_FormAssemblyOnlinePlanVersion/Component_PanelTable\043273.def" "b/_Main/UI/MacroPlannerWebApp/Component_FormAssemblyOnlinePlanVersion/Component_PanelTable\043273.def"
new file mode 100644
index 0000000..3db3b8c
--- /dev/null
+++ "b/_Main/UI/MacroPlannerWebApp/Component_FormAssemblyOnlinePlanVersion/Component_PanelTable\043273.def"
@@ -0,0 +1,14 @@
+Quintiq file version 2.0
+Component PanelTable id:PanelTable_273
+{
+  #keys: '[415136.0.1199351186]'
+  BaseType: 'WebPanel'
+  Children:
+  [
+    #child: MatrixEditorTable_384
+  ]
+  Properties:
+  [
+    Taborder: 2
+  ]
+}
diff --git "a/_Main/UI/MacroPlannerWebApp/Component_FormAssemblyOnlinePlanVersion/Component_PanelTimeUnit\043234.def" "b/_Main/UI/MacroPlannerWebApp/Component_FormAssemblyOnlinePlanVersion/Component_PanelTimeUnit\043234.def"
new file mode 100644
index 0000000..4fcaa20
--- /dev/null
+++ "b/_Main/UI/MacroPlannerWebApp/Component_FormAssemblyOnlinePlanVersion/Component_PanelTimeUnit\043234.def"
@@ -0,0 +1,26 @@
+Quintiq file version 2.0
+Component PanelTimeUnit id:PanelTimeUnit_234
+{
+  #keys: '[415136.0.1199302074]'
+  BaseType: 'WebPanel'
+  Children:
+  [
+    Component RadioButtonGroupUseForTimeUnit
+    {
+      #keys: '[415136.0.1199302075]'
+      BaseType: 'WebRadioButtonGroup'
+      Properties:
+      [
+        ButtonLabels: 'Day;Week;Month'
+        ButtonValues: 'Day;Week;Month'
+        Orientation: 'horizontal'
+        Taborder: 0
+        Title: 'Periods'
+      ]
+    }
+  ]
+  Properties:
+  [
+    Taborder: 4
+  ]
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormAssemblyOnlinePlanVersion/Component_PanelUnit.def b/_Main/UI/MacroPlannerWebApp/Component_FormAssemblyOnlinePlanVersion/Component_PanelUnit.def
new file mode 100644
index 0000000..b1aa566
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormAssemblyOnlinePlanVersion/Component_PanelUnit.def
@@ -0,0 +1,24 @@
+Quintiq file version 2.0
+Component PanelUnit
+{
+  #keys: '[415136.0.1199302066]'
+  BaseType: 'WebPanel'
+  Children:
+  [
+    Component ddslUnit
+    {
+      #keys: '[415136.0.1199302067]'
+      BaseType: 'WebDropDownStringList'
+      Properties:
+      [
+        Label: 'Unit'
+        Taborder: 0
+      ]
+    }
+  ]
+  Properties:
+  [
+    FixedSize: true
+    Taborder: 0
+  ]
+}
diff --git "a/_Main/UI/MacroPlannerWebApp/Component_FormAssemblyOnlinePlanVersion/Component_matrixEditorActionBarPageTable\0431.def" "b/_Main/UI/MacroPlannerWebApp/Component_FormAssemblyOnlinePlanVersion/Component_matrixEditorActionBarPageTable\0431.def"
new file mode 100644
index 0000000..fa90a32
--- /dev/null
+++ "b/_Main/UI/MacroPlannerWebApp/Component_FormAssemblyOnlinePlanVersion/Component_matrixEditorActionBarPageTable\0431.def"
@@ -0,0 +1,10 @@
+Quintiq file version 2.0
+Component matrixEditorActionBarPageTable id:matrixEditorActionBarPageTable_1
+{
+  #keys: '[415136.0.1199351194]'
+  BaseType: 'matrixEditorActionBarPage'
+  Properties:
+  [
+    Taborder: 3
+  ]
+}
diff --git "a/_Main/UI/MacroPlannerWebApp/Component_FormAssemblyOnlinePlanVersion/Component_matrixeditorContextMenuTable\0431.def" "b/_Main/UI/MacroPlannerWebApp/Component_FormAssemblyOnlinePlanVersion/Component_matrixeditorContextMenuTable\0431.def"
new file mode 100644
index 0000000..9b385f8
--- /dev/null
+++ "b/_Main/UI/MacroPlannerWebApp/Component_FormAssemblyOnlinePlanVersion/Component_matrixeditorContextMenuTable\0431.def"
@@ -0,0 +1,10 @@
+Quintiq file version 2.0
+Component matrixeditorContextMenuTable id:matrixeditorContextMenuTable_1
+{
+  #keys: '[415136.0.1199351195]'
+  BaseType: 'matrixeditorContextMenu'
+  Properties:
+  [
+    Taborder: 4
+  ]
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormAssemblyOnlinePlanVersion/Response_PanelPeriod_DateSelectorEnd_OnChanged.def b/_Main/UI/MacroPlannerWebApp/Component_FormAssemblyOnlinePlanVersion/Response_PanelPeriod_DateSelectorEnd_OnChanged.def
new file mode 100644
index 0000000..47cc9a6
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormAssemblyOnlinePlanVersion/Response_PanelPeriod_DateSelectorEnd_OnChanged.def
@@ -0,0 +1,24 @@
+Quintiq file version 2.0
+#parent: PanelPeriod/DateSelectorEnd
+Response OnChanged () id:Response_PanelPeriod_DateSelectorEnd_OnChanged
+{
+  #keys: '[415136.0.1199302051]'
+  CanBindMultiple: false
+  DefinitionID: 'Responsedef_WebDateTimeFieldBase_OnChanged'
+  QuillAction
+  {
+    Body:
+    [*
+      //鏃ユ湡鏀瑰彉鍚庡埛鏂版樉绀�
+      if( this.Date() < DateSelectorStart.Date() ){
+        this.HintError( 'The end date cannot be less than the start date!' );
+      }else{
+        if( dhSearch.Data().EndDate() <> this.Date() ){
+          dhSearch.Data().EndDate( this.Date() );
+      //    DataHolderTable.Data().Generate( dhSearch.Data(), DataHolderProduct.Data() );
+        }
+      }
+    *]
+    GroupServerCalls: false
+  }
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormAssemblyOnlinePlanVersion/Response_PanelPeriod_DateSelectorStart_OnChanged.def b/_Main/UI/MacroPlannerWebApp/Component_FormAssemblyOnlinePlanVersion/Response_PanelPeriod_DateSelectorStart_OnChanged.def
new file mode 100644
index 0000000..6344643
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormAssemblyOnlinePlanVersion/Response_PanelPeriod_DateSelectorStart_OnChanged.def
@@ -0,0 +1,24 @@
+Quintiq file version 2.0
+#parent: PanelPeriod/DateSelectorStart
+Response OnChanged () id:Response_PanelPeriod_DateSelectorStart_OnChanged
+{
+  #keys: '[415136.0.1199302052]'
+  CanBindMultiple: false
+  DefinitionID: 'Responsedef_WebDateTimeFieldBase_OnChanged'
+  QuillAction
+  {
+    Body:
+    [*
+      //鏃ユ湡鏀瑰彉鍚庡埛鏂版樉绀�
+      if( this.Date() > DateSelectorEnd.Date() ){
+        this.HintError( 'The start date cannot be later than the end date!' );
+      }else{
+        if( dhSearch.Data().StartDate() <> this.Date() ){
+          dhSearch.Data().StartDate( this.Date() );
+      //    DataHolderTable.Data().Generate( dhSearch.Data(), DataHolderProduct.Data() );
+        }
+      }
+    *]
+    GroupServerCalls: false
+  }
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormAssemblyOnlinePlanVersion/Response_PanelProductLine_ddslMQBMLB_OnCreated.def b/_Main/UI/MacroPlannerWebApp/Component_FormAssemblyOnlinePlanVersion/Response_PanelProductLine_ddslMQBMLB_OnCreated.def
new file mode 100644
index 0000000..90dcebb
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormAssemblyOnlinePlanVersion/Response_PanelProductLine_ddslMQBMLB_OnCreated.def
@@ -0,0 +1,23 @@
+Quintiq file version 2.0
+#parent: PanelProductLine/ddslMQBMLB
+Response OnCreated () id:Response_PanelProductLine_ddslMQBMLB_OnCreated
+{
+  #keys: '[415136.0.1199302058]'
+  CanBindMultiple: false
+  DefinitionID: 'Responsedef_WebComponent_OnCreated'
+  QuillAction
+  {
+    Body:
+    [*
+      values := selectuniquevalues( InterfaceDataset, AssemblyOnlinePlanVersion.Row, row, true, row.ProductionLine() );
+      
+      valueString := values.Concatenate( ";" );
+      valueString := selectuniquevalues( valueString.Tokenize( ";" ), Elements, tempS, true, tempS ).Concatenate( ";" );
+      
+      valueString := "<All>" + ifexpr( valueString = "", "", ";" ) + valueString;
+      
+      this.Strings( valueString );
+    *]
+    GroupServerCalls: false
+  }
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormAssemblyOnlinePlanVersion/Response_PanelProductLine_ddslMQBMLB_OnSelectionChanged.def b/_Main/UI/MacroPlannerWebApp/Component_FormAssemblyOnlinePlanVersion/Response_PanelProductLine_ddslMQBMLB_OnSelectionChanged.def
new file mode 100644
index 0000000..cd9201e
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormAssemblyOnlinePlanVersion/Response_PanelProductLine_ddslMQBMLB_OnSelectionChanged.def
@@ -0,0 +1,19 @@
+Quintiq file version 2.0
+#parent: PanelProductLine/ddslMQBMLB
+Response OnSelectionChanged () id:Response_PanelProductLine_ddslMQBMLB_OnSelectionChanged
+{
+  #keys: '[415136.0.1199302057]'
+  CanBindMultiple: false
+  DefinitionID: 'Responsedef_WebDropDownStringList_OnSelectionChanged'
+  QuillAction
+  {
+    Body:
+    [*
+      if( dhSearch.Data().ProductionLine() <> selection ){
+        dhSearch.Data().ProductionLine( selection );
+      //  DataHolderTable.Data().Generate( dhSearch.Data(), DataHolderProduct.Data() ); 
+      }
+    *]
+    GroupServerCalls: false
+  }
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormAssemblyOnlinePlanVersion/Response_PanelProduct_937_ddslProduct_OnCreated.def b/_Main/UI/MacroPlannerWebApp/Component_FormAssemblyOnlinePlanVersion/Response_PanelProduct_937_ddslProduct_OnCreated.def
new file mode 100644
index 0000000..168d93e
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormAssemblyOnlinePlanVersion/Response_PanelProduct_937_ddslProduct_OnCreated.def
@@ -0,0 +1,23 @@
+Quintiq file version 2.0
+#parent: PanelProduct_937/ddslProduct
+Response OnCreated () id:Response_PanelProduct_937_ddslProduct_OnCreated
+{
+  #keys: '[415136.0.1199302054]'
+  CanBindMultiple: false
+  DefinitionID: 'Responsedef_WebComponent_OnCreated'
+  QuillAction
+  {
+    Body:
+    [*
+      values := selectuniquevalues( InterfaceDataset, AssemblyOnlinePlanVersion.Row, row, true, row.ProductID() );
+      
+      valueString := values.Concatenate( ";" );
+      valueString := selectuniquevalues( valueString.Tokenize( ";" ), Elements, tempS, true, tempS ).Concatenate( ";" );
+      
+      valueString := "<All>" + ifexpr( valueString = "", "", ";" ) + valueString;
+      
+      this.Strings( valueString );
+    *]
+    GroupServerCalls: false
+  }
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormAssemblyOnlinePlanVersion/Response_PanelProduct_937_ddslProduct_OnSelectionChanged.def b/_Main/UI/MacroPlannerWebApp/Component_FormAssemblyOnlinePlanVersion/Response_PanelProduct_937_ddslProduct_OnSelectionChanged.def
new file mode 100644
index 0000000..e7e654d
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormAssemblyOnlinePlanVersion/Response_PanelProduct_937_ddslProduct_OnSelectionChanged.def
@@ -0,0 +1,19 @@
+Quintiq file version 2.0
+#parent: PanelProduct_937/ddslProduct
+Response OnSelectionChanged () id:Response_PanelProduct_937_ddslProduct_OnSelectionChanged
+{
+  #keys: '[415136.0.1199302053]'
+  CanBindMultiple: false
+  DefinitionID: 'Responsedef_WebDropDownStringList_OnSelectionChanged'
+  QuillAction
+  {
+    Body:
+    [*
+      if( dhSearch.Data().Product() <> selection ){
+        dhSearch.Data().Product( selection );
+      //  DataHolderTable.Data().Generate( dhSearch.Data(), DataHolderProduct.Data() ); 
+      }
+    *]
+    GroupServerCalls: false
+  }
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormAssemblyOnlinePlanVersion/Response_PanelTimeUnit_234_RadioButtonGroupUseForTimeUnit_OnChanged.def b/_Main/UI/MacroPlannerWebApp/Component_FormAssemblyOnlinePlanVersion/Response_PanelTimeUnit_234_RadioButtonGroupUseForTimeUnit_OnChanged.def
new file mode 100644
index 0000000..1c80e7f
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormAssemblyOnlinePlanVersion/Response_PanelTimeUnit_234_RadioButtonGroupUseForTimeUnit_OnChanged.def
@@ -0,0 +1,20 @@
+Quintiq file version 2.0
+#parent: PanelTimeUnit_234/RadioButtonGroupUseForTimeUnit
+Response OnChanged () id:Response_PanelTimeUnit_234_RadioButtonGroupUseForTimeUnit_OnChanged
+{
+  #keys: '[415136.0.1199302056]'
+  CanBindMultiple: false
+  DefinitionID: 'Responsedef_WebRadioButtonGroup_OnChanged'
+  QuillAction
+  {
+    Body:
+    [*
+      //鍖洪棿鏀瑰彉鍚庡埛鏂版樉绀� 
+      if( dhSearch.Data().TimeUnit() <> this.BoundValue() ){
+        dhSearch.Data().TimeUnit( this.BoundValue() );
+      //  DataHolderTable.Data().Generate( dhSearch.Data(), DataHolderProduct.Data() );
+      }
+    *]
+    GroupServerCalls: false
+  }
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormAssemblyOnlinePlanVersion/Response_PanelTimeUnit_234_RadioButtonGroupUseForTimeUnit_OnCreated.def b/_Main/UI/MacroPlannerWebApp/Component_FormAssemblyOnlinePlanVersion/Response_PanelTimeUnit_234_RadioButtonGroupUseForTimeUnit_OnCreated.def
new file mode 100644
index 0000000..10cf9b7
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormAssemblyOnlinePlanVersion/Response_PanelTimeUnit_234_RadioButtonGroupUseForTimeUnit_OnCreated.def
@@ -0,0 +1,16 @@
+Quintiq file version 2.0
+#parent: PanelTimeUnit_234/RadioButtonGroupUseForTimeUnit
+Response OnCreated () id:Response_PanelTimeUnit_234_RadioButtonGroupUseForTimeUnit_OnCreated
+{
+  #keys: '[415136.0.1199302055]'
+  CanBindMultiple: false
+  DefinitionID: 'Responsedef_WebComponent_OnCreated'
+  QuillAction
+  {
+    Body:
+    [*
+      this.ButtonValues( Translations::MP_GlobalParameters_Day() + ';' + Translations::MP_GlobalParameters_Week() + ';' + Translations::MP_GlobalParameters_Month() );
+    *]
+    GroupServerCalls: false
+  }
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormAssemblyOnlinePlanVersion/Response_PanelUnit_ddslUnit_OnCreated.def b/_Main/UI/MacroPlannerWebApp/Component_FormAssemblyOnlinePlanVersion/Response_PanelUnit_ddslUnit_OnCreated.def
new file mode 100644
index 0000000..858c1ae
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormAssemblyOnlinePlanVersion/Response_PanelUnit_ddslUnit_OnCreated.def
@@ -0,0 +1,23 @@
+Quintiq file version 2.0
+#parent: PanelUnit/ddslUnit
+Response OnCreated () id:Response_PanelUnit_ddslUnit_OnCreated
+{
+  #keys: '[415136.0.1199302062]'
+  CanBindMultiple: false
+  DefinitionID: 'Responsedef_WebComponent_OnCreated'
+  QuillAction
+  {
+    Body:
+    [*
+      values := selectuniquevalues( InterfaceDataset, AssemblyOnlinePlanVersion.Row, row, true, row.Type() );
+      
+      valueString := values.Concatenate( ";" );
+      valueString := selectuniquevalues( valueString.Tokenize( ";" ), Elements, tempS, true, tempS ).Concatenate( ";" );
+      
+      valueString := "<All>" + ifexpr( valueString = "", "", ";" ) + valueString;
+      
+      this.Strings( valueString );
+    *]
+    GroupServerCalls: false
+  }
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormAssemblyOnlinePlanVersion/Response_PanelUnit_ddslUnit_OnSelectionChanged.def b/_Main/UI/MacroPlannerWebApp/Component_FormAssemblyOnlinePlanVersion/Response_PanelUnit_ddslUnit_OnSelectionChanged.def
new file mode 100644
index 0000000..82300e2
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormAssemblyOnlinePlanVersion/Response_PanelUnit_ddslUnit_OnSelectionChanged.def
@@ -0,0 +1,19 @@
+Quintiq file version 2.0
+#parent: PanelUnit/ddslUnit
+Response OnSelectionChanged () id:Response_PanelUnit_ddslUnit_OnSelectionChanged
+{
+  #keys: '[415136.0.1199302061]'
+  CanBindMultiple: false
+  DefinitionID: 'Responsedef_WebDropDownStringList_OnSelectionChanged'
+  QuillAction
+  {
+    Body:
+    [*
+      if( dhSearch.Data().Unit() <> selection ){
+        dhSearch.Data().Unit( selection );
+      //  DataHolderTable.Data().Generate( dhSearch.Data(), DataHolderProduct.Data() ); 
+      }
+    *]
+    GroupServerCalls: false
+  }
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormAssemblyOnlinePlanVersion/_ROOT_Component_FormAssemblyOnlinePlanVersion.def b/_Main/UI/MacroPlannerWebApp/Component_FormAssemblyOnlinePlanVersion/_ROOT_Component_FormAssemblyOnlinePlanVersion.def
new file mode 100644
index 0000000..279c6ee
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormAssemblyOnlinePlanVersion/_ROOT_Component_FormAssemblyOnlinePlanVersion.def
@@ -0,0 +1,38 @@
+Quintiq file version 2.0
+#root
+#parent: MacroPlannerWebApp
+OrphanComponent FormAssemblyOnlinePlanVersion
+{
+  #keys: '[415136.0.1199301919]'
+  BaseType: 'WebForm'
+  Children:
+  [
+    Component dhSearch
+    {
+      #keys: '[415136.0.1199301972]'
+      BaseType: 'WebDataHolder'
+      Databinding: 'AssemblyOnlinePlanVersionSearch'
+      Children:
+      [
+        Component deSearch id:deSearch_604
+        {
+          #keys: '[415136.0.1199301973]'
+          BaseType: 'WebDataExtractor'
+          Properties:
+          [
+            DataType: 'InterfaceDataset'
+            Source: 'InterfaceDataset'
+            Taborder: 0
+            Transformation: 'AssemblyOnlinePlanVersionSearch'
+          ]
+        }
+      ]
+      Properties:
+      [
+        Taborder: 0
+      ]
+    }
+    #child: PanelHeader_952
+    #child: PanelTable_273
+  ]
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Views/Assembly_online_plan_version.vw b/_Main/UI/MacroPlannerWebApp/Views/Assembly_online_plan_version.vw
new file mode 100644
index 0000000..7144620
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Views/Assembly_online_plan_version.vw
@@ -0,0 +1,116 @@
+Quintiq file version 2.0
+{
+  viewcontents
+  {
+    forms
+    {
+      form_FormAssemblyOnlinePlanVersion
+      {
+        title: 'QMacroPlanner::FormAssemblyOnlinePlanVersion'
+        shown: true
+        componentID: 'QMacroPlanner::FormAssemblyOnlinePlanVersion'
+        layout
+        {
+          mode: 'open'
+          rowPosition: 1
+          rowSpan: 16
+          columnPosition: 1
+          columnSpan: 12
+        }
+        components
+        {
+          FormAssemblyOnlinePlanVersion_PanelHeader
+          {
+            sizeRatio: 1
+          }
+          FormAssemblyOnlinePlanVersion_PanelUnit
+          {
+            sizeRatio: 1
+          }
+          FormAssemblyOnlinePlanVersion_PanelProductLine
+          {
+            sizeRatio: 1
+          }
+          FormAssemblyOnlinePlanVersion_PanelProduct
+          {
+            sizeRatio: 1
+          }
+          FormAssemblyOnlinePlanVersion_PanelPeriod
+          {
+            sizeRatio: 1
+          }
+          FormAssemblyOnlinePlanVersion_PanelTimeUnit
+          {
+            sizeRatio: 1
+          }
+          FormAssemblyOnlinePlanVersion_PanelOperation
+          {
+            sizeRatio: 1
+          }
+          FormAssemblyOnlinePlanVersion_PanelTable
+          {
+            sizeRatio: 1
+          }
+          FormAssemblyOnlinePlanVersion_MatrixEditorTable
+          {
+            gridColor: '#c4c4c4'
+            totalHeaderWidth: 200
+            attributeHeaderWidthRatio: 0.6
+            nameHeaderWidthRatio: 0.4
+            columnWidth: 100
+            horizontalGrid: true
+            verticalGrid: true
+            backendState
+            {
+              componentId: 'QMacroPlanner::FormAssemblyOnlinePlanVersion.MatrixEditorTable'
+              state
+              {
+                cells
+                {
+                  attributes
+                  {
+                    attribute_Value
+                    {
+                      type: 'MatrixEditorWebApiCellDataModelInterest'
+                      index: 0
+                      rowsubtotal: ''
+                      columnsubtotal: ''
+                      attribute: 'Value'
+                    }
+                  }
+                }
+                columns
+                {
+                  sorting
+                  {
+                    criteria: "datamember:'StartDate'"
+                  }
+                }
+                rows
+                {
+                  sorting
+                  {
+                    criteria: "datamember:'ProductID'"
+                  }
+                }
+              }
+            }
+          }
+        }
+      }
+    }
+    userconfigurableinformation
+    {
+    }
+    index: 0
+    image: 'Document'
+    page: ''
+    group: ''
+    description: ''
+  }
+  formatversion: 2
+  id: 'Assembly_online_plan_version'
+  name: 'Assembly online plan version view'
+  isglobal: false
+  isroot: true
+}

--
Gitblit v1.9.3