hongjli
2023-10-13 1093d0c693c5d10a0fa5bf614eb4b48161bee1ec
填产优化
已添加5个文件
已修改18个文件
已删除1个文件
1544 ■■■■ 文件已修改
_Main/BL/Type_CapacityAllocationResults/StaticMethod_CreateDate1.qbl 42 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_CapacityAllocationResults/StaticMethod_IterativeGeneration3.qbl 23 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_CapacityAllocationResults/StaticMethod_Test.qbl 15 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_CapacityAllocationResults/StaticMethod_Test1.qbl 22 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_CustomerAndForecastOrder/StaticMethod_CreateData.qbl 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_FillingCapacityOrder/StaticMethod_CreateFillingCapacityOrder.qbl 37 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlanner/Component_FormTestButtonCollection/Response_Button398_OnClick.def 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_DialogCapacityAllocationResultsRuleConfiguration/Component_pnlContent.def 8 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_DialogCapacityAllocationResultsRuleConfiguration/Response_pnlActions_btnOk_OnClick.def 12 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_DialogFillingCapacityOrder/Response_pnlActions_btnOk_OnClick.def 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_DialogFillingCustomerAndForecast/Component_pnlContent.def 22 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_DialogFillingCustomerAndForecast/Method_ClickBtnOk.def 17 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_DialogFillingCustomerAndForecast/Response_pnlActions_btnOk_OnClick.def 12 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_FormCapacityAllocationResultsRuleConfiguration/Component_ListCapacityAllocationResultsRuleConfiguration.def 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_FormCapacityAllocationResultsRuleConfiguration/Component_listContextMenuCapacityAllocationResultsRuleConfiguration.def 11 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_FormCapacityAllocationResultsRuleConfiguration/Response_ListCapacityAllocationResultsRuleConfiguration_MenuGenerateByPeggin.def 23 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_FormFillingCapacityOrder/Component_listContextMenuFillingCapacityOrder.def 12 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_FormFillingCapacityOrder/Response_ListFillingCapacityOrder_MenuDelete_OnClick.def 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_FormFillingCapacityOrder/Response_ListFillingCapacityOrder_MenuSelectAll_OnClick.def 17 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_FormFillingCapacityScheme/Component_listContextMenuCustomerAndFillingCapacityOrder.def 15 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_FormFillingCapacityScheme/Response_ListCustomerAndFillingCapacityOrder_MenuRefresh_OnClick.def 17 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_FormFillingCapacityScheme/Response_PanelButton_ButtonTransform_OnClick.def 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Views/Test.vw 38 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_var/_Main/ProjSettings/MacroPlanner/Views/X_分析视图_[414702.1.50321581].vw 1188 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_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(), "    åº“存点ID:", 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()
                                               );
    }
  *]
}
_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--;
            }
            }
          }
        }
      }
_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 );
      }
    }
  *]
_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( "=======================================================>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>" );
      }
    }
  *]
}
_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(),
_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
                                     );
    }
  *]
}
_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'
_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: '模板产成品ID'
        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
      ]
    }
  ]
_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()
                                                                  );
      }
      
      
_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" ),
_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:
  [
_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();
  *]
}
_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
  {
_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
      ]
_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:
  [
_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
  }
}
_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:
  [
_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'
_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
  }
}
_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: '全选'
      ]
    }
_Main/UI/MacroPlannerWebApp/Component_FormFillingCapacityScheme/Response_ListCustomerAndFillingCapacityOrder_MenuRefresh_OnClick.def
ÎļþÒÑɾ³ý
_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 );
    *]
_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
_var/_Main/ProjSettings/MacroPlanner/Views/X_·ÖÎöÊÓͼ_[414702.1.50321581].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]'
                         }
                       }
                     }
                   }
                  }
                 }
                }
               }
              }
             }
            }
           }
          }
         }
        }
       }
      }
     }
    }
   }
  }