xiaoding721
2024-10-29 69296cb82cbac409959d82417ad0eddf07f51bbb
Merge branch 'dev' of http://47.101.211.7:10101/r/VWED into dev
已重命名7个文件
已复制5个文件
已修改25个文件
已添加37个文件
已删除5个文件
1687 ■■■■ 文件已修改
_Main/BL/Type_AOnlineAndMOfflinePlanPIR/StaticMethod_GenerateData.qbl 38 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_AssemblyOnlinePlanVersion/StaticMethod_GenerateData.qbl 62 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_DL_EngineRackCell/StaticMethod_CreateData.qbl 27 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_FinancialProductionSource/StaticMethod_Initialize.qbl 12 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_FinancialSalesSource/StaticMethod_InitializeNew.qbl 21 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_NewAssemblyOnlinePlanCell/Attribute_LineLayingOrEmptying.qbl 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_NewAssemblyOnlinePlanCell/StaticMethod_PostLayingProcessing.qbl 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_NewAssemblyOnlinePlanCell/StaticMethod_RefreshData.qbl 9 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_NewAssemblyOnlinePlanCell/StaticMethod_SetLineLayingOrEmptyingStatus.qbl 22 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_OfflinePlanArchiveVersion/Method_GetRow.qbl 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_OfflinePlanArchiveVersion/StaticMethod_GenerateData.qbl 62 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_OfflinePlanArchiveVersion/StaticMethod_RefreshData.qbl 43 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_PackagingPlanCell/Function_CalcPackagingInventory.qbl 9 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_PackagingPlanCell/StaticMethod_GenerateReport.qbl 7 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/Sys/Repr/Global/NewAssemblyOnlinePlanCell.qrp 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_ApplicationMacroPlanner/Component_ActionBarGroupArchiveReport.def 11 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_ApplicationMacroPlanner/Response_MacroPlanner_ActionBarGroupArchiveReport_ButtonOfflinePlanArchiveRe.def 16 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_ApplicationMacroPlanner/Response_MacroPlanner_ActionBarGroupPublish_ButtonPublish_OnClick.def 18 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_DialogPublishPlan/Component_pnlActions.def 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_DialogPublishPlan/Component_pnlAll#720.def 33 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_DialogPublishPlan/Component_pnlAssembleOnlinePlan#679.def 33 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_DialogPublishPlan/Component_pnlContent.def 20 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_DialogPublishPlan/Component_pnlCustomDemand#462.def 33 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_DialogPublishPlan/Component_pnlInventoryPlan#119.def 33 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_DialogPublishPlan/Component_pnlOfflinePlan#520.def 33 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_DialogPublishPlan/Component_pnlShiftPlan#780.def 33 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_DialogPublishPlan/Method_OnOK.def 35 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_DialogPublishPlan/Response_pnlActions_btnCancel_OnClick.def 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_DialogPublishPlan/Response_pnlActions_btnOk_OnClick.def 19 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_DialogPublishPlan/Response_pnlAll_720_cbAll_OnChanged.def 28 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_DialogPublishPlan/_ROOT_Component_DialogPublishPlan.def 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_DialogReportArchiveConfirm/Method_OnOK.def 38 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_DialogReportArchiveConfirm/Response_pnlActions_btnOk_OnClick.def 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_DialogULOTC/Component_pCC#847.def 29 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_DialogULOTC/Component_pDL#545.def 29 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_DialogULOTC/Component_pnlActions.def 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_DialogULOTC/Component_pnlContent.def 15 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_DialogULOTC/Component_pnlContent481.def 17 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_DialogULOTC/Response_pnlActions_btnCancel_OnClick.def 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_DialogULOTC/Response_pnlActions_btnOk_OnClick.def 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_DialogULOTC/_ROOT_Component_DialogULOTC.def 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_DialogUpperLimitOfTransferCapacity/Component_pnlContent.def 14 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_FormAssemblyOnlinePlanVersion/Response_PanelProductLine_ddslMQBMLB_OnSelectionChanged.def 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_FormAssemblyOnlinePlanVersion/Response_PanelProduct_937_ddslProduct_OnSelectionChanged.def 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_FormAssemblyOnlinePlanVersion/Response_PanelUnit_ddslUnit_OnSelectionChanged.def 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_FormCustomerDemandPPAIDS/Component_PanelGeneration.def 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_FormCustomerDemandPPAIDS/Component_PanelGeneration743.def 23 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_FormCustomerDemandPPAIDS/Component_PanelProduct.def 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_FormCustomerDemandPPAIDS/Response_PanelGeneration743_ddslGeneration859_OnSelectionChanged.def 19 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_FormCustomerDemandPPAIDS/Response_PanelGeneration_ddslGeneration_OnSelectionChanged#187.def 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_FormCustomerDemandPPAIDS/Response_PanelMLBMQB_ddslMQBMLB_OnSelectionChanged#456.def 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_FormCustomerDemandPPAIDS/Response_PanelPower_ddslPower_OnSelectionChanged#136.def 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_FormCustomerDemandPPAIDS/Response_PanelProduct_ddslProduct_OnSelectionChanged.def 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_FormCustomerDemandPPAIDS/_ROOT_Component_FormCustomerDemandPPAIDS.def 15 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_FormOfflinePlanArchive/Component_MatrixEditorTable.def 104 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_FormOfflinePlanArchive/Component_PanelHeader.def 20 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_FormOfflinePlanArchive/Component_PanelOperation.def 24 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_FormOfflinePlanArchive/Component_PanelPeriod#858.def 35 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_FormOfflinePlanArchive/Component_PanelProduct.def 25 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_FormOfflinePlanArchive/Component_PanelProductLine#603.def 24 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_FormOfflinePlanArchive/Component_PanelTable.def 14 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_FormOfflinePlanArchive/Component_PanelTimeUnit.def 26 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_FormOfflinePlanArchive/Component_PanelUnit#844.def 24 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_FormOfflinePlanArchive/Component_matrixEditorActionBarPageTable.def 10 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_FormOfflinePlanArchive/Component_matrixeditorContextMenuTable.def 10 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_FormOfflinePlanArchive/Response_PanelPeriod_858_DateSelectorEnd_OnChanged.def 24 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_FormOfflinePlanArchive/Response_PanelPeriod_858_DateSelectorStart_OnChanged.def 24 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_FormOfflinePlanArchive/Response_PanelProductLine_603_ddslMQBMLB_OnCreated.def 8 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_FormOfflinePlanArchive/Response_PanelProductLine_603_ddslMQBMLB_OnSelectionChanged.def 19 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_FormOfflinePlanArchive/Response_PanelProduct_ddslProduct_OnCreated.def 8 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_FormOfflinePlanArchive/Response_PanelProduct_ddslProduct_OnSelectionChanged.def 19 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_FormOfflinePlanArchive/Response_PanelTimeUnit_RadioButtonGroupUseForTimeUnit_OnChanged.def 20 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_FormOfflinePlanArchive/Response_PanelTimeUnit_RadioButtonGroupUseForTimeUnit_OnCreated.def 16 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_FormOfflinePlanArchive/Response_PanelUnit_844_ddslUnit_OnCreated.def 8 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_FormOfflinePlanArchive/Response_PanelUnit_844_ddslUnit_OnSelectionChanged.def 19 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_FormOfflinePlanArchive/_ROOT_Component_FormOfflinePlanArchive.def 43 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_FormTransferPlan/Response_pHeader_bMaximumDailyTransferCapacity_OnClick.def 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Views/Offline__plan_archive_report.vw 116 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Views/PackagingPlan.vw 109 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_AOnlineAndMOfflinePlanPIR/StaticMethod_GenerateData.qbl
@@ -51,25 +51,25 @@
      }
    }
    
    //traverse( version, OfflinePlanTable, table ){
    //  traverse( table, OfflinePlanColumn, column, column.ColumnDate() >= startdate and column.ColumnDate() <= enddate ){
    //    traverse( column, OfflinePlanCell, cell, ( werk = 'All' or cell.OfflinePlanRow().ProductionLine().FindString( werk, 0 ) > -1 )
    //              and ( cell.OfflinePlanRow().ProductionLine() <> 'DL_MOMO' or cell.OfflinePlanRow().ProductionLine() <> 'CC_MOMO' )
    //              and cell.OfflinePlanRow().Type() = '1' ){
    //      row              := cell.OfflinePlanRow();
    //      if( not exists( productids, Elements, e, e = row.ProductID() ) ){
    //        productids.Add( row.ProductID() );
    //      }
    //      pirdata          := selectobject(  pir, PIRData, pirdata, pirdata.Product() = row.ProductID() and pirdata.PlanningDate() = column.ColumnDate() );
    //      if( isnull( pirdata ) ){
    //        pirdata          := pir.PIRData( relnew, Product         := row.ProductID()
    //                                         , PlanningDate            := column.ColumnDate()
    //                                         , PlanningQty             := 0 );
    //      }
    //      pirdata.PlanningQty( pirdata.PlanningQty() + [Number]cell.Value() );
    //    }
    //  }
    //}
    traverse( owner, OfflinePlanArchiveVersion, table ){
      traverse( table, Column, column, column.StartDate() >= startdate and column.StartDate() <= enddate ){
        traverse( column, Cell, cell, ( werk = 'All' or cell.Row().ProductionLine().FindString( werk, 0 ) > -1 )
                  and ( cell.Row().ProductionLine() <> 'DL_MOMO' or cell.Row().ProductionLine() <> 'CC_MOMO' )
                  and cell.Row().Type() = '1' ){
          row              := cell.Row();
          if( not exists( productids, Elements, e, e = row.ProductID() ) ){
            productids.Add( row.ProductID() );
          }
          pirdata          := selectobject(  pir, PIRData, pirdata, pirdata.Product() = row.ProductID() and pirdata.PlanningDate() = column.StartDate() );
          if( isnull( pirdata ) ){
            pirdata          := pir.PIRData( relnew, Product           := row.ProductID()
                                             , PlanningDate            := column.StartDate()
                                             , PlanningQty             := 0 );
          }
          pirdata.PlanningQty( pirdata.PlanningQty() + [Number]cell.Value() );
        }
      }
    }
    traverse( productids, Elements, e ){
      for( date := startdate.StartOfWeek(); date <= enddate; date := ( date + Duration::Days( 1 ) ).Date() ){
        if( not exists( pir, PIRData, pirdata, pirdata.Product() = e and pirdata.PlanningDate() = date ) ){
_Main/BL/Type_AssemblyOnlinePlanVersion/StaticMethod_GenerateData.qbl
ÎļþÒÑɾ³ý
_Main/BL/Type_DL_EngineRackCell/StaticMethod_CreateData.qbl
@@ -34,7 +34,7 @@
                        and tempLCE.StartDate() <= dlerc.StartDate() and tempLCE.EndDate() >= dlerc.StartDate().StartOfNextMonth() );
                        
        // æ–™æž¶æˆæœ¬å‚æ•°
        lcmr := select( macroPlan, LogisticsCostMaterialRack, tempLCMR, tempLCMR.Factory() = "长春工厂"
        lcmr := select( macroPlan, LogisticsCostMaterialRack, tempLCMR, tempLCMR.Factory() = "大连工厂"
                        and tempLCMR.StartDate() <= dlerc.StartDate() and tempLCMR.EndDate() >= dlerc.StartDate().StartOfNextMonth() );
                        
        // è¿è¾“成本参数
@@ -100,7 +100,6 @@
                                        tempPIT.Trip().LaneLeg().AsDestinationStockingPointLeg().StockingPoint_MP().ID() = "大连发动机的长春外租库",
                                        tempPIT.Quantity()
                                       );
        cell.CCLineHaulCost( [Number] ( guard( transportationQuantity2 / lce.PackagingCapacity() / lct1.LoadingCapacity(), 0 ) * guard( lct1.TransportPrice(), 1 ) ) );
        
        // CC短途运输费用:调拨数量 / åŒ…装容量 / è£…载容量 * æ–™æž¶è¿è¾“单价
@@ -108,24 +107,25 @@
        
        // DL外租库入库费用:发动机入库量 / åŒ…装容量(向上取整)* æ–™æž¶å…¥åº“单价
        inventoryQuantity := sum( macroPlan, SalesDemand.astype( Forecast ), tempF, 
                                  tempF.Product_MP().Generation()         =  dlerr.Generation()       and
                                  tempF.Product_MP().MQBMLB()             =  dlerr.MLB_MQB()          and
                                  tempF.StockingPointID()                 =  "大连外租库"             and
                                  ( tempF.StartDate() - 2 ).Year()        = dlerc.StartDate().Year()  and
                                  ( tempF.StartDate() - 2 ).Month()       = dlerc.StartDate().Month(),
                                  tempF.Product_MP().Generation()         =  dlerr.Generation()         and
                                  tempF.Product_MP().MQBMLB()             =  dlerr.MLB_MQB()            and
                                  tempF.StockingPointID()                 =  "大连外租库"               and
                                  tempF.StartDate()                       >= ( dlerc.StartDate() - 2 )  and
                                  tempF.StartDate()                       <= ( lastDayOfThisMonth - 2 ),
                                  tempF.FulfilledQuantity() );
    //                   info( "时间:", dlerc.StartDate().Format( "Y-M2-D2" ), "    å…¥åº“数量:", inventoryQuantity, "    åŒ…装容量:", guard( lce.PackagingCapacity(), 0 ),
    //                         "    è£…载容量:", guard( lct1.LoadingCapacity(), 0 ) ); // æµ‹è¯•输出
        cell.DLStorageFeesForRentedWarehouses( [Number] ( guard( inventoryQuantity / lce.PackagingCapacity(), 0 ) * guard( lcmr.WarehousingPrice(), 1 ) ) );
        cell.DLStorageFeesForRentedWarehouses( [Number] ( guard( inventoryQuantity / lce.PackagingCapacity(), 0 ) * guard( lce.WarehousingPrice(), 1 ) ) );
        
        // DL外租库出库费用:发动机出库量 / æ–™æž¶å®¹é‡ï¼ˆå‘上取整)* æ–™æž¶å‡ºåº“单价
        outboundQuantity := sum( macroPlan, Product_MP.ProductInStockingPoint_MP.ProductInStockingPointInPeriodPlanning.astype( ProductInStockingPointInPeriodPlanningLeaf ), tempPISPIPPL,
                                 tempPISPIPPL.ProductInStockingPoint_MP().Product_MP().Generation() = dlerr.Generation()  and
                                 tempPISPIPPL.ProductInStockingPoint_MP().Product_MP().MQBMLB()     = dlerr.MLB_MQB()     and
                                 tempPISPIPPL.ProductInStockingPoint_MP().StockingPointID()         = "大连场内库"        and
                                 tempPISPIPPL.ProductInStockingPoint_MP().StockingPointID()         = "大连厂内库"        and
                                 tempPISPIPPL.Start().Date()                                        >= dlerc.StartDate()  and
                                 tempPISPIPPL.End().Date()                                          <= lastDayOfThisMonth,
                                 tempPISPIPPL.NewSupplyQuantity() );
    //    info( "数量:", outboundQuantity, "    åŒ…装融创:", guard( lce.PackagingCapacity(), 0 ), "    å‡ºåº“单价:", guard( lcmr.OutboundPrice(), 0 ) );
        cell.DLOutboundExpensesForRentedWarehouses( [Number] ( guard( outboundQuantity / lce.PackagingCapacity(), 0 ) * guard( lcmr.OutboundPrice(), 1 ) ) );
        
        // DL外租库运输费用:发动机运输量 / åŒ…装容量 / è£…载容量(向上取整)* æ–™æž¶è¿è¾“单价
@@ -149,10 +149,11 @@
                               tempF.Product_MP().Generation()         =  dlerr.Generation()       and
                               tempF.Product_MP().MQBMLB()             =  dlerr.MLB_MQB()          and
                               tempF.StockingPointID()                 =  "大连发动机的长春外租库" and
                               ( tempF.StartDate() - 2 ).Year()        = dlerc.StartDate().Year()  and
                               ( tempF.StartDate() - 2 ).Month()       = dlerc.StartDate().Month(),
                               tempF.FulfilledQuantity() );
        cell.CleaningCost( [Number] ( guard( clearnQuantity / lce.PackagingCapacity(), 0 ) * guard( lcmr.CleanPrice(), 1 ) ) );
                               tempF.StartDate().Year()                = dlerc.StartDate().Year()  and
                               tempF.StartDate().Month()               = dlerc.StartDate().Month(),
                               tempF.Quantity() );
    //    info( "数量:", clearnQuantity, "    åŒ…装容量:", guard( lce.PackagingCapacity(), 0 ), "    æ¸…洗单价:", guard( lcmr.CleanPrice(), 0 ) );
        cell.CCCleaningCost( [Number] ( guard( clearnQuantity / lce.PackagingCapacity(), 0 ) * guard( lcmr.CleanPrice(), 1 ) ) );
        
        // DL外租库清洗费用:发动机入库量 / åŒ…装容量 * æ–™æž¶æ¸…洗单价。发动机入库量取发动机销量,包装容量取自发动机成本表。料架清洗单价取料架成本表。
        cell.CleaningCost( [Number] ( guard( outboundQuantity / lce.PackagingCapacity(), 0 ) * guard( lcmr.CleanPrice(), 1 ) ) );
_Main/BL/Type_FinancialProductionSource/StaticMethod_Initialize.qbl
@@ -13,7 +13,6 @@
    owner.FPImportData( relflush );
    ccunit                    := FinancialProductionReport::GetDefaultCCUnit();
    dlunit                    := FinancialProductionReport::GetDefaultDLUnit();
    //allunit                   := FinancialProductionReport::GetDefaultAllUnit();
    source                    := owner.FinancialProductionSource( relnew, IsImport := false, Name := FinancialProductionReport::GetDefaultName() );
    table                     := source.FinancialProductionReport( relnew, ID := source.Name(), Name := source.Name(), IsImport := false );
    source.FinancialProductionReport( relnew, ID := source.Name() + 'Show', Name := source.Name(), IsImport := false, IsShow := true );
@@ -29,15 +28,13 @@
      
      if( iscc or isdl ){
        traverse( stockingpoint, ProductInStockingPoint_MP, pisp,  pisp.Product_MP().IsLeaf() 
                  and exists( pisp, ProductInStockingPointInPeriod, pispip, not pispip.Period_MP().IsHistorical() and pispip.Period_MP().StartDate() < startofnextyear and pispip.NewSupplyQuantity() <> 0 ) ){
                  and exists( pisp, ProductInStockingPointInPeriod, pispip, not pispip.Period_MP().IsHistorical() and ( pispip.Start() + Duration::Days( 1 ) ).Date() < startofnextyear and pispip.NewSupplyQuantity() <> 0 ) ){
          //获取工厂行
          factoryrow          := table.GetRowByUnit( pisp.Product_MP(), ifexpr( iscc, ccunit, dlunit ) );
          //获取合计行
    //      allrow              := table.GetRowByUnit( pisp.Product_MP(), allunit );
          productids.Add( pisp.ProductID() );
          //当product planning的日期区间在需要的日期区间内 
          traverse( pisp, ProductInStockingPointInPeriod, pispip, not pispip.Period_MP().IsHistorical() and pispip.Period_MP().StartDate() < startofnextyear and pispip.NewSupplyQuantity() <> 0 ){
            dayperiodtime     := pispip.Start().Date();
          traverse( pisp, ProductInStockingPointInPeriod, pispip, not pispip.Period_MP().IsHistorical() and ( pispip.Start() + Duration::Days( 1 ) ).Date() < startofnextyear and pispip.NewSupplyQuantity() <> 0 ){
            dayperiodtime     := ( pispip.Start() + Duration::Days( 1 ) ).Date();
            dayperiodname     := dayperiodtime.Format( "M2/D2/Y" );
            periodtime        := dayperiodtime.StartOfMonth();
            periodname        := periodtime.Format( "M2/D2/Y" );
@@ -51,8 +48,5 @@
        }
      }
    }
    //factorys                  := selectset( owner, Factory, factory, factory.ID() = FinancialProductionReport::GetDefaultAllUnit() );
    //showtable.Generate( search, factorys, productids );
  *]
}
_Main/BL/Type_FinancialSalesSource/StaticMethod_InitializeNew.qbl
@@ -13,7 +13,6 @@
    }
    owner.FSImportData( relflush );
    productids                := construct( Strings );
    //allunit                   := FinancialSalesReport::GetDefaultAllUnit();
    ccunit                    := FinancialSalesReport::GetDefaultCCUnit();
    dlunit                    := FinancialSalesReport::GetDefaultDLUnit();
    ccsalessegment            := FinancialSalesReport::GetSalesSegmentCC();
@@ -32,7 +31,7 @@
    table.GenerateColumn( owner );
    
    //首先在forecast界面查找sales segment为长春的所有需求,识别出MLB的所有产品,每个产品按月汇总需求数量
    traverse( owner, SalesDemand.astype( Forecast ), forecast, not isnull( forecast.SalesSegment_MP() ) and forecast.StartDate() <= startofnextyear and forecast.Quantity() <> 0
    traverse( owner, SalesDemand.astype( Forecast ), forecast, not isnull( forecast.SalesSegment_MP() ) and ( forecast.StartDate() + Duration::Days( 1 ) ).Date() < startofnextyear and forecast.Quantity() <> 0
              and exists( forecast, PlanningSalesDemandInPeriod, psdip, psdip.Quantity() <> 0 ) ){
      salessegment            := forecast.SalesSegment_MP();
      parentsalessegments     := salessegment.GetAllParent();
@@ -47,17 +46,14 @@
      //Forecast的Sales Segment为长春,识别出MLB的所有产品汇总
      //大连财务销量:首先在forecast界面查找Sales Segment是天津和佛山的所有需求,每个产品按月汇总需求数量 and forecast.Product_MP().MQBMLB() = 'MLB' ) 
      if( ( iscc and product.MQBMLB() = 'MLB' ) or ( isccrent and product.MQBMLB() = 'MQB' ) or isdl ){
        //获取合计行
    //    allrow               := table.GetRow( allunit, product );
        //获取工厂行
        factoryrow           := table.GetRow( ifexpr( isdl, dlunit, ccunit ), product );
      
        productids.Add( forecast.ProductID() );
        traverse( forecast, PlanningSalesDemandInPeriod, psdip, psdip.Quantity() <> 0 ){
          dayperiodtime      := psdip.StartDate();
        traverse( forecast, PlanningSalesDemandInPeriod, psdip, psdip.Quantity() <> 0 and ( psdip.StartDate() + Duration::Days( 1 ) ).Date() < startofnextyear ){
          dayperiodtime      := ( psdip.StartDate() + Duration::Days( 1 ) ).Date();//psdip.StartDate();
          dayperiodname      := dayperiodtime.Format( "M2/D2/Y" );
          periodtime         := psdip.StartDate().StartOfMonth();
          periodtime         := dayperiodtime.StartOfMonth();
          periodname         := periodtime.Format( "M2/D2/Y" );
    //      info( '-------------------------', periodname, periodtime );
          daycolumn          := selectobject( table, FinancialSalesColumn, column, column.Name() = dayperiodname and column.Period() = dayperiodtime and column.IsDay() );
@@ -67,23 +63,21 @@
          
          factoryrow.Initialize( column, quantity );
          factoryrow.Initialize( daycolumn, quantity );
    //      allrow.Initialize( column, quantity );
        }
      }
    }
    //从Product planning查找库存点为大连发动机的长春外租库,取New supply字段按月汇总需求数量
    traverse( owner, StockingPoint_MP, stockingpoint, stockingpoint.ID() = '大连发动机的长春外租库' ){
        traverse( stockingpoint, ProductInStockingPoint_MP, pisp, pisp.Product_MP().IsLeaf()
                  and exists( pisp, ProductInStockingPointInPeriod, pispip, not pispip.Period_MP().IsHistorical() and pispip.Period_MP().StartDate() < startofnextyear
                  and exists( pisp, ProductInStockingPointInPeriod, pispip, not pispip.Period_MP().IsHistorical() and ( pispip.Start() + Duration::Days( 1 ) ).Date() < startofnextyear
                              and ( pispip.DependentDemandAndSalesDemandQuantity() <> 0 or pispip.NewSupplyQuantity() <> 0 ) ) ){//产品为MQB
          product           := pisp.Product_MP();
    //      allrow            := table.GetRow( allunit, product );
          factoryrow        := table.GetRow( dlunit, product );
          productids.Add( pisp.ProductID() );
          traverse( pisp, ProductInStockingPointInPeriod, pispip, not pispip.Period_MP().IsHistorical()
                    and pispip.Period_MP().StartDate() < startofnextyear
                    and ( pispip.Start() + Duration::Days( 1 ) ).Date() < startofnextyear
                    and ( pispip.DependentDemandAndSalesDemandQuantity() <> 0 or pispip.NewSupplyQuantity() <> 0 ) ){
            dayperiodtime   := pispip.Start().Date();
            dayperiodtime   := ( pispip.Start() + Duration::Days( 1 ) ).Date();//pispip.Start().Date();
            dayperiodname   := dayperiodtime.Format( "M2/D2/Y" );
            periodtime      := dayperiodtime.StartOfMonth();
            periodname      := periodtime.Format( "M2/D2/Y" );
@@ -93,7 +87,6 @@
            
            factoryrow.Initialize( column, quantity );//取Total Demand字段按月汇总需求数量
            factoryrow.Initialize( daycolumn, quantity );
    //        allrow.Initialize( column, quantity );
          }
        }
    //  }
_Main/BL/Type_NewAssemblyOnlinePlanCell/Attribute_LineLayingOrEmptying.qbl
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,8 @@
Quintiq file version 2.0
#parent: #root
Attribute LineLayingOrEmptying
{
  #keys: '3[415754.0.554840210][415754.0.554840209][415754.0.554840211]'
  Description: '铺线或者拉空'
  ValueType: String
}
_Main/BL/Type_NewAssemblyOnlinePlanCell/StaticMethod_PostLayingProcessing.qbl
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,8 @@
Quintiq file version 2.0
#parent: #root
StaticMethod PostLayingProcessing (
  MacroPlan macroPlan
)
{
  Description: '铺线后续处理'
}
_Main/BL/Type_NewAssemblyOnlinePlanCell/StaticMethod_RefreshData.qbl
@@ -68,6 +68,9 @@
    //  info( "当前产线:", pl, "    å¤„理拉空--------------------------" );
      traverse ( drainPs, Elements, p ) {
        traverse ( p, ExplicitTimeInterval, eti ) {
          // è®¾ç½®å•元格为拉空
          NewAssemblyOnlinePlanCell::SetLineLayingOrEmptyingStatus( macroPlan, eti.Start().Date(), "拉空", pl );
    //      info( "开始时间:", eti.Start().Format( "Y-M2-D2" ), "    ç»“束时间:", eti.End().Format( "Y-M2-D2" ) );
          naopc := select( macroPlan, NewAssemblyOnlinePlanColumn, tempNAOPC, tempNAOPC.StartDate() = ( eti.Start().Date() - 1 ) );
          
@@ -97,6 +100,9 @@
      // å¤„理铺线
      traverse ( lineLyingPs, Elements, p ) {
        traverse ( p, ExplicitTimeInterval, eti ) {
          // è®¾ç½®å•元格为拉空
          NewAssemblyOnlinePlanCell::SetLineLayingOrEmptyingStatus( macroPlan, eti.Start().Date(), "铺线", pl );
          info( "开始时间:", eti.Start().Format( "Y-M2-D2" ), "    ç»“束时间:", eti.End().Format( "Y-M2-D2" ) );
          
          cell  := minselect( macroPlan, NewAssemblyOnlinePlanRow.NewAssemblyOnlinePlanCell, tempNAOPCell, 
@@ -111,5 +117,8 @@
        }
      }
    }
    // å¤„理铺线后续处理
    NewAssemblyOnlinePlanCell::PostLayingProcessing( macroPlan );
  *]
}
_Main/BL/Type_NewAssemblyOnlinePlanCell/StaticMethod_SetLineLayingOrEmptyingStatus.qbl
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,22 @@
Quintiq file version 2.0
#parent: #root
StaticMethod SetLineLayingOrEmptyingStatus (
  MacroPlan macroPlan,
  Date date,
  String status,
  String pl
)
{
  Description: '设置单元格铺线或者拉空状态'
  TextBody:
  [*
    cells := selectset( macroPlan, NewAssemblyOnlinePlanRow.NewAssemblyOnlinePlanCell, tempNAOPCell,
                        tempNAOPCell.NewAssemblyOnlinePlanRow().ProductionLine() = pl   and
                        tempNAOPCell.NewAssemblyOnlinePlanColumn().StartDate()   = date and
                        tempNAOPCell.NewAssemblyOnlinePlanRow().Type()           = "1" );
    traverse ( cells, Elements, c ) {
      c.LineLayingOrEmptying( status );
    }
  *]
}
_Main/BL/Type_OfflinePlanArchiveVersion/Method_GetRow.qbl
@@ -1,16 +1,16 @@
Quintiq file version 2.0
#parent: #root
Method GetRow (
  const AssemblyOnlinePlanRow aoprow
  const NewOfflinePlanRow noprow
) as OfflinePlanArchiveRow
{
  TextBody:
  [*
    // ç”„兰鸽 Oct-11-2024 (created)
    row := selectobject( this, Row, row, row.ProductID() = aoprow.ProductID() and row.ProductionLine() = aoprow.ProductionLine() and row.Type() = aoprow.Type() );
    row := selectobject( this, Row, row, row.ProductID() = noprow.ProductID() and row.ProductionLine() = noprow.ProductionLine() and row.Type() = noprow.Type() );
    
    if( isnull( row ) ){
      row := this.Row( relnew, ProductID := aoprow.ProductID(), ProductionLine := aoprow.ProductionLine(), Type := aoprow.Type() );
      row := this.Row( relnew, ProductID := noprow.ProductID(), ProductionLine := noprow.ProductionLine(), Type := noprow.Type() );
      //初始化单元格
      row.InitializeCell();
    }
_Main/BL/Type_OfflinePlanArchiveVersion/StaticMethod_GenerateData.qbl
ÎļþÒÑɾ³ý
_Main/BL/Type_OfflinePlanArchiveVersion/StaticMethod_RefreshData.qbl
@@ -7,30 +7,33 @@
{
  TextBody:
  [*
    //根据当前版本的装配上线计划
    allunit                := AssemblyOnlinePlanVersion::GetDefaultAllUnit();
    name                   := AssemblyOnlinePlanVersion::GetDefaultName();
    search                 := interface.AssemblyOnlinePlanVersionSearch( relnew, Product := allunit, ProductionLine := allunit, TimeUnit := Translations::MP_GlobalParameters_Day(), Unit := allunit, StartDate := Date::MinDate(), EndDate := Date::MaxDate() );
    table                  := selectobject( interface, AssemblyOnlinePlanVersion, version, not version.IsShow() );
    //根据当前版本的下线计划
    allunit                := OfflinePlanArchiveVersion::GetDefaultAllUnit();
    name                   := OfflinePlanArchiveVersion::GetDefaultName();
    search                 := interface.OfflinePlanArchiveSearch( relnew, Product := allunit, ProductionLine := allunit, TimeUnit := Translations::MP_GlobalParameters_Day(), Unit := allunit, StartDate := Date::MinDate(), EndDate := Date::MaxDate() );
    table                  := selectobject( interface, OfflinePlanArchiveVersion, version, not version.IsShow() );
    if( isnull( table ) ){
      table                := interface.AssemblyOnlinePlanVersion( relnew, ID := name, Name := name );
      table                := interface.OfflinePlanArchiveVersion( relnew, ID := name, Name := name );
    }
    showtable              := selectobject( interface, AssemblyOnlinePlanVersion, version, version.IsShow() );
    showtable              := selectobject( interface, OfflinePlanArchiveVersion, version, version.IsShow() );
    if( isnull( table ) ){
      showtable               := interface.AssemblyOnlinePlanVersion( relnew, ID := name, Name := name, IsShow := true );
      showtable               := interface.OfflinePlanArchiveVersion( relnew, ID := name, Name := name, IsShow := true );
    }
    aopcolumns             := selectuniquevalues(  macroPlan, AssemblyOnlinePlanColumn, aopcolumn, not exists( table, Column, column, column.TimeUnit() = Translations::MP_GlobalParameters_Day() and column.StartDate() = aopcolumn.ColumnDate() ), aopcolumn.ColumnDate() );
    table.GenerateColumn( aopcolumns, search.TimeUnit(), search.StartDate(), search.EndDate() );
    traverse( macroPlan, AssemblyOnlinePlanRow, aoprow ){
      row                  := table.GetRow( aoprow );
      traverse( aoprow, AssemblyOnlinePlanCell, aopcell ){
        column             := selectobject( table, Column, column, column.TimeUnit() = Translations::MP_GlobalParameters_Day() and column.StartDate() = aopcell.AssemblyOnlinePlanColumn().ColumnDate() );
        cell               := selectobject( row, Cell, cell, cell.Column() = column );
        cell.InventoryWeight( aopcell.InventoryWeight() );
        cell.ProductionSerialNumber( aopcell.ProductionSerialNumber() );
        cell.Quantity( aopcell.Quantity() );
        cell.Shift( aopcell.Shift() );
        cell.Value( aopcell.Value() );
    nopcolumns             := selectuniquevalues(  macroPlan, NewOfflinePlanTable.NewOfflinePlanColumn, nopcolumn, not exists( table, Column, column, column.TimeUnit() = Translations::MP_GlobalParameters_Day() and column.StartDate() = nopcolumn.StartDate() ), nopcolumn.StartDate() );
    table.GenerateColumn( nopcolumns, search.TimeUnit(), search.StartDate(), search.EndDate() );
    traverse( macroPlan, NewOfflinePlanTable, noptable ){
      traverse( noptable, NewOfflinePlanRow, noprow ){
        row                  := table.GetRow( noprow );
        traverse( noprow, NewOfflinePlanCell, nopcell ){
          column             := selectobject( table, Column, column, column.TimeUnit() = Translations::MP_GlobalParameters_Day() and column.StartDate() = nopcell.NewOfflinePlanColumn().StartDate() );
          cell               := selectobject( row, Cell, cell, cell.Column() = column );
          cell.InventoryWeight( nopcell.InventoryWeight() );
    //      cell.ProductionSerialNumber( nopcell.ProductionSerialNumber() );
          cell.Quantity( nopcell.Quantity() );
    //      cell.Shift( nopcell.Shift() );
    //      cell.Value( nopcell.Value() );
        }
      }
    }
    //showtable.Generate( search, products );
_Main/BL/Type_PackagingPlanCell/Function_CalcPackagingInventory.qbl
@@ -8,10 +8,11 @@
    
    value := ifexpr( this.PackagingPlanRow().Factory() = "长春工厂", this.CC_PackagingInventory(),
                     this.InitialPackagingInventory() + guard( this.Previous().PackagingInventory()                 + 
                                                       guard( this.Package(), 0.0 )                         -
                                                       ifexpr( this.TransferIn() > 0.0, 0, this.Unpacking() ),
                                                       0.0 )
                                              - this.Out()
                                                               this.TransferIn()                                    +
                                                               guard( this.Package(), 0.0 )                         -
                                                               ifexpr( this.TransferIn() > 0.0, 0, this.Unpacking() ),
                                                               0.0 )
                                                      - this.Out()
                    );
    
    this.PackagingInventory( value );
_Main/BL/Type_PackagingPlanCell/StaticMethod_GenerateReport.qbl
@@ -65,14 +65,12 @@
          // å‡€éœ€æ±‚&剩余库存&供应量
          cell.NetDemand( cell.NetDemand() + pispipl.DependentDemandAndSalesDemandQuantity() );
          cell.EndingInventory( cell.EndingInventory() + pispipl.InventoryLevelEnd() );
          cell.NewSupply( cell.NewSupply() + pispipl.NewSupplyQuantity() );
        }
        
        // é•¿æ˜¥å·¥åŽ‚è®¾ç½®å€¼
        if ( factory = "长春工厂" ) {
          // å‰©ä½™åº“å­˜&供应量
          cell.EndingInventory( cell.EndingInventory() + pispipl.InventoryLevelEnd() );
          cell.NewSupply( cell.NewSupply() + pispipl.NewSupplyQuantity() );
          
          // å‡€éœ€æ±‚【只取线边库】&包装库存&非包装库存
          if ( pisp.StockingPointID().Regex( "外租库" ) ) {
@@ -83,6 +81,11 @@
          }
        }
        
        // è®¾ç½®New Supply,纯生产值
        traverse ( pispipl, NewSupply, ns, ns.PeriodTask_MP().istype( PeriodTaskOperation ) ) {
          cell.NewSupply( cell.NewSupply() + ns.Quantity() );
        }
        // è®¾ç½®å‰ä¸€å¤©åº“å­˜
        if ( pispipl.Start().Date() = macroPlan.StartOfPlanning().Date() ) {
          prePISPIPL  := pispipl.PreviousPlanningPISPIP().astype( ProductInStockingPointInPeriodPlanningLeaf ); // å‰ä¸€ä¸ªpispippl
_Main/Sys/Repr/Global/NewAssemblyOnlinePlanCell.qrp
@@ -2,6 +2,11 @@
#parent: #root
TypeRepresentation NewAssemblyOnlinePlanCell
{
  AttributeRepresentation LineLayingOrEmptying
  {
    Alignment: 'Right'
    AttributeKey: '[415754.0.554840209]'
  }
  AttributeRepresentation Order
  {
    Alignment: 'Right'
_Main/UI/MacroPlannerWebApp/Component_ApplicationMacroPlanner/Component_ActionBarGroupArchiveReport.def
@@ -27,6 +27,17 @@
        Taborder: 1
      ]
    }
    Component ButtonOfflinePlanArchiveReport
    {
      #keys: '[415136.0.1255420048]'
      BaseType: 'WebButton'
      Properties:
      [
        Image: 'PAPER_JET'
        Label: 'Offline plan archive'
        Taborder: 2
      ]
    }
  ]
  Properties:
  [
_Main/UI/MacroPlannerWebApp/Component_ApplicationMacroPlanner/Response_MacroPlanner_ActionBarGroupArchiveReport_ButtonOfflinePlanArchiveRe.def
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,16 @@
Quintiq file version 2.0
#parent: ActionBarGroupArchiveReport/ButtonOfflinePlanArchiveReport
Response OnClick () id:Response_MacroPlanner_ActionBarGroupArchiveReport_ButtonOfflinePlanArchiveReport_OnClick
{
  #keys: '[415136.0.1255420166]'
  CanBindMultiple: false
  DefinitionID: 'Responsedef_WebButton_OnClick'
  QuillAction
  {
    Body:
    [*
      ApplicationScope.ViewManager().ResetUserViewById( "Offline__plan_archive_report", true);
    *]
    GroupServerCalls: false
  }
}
_Main/UI/MacroPlannerWebApp/Component_ApplicationMacroPlanner/Response_MacroPlanner_ActionBarGroupPublish_ButtonPublish_OnClick.def
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,18 @@
Quintiq file version 2.0
#parent: ActionBarGroupPublish/ButtonPublish
Response OnClick () id:Response_MacroPlanner_ActionBarGroupPublish_ButtonPublish_OnClick
{
  #keys: '[415136.0.1255982999]'
  CanBindMultiple: false
  DefinitionID: 'Responsedef_WebButton_OnClick'
  QuillAction
  {
    Body:
    [*
      dlg := construct( DialogPublishPlan );
      ApplicationMacroPlanner.ShowFormModal( dlg );
    *]
    GroupServerCalls: false
  }
}
_Main/UI/MacroPlannerWebApp/Component_DialogPublishPlan/Component_pnlActions.def
ÎļþÃû´Ó _Main/UI/MacroPlannerWebApp/Component_DialogUpperLimitOfTransferCapacity/Component_pnlActions.def ÐÞ¸Ä
@@ -1,13 +1,13 @@
Quintiq file version 2.0
Component pnlActions
{
  #keys: '[413988.0.1292313213]'
  #keys: '[415136.0.1255981718]'
  BaseType: 'WebPanel'
  Children:
  [
    Component btnOk
    {
      #keys: '[413988.0.1292313217]'
      #keys: '[415136.0.1255981722]'
      BaseType: 'WebButton'
      Properties:
      [
@@ -17,7 +17,7 @@
    }
    Component btnCancel
    {
      #keys: '[413988.0.1292313219]'
      #keys: '[415136.0.1255981724]'
      BaseType: 'WebButton'
      Properties:
      [
_Main/UI/MacroPlannerWebApp/Component_DialogPublishPlan/Component_pnlAll#720.def
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,33 @@
Quintiq file version 2.0
Component pnlAll id:pnlAll_720
{
  #keys: '[415136.0.1255982465]'
  BaseType: 'WebPanel'
  Children:
  [
    Component lblAll
    {
      #keys: '[415136.0.1255982466]'
      BaseType: 'WebLabel'
      Properties:
      [
        Label: 'All'
        Taborder: 0
      ]
    }
    Component cbAll
    {
      #keys: '[415136.0.1255982467]'
      BaseType: 'WebCheckbox'
      Properties:
      [
        Taborder: 1
      ]
    }
  ]
  Properties:
  [
    Orientation: 'horizontal'
    Taborder: 5
  ]
}
_Main/UI/MacroPlannerWebApp/Component_DialogPublishPlan/Component_pnlAssembleOnlinePlan#679.def
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,33 @@
Quintiq file version 2.0
Component pnlAssembleOnlinePlan id:pnlAssembleOnlinePlan_679
{
  #keys: '[415136.0.1255982426]'
  BaseType: 'WebPanel'
  Children:
  [
    Component lblAssembleOnlinePlan
    {
      #keys: '[415136.0.1255982427]'
      BaseType: 'WebLabel'
      Properties:
      [
        Label: '装配上线计划'
        Taborder: 0
      ]
    }
    Component cbAssembleOnlinePlan
    {
      #keys: '[415136.0.1255982428]'
      BaseType: 'WebCheckbox'
      Properties:
      [
        Taborder: 1
      ]
    }
  ]
  Properties:
  [
    Orientation: 'horizontal'
    Taborder: 3
  ]
}
_Main/UI/MacroPlannerWebApp/Component_DialogPublishPlan/Component_pnlContent.def
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,20 @@
Quintiq file version 2.0
Component pnlContent
{
  #keys: '[415136.0.1255981716]'
  BaseType: 'WebPanel'
  Children:
  [
    #child: pnlCustomDemand_462
    #child: pnlOfflinePlan_520
    #child: pnlAssembleOnlinePlan_679
    #child: pnlInventoryPlan_119
    #child: pnlAll_720
    #child: pnlShiftPlan_780
  ]
  Properties:
  [
    Padding: 'true'
    Taborder: 0
  ]
}
_Main/UI/MacroPlannerWebApp/Component_DialogPublishPlan/Component_pnlCustomDemand#462.def
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,33 @@
Quintiq file version 2.0
Component pnlCustomDemand id:pnlCustomDemand_462
{
  #keys: '[415136.0.1255981813]'
  BaseType: 'WebPanel'
  Children:
  [
    Component lblCustomDemand
    {
      #keys: '[415136.0.1255981814]'
      BaseType: 'WebLabel'
      Properties:
      [
        Label: '全年日度需求'
        Taborder: 0
      ]
    }
    Component cbCustomDemand
    {
      #keys: '[415136.0.1255981815]'
      BaseType: 'WebCheckbox'
      Properties:
      [
        Taborder: 1
      ]
    }
  ]
  Properties:
  [
    Orientation: 'horizontal'
    Taborder: 0
  ]
}
_Main/UI/MacroPlannerWebApp/Component_DialogPublishPlan/Component_pnlInventoryPlan#119.def
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,33 @@
Quintiq file version 2.0
Component pnlInventoryPlan id:pnlInventoryPlan_119
{
  #keys: '[415136.0.1255982447]'
  BaseType: 'WebPanel'
  Children:
  [
    Component lblInventoryPlan
    {
      #keys: '[415136.0.1255982448]'
      BaseType: 'WebLabel'
      Properties:
      [
        Label: '计划库存'
        Taborder: 0
      ]
    }
    Component cbInventoryPlan
    {
      #keys: '[415136.0.1255982449]'
      BaseType: 'WebCheckbox'
      Properties:
      [
        Taborder: 1
      ]
    }
  ]
  Properties:
  [
    Orientation: 'horizontal'
    Taborder: 4
  ]
}
_Main/UI/MacroPlannerWebApp/Component_DialogPublishPlan/Component_pnlOfflinePlan#520.def
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,33 @@
Quintiq file version 2.0
Component pnlOfflinePlan id:pnlOfflinePlan_520
{
  #keys: '[415136.0.1255981829]'
  BaseType: 'WebPanel'
  Children:
  [
    Component lblOfflinePlan
    {
      #keys: '[415136.0.1255981830]'
      BaseType: 'WebLabel'
      Properties:
      [
        Label: '下线计划'
        Taborder: 0
      ]
    }
    Component cbOfflinePlan
    {
      #keys: '[415136.0.1255981831]'
      BaseType: 'WebCheckbox'
      Properties:
      [
        Taborder: 1
      ]
    }
  ]
  Properties:
  [
    Orientation: 'horizontal'
    Taborder: 1
  ]
}
_Main/UI/MacroPlannerWebApp/Component_DialogPublishPlan/Component_pnlShiftPlan#780.def
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,33 @@
Quintiq file version 2.0
Component pnlShiftPlan id:pnlShiftPlan_780
{
  #keys: '[415136.0.1255982410]'
  BaseType: 'WebPanel'
  Children:
  [
    Component lblShiftPlan
    {
      #keys: '[415136.0.1255982411]'
      BaseType: 'WebLabel'
      Properties:
      [
        Label: '班次计划'
        Taborder: 0
      ]
    }
    Component cbShiftPlan
    {
      #keys: '[415136.0.1255982412]'
      BaseType: 'WebCheckbox'
      Properties:
      [
        Taborder: 1
      ]
    }
  ]
  Properties:
  [
    Orientation: 'horizontal'
    Taborder: 2
  ]
}
_Main/UI/MacroPlannerWebApp/Component_DialogPublishPlan/Method_OnOK.def
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,35 @@
Quintiq file version 2.0
#parent: #root
Method OnOK () id:Method_DialogPublishPlan_OnOK
{
  #keys: '[415136.0.1255982634]'
  Body:
  [*
    this.ApplyChanges();
      showlabel := '是否发送';
      plannames := construct( Strings );
      if( cbCustomDemand.Checked() ){
        plannames.Add( lblCustomDemand.Label() );
      }
      if( cbOfflinePlan.Checked() ){
        plannames.Add( lblOfflinePlan.Label() );
      }
      if( cbShiftPlan.Checked() ){
        plannames.Add( lblShiftPlan.Label() );
      }
      if( cbAssembleOnlinePlan.Checked() ){
        plannames.Add( lblAssembleOnlinePlan.Label() );
      }
      if( cbInventoryPlan.Checked() ){
        plannames.Add( lblInventoryPlan.Label() );
      }
      showlabel := showlabel.Concat( plannames.Concatenate( "、" ) ).Concat( '?' );
      if( WebMessageBox::Question( this, showlabel, 'OK|Cancel' ) = 0 ){
      }
    this.Close();
  *]
}
_Main/UI/MacroPlannerWebApp/Component_DialogPublishPlan/Response_pnlActions_btnCancel_OnClick.def
ÎļþÃû´Ó _Main/UI/MacroPlannerWebApp/Component_DialogUpperLimitOfTransferCapacity/Response_pnlActions_btnCancel_OnClick.def ÐÞ¸Ä
@@ -2,7 +2,7 @@
#parent: pnlActions/btnCancel
Response OnClick () id:Response_pnlActions_btnCancel_OnClick
{
  #keys: '[413988.0.1292313223]'
  #keys: '[415136.0.1255981728]'
  DefinitionID: 'Responsedef_WebButton_OnClick'
  GroupServerCalls: true
  QuillAction
_Main/UI/MacroPlannerWebApp/Component_DialogPublishPlan/Response_pnlActions_btnOk_OnClick.def
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,19 @@
Quintiq file version 2.0
#parent: pnlActions/btnOk
Response OnClick () id:Response_pnlActions_btnOk_OnClick
{
  #keys: '[415136.0.1255981727]'
  DefinitionID: 'Responsedef_WebButton_OnClick'
  Precondition:
  [*
    return not ( not cbCustomDemand.Checked() and not cbOfflinePlan.Checked() and not cbShiftPlan.Checked() and not cbAssembleOnlinePlan.Checked() and not cbInventoryPlan.Checked() );
  *]
  QuillAction
  {
    Body:
    [*
      Form.OnOK();
    *]
    GroupServerCalls: false
  }
}
_Main/UI/MacroPlannerWebApp/Component_DialogPublishPlan/Response_pnlAll_720_cbAll_OnChanged.def
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,28 @@
Quintiq file version 2.0
#parent: pnlAll_720/cbAll
Response OnChanged () id:Response_pnlAll_720_cbAll_OnChanged
{
  #keys: '[415136.0.1255982464]'
  CanBindMultiple: false
  DefinitionID: 'Responsedef_WebCheckbox_OnChanged'
  QuillAction
  {
    Body:
    [*
      if( this.Checked() ){
        cbCustomDemand.Checked( true );
        cbOfflinePlan.Checked( true );
        cbShiftPlan.Checked( true );
        cbAssembleOnlinePlan.Checked( true );
        cbInventoryPlan.Checked( true );
      }else{
        cbCustomDemand.Checked( false );
        cbOfflinePlan.Checked( false );
        cbShiftPlan.Checked( false );
        cbAssembleOnlinePlan.Checked( false );
        cbInventoryPlan.Checked( false );
      }
    *]
    GroupServerCalls: false
  }
}
_Main/UI/MacroPlannerWebApp/Component_DialogPublishPlan/_ROOT_Component_DialogPublishPlan.def
copy from _Main/UI/MacroPlannerWebApp/Component_DialogUpperLimitOfTransferCapacity/_ROOT_Component_DialogUpperLimitOfTransferCapacity.def copy to _Main/UI/MacroPlannerWebApp/Component_DialogPublishPlan/_ROOT_Component_DialogPublishPlan.def
Îļþ´Ó _Main/UI/MacroPlannerWebApp/Component_DialogUpperLimitOfTransferCapacity/_ROOT_Component_DialogUpperLimitOfTransferCapacity.def ¸´ÖÆ
@@ -1,9 +1,9 @@
Quintiq file version 2.0
#root
#parent: MacroPlannerWebApp
OrphanComponent DialogUpperLimitOfTransferCapacity
OrphanComponent DialogPublishPlan
{
  #keys: '[413988.0.1292313209]'
  #keys: '[415136.0.1255981714]'
  BaseType: 'WebForm'
  Children:
  [
@@ -16,6 +16,8 @@
    EnterButton: 'btnOk'
    EscapeButton: 'btnCancel'
    ExcludeFromActiveComponent: true
    Image: 'INBOX_OUT'
    Padding: 'false'
    Title: '发布计划'
  ]
}
_Main/UI/MacroPlannerWebApp/Component_DialogReportArchiveConfirm/Method_OnOK.def
@@ -6,23 +6,16 @@
  Body:
  [*
    this.ApplyChanges();
    info( '------------------',cbCustomDemand.Checked()
        ,cbOfflinePlan.Checked()
        ,cbShiftPlan.Checked()
        ,cbAssembleOnlinePlan.Checked()
        ,cbInventoryPlan.Checked()
        ,cbTRCDemand.Checked()
        ,cbTransferPlan.Checked()
        ,cbPackagePlan.Checked() );
      showlabel := '是否存档';
    if( cbCustomDemand.Checked()
        or cbOfflinePlan.Checked()
        or cbShiftPlan.Checked()
        or cbAssembleOnlinePlan.Checked()
        or cbInventoryPlan.Checked()
        or cbTRCDemand.Checked()
        or cbTransferPlan.Checked()
        or cbPackagePlan.Checked() ){
    //showlabel := '是否存档';
    //if( cbCustomDemand.Checked()
    //    or cbOfflinePlan.Checked()
    //    or cbShiftPlan.Checked()
    //    or cbAssembleOnlinePlan.Checked()
    //    or cbInventoryPlan.Checked()
    //    or cbTRCDemand.Checked()
    //    or cbTransferPlan.Checked()
    //    or cbPackagePlan.Checked() ){
      showlabel := '是否存档';
      plannames := construct( Strings );
      if( cbCustomDemand.Checked() ){
@@ -50,14 +43,13 @@
        plannames.Add( lblPackagePlan.Label() );
      }
      showlabel := showlabel.Concat( plannames.Concatenate( "、" ) ).Concat( '?' );
      info( '*****************************' );
    //  info( '*****************************' );
      if( WebMessageBox::Question( this, showlabel, 'OK|Cancel' ) = 0 ){
      }
    }else{
      info( '************###########*****************' );
      WebMessageBox::Information( this, '未选择任何计划进行存档' )
    }
    //}else{
    //  info( '************###########*****************' );
    //  WebMessageBox::Information( this, '未选择任何计划进行存档' )
    //}
    this.Close();
  *]
}
_Main/UI/MacroPlannerWebApp/Component_DialogReportArchiveConfirm/Response_pnlActions_btnOk_OnClick.def
@@ -4,6 +4,11 @@
{
  #keys: '[415136.0.1249021383]'
  DefinitionID: 'Responsedef_WebButton_OnClick'
  Precondition:
  [*
    return not ( not cbCustomDemand.Checked() and not cbOfflinePlan.Checked() and not cbShiftPlan.Checked() and not cbAssembleOnlinePlan.Checked() and not cbInventoryPlan.Checked()
        and not cbTRCDemand.Checked() and not cbTransferPlan.Checked() and not cbPackagePlan.Checked() );
  *]
  QuillAction
  {
    Body:
_Main/UI/MacroPlannerWebApp/Component_DialogULOTC/Component_pCC#847.def
ÎļþÃû´Ó _Main/UI/MacroPlannerWebApp/Component_DialogUpperLimitOfTransferCapacity/Component_pnlCCFactory.def ÐÞ¸Ä
@@ -1,66 +1,71 @@
Quintiq file version 2.0
Component pnlCCFactory
Component pCC id:pCC_847
{
  #keys: '[413988.1.30911852]'
  #keys: '[413988.1.37281166]'
  BaseType: 'WebPanel'
  Children:
  [
    Component npUpperLimitOfTransferCapacityZKGCC
    Component CC_ZKG
    {
      #keys: '[413988.1.30912074]'
      #keys: '[413988.1.37281167]'
      BaseType: 'WebNumberPicker'
      Properties:
      [
        DataBinding: 'MacroPlan.UpperLimitOfTransferCapacityZKGCC'
        Label: 'ZKG(pcs)'
        Mask: 'NUMBER'
        Min: '0'
        Taborder: 0
      ]
    }
    Component npUpperLimitOfTransferCapacityZKMCC
    Component CC_ZKM
    {
      #keys: '[413988.1.30912108]'
      #keys: '[413988.1.37281168]'
      BaseType: 'WebNumberPicker'
      Properties:
      [
        DataBinding: 'MacroPlan.UpperLimitOfTransferCapacityZKMCC'
        Label: 'ZKM(pcs)'
        Mask: 'NUMBER'
        Min: '0'
        Taborder: 1
      ]
    }
    Component npUpperLimitOfTransferCapacityPLCC
    Component CC_PL
    {
      #keys: '[413988.1.30912136]'
      #keys: '[413988.1.37281169]'
      BaseType: 'WebNumberPicker'
      Properties:
      [
        DataBinding: 'MacroPlan.UpperLimitOfTransferCapacityPLCC'
        Label: 'PL(pcs)'
        Mask: 'NUMBER'
        Min: '0'
        Taborder: 2
      ]
    }
    Component npUpperLimitOfTransferCapacityKWCC
    Component CC_KW
    {
      #keys: '[413988.1.30912164]'
      #keys: '[413988.1.37281170]'
      BaseType: 'WebNumberPicker'
      Properties:
      [
        DataBinding: 'MacroPlan.UpperLimitOfTransferCapacityKWCC'
        Label: 'KW(pcs)'
        Mask: 'NUMBER'
        Min: '0'
        Taborder: 3
      ]
    }
    Component npUpperLimitOfTransferCapacityAGWCC
    Component CC_AGW
    {
      #keys: '[413988.1.30912192]'
      #keys: '[413988.1.37281171]'
      BaseType: 'WebNumberPicker'
      Properties:
      [
        DataBinding: 'MacroPlan.UpperLimitOfTransferCapacityAGWCC'
        Label: 'AGW(pcs)'
        Mask: 'NUMBER'
        Min: '0'
        Taborder: 4
      ]
_Main/UI/MacroPlannerWebApp/Component_DialogULOTC/Component_pDL#545.def
ÎļþÃû´Ó _Main/UI/MacroPlannerWebApp/Component_DialogUpperLimitOfTransferCapacity/Component_pnlDLFactory.def ÐÞ¸Ä
@@ -1,66 +1,71 @@
Quintiq file version 2.0
Component pnlDLFactory
Component pDL id:pDL_545
{
  #keys: '[413988.1.30911840]'
  #keys: '[413988.1.37281160]'
  BaseType: 'WebPanel'
  Children:
  [
    Component npUpperLimitOfTransferCapacityZKG id:npUpperLimitOfTransferCapacityZKG_715
    Component DL_ZKG
    {
      #keys: '[413988.1.30911967]'
      #keys: '[413988.1.37281161]'
      BaseType: 'WebNumberPicker'
      Properties:
      [
        DataBinding: 'MacroPlan.UpperLimitOfTransferCapacityZKG'
        Label: 'ZKG(pcs)'
        Mask: 'NUMBER'
        Min: '0'
        Taborder: 0
      ]
    }
    Component npUpperLimitOfTransferCapacityZKM id:npUpperLimitOfTransferCapacityZKM_844
    Component DL_ZKM
    {
      #keys: '[413988.1.30911990]'
      #keys: '[413988.1.37281162]'
      BaseType: 'WebNumberPicker'
      Properties:
      [
        DataBinding: 'MacroPlan.UpperLimitOfTransferCapacityZKM'
        Label: 'ZKM(pcs)'
        Mask: 'NUMBER'
        Min: '0'
        Taborder: 1
      ]
    }
    Component npUpperLimitOfTransferCapacityPL id:npUpperLimitOfTransferCapacityPL_603
    Component DL_PL
    {
      #keys: '[413988.1.30912013]'
      #keys: '[413988.1.37281163]'
      BaseType: 'WebNumberPicker'
      Properties:
      [
        DataBinding: 'MacroPlan.UpperLimitOfTransferCapacityPL'
        Label: 'PL(pcs)'
        Mask: 'NUMBER'
        Min: '0'
        Taborder: 2
      ]
    }
    Component npUpperLimitOfTransferCapacityKW id:npUpperLimitOfTransferCapacityKW_858
    Component DL_KW
    {
      #keys: '[413988.1.30912036]'
      #keys: '[413988.1.37281164]'
      BaseType: 'WebNumberPicker'
      Properties:
      [
        DataBinding: 'MacroPlan.UpperLimitOfTransferCapacityKW'
        Label: 'KW(pcs)'
        Mask: 'NUMBER'
        Min: '0'
        Taborder: 3
      ]
    }
    Component npUpperLimitOfTransferCapacityAGW id:npUpperLimitOfTransferCapacityAGW_545
    Component DL_AGW
    {
      #keys: '[413988.1.30912059]'
      #keys: '[413988.1.37281165]'
      BaseType: 'WebNumberPicker'
      Properties:
      [
        DataBinding: 'MacroPlan.UpperLimitOfTransferCapacityAGW'
        Label: 'AGW(pcs)'
        Mask: 'NUMBER'
        Min: '0'
        Taborder: 4
      ]
_Main/UI/MacroPlannerWebApp/Component_DialogULOTC/Component_pnlActions.def
copy from _Main/UI/MacroPlannerWebApp/Component_DialogUpperLimitOfTransferCapacity/Component_pnlActions.def copy to _Main/UI/MacroPlannerWebApp/Component_DialogULOTC/Component_pnlActions.def
Îļþ´Ó _Main/UI/MacroPlannerWebApp/Component_DialogUpperLimitOfTransferCapacity/Component_pnlActions.def ¸´ÖÆ
@@ -1,13 +1,13 @@
Quintiq file version 2.0
Component pnlActions
{
  #keys: '[413988.0.1292313213]'
  #keys: '[413988.1.35911888]'
  BaseType: 'WebPanel'
  Children:
  [
    Component btnOk
    {
      #keys: '[413988.0.1292313217]'
      #keys: '[413988.1.35911892]'
      BaseType: 'WebButton'
      Properties:
      [
@@ -17,7 +17,7 @@
    }
    Component btnCancel
    {
      #keys: '[413988.0.1292313219]'
      #keys: '[413988.1.35911894]'
      BaseType: 'WebButton'
      Properties:
      [
_Main/UI/MacroPlannerWebApp/Component_DialogULOTC/Component_pnlContent.def
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,15 @@
Quintiq file version 2.0
Component pnlContent
{
  #keys: '[413988.1.35911886]'
  BaseType: 'WebPanel'
  Children:
  [
    #child: pnlContent481
  ]
  Properties:
  [
    Padding: 'true'
    Taborder: 0
  ]
}
_Main/UI/MacroPlannerWebApp/Component_DialogULOTC/Component_pnlContent481.def
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,17 @@
Quintiq file version 2.0
Component pnlContent481
{
  #keys: '[413988.1.37281159]'
  BaseType: 'WebPanel'
  Children:
  [
    #child: pDL_545
    #child: pCC_847
  ]
  Properties:
  [
    Orientation: 'tab'
    Padding: 'true'
    Taborder: 0
  ]
}
_Main/UI/MacroPlannerWebApp/Component_DialogULOTC/Response_pnlActions_btnCancel_OnClick.def
copy from _Main/UI/MacroPlannerWebApp/Component_DialogUpperLimitOfTransferCapacity/Response_pnlActions_btnCancel_OnClick.def copy to _Main/UI/MacroPlannerWebApp/Component_DialogULOTC/Response_pnlActions_btnCancel_OnClick.def
Îļþ´Ó _Main/UI/MacroPlannerWebApp/Component_DialogUpperLimitOfTransferCapacity/Response_pnlActions_btnCancel_OnClick.def ¸´ÖÆ
@@ -2,7 +2,7 @@
#parent: pnlActions/btnCancel
Response OnClick () id:Response_pnlActions_btnCancel_OnClick
{
  #keys: '[413988.0.1292313223]'
  #keys: '[413988.1.35911898]'
  DefinitionID: 'Responsedef_WebButton_OnClick'
  GroupServerCalls: true
  QuillAction
_Main/UI/MacroPlannerWebApp/Component_DialogULOTC/Response_pnlActions_btnOk_OnClick.def
ÎļþÃû´Ó _Main/UI/MacroPlannerWebApp/Component_DialogUpperLimitOfTransferCapacity/Response_pnlActions_btnOk_OnClick.def ÐÞ¸Ä
@@ -2,7 +2,7 @@
#parent: pnlActions/btnOk
Response OnClick () id:Response_pnlActions_btnOk_OnClick
{
  #keys: '[413988.0.1292313222]'
  #keys: '[413988.1.35911897]'
  DefinitionID: 'Responsedef_WebButton_OnClick'
  GroupServerCalls: true
  QuillAction
_Main/UI/MacroPlannerWebApp/Component_DialogULOTC/_ROOT_Component_DialogULOTC.def
ÎļþÃû´Ó _Main/UI/MacroPlannerWebApp/Component_DialogUpperLimitOfTransferCapacity/_ROOT_Component_DialogUpperLimitOfTransferCapacity.def ÐÞ¸Ä
@@ -1,9 +1,9 @@
Quintiq file version 2.0
#root
#parent: MacroPlannerWebApp
OrphanComponent DialogUpperLimitOfTransferCapacity
OrphanComponent DialogULOTC
{
  #keys: '[413988.0.1292313209]'
  #keys: '[413988.1.35911884]'
  BaseType: 'WebForm'
  Children:
  [
_Main/UI/MacroPlannerWebApp/Component_DialogUpperLimitOfTransferCapacity/Component_pnlContent.def
ÎļþÒÑɾ³ý
_Main/UI/MacroPlannerWebApp/Component_FormAssemblyOnlinePlanVersion/Response_PanelProductLine_ddslMQBMLB_OnSelectionChanged.def
@@ -9,7 +9,7 @@
  {
    Body:
    [*
      if( dhSearch.Data().ProductionLine() <> selection ){
      if( not isnull( dhSearch.Data() ) and dhSearch.Data().ProductionLine() <> selection ){
        dhSearch.Data().ProductionLine( selection );
      //  DataHolderTable.Data().Generate( dhSearch.Data(), DataHolderProduct.Data() ); 
      }
_Main/UI/MacroPlannerWebApp/Component_FormAssemblyOnlinePlanVersion/Response_PanelProduct_937_ddslProduct_OnSelectionChanged.def
@@ -9,7 +9,7 @@
  {
    Body:
    [*
      if( dhSearch.Data().Product() <> selection ){
      if( not isnull( dhSearch.Data() ) and dhSearch.Data().Product() <> selection ){
        dhSearch.Data().Product( selection );
      //  DataHolderTable.Data().Generate( dhSearch.Data(), DataHolderProduct.Data() ); 
      }
_Main/UI/MacroPlannerWebApp/Component_FormAssemblyOnlinePlanVersion/Response_PanelUnit_ddslUnit_OnSelectionChanged.def
@@ -9,7 +9,7 @@
  {
    Body:
    [*
      if( dhSearch.Data().Unit() <> selection ){
      if( not isnull( dhSearch.Data() ) and dhSearch.Data().Unit() <> selection ){
        dhSearch.Data().Unit( selection );
      //  DataHolderTable.Data().Generate( dhSearch.Data(), DataHolderProduct.Data() ); 
      }
_Main/UI/MacroPlannerWebApp/Component_FormCustomerDemandPPAIDS/Component_PanelGeneration.def
@@ -15,7 +15,6 @@
        Taborder: 0
      ]
    }
    #child: PanelGeneration743
  ]
  Properties:
  [
_Main/UI/MacroPlannerWebApp/Component_FormCustomerDemandPPAIDS/Component_PanelGeneration743.def
ÎļþÒÑɾ³ý
_Main/UI/MacroPlannerWebApp/Component_FormCustomerDemandPPAIDS/Component_PanelProduct.def
@@ -19,6 +19,7 @@
  ]
  Properties:
  [
    FixedSize: true
    Taborder: 3
  ]
}
_Main/UI/MacroPlannerWebApp/Component_FormCustomerDemandPPAIDS/Response_PanelGeneration743_ddslGeneration859_OnSelectionChanged.def
ÎļþÒÑɾ³ý
_Main/UI/MacroPlannerWebApp/Component_FormCustomerDemandPPAIDS/Response_PanelGeneration_ddslGeneration_OnSelectionChanged#187.def
@@ -9,7 +9,7 @@
  {
    Body:
    [*
      if( dhSearch.Data().Generation() <> selection ){
      if( not isnull( dhSearch.Data() ) and dhSearch.Data().Generation() <> selection ){
        dhSearch.Data().Generation( selection );
      //  DataHolderTable.Data().Generate( dhSearch.Data(), DataHolderProduct.Data() ); 
      }
_Main/UI/MacroPlannerWebApp/Component_FormCustomerDemandPPAIDS/Response_PanelMLBMQB_ddslMQBMLB_OnSelectionChanged#456.def
@@ -9,7 +9,7 @@
  {
    Body:
    [*
      if( dhSearch.Data().MqbMlb() <> selection ){
      if( not isnull( dhSearch.Data() ) and dhSearch.Data().MqbMlb() <> selection ){
        dhSearch.Data().MqbMlb( selection );
      //  DataHolderTable.Data().Generate( dhSearch.Data(), DataHolderProduct.Data() ); 
      }
_Main/UI/MacroPlannerWebApp/Component_FormCustomerDemandPPAIDS/Response_PanelPower_ddslPower_OnSelectionChanged#136.def
@@ -9,7 +9,7 @@
  {
    Body:
    [*
      if( dhSearch.Data().Power() <> selection ){
      if( not isnull( dhSearch.Data() ) and dhSearch.Data().Power() <> selection ){
        dhSearch.Data().Power( selection );
      //  DataHolderTable.Data().Generate( dhSearch.Data(), DataHolderProduct.Data() ); 
      }
_Main/UI/MacroPlannerWebApp/Component_FormCustomerDemandPPAIDS/Response_PanelProduct_ddslProduct_OnSelectionChanged.def
@@ -9,7 +9,7 @@
  {
    Body:
    [*
      if( dhSearch.Data().Product() <> selection ){
      if( not isnull( dhSearch.Data() ) and dhSearch.Data().Product() <> selection ){
        dhSearch.Data().Product( selection );
      //  DataHolderTable.Data().Generate( dhSearch.Data(), DataHolderProduct.Data() ); 
      }
_Main/UI/MacroPlannerWebApp/Component_FormCustomerDemandPPAIDS/_ROOT_Component_FormCustomerDemandPPAIDS.def
@@ -14,6 +14,21 @@
      #keys: '[415136.0.1121750597]'
      BaseType: 'WebDataHolder'
      Databinding: 'CustomerDemandIDSSearch'
      Children:
      [
        Component deSearch
        {
          #keys: '[415136.0.1256142023]'
          BaseType: 'WebDataExtractor'
          Properties:
          [
            DataType: 'InterfaceDataset'
            Source: 'InterfaceDataset'
            Taborder: 0
            Transformation: 'CustomerDemandIDSSearch'
          ]
        }
      ]
      Properties:
      [
        Taborder: 0
_Main/UI/MacroPlannerWebApp/Component_FormOfflinePlanArchive/Component_MatrixEditorTable.def
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,104 @@
Quintiq file version 2.0
Component MatrixEditorTable
{
  #keys: '[415136.0.1252790401]'
  BaseType: 'WebMatrixEditor'
  Children:
  [
    Component MatrixEditorCellTable
    {
      #keys: '[415136.0.1252790402]'
      BaseType: 'WebMatrixEditorCell'
      Children:
      [
        Component DataExtractorCells
        {
          #keys: '[415136.0.1252790403]'
          BaseType: 'WebDataExtractor'
          Properties:
          [
            DataType: 'InterfaceDataset'
            FilterArguments: 'search:QMacroPlanner::FormAssemblyOnlinePlanVersion.dhSearch'
            FixedFilter: 'object.Column().TimeUnit() = search.TimeUnit() and object.Column().StartDate() >= search.StartDate() and object.Column().StartDate() <= search.EndDate()'
            Source: 'InterfaceDataset'
            Taborder: 0
            Transformation: 'OfflinePlanArchiveVersion.Row.Cell'
          ]
        }
      ]
      Properties:
      [
        Attributes: 'Value'
        Column: 'Column'
        Row: 'Row'
        Taborder: 0
      ]
    }
    Component MatrixEditorRowsTable
    {
      #keys: '[415136.0.1252790404]'
      BaseType: 'WebMatrixEditorHeaderLevel'
      Children:
      [
        Component DataExtractorRows
        {
          #keys: '[415136.0.1252790405]'
          BaseType: 'WebDataExtractor'
          Properties:
          [
            DataType: 'InterfaceDataset'
            Description: "( search.Generation() = '<All>' or object.Product_MP().Generation() = search.Generation() ) and ( search.MqbMlb() = '<All>' or object.Product_MP().MQBMLB() = search.MqbMlb() ) and ( search.Power() = '<All>' or object.Product_MP().Power() = search.Power() )"
            FilterArguments: 'search:QMacroPlanner::FormAssemblyOnlinePlanVersion.dhSearch'
            FixedFilter: "( search.Product() = '<All>' or object.ProductID() = search.Product() ) and ( search.ProductionLine() = '<All>' or object.ProductionLine() = search.ProductionLine() )"
            Source: 'InterfaceDataset'
            Taborder: 0
            Transformation: 'OfflinePlanArchiveVersion.Row'
          ]
        }
      ]
      Properties:
      [
        Legend: 'ProductID'
        SortCriteria: 'ProductID'
        Taborder: 1
      ]
    }
    Component MatrixEditorColumnsTable
    {
      #keys: '[415136.0.1252790406]'
      BaseType: 'WebMatrixEditorHeaderLevel'
      Children:
      [
        Component DataExtractorColumns
        {
          #keys: '[415136.0.1252790407]'
          BaseType: 'WebDataExtractor'
          Properties:
          [
            DataType: 'InterfaceDataset'
            FilterArguments: 'search:QMacroPlanner::FormAssemblyOnlinePlanVersion.dhSearch'
            FixedFilter: 'object.TimeUnit() = search.TimeUnit() and object.StartDate() >= search.StartDate() and object.StartDate() <= search.EndDate()'
            Source: 'InterfaceDataset'
            Taborder: 0
            Transformation: 'OfflinePlanArchiveVersion.Column'
          ]
        }
      ]
      Properties:
      [
        Legend: 'ColumnName'
        SortCriteria: 'StartDate'
        Taborder: 2
      ]
    }
    #child: matrixEditorActionBarPageTable
    #child: matrixeditorContextMenuTable
  ]
  Properties:
  [
    Columns: 'MatrixEditorColumnsTable'
    ContextMenu: 'matrixeditorContextMenuTable'
    Rows: 'MatrixEditorRowsTable'
    Taborder: 0
  ]
}
_Main/UI/MacroPlannerWebApp/Component_FormOfflinePlanArchive/Component_PanelHeader.def
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,20 @@
Quintiq file version 2.0
Component PanelHeader
{
  #keys: '[415136.0.1252790294]'
  BaseType: 'WebPanel'
  Children:
  [
    #child: PanelProduct
    #child: PanelPeriod_858
    #child: PanelTimeUnit
    #child: PanelOperation
    #child: PanelProductLine_603
    #child: PanelUnit_844
  ]
  Properties:
  [
    Orientation: 'horizontal'
    Taborder: 1
  ]
}
_Main/UI/MacroPlannerWebApp/Component_FormOfflinePlanArchive/Component_PanelOperation.def
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,24 @@
Quintiq file version 2.0
Component PanelOperation
{
  #keys: '[415136.0.1252790299]'
  BaseType: 'WebPanel'
  Children:
  [
    Component ButtonSearch
    {
      #keys: '[415136.0.1252790300]'
      BaseType: 'WebButton'
      Properties:
      [
        Image: 'VIEW'
        Taborder: 0
      ]
    }
  ]
  Properties:
  [
    Taborder: 5
    Visible: false
  ]
}
_Main/UI/MacroPlannerWebApp/Component_FormOfflinePlanArchive/Component_PanelPeriod#858.def
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,35 @@
Quintiq file version 2.0
Component PanelPeriod id:PanelPeriod_858
{
  #keys: '[415136.0.1252790303]'
  BaseType: 'WebPanel'
  Children:
  [
    Component DateSelectorStart
    {
      #keys: '[415136.0.1252790304]'
      BaseType: 'WebDateSelector'
      Properties:
      [
        Label: 'Start date'
        Taborder: 0
      ]
    }
    Component DateSelectorEnd
    {
      #keys: '[415136.0.1252790305]'
      BaseType: 'WebDateSelector'
      Properties:
      [
        Date: 9999-12-31
        Label: 'End date'
        Taborder: 1
      ]
    }
  ]
  Properties:
  [
    Orientation: 'horizontal'
    Taborder: 3
  ]
}
_Main/UI/MacroPlannerWebApp/Component_FormOfflinePlanArchive/Component_PanelProduct.def
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,25 @@
Quintiq file version 2.0
Component PanelProduct
{
  #keys: '[415136.0.1252790306]'
  BaseType: 'WebPanel'
  Children:
  [
    Component ddslProduct
    {
      #keys: '[415136.0.1252790307]'
      BaseType: 'WebDropDownStringList'
      Properties:
      [
        FixedSize: false
        Label: 'Product'
        Taborder: 0
      ]
    }
  ]
  Properties:
  [
    FixedSize: true
    Taborder: 2
  ]
}
_Main/UI/MacroPlannerWebApp/Component_FormOfflinePlanArchive/Component_PanelProductLine#603.def
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,24 @@
Quintiq file version 2.0
Component PanelProductLine id:PanelProductLine_603
{
  #keys: '[415136.0.1252790297]'
  BaseType: 'WebPanel'
  Children:
  [
    Component ddslMQBMLB
    {
      #keys: '[415136.0.1252790298]'
      BaseType: 'WebDropDownStringList'
      Properties:
      [
        Label: 'MQB/MLB'
        Taborder: 0
      ]
    }
  ]
  Properties:
  [
    FixedSize: true
    Taborder: 1
  ]
}
_Main/UI/MacroPlannerWebApp/Component_FormOfflinePlanArchive/Component_PanelTable.def
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,14 @@
Quintiq file version 2.0
Component PanelTable
{
  #keys: '[415136.0.1252790400]'
  BaseType: 'WebPanel'
  Children:
  [
    #child: MatrixEditorTable
  ]
  Properties:
  [
    Taborder: 2
  ]
}
_Main/UI/MacroPlannerWebApp/Component_FormOfflinePlanArchive/Component_PanelTimeUnit.def
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,26 @@
Quintiq file version 2.0
Component PanelTimeUnit
{
  #keys: '[415136.0.1252790301]'
  BaseType: 'WebPanel'
  Children:
  [
    Component RadioButtonGroupUseForTimeUnit
    {
      #keys: '[415136.0.1252790302]'
      BaseType: 'WebRadioButtonGroup'
      Properties:
      [
        ButtonLabels: 'Day;Week;Month'
        ButtonValues: 'Day;Week;Month'
        Orientation: 'horizontal'
        Taborder: 0
        Title: 'Periods'
      ]
    }
  ]
  Properties:
  [
    Taborder: 4
  ]
}
_Main/UI/MacroPlannerWebApp/Component_FormOfflinePlanArchive/Component_PanelUnit#844.def
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,24 @@
Quintiq file version 2.0
Component PanelUnit id:PanelUnit_844
{
  #keys: '[415136.0.1252790295]'
  BaseType: 'WebPanel'
  Children:
  [
    Component ddslUnit
    {
      #keys: '[415136.0.1252790296]'
      BaseType: 'WebDropDownStringList'
      Properties:
      [
        Label: 'Unit'
        Taborder: 0
      ]
    }
  ]
  Properties:
  [
    FixedSize: true
    Taborder: 0
  ]
}
_Main/UI/MacroPlannerWebApp/Component_FormOfflinePlanArchive/Component_matrixEditorActionBarPageTable.def
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,10 @@
Quintiq file version 2.0
Component matrixEditorActionBarPageTable
{
  #keys: '[415136.0.1252790408]'
  BaseType: 'matrixEditorActionBarPage'
  Properties:
  [
    Taborder: 3
  ]
}
_Main/UI/MacroPlannerWebApp/Component_FormOfflinePlanArchive/Component_matrixeditorContextMenuTable.def
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,10 @@
Quintiq file version 2.0
Component matrixeditorContextMenuTable
{
  #keys: '[415136.0.1252790409]'
  BaseType: 'matrixeditorContextMenu'
  Properties:
  [
    Taborder: 4
  ]
}
_Main/UI/MacroPlannerWebApp/Component_FormOfflinePlanArchive/Response_PanelPeriod_858_DateSelectorEnd_OnChanged.def
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,24 @@
Quintiq file version 2.0
#parent: PanelPeriod_858/DateSelectorEnd
Response OnChanged () id:Response_PanelPeriod_858_DateSelectorEnd_OnChanged
{
  #keys: '[415136.0.1252790286]'
  CanBindMultiple: false
  DefinitionID: 'Responsedef_WebDateTimeFieldBase_OnChanged'
  QuillAction
  {
    Body:
    [*
      //日期改变后刷新显示
      if( this.Date() < DateSelectorStart.Date() ){
        this.HintError( 'The end date cannot be less than the start date!' );
      }else{
        if( dhSearch.Data().EndDate() <> this.Date() ){
          dhSearch.Data().EndDate( this.Date() );
      //    DataHolderTable.Data().Generate( dhSearch.Data(), DataHolderProduct.Data() );
        }
      }
    *]
    GroupServerCalls: false
  }
}
_Main/UI/MacroPlannerWebApp/Component_FormOfflinePlanArchive/Response_PanelPeriod_858_DateSelectorStart_OnChanged.def
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,24 @@
Quintiq file version 2.0
#parent: PanelPeriod_858/DateSelectorStart
Response OnChanged () id:Response_PanelPeriod_858_DateSelectorStart_OnChanged
{
  #keys: '[415136.0.1252790287]'
  CanBindMultiple: false
  DefinitionID: 'Responsedef_WebDateTimeFieldBase_OnChanged'
  QuillAction
  {
    Body:
    [*
      //日期改变后刷新显示
      if( this.Date() > DateSelectorEnd.Date() ){
        this.HintError( 'The start date cannot be later than the end date!' );
      }else{
        if( dhSearch.Data().StartDate() <> this.Date() ){
          dhSearch.Data().StartDate( this.Date() );
      //    DataHolderTable.Data().Generate( dhSearch.Data(), DataHolderProduct.Data() );
        }
      }
    *]
    GroupServerCalls: false
  }
}
_Main/UI/MacroPlannerWebApp/Component_FormOfflinePlanArchive/Response_PanelProductLine_603_ddslMQBMLB_OnCreated.def
copy from _Main/UI/MacroPlannerWebApp/Component_FormCustomerDemandPPAIDS/Response_PanelGeneration743_ddslGeneration859_OnCreated.def copy to _Main/UI/MacroPlannerWebApp/Component_FormOfflinePlanArchive/Response_PanelProductLine_603_ddslMQBMLB_OnCreated.def
Îļþ´Ó _Main/UI/MacroPlannerWebApp/Component_FormCustomerDemandPPAIDS/Response_PanelGeneration743_ddslGeneration859_OnCreated.def ¸´ÖÆ
@@ -1,15 +1,15 @@
Quintiq file version 2.0
#parent: PanelGeneration743/ddslGeneration859
Response OnCreated () id:Response_PanelGeneration743_ddslGeneration859_OnCreated
#parent: PanelProductLine_603/ddslMQBMLB
Response OnCreated () id:Response_PanelProductLine_603_ddslMQBMLB_OnCreated
{
  #keys: '[415136.0.1137311845]'
  #keys: '[415136.0.1252790291]'
  CanBindMultiple: false
  DefinitionID: 'Responsedef_WebComponent_OnCreated'
  QuillAction
  {
    Body:
    [*
      values := selectuniquevalues( MacroPlan, Product_MP, tempPMP, true, tempPMP.Generation() );
      values := selectuniquevalues( InterfaceDataset, AssemblyOnlinePlanVersion.Row, row, true, row.ProductionLine() );
      
      valueString := values.Concatenate( ";" );
      valueString := selectuniquevalues( valueString.Tokenize( ";" ), Elements, tempS, true, tempS ).Concatenate( ";" );
_Main/UI/MacroPlannerWebApp/Component_FormOfflinePlanArchive/Response_PanelProductLine_603_ddslMQBMLB_OnSelectionChanged.def
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,19 @@
Quintiq file version 2.0
#parent: PanelProductLine_603/ddslMQBMLB
Response OnSelectionChanged () id:Response_PanelProductLine_603_ddslMQBMLB_OnSelectionChanged
{
  #keys: '[415136.0.1252790290]'
  CanBindMultiple: false
  DefinitionID: 'Responsedef_WebDropDownStringList_OnSelectionChanged'
  QuillAction
  {
    Body:
    [*
      if( not isnull( dhSearch.Data() ) and dhSearch.Data().ProductionLine() <> selection ){
        dhSearch.Data().ProductionLine( selection );
      //  DataHolderTable.Data().Generate( dhSearch.Data(), DataHolderProduct.Data() );
      }
    *]
    GroupServerCalls: false
  }
}
_Main/UI/MacroPlannerWebApp/Component_FormOfflinePlanArchive/Response_PanelProduct_ddslProduct_OnCreated.def
ÎļþÃû´Ó _Main/UI/MacroPlannerWebApp/Component_FormCustomerDemandPPAIDS/Response_PanelGeneration743_ddslGeneration859_OnCreated.def ÐÞ¸Ä
@@ -1,15 +1,15 @@
Quintiq file version 2.0
#parent: PanelGeneration743/ddslGeneration859
Response OnCreated () id:Response_PanelGeneration743_ddslGeneration859_OnCreated
#parent: PanelProduct/ddslProduct
Response OnCreated () id:Response_PanelProduct_ddslProduct_OnCreated
{
  #keys: '[415136.0.1137311845]'
  #keys: '[415136.0.1252790285]'
  CanBindMultiple: false
  DefinitionID: 'Responsedef_WebComponent_OnCreated'
  QuillAction
  {
    Body:
    [*
      values := selectuniquevalues( MacroPlan, Product_MP, tempPMP, true, tempPMP.Generation() );
      values := selectuniquevalues( InterfaceDataset, AssemblyOnlinePlanVersion.Row, row, true, row.ProductID() );
      
      valueString := values.Concatenate( ";" );
      valueString := selectuniquevalues( valueString.Tokenize( ";" ), Elements, tempS, true, tempS ).Concatenate( ";" );
_Main/UI/MacroPlannerWebApp/Component_FormOfflinePlanArchive/Response_PanelProduct_ddslProduct_OnSelectionChanged.def
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,19 @@
Quintiq file version 2.0
#parent: PanelProduct/ddslProduct
Response OnSelectionChanged () id:Response_PanelProduct_ddslProduct_OnSelectionChanged
{
  #keys: '[415136.0.1252790284]'
  CanBindMultiple: false
  DefinitionID: 'Responsedef_WebDropDownStringList_OnSelectionChanged'
  QuillAction
  {
    Body:
    [*
      if( not isnull( dhSearch.Data() ) and dhSearch.Data().Product() <> selection ){
        dhSearch.Data().Product( selection );
      //  DataHolderTable.Data().Generate( dhSearch.Data(), DataHolderProduct.Data() );
      }
    *]
    GroupServerCalls: false
  }
}
_Main/UI/MacroPlannerWebApp/Component_FormOfflinePlanArchive/Response_PanelTimeUnit_RadioButtonGroupUseForTimeUnit_OnChanged.def
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,20 @@
Quintiq file version 2.0
#parent: PanelTimeUnit/RadioButtonGroupUseForTimeUnit
Response OnChanged () id:Response_PanelTimeUnit_RadioButtonGroupUseForTimeUnit_OnChanged
{
  #keys: '[415136.0.1252790289]'
  CanBindMultiple: false
  DefinitionID: 'Responsedef_WebRadioButtonGroup_OnChanged'
  QuillAction
  {
    Body:
    [*
      //区间改变后刷新显示
      if( dhSearch.Data().TimeUnit() <> this.BoundValue() ){
        dhSearch.Data().TimeUnit( this.BoundValue() );
      //  DataHolderTable.Data().Generate( dhSearch.Data(), DataHolderProduct.Data() );
      }
    *]
    GroupServerCalls: false
  }
}
_Main/UI/MacroPlannerWebApp/Component_FormOfflinePlanArchive/Response_PanelTimeUnit_RadioButtonGroupUseForTimeUnit_OnCreated.def
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,16 @@
Quintiq file version 2.0
#parent: PanelTimeUnit/RadioButtonGroupUseForTimeUnit
Response OnCreated () id:Response_PanelTimeUnit_RadioButtonGroupUseForTimeUnit_OnCreated
{
  #keys: '[415136.0.1252790288]'
  CanBindMultiple: false
  DefinitionID: 'Responsedef_WebComponent_OnCreated'
  QuillAction
  {
    Body:
    [*
      this.ButtonValues( Translations::MP_GlobalParameters_Day() + ';' + Translations::MP_GlobalParameters_Week() + ';' + Translations::MP_GlobalParameters_Month() );
    *]
    GroupServerCalls: false
  }
}
_Main/UI/MacroPlannerWebApp/Component_FormOfflinePlanArchive/Response_PanelUnit_844_ddslUnit_OnCreated.def
copy from _Main/UI/MacroPlannerWebApp/Component_FormCustomerDemandPPAIDS/Response_PanelGeneration743_ddslGeneration859_OnCreated.def copy to _Main/UI/MacroPlannerWebApp/Component_FormOfflinePlanArchive/Response_PanelUnit_844_ddslUnit_OnCreated.def
Îļþ´Ó _Main/UI/MacroPlannerWebApp/Component_FormCustomerDemandPPAIDS/Response_PanelGeneration743_ddslGeneration859_OnCreated.def ¸´ÖÆ
@@ -1,15 +1,15 @@
Quintiq file version 2.0
#parent: PanelGeneration743/ddslGeneration859
Response OnCreated () id:Response_PanelGeneration743_ddslGeneration859_OnCreated
#parent: PanelUnit_844/ddslUnit
Response OnCreated () id:Response_PanelUnit_844_ddslUnit_OnCreated
{
  #keys: '[415136.0.1137311845]'
  #keys: '[415136.0.1252790293]'
  CanBindMultiple: false
  DefinitionID: 'Responsedef_WebComponent_OnCreated'
  QuillAction
  {
    Body:
    [*
      values := selectuniquevalues( MacroPlan, Product_MP, tempPMP, true, tempPMP.Generation() );
      values := selectuniquevalues( InterfaceDataset, AssemblyOnlinePlanVersion.Row, row, true, row.Type() );
      
      valueString := values.Concatenate( ";" );
      valueString := selectuniquevalues( valueString.Tokenize( ";" ), Elements, tempS, true, tempS ).Concatenate( ";" );
_Main/UI/MacroPlannerWebApp/Component_FormOfflinePlanArchive/Response_PanelUnit_844_ddslUnit_OnSelectionChanged.def
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,19 @@
Quintiq file version 2.0
#parent: PanelUnit_844/ddslUnit
Response OnSelectionChanged () id:Response_PanelUnit_844_ddslUnit_OnSelectionChanged
{
  #keys: '[415136.0.1252790292]'
  CanBindMultiple: false
  DefinitionID: 'Responsedef_WebDropDownStringList_OnSelectionChanged'
  QuillAction
  {
    Body:
    [*
      if( not isnull( dhSearch.Data() ) and dhSearch.Data().Unit() <> selection ){
        dhSearch.Data().Unit( selection );
      //  DataHolderTable.Data().Generate( dhSearch.Data(), DataHolderProduct.Data() );
      }
    *]
    GroupServerCalls: false
  }
}
_Main/UI/MacroPlannerWebApp/Component_FormOfflinePlanArchive/_ROOT_Component_FormOfflinePlanArchive.def
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,43 @@
Quintiq file version 2.0
#root
#parent: MacroPlannerWebApp
OrphanComponent FormOfflinePlanArchive
{
  #keys: '[415136.0.1252790190]'
  BaseType: 'WebForm'
  Children:
  [
    Component dhSearch id:dhSearch_715
    {
      #keys: '[415136.0.1252790226]'
      BaseType: 'WebDataHolder'
      Databinding: 'OfflinePlanArchiveSearch'
      Children:
      [
        Component deSearch
        {
          #keys: '[415136.0.1252790227]'
          BaseType: 'WebDataExtractor'
          Properties:
          [
            DataType: 'InterfaceDataset'
            Source: 'InterfaceDataset'
            Taborder: 0
            Transformation: 'OfflinePlanArchiveSearch'
          ]
        }
      ]
      Properties:
      [
        Taborder: 0
      ]
    }
    #child: PanelHeader
    #child: PanelTable
  ]
  Properties:
  [
    Image: 'PAPER_JET'
    Title: 'Offline plan archive'
  ]
}
_Main/UI/MacroPlannerWebApp/Component_FormTransferPlan/Response_pHeader_bMaximumDailyTransferCapacity_OnClick.def
@@ -5,11 +5,15 @@
  #keys: '[413988.0.1292330611]'
  CanBindMultiple: false
  DefinitionID: 'Responsedef_WebButton_OnClick'
  Precondition:
  [*
    return not isnull( MacroPlan );
  *]
  QuillAction
  {
    Body:
    [*
      dlg := construct( DialogUpperLimitOfTransferCapacity );
      dlg := construct( DialogULOTC );
      
      ApplicationMacroPlanner.ShowFormModal( dlg );
    *]
_Main/UI/MacroPlannerWebApp/Views/Offline__plan_archive_report.vw
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,116 @@
Quintiq file version 2.0
{
  viewcontents
  {
    forms
    {
      form_FormOfflinePlanArchive
      {
        title: 'QMacroPlanner::FormOfflinePlanArchive'
        shown: true
        componentID: 'QMacroPlanner::FormOfflinePlanArchive'
        layout
        {
          mode: 'open'
          rowPosition: 1
          rowSpan: 15
          columnPosition: 1
          columnSpan: 12
        }
        components
        {
          FormOfflinePlanArchive_PanelHeader
          {
            sizeRatio: 1
          }
          FormOfflinePlanArchive_PanelUnit
          {
            sizeRatio: 1
          }
          FormOfflinePlanArchive_PanelProductLine
          {
            sizeRatio: 1
          }
          FormOfflinePlanArchive_PanelProduct
          {
            sizeRatio: 1
          }
          FormOfflinePlanArchive_PanelPeriod
          {
            sizeRatio: 1
          }
          FormOfflinePlanArchive_PanelTimeUnit
          {
            sizeRatio: 1
          }
          FormOfflinePlanArchive_PanelOperation
          {
            sizeRatio: 1
          }
          FormOfflinePlanArchive_PanelTable
          {
            sizeRatio: 1
          }
          FormOfflinePlanArchive_MatrixEditorTable
          {
            gridColor: '#c4c4c4'
            totalHeaderWidth: 200
            attributeHeaderWidthRatio: 0.6
            nameHeaderWidthRatio: 0.4
            columnWidth: 100
            horizontalGrid: true
            verticalGrid: true
            backendState
            {
              componentId: 'QMacroPlanner::FormOfflinePlanArchive.MatrixEditorTable'
              state
              {
                cells
                {
                  attributes
                  {
                    attribute_Value
                    {
                      type: 'MatrixEditorWebApiCellDataModelInterest'
                      index: 0
                      rowsubtotal: ''
                      columnsubtotal: ''
                      attribute: 'Value'
                    }
                  }
                }
                columns
                {
                  sorting
                  {
                    criteria: "datamember:'StartDate'"
                  }
                }
                rows
                {
                  sorting
                  {
                    criteria: "datamember:'ProductID'"
                  }
                }
              }
            }
          }
        }
      }
    }
    userconfigurableinformation
    {
    }
    page: ''
    group: ''
    index: 30
    image: 'PAPER_JET'
    description: ''
  }
  formatversion: 2
  id: 'Offline__plan_archive_report'
  name: 'Offline  plan archive report'
  isglobal: false
  isroot: true
}
_Main/UI/MacroPlannerWebApp/Views/PackagingPlan.vw
@@ -27,6 +27,115 @@
          {
            sizeRatio: 1
          }
          FormPackagingPlan_MatrixEditor493
          {
            gridColor: '#c4c4c4'
            totalHeaderWidth: 224
            attributeHeaderWidthRatio: 0.6
            nameHeaderWidthRatio: 0.4
            columnWidth: 100
            horizontalGrid: true
            verticalGrid: true
            backendState
            {
              componentId: 'QMacroPlanner::FormPackagingPlan.MatrixEditor493'
              state
              {
                cells
                {
                  attributes
                  {
                    attribute_NetDemand
                    {
                      type: 'MatrixEditorWebApiCellDataModelInterest'
                      index: 0
                      rowsubtotal: ''
                      columnsubtotal: ''
                      attribute: 'NetDemand'
                    }
                    attribute_NewSupply
                    {
                      type: 'MatrixEditorWebApiCellDataModelInterest'
                      index: 1
                      rowsubtotal: ''
                      columnsubtotal: ''
                      attribute: 'NewSupply'
                    }
                    attribute_EndingInventory
                    {
                      type: 'MatrixEditorWebApiCellDataModelInterest'
                      index: 2
                      rowsubtotal: ''
                      columnsubtotal: ''
                      attribute: 'EndingInventory'
                    }
                    attribute_Out
                    {
                      type: 'MatrixEditorWebApiCellDataModelInterest'
                      index: 3
                      rowsubtotal: ''
                      columnsubtotal: ''
                      attribute: 'Out'
                    }
                    attribute_TransferIn
                    {
                      type: 'MatrixEditorWebApiCellDataModelInterest'
                      index: 4
                      rowsubtotal: ''
                      columnsubtotal: ''
                      attribute: 'TransferIn'
                    }
                    attribute_UnpackagedInventory
                    {
                      type: 'MatrixEditorWebApiCellDataModelInterest'
                      index: 5
                      rowsubtotal: ''
                      columnsubtotal: ''
                      attribute: 'UnpackagedInventory'
                    }
                    attribute_PackagingInventory
                    {
                      type: 'MatrixEditorWebApiCellDataModelInterest'
                      index: 6
                      rowsubtotal: ''
                      columnsubtotal: ''
                      attribute: 'PackagingInventory'
                    }
                    attribute_Package
                    {
                      type: 'MatrixEditorWebApiCellDataModelInterest'
                      index: 7
                      rowsubtotal: ''
                      columnsubtotal: ''
                      attribute: 'Package'
                    }
                    attribute_Unpacking
                    {
                      type: 'MatrixEditorWebApiCellDataModelInterest'
                      index: 8
                      rowsubtotal: ''
                      columnsubtotal: ''
                      attribute: 'Unpacking'
                    }
                  }
                }
                columns
                {
                  sorting
                  {
                    criteria: "datamember:'StartDate'"
                  }
                }
                rows
                {
                  sorting
                  {
                    criteria: "datamember:'ProductID';datamember:'StockingPointID'"
                  }
                }
              }
            }
          }
        }
      }
      form_FormGeneralSettings