lihongji
2024-11-15 c6e8187d8a90489b985609fe7d94d4996ecee491
Merge remote-tracking branch 'origin/dev' into dev
已复制19个文件
已重命名29个文件
已修改28个文件
已添加19个文件
已删除29个文件
2424 ■■■■ 文件已修改
_Main/BL/Type_AssemblyOnlinePlanVersion/StaticMethod_RefreshData.qbl 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_CCEngineLogisticsCostColumn0/Method_CalcEngineCost#911.qbl 35 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_CCEngineLogisticsCostColumn0/Method_CalcEngineCost.qbl 40 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_CCEngineLogisticsCostColumn0/Method_CalcEngineCost0.qbl 35 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_CCEngineLogisticsCostColumn0/Method_CalcTransCost#652.qbl 36 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_CCEngineLogisticsCostReport/StaticMethod_Initialize.qbl 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_CCEngineLogisticsCostReport0/StaticMethod_Initialize.qbl 49 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_CCEngineLogisticsCostReport0/StaticMethod_InitializeNew.qbl 136 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_CustomerDemandIDS/Attribute_IsShow.qbl 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_CustomerDemandIDS/Method_Clear.qbl 16 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_CustomerDemandIDS/Method_Generate.qbl 36 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_CustomerDemandIDS/Method_GenerateColumn.qbl 49 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_CustomerDemandIDS/Method_GetRowByUnit.qbl 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_CustomerDemandIDS/StaticMethod_GenerateData.qbl 24 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_CustomerDemandIDS/StaticMethod_InitiateSearch.qbl 28 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_ExportXMLData/Function_CalcPriority.qbl 13 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_ExportXMLData/Method_CalculatePriority.qbl 47 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_ExportXMLManager/Function_CalcFinalXML.qbl 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_ExportXMLManager/StaticMethod_AwaitLocalTableXMLData#530.qbl 7 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_ExportXMLManager/StaticMethod_AwaitLocalTableXMLData.qbl 7 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_ExportXMLManager/StaticMethod_AwaitShiftPlanXMLData.qbl 9 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_MP_Cell_AnnualPlanReport0/StaticMethod_CreateFullTable.qbl 65 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_MP_Cell_ScheduleSummary0/StaticMethod_Create.qbl 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_MP_Cell_ScheduleSummary0/StaticMethod_CreateFullTable.qbl 34 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_MP_Cell_ScheduleSummary0/StaticMethod_CreateTempTable.qbl 4 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_ShiftPlan/Method_GetWorkHours.qbl 29 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/Sys/Repr/Global/LocalCell_Default.qrp 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_ApplicationMacroPlanner/Component_ActionBarGroupArchiveReport.def 22 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_ApplicationMacroPlanner/Response_MacroPlanner_ActionBarGroupArchiveReport_ButtonArchivePackagingPlan.def 17 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_ApplicationMacroPlanner/Response_MacroPlanner_ActionBarGroupArchiveReport_ButtonArchiveTransferPlan_.def 17 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_Form701/Component_PanelFilter#490.def 58 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_Form701/Response_PanelFilter_490_ButtonClearFilter_OnClick.def 19 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_Form701/Response_PanelFilter_490_ButtonFilter676_OnClick.def 26 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_Form701/Response_PanelFilter_490_ddslGeneration_OnCreated.def 20 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_Form701/Response_PanelFilter_490_ddslMQBMLB_OnCreated.def 20 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_Form701/Response_PanelFilter_490_ddslPower_OnCreated.def 20 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_FormArchivePackagingPlan/_ROOT_Component_FormArchivePackagingPlan.def 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_FormArchiveTransferPlan/_ROOT_Component_FormArchiveTransferPlan.def 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_FormAssemblyOnlinePlanVersion/Component_PanelColumnSearch.def 16 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_FormAssemblyOnlinePlanVersion/Component_PanelHeader#952.def 9 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_FormAssemblyOnlinePlanVersion/Component_PanelOperation#283.def 23 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_FormAssemblyOnlinePlanVersion/Component_PanelOperation.def 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_FormAssemblyOnlinePlanVersion/Component_PanelPeriod#384.def 10 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_FormAssemblyOnlinePlanVersion/Component_PanelProduct#937.def 26 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_FormAssemblyOnlinePlanVersion/Component_PanelProduct.def 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_FormAssemblyOnlinePlanVersion/Component_PanelProductLine#623.def 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_FormAssemblyOnlinePlanVersion/Component_PanelProductSearch.def 18 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_FormAssemblyOnlinePlanVersion/Component_PanelTimeUnit#234.def 26 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_FormAssemblyOnlinePlanVersion/Component_PanelTimeUnit.def 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_FormAssemblyOnlinePlanVersion/Component_PanelUnit#424.def 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_FormAssemblyOnlinePlanVersion/Response_PanelOperation_283_ButtonSearch_OnClick.def 18 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_FormAssemblyOnlinePlanVersion/Response_PanelOperation_ButtonSearch_OnClick.def 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_FormAssemblyOnlinePlanVersion/Response_PanelPeriod_384_DateSelectorEnd_OnChanged.def 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_FormAssemblyOnlinePlanVersion/Response_PanelPeriod_384_DateSelectorStart_OnChanged.def 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_FormAssemblyOnlinePlanVersion/Response_PanelPeriod_DateSelectorEnd_OnChanged.def 24 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_FormAssemblyOnlinePlanVersion/Response_PanelProductLine_623_ddslProductLine_OnCreated.def 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_FormAssemblyOnlinePlanVersion/Response_PanelProductLine_623_ddslProductLine_OnSelectionChanged.def 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_FormAssemblyOnlinePlanVersion/Response_PanelProduct_937_ddslProduct_OnCreated.def 23 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_FormAssemblyOnlinePlanVersion/Response_PanelProduct_937_ddslProduct_OnSelectionChanged.def 19 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_FormAssemblyOnlinePlanVersion/Response_PanelProduct_ddslProduct_OnCreated.def 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_FormAssemblyOnlinePlanVersion/Response_PanelProduct_ddslProduct_OnSelectionChanged.def 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_FormAssemblyOnlinePlanVersion/Response_PanelTimeUnit_234_RadioButtonGroupUseForTimeUnit_OnChanged.def 20 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_FormAssemblyOnlinePlanVersion/Response_PanelTimeUnit_RadioButtonGroupUseForTimeUnit_OnChanged.def 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_FormAssemblyOnlinePlanVersion/Response_PanelTimeUnit_RadioButtonGroupUseForTimeUnit_OnCreated.def 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_FormAssemblyOnlinePlanVersion/Response_PanelUnit_424_ddslUnit_OnCreated.def 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_FormAssemblyOnlinePlanVersion/Response_PanelUnit_424_ddslUnit_OnSelectionChanged.def 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_FormAssemblyOnlinePlanVersion/Response_PanelUnit_ddslUnit_OnSelectionChanged.def 19 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_FormCustomerDemandPPAIDS/Component_PanelProduct.def 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_FormInventoryPlanArchive/Component_PanelColumnSearch.def 16 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_FormInventoryPlanArchive/Component_PanelHeader#503.def 8 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_FormInventoryPlanArchive/Component_PanelOperation#414.def 23 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_FormInventoryPlanArchive/Component_PanelOperation.def 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_FormInventoryPlanArchive/Component_PanelPeriod#71.def 10 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_FormInventoryPlanArchive/Component_PanelPeriod.def 35 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_FormInventoryPlanArchive/Component_PanelProduct#133.def 26 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_FormInventoryPlanArchive/Component_PanelProduct.def 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_FormInventoryPlanArchive/Component_PanelRowSearch.def 17 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_FormInventoryPlanArchive/Component_PanelTimeUnit#805.def 26 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_FormInventoryPlanArchive/Component_PanelTimeUnit.def 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_FormInventoryPlanArchive/Component_PanelUnit#925.def 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_FormInventoryPlanArchive/Response_PanelOperation_ButtonSearch_OnClick.def 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_FormInventoryPlanArchive/Response_PanelPeriod_71_DateSelectorEnd_OnChanged.def 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_FormInventoryPlanArchive/Response_PanelPeriod_71_DateSelectorStart_OnChanged.def 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_FormInventoryPlanArchive/Response_PanelPeriod_DateSelectorStart_OnChanged.def 24 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_FormInventoryPlanArchive/Response_PanelProduct_ddslProduct_OnCreated.def 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_FormInventoryPlanArchive/Response_PanelProduct_ddslProduct_OnSelectionChanged.def 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_FormInventoryPlanArchive/Response_PanelTimeUnit_805_RadioButtonGroupUseForTimeUnit_OnCreated.def 16 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_FormInventoryPlanArchive/Response_PanelTimeUnit_RadioButtonGroupUseForTimeUnit_OnChanged.def 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_FormInventoryPlanArchive/Response_PanelTimeUnit_RadioButtonGroupUseForTimeUnit_OnCreated.def 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_FormInventoryPlanArchive/Response_PanelUnit_925_ddslUnit_OnCreated.def 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_FormInventoryPlanArchive/Response_PanelUnit_925_ddslUnit_OnSelectionChanged.def 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_FormInventoryPlanArchive/Response_PanelUnit_ddslUnit_OnCreated.def 16 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_FormOfflinePlanArchive/Component_PanelColumnSaerch.def 16 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_FormOfflinePlanArchive/Component_PanelHeader.def 9 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_FormOfflinePlanArchive/Component_PanelOperation#679.def 8 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_FormOfflinePlanArchive/Component_PanelPeriod.def 8 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_FormOfflinePlanArchive/Component_PanelProduct#780.def 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_FormOfflinePlanArchive/Component_PanelProductLine#603.def 25 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_FormOfflinePlanArchive/Component_PanelProductLine.def 8 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_FormOfflinePlanArchive/Component_PanelRowSearch.def 18 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_FormOfflinePlanArchive/Component_PanelTimeUnit#720.def 8 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_FormOfflinePlanArchive/Component_PanelUnit#844.def 24 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_FormOfflinePlanArchive/Component_PanelUnit.def 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_FormOfflinePlanArchive/Response_PanelOperation_679_ButtonSearch_OnClick.def 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_FormOfflinePlanArchive/Response_PanelPeriod_DateSelectorEnd_OnChanged.def 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_FormOfflinePlanArchive/Response_PanelPeriod_DateSelectorStart_OnChanged.def 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_FormOfflinePlanArchive/Response_PanelProductLine_603_ddsProductLine_OnCreated.def 23 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_FormOfflinePlanArchive/Response_PanelProductLine_ddsProductLine_OnCreated.def 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_FormOfflinePlanArchive/Response_PanelProductLine_ddsProductLine_OnSelectionChanged.def 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_FormOfflinePlanArchive/Response_PanelProduct_780_ddslProduct_OnCreated.def 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_FormOfflinePlanArchive/Response_PanelProduct_780_ddslProduct_OnSelectionChanged.def 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_FormOfflinePlanArchive/Response_PanelTimeUnit_720_RadioButtonGroupUseForTimeUnit_OnChanged.def 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_FormOfflinePlanArchive/Response_PanelTimeUnit_720_RadioButtonGroupUseForTimeUnit_OnCreated.def 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_FormOfflinePlanArchive/Response_PanelUnit_ddslUnit_OnCreated.def 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_FormOfflinePlanArchive/Response_PanelUnit_ddslUnit_OnSelectionChanged.def 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_FormOfflinePlanComparison/Component_PanelFilter.def 58 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_FormOfflinePlanComparison/Response_PanelFilter_ButtonClearFilter_OnClick.def 19 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_FormOfflinePlanComparison/Response_PanelFilter_ButtonFilter458_OnClick.def 26 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_FormOfflinePlanComparison/Response_PanelFilter_ddslGeneration_OnCreated.def 20 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_FormOfflinePlanComparison/Response_PanelFilter_ddslMQBMLB_OnCreated.def 20 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_FormOfflinePlanComparison/Response_PanelFilter_ddslPower_OnCreated.def 20 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Views/ArchivePackagingPlan.vw 289 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Views/ArchiveTransferPlan.vw 201 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Views/DispatchShiftSchedulingInformation.vw 8 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_AssemblyOnlinePlanVersion/StaticMethod_RefreshData.qbl
@@ -17,7 +17,7 @@
      table                := interface.AssemblyOnlinePlanVersion( relnew, ID := name, Name := name );
    }
    showtable              := selectobject( interface, AssemblyOnlinePlanVersion, version, version.IsShow() );
    if( isnull( table ) ){
    if( isnull( showtable ) ){
      showtable               := interface.AssemblyOnlinePlanVersion( relnew, ID := name, Name := name, IsShow := true );
    }
    aopcolumns             := selectuniquevalues(  macroPlan, NewAssemblyOnlinePlanColumn, aopcolumn, not exists( table, Column, column, column.TimeUnit() = Translations::MP_GlobalParameters_Day() and column.StartDate() = aopcolumn.StartDate() ), aopcolumn.StartDate() );
_Main/BL/Type_CCEngineLogisticsCostColumn0/Method_CalcEngineCost#911.qbl
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,35 @@
Quintiq file version 2.0
#parent: #root
Method CalcEngineCost (
  BaseSalesDemandInPeriods psdips,
  LogisticsCostEngines enginecosts
) as Real
{
  TextBody:
  [*
    // ç”„兰鸽 Nov-14-2024 (created)
    outcost          := 0.0;
    enginecost       := selectobject( enginecosts, Elements, engine, engine.StartDate() <= this.StartDate() and engine.EndDate() >= this.EndDate() );
    if( isnull( enginecost ) ){
      fenginecost    := selectobject( enginecosts, Elements, engine, engine.EndDate() > this.StartDate() and engine.EndDate() <= this.EndDate() and engine.StartDate() < this.StartDate() );
      if( not isnull( fenginecost ) ){
        quantity     := sum( psdips, Elements, psdip, psdip.StartDate() >= fenginecost.StartDate() and psdip.StartDate() <= fenginecost.EndDate(), psdip.Quantity() );
        outcost      := outcost + ceil( quantity / enginecost.PackagingCapacity() ) * enginecost.OutboundPrice();
      }
      menginecost    := selectobject( enginecosts, Elements, engine, engine.StartDate() > this.StartDate() and engine.EndDate() < this.EndDate() );
      if( not isnull( menginecost ) ){
        quantity     := sum( psdips, Elements, psdip, psdip.StartDate() >= menginecost.StartDate() and psdip.StartDate() <= menginecost.EndDate(), psdip.Quantity() );
        outcost      := outcost + ceil( quantity / enginecost.PackagingCapacity() ) * enginecost.OutboundPrice();
      }
      benginecost    := selectobject( enginecosts, Elements, engine, engine.StartDate() > this.StartDate() and engine.StartDate() <= this.EndDate() and engine.EndDate() > this.EndDate() );
      if( not isnull( benginecost ) ){
        quantity     := sum( psdips, Elements, psdip, psdip.StartDate() >= benginecost.StartDate() and psdip.StartDate() <= benginecost.EndDate(), psdip.Quantity() )
        outcost      := outcost + ceil( quantity / enginecost.PackagingCapacity() ) * enginecost.OutboundPrice();
      }
    }else{
      quantity       := sum( psdips, Elements, psdip, psdip.Quantity() );
      outcost        := outcost + ceil( quantity / enginecost.PackagingCapacity() ) * enginecost.OutboundPrice();
    }
    return outcost;
  *]
}
_Main/BL/Type_CCEngineLogisticsCostColumn0/Method_CalcEngineCost.qbl
@@ -20,90 +20,90 @@
      fenginecost    := selectobject( enginecosts, Elements, engine, engine.EndDate() > this.StartDate() and engine.EndDate() <= this.EndDate() and engine.StartDate() < this.StartDate() and engine.Factory() = factory );
      if( not isnull( fenginecost ) ){
        fpispips     := selectset( pispips, Elements, pispip, pispip.Start().Date() >= fenginecost.StartDate() and pispip.Start().Date() <= fenginecost.EndDate() );
        if( entercost.IsMaxInfinity() ){
        if( not entercost.IsMaxInfinity() ){
          newsqty    := sum( fpispips, Elements, e, e.NewSupplyQuantity() );
          entercost  := entercost + ceil( newsqty / fenginecost.PackagingCapacity() ) * fenginecost.WarehousingPrice();
        }
        if( othercost.IsMaxInfinity() ){
        if( not othercost.IsMaxInfinity() ){
          newsqty    := sum( fpispips, Elements, e, e.NewSupplyQuantity() );
          othercost  := othercost + ceil( newsqty / fenginecost.PackagingCapacity() ) * fenginecost.OtherPrice();
        }
        if( outcost.IsMaxInfinity() ){
        if( not outcost.IsMaxInfinity() ){
          newsqty    := sum( fpispips, Elements, e, e.NewSupplyQuantity() );
          outcost    := outcost + ceil( newsqty / fenginecost.PackagingCapacity() ) * fenginecost.OutboundPrice();
        }
        if( storecost.IsMaxInfinity() ){
        if( not storecost.IsMaxInfinity() ){
          pinvqty    := sum( fpispips, Elements, e, e.PlannedInventoryLevelEnd() );
          storecost  := storecost + ceil( pinvqty / fenginecost.PackagingCapacity() ) * fenginecost.StoragePrice();//四舍五入
        }
        if( transcost.IsMaxInfinity() ){
        if( not transcost.IsMaxInfinity() ){
          this.CalcTransCost( fpispips, transcosts, fenginecost, transcost );
        }
      }
      menginecost    := selectobject( enginecosts, Elements, engine, engine.StartDate() > this.StartDate() and engine.EndDate() < this.EndDate() and engine.Factory() = factory );
      if( not isnull( menginecost ) ){
        mpispips     := selectset( pispips, Elements, pispip, pispip.Start().Date() >= menginecost.StartDate() and pispip.Start().Date() <= menginecost.EndDate() );
        if( entercost.IsMaxInfinity() ){
        if( not entercost.IsMaxInfinity() ){
          newsqty    := sum( mpispips, Elements, e, e.NewSupplyQuantity() );
          entercost  := entercost + ceil( newsqty / menginecost.PackagingCapacity() ) * menginecost.WarehousingPrice();
        }
        if( othercost.IsMaxInfinity() ){
        if( not othercost.IsMaxInfinity() ){
          newsqty    := sum( mpispips, Elements, e, e.NewSupplyQuantity() );
          othercost  := othercost + ceil( newsqty / menginecost.PackagingCapacity() ) * menginecost.OtherPrice();
        }
        if( outcost.IsMaxInfinity() ){
        if( not outcost.IsMaxInfinity() ){
          newsqty    := sum( mpispips, Elements, e, e.NewSupplyQuantity() );
          outcost    := outcost + ceil( newsqty / menginecost.PackagingCapacity() ) * menginecost.OutboundPrice();
        }
        if( storecost.IsMaxInfinity() ){
        if( not storecost.IsMaxInfinity() ){
          pinvqty    := sum( mpispips, Elements, e, e.PlannedInventoryLevelEnd() );
          storecost  := storecost + ceil( pinvqty / menginecost.PackagingCapacity() ) * menginecost.StoragePrice();//四舍五入
        }
        if( transcost.IsMaxInfinity() ){
        if( not transcost.IsMaxInfinity() ){
          this.CalcTransCost( mpispips, transcosts, menginecost, transcost );
        }
      }
      benginecost    := selectobject( enginecosts, Elements, engine, engine.StartDate() > this.StartDate() and engine.StartDate() <= this.EndDate() and engine.EndDate() > this.EndDate() and engine.Factory() = factory );
      if( not isnull( benginecost ) ){
        bpispips     := selectset( pispips, Elements, pispip, pispip.Start().Date() >= benginecost.StartDate() and pispip.Start().Date() <= benginecost.EndDate() )
        if( entercost.IsMaxInfinity() ){
        if( not entercost.IsMaxInfinity() ){
          newsqty    := sum( bpispips, Elements, e, e.NewSupplyQuantity() );
          entercost  := entercost + ceil( newsqty / benginecost.PackagingCapacity() ) * benginecost.WarehousingPrice();
        }
        if( othercost.IsMaxInfinity() ){
        if( not othercost.IsMaxInfinity() ){
          newsqty    := sum( bpispips, Elements, e, e.NewSupplyQuantity() );
          othercost  := othercost + ceil( newsqty / benginecost.PackagingCapacity() ) * benginecost.OtherPrice();
        }
        if( outcost.IsMaxInfinity() ){
        if( not outcost.IsMaxInfinity() ){
          newsqty    := sum( bpispips, Elements, e, e.NewSupplyQuantity() );
          outcost    := outcost + ceil( newsqty / benginecost.PackagingCapacity() ) * benginecost.OutboundPrice();
        }
        if( storecost.IsMaxInfinity() ){
        if( not storecost.IsMaxInfinity() ){
          pinvqty    := sum( bpispips, Elements, e, e.PlannedInventoryLevelEnd() );
          storecost  := storecost + ceil( pinvqty / benginecost.PackagingCapacity() ) * benginecost.StoragePrice();//四舍五入
        }
        if( transcost.IsMaxInfinity() ){
        if( not transcost.IsMaxInfinity() ){
          this.CalcTransCost( bpispips, transcosts, benginecost, transcost );
        }
      }
    }else{
      if( entercost.IsMaxInfinity() ){
      if( not entercost.IsMaxInfinity() ){
        newsqty      := sum( pispips, Elements, pispip, pispip.NewSupplyQuantity() );
        entercost    := entercost + ceil( newsqty / enginecost.PackagingCapacity() ) * enginecost.WarehousingPrice();
      }
      if( othercost.IsMaxInfinity() ){
      if( not othercost.IsMaxInfinity() ){
        newsqty      := sum( pispips, Elements, pispip, pispip.NewSupplyQuantity() );
        othercost    := othercost + ceil( newsqty / enginecost.PackagingCapacity() ) * enginecost.OtherPrice();
      }
      if( outcost.IsMaxInfinity() ){
      if( not outcost.IsMaxInfinity() ){
        newsqty      := sum( pispips, Elements, pispip, pispip.NewSupplyQuantity() );
        outcost      := outcost + ceil( newsqty / enginecost.PackagingCapacity() ) * enginecost.OutboundPrice();
      }
      if( storecost.IsMaxInfinity() ){
      if( not storecost.IsMaxInfinity() ){
        pinvqty      := sum( pispips, Elements, pispip, pispip.PlannedInventoryLevelEnd() );
        storecost    := storecost + ceil( pinvqty / enginecost.PackagingCapacity() ) * enginecost.StoragePrice();//四舍五入
      }
      if( transcost.IsMaxInfinity() ){
      if( not transcost.IsMaxInfinity() ){
        this.CalcTransCost( pispips, transcosts, enginecost, transcost );
      }
    }
_Main/BL/Type_CCEngineLogisticsCostColumn0/Method_CalcEngineCost0.qbl
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,35 @@
Quintiq file version 2.0
#parent: #root
Method CalcEngineCost (
  ProductInTrips pits,
  LogisticsCostEngines enginecosts,
  LogisticsCostTransports transcosts
) as Real
{
  TextBody:
  [*
    // ç”„兰鸽 Nov-14-2024 (created)
    transcost        := 0.0;
    enginecost       := selectobject( enginecosts, Elements, engine, engine.StartDate() <= this.StartDate() and engine.EndDate() >= this.EndDate() );
    if( isnull( enginecost ) ){
      fenginecost    := selectobject( enginecosts, Elements, engine, engine.EndDate() > this.StartDate() and engine.EndDate() <= this.EndDate() and engine.StartDate() < this.StartDate() );
      if( not isnull( fenginecost ) ){
        fpits        := selectset( pits, Elements, pit, pit.Trip().Arrival().Date() >= fenginecost.StartDate() and pit.Trip().Arrival().Date() <= fenginecost.EndDate() );
        transcost    := transcost + this.CalcTransCost( fpits, transcosts, fenginecost );
      }
      menginecost    := selectobject( enginecosts, Elements, engine, engine.StartDate() > this.StartDate() and engine.EndDate() < this.EndDate() );
      if( not isnull( menginecost ) ){
        mpits        := selectset( pits, Elements, pit, pit.Trip().Arrival().Date() >= menginecost.StartDate() and pit.Trip().Arrival().Date() <= menginecost.EndDate() );
        transcost    := transcost + this.CalcTransCost( mpits, transcosts, menginecost );
      }
      benginecost    := selectobject( enginecosts, Elements, engine, engine.StartDate() > this.StartDate() and engine.StartDate() <= this.EndDate() and engine.EndDate() > this.EndDate() );
      if( not isnull( benginecost ) ){
        bpits        := selectset( pits, Elements, pit, pit.Trip().Arrival().Date() >= benginecost.StartDate() and pit.Trip().Arrival().Date() <= benginecost.EndDate() )
        transcost    := transcost + this.CalcTransCost( bpits, transcosts, benginecost );
      }
    }else{
      transcost      := transcost + this.CalcTransCost( pits, transcosts, enginecost );
    }
    return transcost;
  *]
}
_Main/BL/Type_CCEngineLogisticsCostColumn0/Method_CalcTransCost#652.qbl
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,36 @@
Quintiq file version 2.0
#parent: #root
Method CalcTransCost (
  ProductInTrips pits,
  LogisticsCostTransports transcosts,
  LogisticsCostEngine enginecost
) as Real
{
  TextBody:
  [*
    // ç”„兰鸽 Nov-14-2024 (created)
    transcost        := 0.0
    tran             := selectobject( transcosts, Elements, trans, trans.StartDate() <= this.StartDate() and trans.EndDate() >= this.StartDate() );
    if( isnull( tran ) ){
      ftranscost     := selectobject( transcosts, Elements, trans, trans.EndDate() > this.StartDate() and this.EndDate() <= this.EndDate() and trans.StartDate() < this.StartDate() );
      if( not isnull( ftranscost ) ){
        newsqty      := sum( pits, Elements, pit, pit.Trip().Arrival().Date() >= ftranscost.StartDate() and pit.Trip().Arrival().Date() <= ftranscost.EndDate(), pit.Quantity() );
        transcost    := transcost + ceil( ceil( newsqty / enginecost.PackagingCapacity() ) / ftranscost.LoadingCapacity() ) * ftranscost.TransportPrice();
      }
      mtranscost     := selectobject( transcosts, Elements, trans, trans.StartDate() > this.StartDate() and trans.EndDate() < this.EndDate() );
      if( not isnull( mtranscost ) ){
        newsqty      := sum( pits, Elements, pit, pit.Trip().Arrival().Date() >= mtranscost.StartDate() and pit.Trip().Arrival().Date() <= mtranscost.EndDate(), pit.Quantity() );
        transcost    := transcost + ceil( ceil( newsqty / enginecost.PackagingCapacity() ) / mtranscost.LoadingCapacity() ) * mtranscost.TransportPrice();
      }
      btranscost    := selectobject( transcosts, Elements, trans, trans.StartDate() > this.StartDate() and trans.StartDate() <= this.EndDate() and trans.EndDate() > this.EndDate() );
      if( not isnull( btranscost ) ){
        newsqty      := sum( pits, Elements, pit, pit.Trip().Arrival().Date() >= btranscost.StartDate() and pit.Trip().Arrival().Date() <= btranscost.EndDate(), pit.Quantity() );
        transcost    := transcost + ceil( ceil( newsqty / enginecost.PackagingCapacity() ) / btranscost.LoadingCapacity() ) * btranscost.TransportPrice();
      }
    }else{
      newsqty        := sum( pits, Elements, pit, pit.Quantity() );
      transcost      := transcost + ceil( ceil( newsqty / enginecost.PackagingCapacity() ) / tran.LoadingCapacity() ) * tran.TransportPrice();
    }
    return transcost;
  *]
}
_Main/BL/Type_CCEngineLogisticsCostReport/StaticMethod_Initialize.qbl
@@ -22,10 +22,12 @@
    
    table                     := selectobject(owner, CCEngineLogisticsCostReport, report, report.ID() = name );
    if( isnull( table ) ){
      owner.CCEngineLogisticsCostReport( relnew, ID := name, Name := name );
      table                   := owner.CCEngineLogisticsCostReport( relnew, ID := name, Name := name );
    }
    table.Column( relflush );
    table.Row( relflush );
    showname                  := name + 'Show';
    if( exists( owner, CCEngineLogisticsCostReport, report, report.ID() = showname and report.IsShow() ) ){
    if( not exists( owner, CCEngineLogisticsCostReport, report, report.ID() = showname and report.IsShow() ) ){
      owner.CCEngineLogisticsCostReport( relnew, ID := showname, Name := name, IsShow := true );
    }
    if( isnull( owner.CCEngineLogisticsCostSearch() ) ){
_Main/BL/Type_CCEngineLogisticsCostReport0/StaticMethod_Initialize.qbl
@@ -7,6 +7,7 @@
  TextBody:
  [*
    // ç”„兰鸽 Aug-12-2024 (created)
    // ç”„兰鸽 Aug-12-2024 (created)
    owner.DLEngineLogisticsCostReport( relflush );
    produtparent              := DLEngineLogisticsCostReport::GetDefaultProductParent();
    name                      := DLEngineLogisticsCostReport::GetDefaultName();
@@ -45,28 +46,40 @@
                                            and pispip.Start().Date() < column.StartDate().StartOfNextMonth() 
                                            and ( pispip.NewSupplyQuantity() <> 0 or pispip.PlannedInventoryLevelEnd() <> 0 ) );
                cell          := selectobject( row, Cell, cell, cell.Column() = column );
                entercost     := 0.0;
                othercost     := 0.0;
                outcost       := 0.0;
                storecost     := 0.0;
                transcost     := 0.0;
                newsupplyqty  := sum( pispips, Elements, pispip, pispip.NewSupplyQuantity() );
                plannedinvqty := sum( pispips, Elements, pispip, pispip.PlannedInventoryLevelEnd() );
                if( isdltoccrent){
                  othercost   := Real::MaxReal();
                  transset    := selectset( transcosts, Elements, trans, trans.Origin() = '长春外租库' and trans.Destination() = '客户库' );
                  column.CalcEngineCost( pispips, enginecosts, transset, ccfactory, entercost, othercost, outcost, storecost, transcost );
                  cell.CCRentQty( cell.CCRentQty() + sum( pispips, Elements, pispip, pispip.NewSupplyQuantity() ) );
                  //在发动机成本参数表找到对应的包装容量
                  enginecost  := selectobject( enginecosts, Elements, engine, engine.StartDate() <= column.StartDate()  and engine.EndDate() >= column.StartDate()
                                                     and engine.Factory() = ccfactory );
                  cell.CCRentQty( cell.CCRentQty() + newsupplyqty );
                  //长春外租库入库费用:入库量/包装容量*入库单价
                  entercost   := ceil( newsupplyqty / enginecost.PackagingCapacity() ) * enginecost.WarehousingPrice();
                  //长春外租库出库费用: å‡ºåº“量/包装容量*出库单价
                  outcost     := ceil( newsupplyqty / enginecost.PackagingCapacity() ) * enginecost.OutboundPrice();
                  cell.CCRentInCost( cell.CCRentInCost() + entercost );
                  cell.CCRentOutOfCost( cell.CCRentOutOfCost() + outcost );
                  cell.CCRentStorCost( cell.CCRentStorCost() + storecost );//长春外租库仓储费用
                  cell.CCShorTransCost( cell.CCShorTransCost() + transcost );//长春短途运输费用
                  cost        := ceil( plannedinvqty / enginecost.PackagingCapacity() ) * enginecost.StoragePrice();//四舍五入
                  cell.CCRentStorCost( cell.CCRentStorCost() + cost );//长春外租库仓储费用
                  transcost   := selectobject( transcosts, Elements, trans, trans.StartDate() <= column.StartDate() and trans.EndDate() >= column.StartDate() and trans.Origin() = '长春外租库' and trans.Destination() = '客户库' );
                  if( not isnull( transcost ) ){
                    cost      := ceil( ceil( newsupplyqty / enginecost.PackagingCapacity() ) / transcost.LoadingCapacity() ) * transcost.TransportPrice();
                    cell.CCShorTransCost( cell.CCShorTransCost() + cost );//长春短途运输费用
                  }
                } else {
                  outcost     := Real::MaxReal();
                  transset    := selectset( transcosts, Elements, trans, trans.Origin() = '大连厂内库' and trans.Destination() = '大连外租库' );
                  column.CalcEngineCost( pispips, enginecosts, transset, dlfactory, entercost, othercost, outcost, storecost, transcost );
                  cell.DLRentStorCost( cell.DLRentStorCost() + storecost );//大连外租库仓储费用
                  cell.DLRentOtherCost( cell.DLRentOtherCost() + othercost );//大连外租库其他费用
                  cell.DLRentInCost( cell.DLRentInCost() + entercost );//大连外租库入库费用
                  cell.WerkToDLRentTransCost( cell.WerkToDLRentTransCost() + transcost );//厂内到大连外租库运输费用
                  //在发动机成本参数表找到对应的包装容量
                  enginecost  := selectobject( enginecosts, Elements, engine, engine.StartDate() <= column.StartDate()  and engine.EndDate() >= column.StartDate()
                                                     and engine.Factory() = dlfactory  );
                  if( not isnull( enginecost ) ){
                    cost      := ceil( plannedinvqty / enginecost.PackagingCapacity() ) * enginecost.StoragePrice();//四舍五入
                    cell.DLRentStorCost( cell.DLRentStorCost() + cost );//大连外租库仓储费用
                    row.SetDLRentEnterCost( column, enginecost, newsupplyqty );//大连外租库入库费用
                    transcost := selectobject( transcosts, Elements, trans, trans.StartDate() <= column.StartDate() and trans.EndDate() >= column.StartDate() and trans.Origin() = '大连厂内库' and trans.Destination() = '大连外租库' );
                    if( not isnull( transcost ) ){
                      cost    := ceil( ceil( newsupplyqty / enginecost.PackagingCapacity() ) / transcost.LoadingCapacity() ) * transcost.TransportPrice();//四舍五入
                      row.SetFactoryToRentTransCost( column, cost );
                    }
                  }
                }
              }
              products.Add( pisp.Product_MP() );
_Main/BL/Type_CCEngineLogisticsCostReport0/StaticMethod_InitializeNew.qbl
@@ -6,8 +6,7 @@
{
  TextBody:
  [*
    // ç”„兰鸽 Aug-12-2024 (created)
    owner.DLEngineLogisticsCostReport( relflush );
    //owner.DLEngineLogisticsCostReport( relflush );
    produtparent              := DLEngineLogisticsCostReport::GetDefaultProductParent();
    name                      := DLEngineLogisticsCostReport::GetDefaultName();
    allunit                   := DLEngineLogisticsCostReport::GetDefaultAllUnit();
@@ -17,9 +16,19 @@
    startofplanning           := owner.StartOfPlanning().Date();
    startofnextyear           := startofplanning.StartOfNextYear();
    
    table                     := owner.DLEngineLogisticsCostReport( relnew, ID := name, Name := name );
    owner.DLEngineLogisticsCostReport( relnew, ID := name + 'Show', Name := name, IsShow := true );
    owner.DLEngineLogisticsCostSearch( relnew, Generation := allunit, MqbMlb := allunit, Power := allunit );
    table                     := selectobject(owner, DLEngineLogisticsCostReport, report, report.ID() = name );
    if( isnull( table ) ){
      table                   := owner.DLEngineLogisticsCostReport( relnew, ID := name, Name := name );
    }
    table.Column( relflush );
    table.Row( relflush );
    showname                  := name + 'Show';
    if( not exists( owner, DLEngineLogisticsCostReport, report, report.ID() = showname and report.IsShow() ) ){
      owner.DLEngineLogisticsCostReport( relnew, ID := name + 'Show', Name := name, IsShow := true );
    }
    if( isnull( owner.DLEngineLogisticsCostSearch() ) ){
      owner.DLEngineLogisticsCostSearch( relnew, Generation := allunit, MqbMlb := allunit, Power := allunit );
    }
    
    products                  := construct( Product_MPs );
    
@@ -45,40 +54,28 @@
                                            and pispip.Start().Date() < column.StartDate().StartOfNextMonth() 
                                            and ( pispip.NewSupplyQuantity() <> 0 or pispip.PlannedInventoryLevelEnd() <> 0 ) );
                cell          := selectobject( row, Cell, cell, cell.Column() = column );
                newsupplyqty  := sum( pispips, Elements, pispip, pispip.NewSupplyQuantity() );
                plannedinvqty := sum( pispips, Elements, pispip, pispip.PlannedInventoryLevelEnd() );
                entercost     := 0.0;
                othercost     := 0.0;
                outcost       := 0.0;
                storecost     := 0.0;
                transcost     := 0.0;
                if( isdltoccrent){
                  //在发动机成本参数表找到对应的包装容量
                  enginecost  := selectobject( enginecosts, Elements, engine, engine.StartDate() <= column.StartDate()  and engine.EndDate() >= column.StartDate()
                                                     and engine.Factory() = ccfactory );
                  cell.CCRentQty( cell.CCRentQty() + newsupplyqty );
                  //长春外租库入库费用:入库量/包装容量*入库单价
                  entercost   := ceil( newsupplyqty / enginecost.PackagingCapacity() ) * enginecost.WarehousingPrice();
                  //长春外租库出库费用: å‡ºåº“量/包装容量*出库单价
                  outcost     := ceil( newsupplyqty / enginecost.PackagingCapacity() ) * enginecost.OutboundPrice();
                  othercost   := Real::MaxReal();
                  transset    := selectset( transcosts, Elements, trans, trans.Origin() = '长春外租库' and trans.Destination() = '客户库' );
                  column.CalcEngineCost( pispips, enginecosts, transset, ccfactory, entercost, othercost, outcost, storecost, transcost );
                  cell.CCRentQty( cell.CCRentQty() + sum( pispips, Elements, pispip, pispip.NewSupplyQuantity() ) );
                  cell.CCRentInCost( cell.CCRentInCost() + entercost );
                  cell.CCRentOutOfCost( cell.CCRentOutOfCost() + outcost );
                  cost        := ceil( plannedinvqty / enginecost.PackagingCapacity() ) * enginecost.StoragePrice();//四舍五入
                  cell.CCRentStorCost( cell.CCRentStorCost() + cost );//长春外租库仓储费用
                  transcost   := selectobject( transcosts, Elements, trans, trans.StartDate() <= column.StartDate() and trans.EndDate() >= column.StartDate() and trans.Origin() = '长春外租库' and trans.Destination() = '客户库' );
                  if( not isnull( transcost ) ){
                    cost      := ceil( ceil( newsupplyqty / enginecost.PackagingCapacity() ) / transcost.LoadingCapacity() ) * transcost.TransportPrice();
                    cell.CCShorTransCost( cell.CCShorTransCost() + cost );//长春短途运输费用
                  }
                  cell.CCRentStorCost( cell.CCRentStorCost() + storecost );//长春外租库仓储费用
                  cell.CCShorTransCost( cell.CCShorTransCost() + transcost );//长春短途运输费用
                } else {
                  //在发动机成本参数表找到对应的包装容量
                  enginecost  := selectobject( enginecosts, Elements, engine, engine.StartDate() <= column.StartDate()  and engine.EndDate() >= column.StartDate()
                                                     and engine.Factory() = dlfactory  );
                  if( not isnull( enginecost ) ){
                    cost      := ceil( plannedinvqty / enginecost.PackagingCapacity() ) * enginecost.StoragePrice();//四舍五入
                    cell.DLRentStorCost( cell.DLRentStorCost() + cost );//大连外租库仓储费用
                    row.SetDLRentEnterCost( column, enginecost, newsupplyqty );//大连外租库入库费用
                    transcost := selectobject( transcosts, Elements, trans, trans.StartDate() <= column.StartDate() and trans.EndDate() >= column.StartDate() and trans.Origin() = '大连厂内库' and trans.Destination() = '大连外租库' );
                    if( not isnull( transcost ) ){
                      cost    := ceil( ceil( newsupplyqty / enginecost.PackagingCapacity() ) / transcost.LoadingCapacity() ) * transcost.TransportPrice();//四舍五入
                      row.SetFactoryToRentTransCost( column, cost );
                    }
                  }
                  outcost     := Real::MaxReal();
                  transset    := selectset( transcosts, Elements, trans, trans.Origin() = '大连厂内库' and trans.Destination() = '大连外租库' );
                  column.CalcEngineCost( pispips, enginecosts, transset, dlfactory, entercost, othercost, outcost, storecost, transcost );
                  cell.DLRentStorCost( cell.DLRentStorCost() + storecost );//大连外租库仓储费用
                  cell.DLRentOtherCost( cell.DLRentOtherCost() + othercost );//大连外租库其他费用
                  cell.DLRentInCost( cell.DLRentInCost() + entercost );//大连外租库入库费用
                  cell.WerkToDLRentTransCost( cell.WerkToDLRentTransCost() + transcost );//厂内到大连外租库运输费用
                }
              }
              products.Add( pisp.Product_MP() );
@@ -94,32 +91,26 @@
      isdl                    := laneleg.OriginStockingPointID().EndsWith( '厂内库' ) and ( laneleg.OriginStockingPointID().StartsWith( '大连' ) or laneleg.OriginStockingPointID().StartsWith( 'DL' ) );
      //目的地库存点是否是长春(长春外租库)
      iscc                    := laneleg.DestinationStockingPointID() = '大连发动机的长春外租库';
        if( isdl and iscc ){
        traverse( table, Column, column){//, column.StartDate().Month() = 1
          alltrips            := selectset( laneleg, Trip, trip, trip.Arrival().Date() < column.StartDate().StartOfNextMonth() and trip.Arrival().Date() >= column.StartDate() );
          enginecosts         := selectset( owner, LogisticsCostEngine, engine, engine.PackagingCapacity() <> 0 and engine.StartDate() <= column.StartDate() and engine.EndDate() >= column.StartDate() );
          transcosts          := selectset( owner, LogisticsCostTransport, trans, trans.LoadingCapacity() <> 0 and trans.StartDate() <= column.StartDate() and trans.EndDate() >= column.StartDate() );
          if( not isnull( enginecosts ) and enginecosts.Size() > 0 and not isnull( transcosts ) and transcosts.Size() > 0 ){
            producttrips      := selectuniquevalues( alltrips, Elements.ProductInTrip, pit, pit.Quantity() <> 0 and exists( pit.Product_MP().GetAllParent(), Elements, e, e.ID() = produtparent ), pit.ProductID() );
            traverse( producttrips, Elements, producttrip ){//, producttrip = '6912'
              row             := table.GetRow( producttrip );
              product         := selectobject( owner, Product_MP, product, product.ID() = producttrip );
              products.Add( product );
              quantity        := sum( alltrips, Elements.ProductInTrip, pit, pit.Product_MP() = product, pit.Quantity() );
              enginecost      := selectobject( enginecosts, Elements, engine, engine.Generation().ToLower() = product.Generation().ToLower()
                                                   and engine.MLB_MQB() = product.MQBMLB()
                                                   and engine.Factory() = ccfactory );
                //在运输成本参数表里找到发动机对应运输单价和装载容量
                transcost     := selectobject( transcosts, Elements, trans, trans.Origin() = laneleg.OriginStockingPointID()
                                                  and trans.Destination() = laneleg.DestinationStockingPointID()
                                                  and exists( product.GetAllParent(), Elements, e, ifexpr( trans.Product().FindString( '发动机', 0 ) >= 0, e.ID() = produtparent,  e.ID() = trans.Product() ) ) );
                if( not isnull( enginecost ) and not isnull( transcost ) ){
                  cost        := ceil( ceil( quantity / enginecost.PackagingCapacity() ) / transcost.LoadingCapacity() ) * transcost.TransportPrice();//四舍五入
                  cell        := selectobject( row, Cell, cell, cell.Column() = column );
                  cell.CCLongTransCost( cell.CCLongTransCost() + cost )
                }
      if( isdl and iscc ){
        allenginecosts        := selectset( owner, LogisticsCostEngine, engine, engine.PackagingCapacity() <> 0 and engine.Factory() = ccfactory );
        alltranscosts         := selectset( owner, LogisticsCostTransport, trans, trans.LoadingCapacity() <> 0 and trans.Origin() = laneleg.OriginStockingPointID() and trans.Destination() = laneleg.DestinationStockingPointID() );
        if( allenginecosts.Size() > 0 and alltranscosts.Size() > 0 ){
          alltrips            := selectset( laneleg, Trip, trip, exists( trip, ProductInTrip, pit, pit.Quantity() <> 0 and exists( pit.Product_MP().GetAllParent(), Elements, e, e.ID() = produtparent ) ) );
          productids          := selectuniquevalues( alltrips, Elements.ProductInTrip, pit, pit.Quantity() <> 0 and exists( pit.Product_MP().GetAllParent(), Elements, e, e.ID() = produtparent ), pit.ProductID() );
          traverse( productids, Elements, productid ){
            product           := selectobject( owner, Product_MP, product, product.ID() = productid );
            row               := table.GetRow( productid );
            products.Add( product );
            producttrips      := selectset( alltrips, Elements.ProductInTrip, pit, pit.Quantity() > 0 and pit.ProductID() = productid );
            enginecosts       := selectset( allenginecosts, Elements, engine, engine.Generation().ToLower() = product.Generation().ToLower() and engine.MLB_MQB() = product.MQBMLB() );
            //在运输成本参数表里找到发动机对应运输单价和装载容量
            transcosts        := selectset( alltranscosts, Elements, trans, exists( product.GetAllParent(), Elements, e, ifexpr( trans.Product().FindString( '发动机', 0 ) >= 0, e.ID() = produtparent,  e.ID() = trans.Product() ) ) );
            if( not isnull( enginecosts ) and enginecosts.Size() > 0 and not isnull( transcosts ) and transcosts.Size() > 0 ){
              traverse( table, Column, column){//, column.StartDate().Month() = 1
                columntrips   := selectset( producttrips, Elements, pit, pit.Trip().Arrival().Date() < column.StartDate().StartOfNextMonth() and pit.Trip().Arrival().Date() >= column.StartDate() );
                cell          := selectobject( row, Cell, cell, cell.Column() = column );
                cell.CCLongTransCost( column.CalcEngineCost( columntrips, enginecosts, transcosts ) );
              }
            }
          }
        }
@@ -198,24 +189,19 @@
    //    }
    //  }
    //}
    traverse( dlproducts, Elements, ccproduct){
    traverse( dlproducts, Elements, productid){
      
      row                     := table.GetRow( ccproduct )
      product                 := selectobject( owner, Product_MP, product, product.ID() = ccproduct );
      //查询对应的发动机成本
          enginecosts         := selectset( owner, LogisticsCostEngine, engine, engine.PackagingCapacity() <> 0 and engine.Generation().ToLower() = product.Generation().ToLower()
      row                     := table.GetRow( productid )
      product                 := selectobject( owner, Product_MP, product, product.ID() = productid );
      //查询对应的发动机成本
      enginecosts             := selectset( owner, LogisticsCostEngine, engine, engine.PackagingCapacity() <> 0 and engine.Generation().ToLower() = product.Generation().ToLower()
                                                 and engine.MLB_MQB() = product.MQBMLB()and engine.Factory() = dlfactory );
      if( not isnull( enginecosts ) and enginecosts.Size() > 0 ){
        products.Add( product );
        allpsdips             := selectset( dlforecasts, Elements.PlanningSalesDemandInPeriod, psdip, psdip.ProductID() = productid and psdip.Quantity() > 0 );
        traverse( table, Column, column ){
          allpsdips           := selectset( dlforecasts, Elements.PlanningSalesDemandInPeriod, psdip, psdip.ProductID() = ccproduct and psdip.Quantity() > 0 and psdip.StartDate() < column.StartDate().StartOfNextMonth() and psdip.StartDate() >= column.StartDate() );
          enginecost          := selectobject( enginecosts, Elements, engine, engine.StartDate() <= column.StartDate() and engine.EndDate() >= column.StartDate() );
          if( not isnull( enginecost ) ){
            products.Add( product );
            quantity          := sum( allpsdips, Elements, psdip, psdip.Quantity() );// + psdip.FulfilledQuantity()
            cost              := ceil( quantity / enginecost.PackagingCapacity() ) * enginecost.OutboundPrice();
            row.SetDLRentOutCost( column, cost );
          }
          psdips              := selectset( allpsdips, Elements, psdip, psdip.StartDate() <= column.EndDate() and psdip.StartDate() >= column.StartDate() );
          row.SetDLRentOutCost( column, column.CalcEngineCost( psdips, enginecosts ) );
        }
      }
    }
_Main/BL/Type_CustomerDemandIDS/Attribute_IsShow.qbl
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,8 @@
Quintiq file version 2.0
#parent: #root
Attribute IsShow
{
  #keys: '3[415136.0.1306254772][415136.0.1306254771][415136.0.1306254773]'
  Description: '是否显示'
  ValueType: Boolean
}
_Main/BL/Type_CustomerDemandIDS/Method_Clear.qbl
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,16 @@
Quintiq file version 2.0
#parent: #root
Method Clear (
  Dates periods
)
{
  TextBody:
  [*
    // ç”„兰鸽 Jun-25-2024 (created)
    this.Column( relflush );
    this.Row( relflush );
    if( periods.Size() > 0 ){
      this.GenerateColumn( periods, true );
    }
  *]
}
_Main/BL/Type_CustomerDemandIDS/Method_Generate.qbl
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,36 @@
Quintiq file version 2.0
#parent: #root
Method Generate (
  CustomerDemandIDSSearch search
)
{
  TextBody:
  [*
    // ç”„兰鸽 Jun-25-2024 (created)
    info( '-----------Search start-------' );
    table                   := selectobject( this,InterfaceDataset.CustomerDemandIDS, report, not report.IsShow() );
    //清空之前存储的显示数据
    idscolumns              := selectuniquevalues(  table, Column, idscolumn, idscolumn.TimeUnit() = search.TimeUnit() and idscolumn.StartDate() >= search.StartDate() and idscolumn.StartDate() <= search.EndDate(), idscolumn.StartDate() );
    this.Clear( idscolumns );
    traverse( table, Row, row, ( search.Unit() = FinancialProductionReport::GetDefaultAllUnit() or row.Factory() = search.Unit() )
              and ( search.Product() = FinancialProductionReport::GetDefaultAllUnit() or search.Product() = row.Name() ) ){
      showrow               := selectobject( this, Row, showrow, showrow.Name() = row.Name() and showrow.Factory() = search.Unit() );
      if( isnull( showrow ) ){
        showrow             := this.Row( relnew, Name := row.Name(), Factory := search.Unit() );
      }
      traverse( row, Cell, cell, cell.Column().TimeUnit() = search.TimeUnit() ){
        column              := selectobject( this, Column, column, column.Name() = cell.Column().Name() );
        if( not isnull( column ) ){
          showcell          := selectobject( showrow, Cell, showcell, showcell.Column() = column );
          if( isnull( showcell ) ){
            showcell        := column.Cell( relnew, Value := '' );
            showrow.Cell( relinsert, showcell );
          }
          showcell.Value( [String]( [Number]cell.Value() + [Number]showcell.Value() ) );
        }
      }
    }
    info( '-----------Search end-------' );
  *]
}
_Main/BL/Type_CustomerDemandIDS/Method_GenerateColumn.qbl
@@ -1,40 +1,47 @@
Quintiq file version 2.0
#parent: #root
Method GenerateColumn (
  Dates periods
  Dates periods,
  Boolean isshow
)
{
  TextBody:
  [*
    // ç”„兰鸽 Jun-25-2024 (created)
    timeunit              := guard( this.InterfaceDataset().CustomerDemandIDSSearch().TimeUnit(), Translations::MP_GlobalParameters_Day() ) ;
    weekstart             := periods.Element( 0 );
    
    monthstart            := periods.Element( 0 );
    traverse( periods, Elements, periodtime ){
      periodname          := periodtime.Format( "M2/D2/Y" );
      this.Column( relnew, Name := periodname, StartDate := periodtime, EndDate := periodtime, TimeUnit := Translations::MP_GlobalParameters_Day() );
      weekend             := ( weekstart + Duration::Days( 6 ) ).Date();
      if( ( weekend.Year() <> periodtime.Year() and weekend.Month() > 1 ) or ( abs( weekstart.Week() - periodtime.Week() ) > 1 and weekend.Year() = periodtime.Year() ) ){
        weekstart         := periodtime;
      }
      if( periodtime = weekstart ){
        weekperiodname    := weekstart.Format( "M2/D2/Y" );
        this.Column( relnew, Name := weekperiodname, StartDate := weekstart, EndDate := ( weekstart.StartOfNextWeek() - Duration::Days( 1 ) ).Date(), TimeUnit := Translations::MP_GlobalParameters_Week() );
      if( not isshow or timeunit = Translations::MP_GlobalParameters_Day() ){
        periodname        := periodtime.Format( "M2/D2/Y" );
        
        this.Column( relnew, Name := periodname, StartDate := periodtime, EndDate := periodtime, TimeUnit := Translations::MP_GlobalParameters_Day() );
      }
      if( ( monthstart.Year() <> periodtime.Year() and abs( monthstart.Month() - periodtime.Month() ) <> 11 ) or ( abs( monthstart.Month() - periodtime.Month() ) > 1 and monthstart.Year() = periodtime.Year() ) ){
        monthstart        := periodtime;
      if( not isshow or timeunit = Translations::MP_GlobalParameters_Week() ){
        weekend           := ( weekstart + Duration::Days( 6 ) ).Date();
        if( ( weekend.Year() <> periodtime.Year() and weekend.Month() > 1 ) or ( abs( weekstart.Week() - periodtime.Week() ) > 1 and weekend.Year() = periodtime.Year() ) ){
          weekstart       := periodtime;
        }
        if( periodtime = weekstart ){
          weekperiodname  := weekstart.Format( "M2/D2/Y" );
          this.Column( relnew, Name := weekperiodname, StartDate := weekstart, EndDate := ( weekstart.StartOfNextWeek() - Duration::Days( 1 ) ).Date(), TimeUnit := Translations::MP_GlobalParameters_Week() );
        }
        weekstart         := periodtime.StartOfNextWeek();
      }
      if( periodtime = monthstart ){
        monthperiodname   := monthstart.Format( "M2/D2/Y" );
        enddate           := ( monthstart.StartOfNextMonth() - Duration::Days( 1 ) ).Date();
        this.Column( relnew, Name := monthperiodname, StartDate := monthstart, EndDate := enddate, TimeUnit := Translations::MP_GlobalParameters_Month() );
      if( not isshow or timeunit = Translations::MP_GlobalParameters_Month() ){
        if( ( monthstart.Year() <> periodtime.Year() and abs( monthstart.Month() - periodtime.Month() ) <> 11 ) or ( abs( monthstart.Month() - periodtime.Month() ) > 1 and monthstart.Year() = periodtime.Year() ) ){
          monthstart        := periodtime;
        }
        if( periodtime = monthstart ){
          monthperiodname   := monthstart.Format( "M2/D2/Y" );
          enddate           := ( monthstart.StartOfNextMonth() - Duration::Days( 1 ) ).Date();
          this.Column( relnew, Name := monthperiodname, StartDate := monthstart, EndDate := enddate, TimeUnit := Translations::MP_GlobalParameters_Month() );
        }
        monthstart        := periodtime.StartOfNextMonth();
      }
      weekstart         := periodtime.StartOfNextWeek();
      monthstart        := periodtime.StartOfNextMonth();
    }
  *]
}
_Main/BL/Type_CustomerDemandIDS/Method_GetRowByUnit.qbl
@@ -8,10 +8,10 @@
  TextBody:
  [*
    // ç”„兰鸽 Sep-6-2024 (created)
    row := selectobject( this, Row, row, row.Name() = product and row.Factory() = unit );
    row                     := selectobject( this, Row, row, row.Name() = product and row.Factory() = unit );
    if( isnull( row ) ){
      //初始化单元格 
      row := this.Row( relnew, Name := product, Factory := unit );
      row                   := this.Row( relnew, Name := product, Factory := unit );
      traverse( this, Column, column ){
        row.Initialize( column );
      }
_Main/BL/Type_CustomerDemandIDS/StaticMethod_GenerateData.qbl
@@ -2,7 +2,7 @@
#parent: #root
StaticMethod GenerateData (
  InterfaceDataset interface,
  const MacroPlan macroplan,
  MacroPlan macroplan,
  RecycleBin recycle,
  const Archive archive
)
@@ -15,12 +15,15 @@
    //interface.CustomerDemandIDSSearch( relflush );
    info( '-------------------------Start---------------------');
    allunit               := CustomerDemandIDS::GetDefaultAllUnit();
    if( isnull( interface.CustomerDemandIDSSearch() ) ){
      interface.CustomerDemandIDSSearch( relnew, Generation := allunit, MqbMlb := allunit, Power := allunit, TimeUnit := Translations::MP_GlobalParameters_Day(), Unit := allunit );
    }
    idstable              := selectobject( interface, CustomerDemandIDS, idstable, idstable.ID() = '客户需求' );
    search                := interface.CustomerDemandIDSSearch( relnew, Product := allunit, StartDate := Date::MinDate(), EndDate := Date::MaxDate(), TimeUnit := Translations::MP_GlobalParameters_Day(), Unit := allunit );
    name                  := '客户需求';
    idstable              := selectobject( interface, CustomerDemandIDS, idstable, idstable.ID() = name );
    if( isnull( idstable ) ){
      idstable            := interface.CustomerDemandIDS( relnew, ID := '客户需求', Name := '客户需求' );
      idstable            := interface.CustomerDemandIDS( relnew, ID := name, Name := name );
    }
    showtable             := selectobject( interface, CustomerDemandIDS, version, version.IsShow() );
    if( isnull( showtable ) ){
      showtable           := interface.CustomerDemandIDS( relnew, ID := name + 'Show', Name := name, IsShow := true );
    }
    binaryValue           := TemplateManager::GetIDSFullTable( archive, Date::ActualDate().Year() );
    source                := GeneralExcelImportAndExportDataSource::Upload( recycle, binaryValue, OS::TempPath() + "template.xlsx" );
@@ -34,7 +37,7 @@
    periods               := idsdates.Union( ppadates );
    periods               := selectuniquevalues( periods, Elements, e, not exists( idstable, Column, column, column.StartDate() = e ), e );
    if( periods.Size() > 0 ){
      idstable.GenerateColumn( periods.Sort() );
      idstable.GenerateColumn( periods.Sort(), false );
    }
    traverse( recycle, GeneralExcelImportAndExportDataSource.GeneralExcelImportAndExportDataTable, table ){
      traverse( table, GeneralExcelImportAndExportDataRow, row ){
@@ -54,8 +57,12 @@
      }
    }
    traverse ( macroplan, SalesDemand.astype( Forecast ), forecast, not isnull( forecast.Product_MP() ) and forecast.Origin() = 'PPA' ){
      unitname              := ifexpr( forecast.SalesSegment_MP().Name().StartsWith( 'Changchun' )
                                       or exists( forecast.SalesSegment_MP().GetAllParent(), Elements, psalessegment, psalessegment.Name().StartsWith( 'Changchun' ) )
                                       , FinancialProductionReport::GetDefaultCCUnit()
                                       , FinancialProductionReport::GetDefaultDLUnit() );
      traverse( forecast, PlanningSalesDemandInPeriod, sdip ){
        idsrow              := idstable.GetRowByUnit( forecast.ProductID(), forecast.SalesSegmentName() );
        idsrow              := idstable.GetRowByUnit( forecast.ProductID(), unitname );
        daycolumn           := idstable.GetColumnByTimeUnit( Translations::MP_GlobalParameters_Day(), sdip.StartDate() );
        weekcolumn          := idstable.GetColumnByTimeUnit( Translations::MP_GlobalParameters_Week(), sdip.StartDate() );
        monthcolumn         := idstable.GetColumnByTimeUnit( Translations::MP_GlobalParameters_Month(), sdip.StartDate() );
@@ -68,5 +75,6 @@
    
    source.Delete();
    info( '-------------------------End---------------------');
    showtable.Generate( search );
  *]
}
_Main/BL/Type_CustomerDemandIDS/StaticMethod_InitiateSearch.qbl
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,28 @@
Quintiq file version 2.0
#parent: #root
StaticMethod InitiateSearch (
  InterfaceDataset owner
) as CustomerDemandIDS
{
  TextBody:
  [*
    // ç”„兰鸽 Sep-29-2024 (created)
    allunit                   := FinancialProductionReport::GetDefaultAllUnit();
    search                    := owner.CustomerDemandIDSSearch();
    if( isnull( search ) ){
      search                  := owner.CustomerDemandIDSSearch( relnew, Product := allunit, TimeUnit := Translations::MP_GlobalParameters_Day(), Unit := allunit, StartDate := Date::MinDate(), EndDate := Date::MaxDate() );
    }else{
      search                  := owner.CustomerDemandIDSSearch();
      search.Product( allunit );
      search.TimeUnit(  Translations::MP_GlobalParameters_Day() );
      search.Unit( allunit );
      search.StartDate( Date::MinDate() );
      search.EndDate( Date::MaxDate() );
    }
    table                     := selectobject( owner, CustomerDemandIDS, table, table.IsShow() );
    if( not isnull( table ) ){
      table.Generate( search);
    }
    return table;
  *]
}
_Main/BL/Type_ExportXMLData/Function_CalcPriority.qbl
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,13 @@
Quintiq file version 2.0
#parent: #root
Function CalcPriority
{
  TextBody:
  [*
    // Akari Nov-15-2024 (created)
    value := this.CalculatePriority();
    this.Priority( value );
  *]
}
_Main/BL/Type_ExportXMLData/Method_CalculatePriority.qbl
@@ -1,6 +1,6 @@
Quintiq file version 2.0
#parent: #root
Method CalculatePriority () as Number
Method CalculatePriority () const declarative as Number
{
  TextBody:
  [*
@@ -11,43 +11,50 @@
      priority := 1 ;
    }else if( element.LikeUserLocale( "<name>产线</name>" )){
      priority := 2 ;
    }else if( element.LikeUserLocale( "<name>    </name>" )){
    }else if( element.LikeUserLocale( "<name>Unit</name>" )){
      priority := 3 ;
    }else if( element.LikeUserLocale( "<name>Attribute</name>" )){
    }else if( element.LikeUserLocale( "<name>    </name>" )){
      priority := 4 ;
    }else if( element.LikeUserLocale( "<name>产地</name>" )){
    }else if( element.LikeUserLocale( "<name>Attribute</name>" )){
      priority := 5 ;
    }else if( element.LikeUserLocale( "<name>车型</name>" )){
    }else if( element.LikeUserLocale( "<name>产地</name>" )){
      priority := 6 ;
    }else if( element.LikeUserLocale( "<name>发动机零件号</name>" )){
    }else if( element.LikeUserLocale( "<name>车型</name>" )){
      priority := 7 ;
    }else if( element.LikeUserLocale( "<name>发动机四位码</name>" )){
    }else if( element.LikeUserLocale( "<name>发动机零件号</name>" )){
      priority := 8 ;
    }else if( element.LikeUserLocale( "<name>生产天数</name>" )){
    }else if( element.LikeUserLocale( "<name>发动机四位码</name>" )){
      priority := 9 ;
    }else if( element.LikeUserLocale( "<name>加班/欠工时长</name>" )){
    }else if( element.LikeUserLocale( "<name>生产天数</name>" )){
      priority := 10 ;
    }else if( element.LikeUserLocale( "<name>平日加班时长</name>" )){
    }else if( element.LikeUserLocale( "<name>加班/欠工时长</name>" )){
      priority := 11 ;
    }else if( element.LikeUserLocale( "<name>休息日加班时长</name>" )){
    }else if( element.LikeUserLocale( "<name>平日加班时长</name>" )){
      priority := 12 ;
    }else if( element.LikeUserLocale( "<name>节假日加班时长</name>" )){
    }else if( element.LikeUserLocale( "<name>休息日加班时长</name>" )){
      priority := 13 ;
    }else if( element.LikeUserLocale( "<name>欠工时长</name>" )){
    }else if( element.LikeUserLocale( "<name>节假日加班时长</name>" )){
      priority := 14 ;
    }else if( element.LikeUserLocale( "<name>加班/欠工费</name>" )){
    }else if( element.LikeUserLocale( "<name>欠工时长</name>" )){
      priority := 15 ;
    }else if( element.LikeUserLocale( "<name>平日加班费</name>" )){
    }else if( element.LikeUserLocale( "<name>加班/欠工费</name>" )){
      priority := 16 ;
    }else if( element.LikeUserLocale( "<name>休息日加班费</name>" )){
    }else if( element.LikeUserLocale( "<name>平日加班费</name>" )){
      priority := 17 ;
    }else if( element.LikeUserLocale( "<name>节假日加班费</name>" )){
    }else if( element.LikeUserLocale( "<name>休息日加班费</name>" )){
      priority := 18 ;
    }else if( element.LikeUserLocale( "<name>欠工费</name>" )){
    }else if( element.LikeUserLocale( "<name>节假日加班费</name>" )){
      priority := 19 ;
    }else if( element.LikeUserLocale( "<name>欠工费</name>" )){
      priority := 20 ;
    }else{
      //  <column><name>2020/04/01</name>
      priority := [Number]element.SubString( 14,10 ).ReplaceAll( "/","") ;
      try{
        //  <column><name>2020/04/01</name>
        priority := [Number]element.SubString( 14,10 ).ReplaceAll( "/","");
      }onerror{
        //  <column><name>2020-04-01</name>
        priority := [Number]element.SubString( 14,10 ).ReplaceAll( "-","");
      }
    }
    return priority;
  *]
_Main/BL/Type_ExportXMLManager/Function_CalcFinalXML.qbl
@@ -7,7 +7,7 @@
    // rislai Jun-20-2024 (created)
    xmlTemplate := '<?xml version="1.0" encoding="UTF-16"?><table><name>'+ this.SheetName() +'</name>';
    
    datas := selectsortedset( this,ExportXMLData,data,true,data.Priority() );
    datas := selectsortedset( this,ExportXMLData,data,data.Priority() );
    
    traverse( datas,Elements,data ){
      xmlTemplate := xmlTemplate + data.XML(); 
_Main/BL/Type_ExportXMLManager/StaticMethod_AwaitLocalTableXMLData#530.qbl
@@ -16,12 +16,7 @@
    }
    manager := owner.ExportXMLManager( relnew,Name := tableName,SheetName := sheetName );
    traverse( columnXMLData,Elements,element,element.TrimBoth() <> "" ){
       data := manager.ExportXMLData( relnew, XML := element);
       try{
         data.Priority( data.CalculatePriority( ));
       }onerror{
         info( element );
       }
       manager.ExportXMLData( relnew, XML := element);
    }
  *]
}
_Main/BL/Type_ExportXMLManager/StaticMethod_AwaitLocalTableXMLData.qbl
@@ -15,12 +15,7 @@
    }
    manager := owner.ExportXMLManager( relnew,Name := tableName,SheetName := tableName );
    traverse( columnXMLData,Elements,element,element.TrimBoth() <> "" ){
       data := manager.ExportXMLData( relnew, XML := element);
       try{
         data.Priority( data.CalculatePriority( ));
       }onerror{
         info( element );
       }
       manager.ExportXMLData( relnew, XML := element);
    }
  *]
}
_Main/BL/Type_ExportXMLManager/StaticMethod_AwaitShiftPlanXMLData.qbl
@@ -15,14 +15,7 @@
      manager.ExportXMLData( relflush );
    }
    traverse( columnXMLData,Elements,element,element.TrimBoth() <> "" ){
       data := manager.ExportXMLData( relnew, XML := element);
       if( element.LikeUserLocale( "Unit" )){
         data.Priority( 1 );
       }else if( element.LikeUserLocale( "Attribute" )){
         data.Priority( 2 );
       }else{
         data.Priority( [Number]element.SubString( 14,10 ).ReplaceAll( "-","") );
       }
       manager.ExportXMLData( relnew, XML := element);
    }
  *]
}
_Main/BL/Type_MP_Cell_AnnualPlanReport0/StaticMethod_CreateFullTable.qbl
@@ -34,17 +34,18 @@
    }
    
    traverse( tables,Elements.ArchiveRow,row ){
       localRowHandle := localRowIndexTree.GetHandle( row.ProductID() + row.ProductionLine() );
       localRowIndex := guard( localRowIndexTree.Root().Child( localRowHandle ),null( NamedValue ));
       localRow := null( LocalRow );
       if( isnull( localRowIndex )){
         localRow := localTable.LocalRow( relnew,CustomName := row.Name(),ProductID := row.ProductID(),ProductionLine := row.ProductionLine(),Index := localTable.GetRowIndexCache() );
         localRows.Add( localRow );
         localRowIndexTree.Root().AddChild( localRowHandle,localRows.Size() - 1 );
       }else{
         localRow := localRows.Element( localRowIndex.GetValueAsNumber() );
       }
      localRow := null( LocalRow );
      {
        localRowHandle := localRowIndexTree.GetHandle( row.ProductID() + row.ProductionLine() );
        localRowIndex := guard( localRowIndexTree.Root().Child( localRowHandle ),null( NamedValue ));
        if( isnull( localRowIndex )){
          localRow := localTable.LocalRow( relnew,CustomName := row.Name(),ProductID := row.ProductID(),ProductionLine := row.ProductionLine(),Index := localTable.GetRowIndexCache() );
          localRows.Add( localRow );
          localRowIndexTree.Root().AddChild( localRowHandle,localRows.Size() - 1 );
        }else{
          localRow := localRows.Element( localRowIndex.GetValueAsNumber() );
        }
      }
      
       traverse( row,ArchiveCell.astype( ArchiveCell_AnnualPlanReport ),cell ){
         localColumnHandle := localColumnIndexTree.GetHandle( cell.ArchiveColumn().Date().AsQUILL());
@@ -67,33 +68,37 @@
       }
    }
    
    //owner := maxselect( owners,Elements,element,element.StartOfPlanning() );
    traverse( macroPlan,Product_MP.ProductInStockingPoint_MP,pisp_mp ){
      pispippls := selectset( pisp_mp,ProductInStockingPointInPeriod.astype( ProductInStockingPointInPeriodPlanningLeaf ),pispippl,
                              pispippl.Period_MP().StartDate() > endDate 
                              and pispippl.Period_MP().TimeUnit() = Translations::MP_GlobalParameters_Day());
    
      if( pispippls.Size() <> 0 ){
        localRowHandle := localRowIndexTree.GetHandle( pisp_mp.ProductID() + pisp_mp.StockingPoint_MP().Unit().Name() );
        localRowIndex := guard( localRowIndexTree.Root().Child( localRowHandle ),null( NamedValue ));
        localRow := null( LocalRow );
        if( isnull( localRowIndex )){
          localRow := localTable.LocalRow( relnew,CustomName := pisp_mp.Name(),ProductID := pisp_mp.ProductID(),ProductionLine := pisp_mp.StockingPoint_MP().Unit().Name(),Index := localTable.GetRowIndexCache() );
          localRows.Add( localRow );
          localRowIndexTree.Root().AddChild( localRowHandle,localRows.Size() - 1 );
        }else{
          localRow := localRows.Element( localRowIndex.GetValueAsNumber() );
        }
        traverse( pispippls,Elements,pispippl ){
          columnHandle := localColumnIndexTree.GetHandle( pispippl.Period_MP().StartDate().AsQUILL() );
          columnIndex := guard( localColumnIndexTree.Root().Child( columnHandle ),null( NamedValue ));
          column := null( LocalColumn );
          if( not isnull( columnIndex )){
            column := localColumns.Element( columnIndex.GetValueAsNumber() );
        {
          localRowHandle := localRowIndexTree.GetHandle( pisp_mp.ProductID() + pisp_mp.StockingPoint_MP().Unit().Name() );
          localRowIndex := guard( localRowIndexTree.Root().Child( localRowHandle ),null( NamedValue ));
          if( isnull( localRowIndex )){
            localRow := localTable.LocalRow( relnew,CustomName := pisp_mp.Name(),ProductID := pisp_mp.ProductID(),ProductionLine := pisp_mp.StockingPoint_MP().Unit().Name(),Index := localTable.GetRowIndexCache() );
            localRows.Add( localRow );
            localRowIndexTree.Root().AddChild( localRowHandle,localRows.Size() - 1 );
          }else{
            column := localTable.LocalColumn( relnew,CustomDate := pispippl.Period_MP().StartDate() ,TimeUnit := "Day");
            localColumns.Add( column );
            localColumnIndexTree.Root().AddChild( columnHandle,localColumns.Size() - 1 );
            localRow := localRows.Element( localRowIndex.GetValueAsNumber() );
          }
        }
        traverse( pispippls,Elements,pispippl ){
          column := null( LocalColumn );
          {
            columnHandle := localColumnIndexTree.GetHandle( pispippl.Period_MP().StartDate().AsQUILL() );
            columnIndex := guard( localColumnIndexTree.Root().Child( columnHandle ),null( NamedValue ));
            if( not isnull( columnIndex )){
              column := localColumns.Element( columnIndex.GetValueAsNumber() );
            }else{
              column := localTable.LocalColumn( relnew,CustomDate := pispippl.Period_MP().StartDate() ,TimeUnit := "Day");
              localColumns.Add( column );
              localColumnIndexTree.Root().AddChild( columnHandle,localColumns.Size() - 1 );
            }
          }
          
          localCellHandle := localCellIndexTree.GetHandle( localRow.ProductID() + localRow.ProductionLine() + column.CustomDate().AsQUILL() + column.TimeUnit() );
_Main/BL/Type_MP_Cell_ScheduleSummary0/StaticMethod_Create.qbl
@@ -59,7 +59,7 @@
          
          
          if( not isnull( workHours )){
            capacity := workDay * throughput //* workHours.Capacity().HoursAsReal()
            capacity := unitPeriodTime.ShiftPlan().GetWorkHours() * throughput //* workHours.Capacity().HoursAsReal()
          }
          
          isFirstWeekData := true;
_Main/BL/Type_MP_Cell_ScheduleSummary0/StaticMethod_CreateFullTable.qbl
@@ -83,7 +83,7 @@
                              cell.ArchiveColumn().CustomDate() >= localColumn.CustomDate() and 
                              cell.ArchiveColumn().CustomDate() < localColumn.CustomDate().StartOfNextMonth() );
          
          isFuture := macroPlan.StartOfPlanning().Date() < localColumn.CustomDate();
          isFuture := macroPlan.StartOfPlanning().Date() <= localColumn.CustomDate();
          
          workingDay := 0;
          capacity := 0.0;
@@ -97,15 +97,18 @@
              scheduleSummaryOutputData := scheduleSummaryOutputDatas.Element( scheduleSummaryOutputDataIndex.GetValueAsNumber() );
              output := scheduleSummaryOutputData.Output();
            }
          }
    
          traverse( archiveCells,Elements,cell ){
          }
          traverse( archiveCells,Elements,cell,cell.IsFristWeekData() ){
             workingDay := workingDay + cell.WorkingDay();
             capacity := capacity + cell.Capacity();
             if( cell.ShiftPattern() <> "" ){
               shiftPatterns.Add( cell.ShiftPattern() );
             }
          }
          localCell := null( LocalCell_ScheduleSummary );
          {
            localCellHandle := localCellIndexTree.GetHandle( row.Name() + localColumn.CustomDate().AsQUILL() );
@@ -150,21 +153,24 @@
          capacity := 0.0;
          output := 0.0;
          shiftPatterns := construct( Strings );
          isFuture := macroPlan.StartOfPlanning().Date() < localColumn.CustomDate();
          isFuture := macroPlan.StartOfPlanning().Date() <= localColumn.CustomDate();
          
          if( isFuture ){
            unitHandle := unitIndexTree.GetHandle( row.CustomName() );
            unitIndex := guard( unitIndexTree.Root().Child( unitHandle ),null( NamedValue ));
            if( not isnull( unitIndex )){
              unit := units.Element( unitIndex.GetValueAsNumber() );
              output := sum( unit,StockingPoint_MP.ProductInStockingPoint_MP.ProductInStockingPointInPeriod,pispip,
                             pispip.Period_MP().StartDate() >= localColumn.CustomDate() and
                             pispip.Period_MP().StartDate() < localColumn.CustomDate().StartOfNextMonth() and
                             pispip.Period_MP().TimeUnit() = "Day",
                             pispip.NewSupplyProductionQuantity());
              output := sum( unit,StockingPoint_MP.ProductInStockingPoint_MP.ProductInStockingPointInPeriod.astype( ProductInStockingPointInPeriodPlanningLeaf ).NewSupply,newSupply,
                             newSupply.PeriodTask_MP().istype( PeriodTaskOperation ) and not newSupply.PeriodTask_MP().astype( PeriodTaskOperation ).IsSupplier() and // åˆ—表过滤条件:FormProductionPlanDetails
                             newSupply.ProductInStockingPointInPeriodPlanning().Period_MP().StartDate() >= localColumn.CustomDate() and
                             newSupply.ProductInStockingPointInPeriodPlanning().Period_MP().StartDate() < localColumn.CustomDate().StartOfNextMonth() and
                             newSupply.ProductInStockingPointInPeriodPlanning().Period_MP().TimeUnit() = "Day",
                             newSupply.Quantity());
            }
          }
    
          }
          traverse( archiveCells,Elements,cell ){
             workingDay := workingDay + cell.WorkingDay();
             capacity := capacity + cell.Capacity();
@@ -172,6 +178,7 @@
               shiftPatterns.Add( cell.ShiftPattern() );
             }
          }
          localCell := null( LocalCell_ScheduleSummary );
          {
            localCellHandle := localCellIndexTree.GetHandle( row.CustomName() + localColumn.CustomDate().AsQUILL() );
@@ -194,11 +201,8 @@
       }
    }
    
    traverse( localTable,LocalRow.LocalCell.astype( LocalCell_ScheduleSummary ),cell ){
      cell.Capacity( cell.Capacity() / tables.Size() );
      cell.Output( cell.Output() / tables.Size() );
    traverse( localTable,LocalRow.LocalCell.astype( LocalCell_ScheduleSummary ),cell,cell.WorkingDay() <> 0 ){
      cell.Capacity( cell.Capacity() / cell.WorkingDay() );
    }
    
    AsyncFlag::Success( recycleBin,ArchiveCell_ScheduleSummary::GetTableName() );
_Main/BL/Type_MP_Cell_ScheduleSummary0/StaticMethod_CreateTempTable.qbl
@@ -54,7 +54,7 @@
          
          
          if( not isnull( workHours )){
            capacity := workDay * throughput //* workHours.Capacity().HoursAsReal()
            capacity := unitPeriodTime.ShiftPlan().GetWorkHours()* throughput //* workHours.Capacity().HoursAsReal()
          }
          
          row.LocalCell( relnew,LocalCell_ScheduleSummary,LocalColumn := column,
@@ -66,11 +66,9 @@
      }
    }
    
    traverse( table,LocalColumn,column,column.LocalCell( relsize ) = 0 ){
      column.Delete(); 
    }
    
    return table;
  *]
_Main/BL/Type_ShiftPlan/Method_GetWorkHours.qbl
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,29 @@
Quintiq file version 2.0
#parent: #root
Method GetWorkHours () const declarative remote as Real
{
  TextBody:
  [*
    // Akari Sep-6-2024 (created)
    result := 0.0;
    if( this.Outcome() = "1" ){
      result := 8.0;
    }else if( this.Outcome() = "2" ){
      result := 16.0;
    }else if(this.Outcome() = "9+9"){
      result := 18.0;
    }else if(this.Outcome() = "10+10"){
      result := 20.0;
    }else if(this.Outcome() = "11+11"){
      result := 22.0;
    }else if(this.Outcome() = "1(9)" or this.Outcome() = "1(9)"){
      result := 9.0;
    }else if(this.Outcome() = "1(10)" or this.Outcome() = "1(10)"){
      result := 10.0;
    }else if(this.Outcome() = "3"){
      result := 22.5;
    }
    return result;
  *]
}
_Main/Sys/Repr/Global/LocalCell_Default.qrp
@@ -10,7 +10,7 @@
    ]
    DataRepresentation.Default
    {
      FormatString: 'N(Dec(1))'
      FormatString: 'N(Dec(0))'
      InheritFormatting: false
    }
  }
_Main/UI/MacroPlannerWebApp/Component_ApplicationMacroPlanner/Component_ActionBarGroupArchiveReport.def
@@ -60,6 +60,28 @@
        Taborder: 4
      ]
    }
    Component ButtonArchivePackagingPlan
    {
      #keys: '[414996.1.236261009]'
      BaseType: 'WebButton'
      Properties:
      [
        Image: 'PRODUCT'
        Label: 'Archive packaging plan'
        Taborder: 5
      ]
    }
    Component ButtonArchiveTransferPlan
    {
      #keys: '[414996.1.236261022]'
      BaseType: 'WebButton'
      Properties:
      [
        Image: 'TRUCK2_BLUE'
        Label: 'Archive transfer plan'
        Taborder: 6
      ]
    }
  ]
  Properties:
  [
_Main/UI/MacroPlannerWebApp/Component_ApplicationMacroPlanner/Response_MacroPlanner_ActionBarGroupArchiveReport_ButtonArchivePackagingPlan.def
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,17 @@
Quintiq file version 2.0
#parent: ActionBarGroupArchiveReport/ButtonArchivePackagingPlan
Response OnClick () id:Response_MacroPlanner_ActionBarGroupArchiveReport_ButtonArchivePackagingPlan_OnClick
{
  #keys: '[414996.1.236261208]'
  CanBindMultiple: false
  DefinitionID: 'Responsedef_WebButton_OnClick'
  QuillAction
  {
    Body:
    [*
      // Open view
      ApplicationMacroPlanner.OpenView( 'ArchivePackagingPlan', this );
    *]
    GroupServerCalls: false
  }
}
_Main/UI/MacroPlannerWebApp/Component_ApplicationMacroPlanner/Response_MacroPlanner_ActionBarGroupArchiveReport_ButtonArchiveTransferPlan_.def
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,17 @@
Quintiq file version 2.0
#parent: ActionBarGroupArchiveReport/ButtonArchiveTransferPlan
Response OnClick () id:Response_MacroPlanner_ActionBarGroupArchiveReport_ButtonArchiveTransferPlan_OnClick
{
  #keys: '[414996.1.236261219]'
  CanBindMultiple: false
  DefinitionID: 'Responsedef_WebButton_OnClick'
  QuillAction
  {
    Body:
    [*
      // Open view
      ApplicationMacroPlanner.OpenView( 'ArchiveTransferPlan', this );
    *]
    GroupServerCalls: false
  }
}
_Main/UI/MacroPlannerWebApp/Component_Form701/Component_PanelFilter#490.def
@@ -5,36 +5,6 @@
  BaseType: 'WebPanel'
  Children:
  [
    Component ddslGeneration
    {
      #keys: '[414996.1.211223982]'
      BaseType: 'WebDropDownStringList'
      Properties:
      [
        Label: 'Generation'
        Taborder: 0
      ]
    }
    Component ddslMQBMLB
    {
      #keys: '[414996.1.211223983]'
      BaseType: 'WebDropDownStringList'
      Properties:
      [
        Label: 'MQB/MLB'
        Taborder: 1
      ]
    }
    Component ddslPower
    {
      #keys: '[414996.1.211223984]'
      BaseType: 'WebDropDownStringList'
      Properties:
      [
        Label: '功率'
        Taborder: 2
      ]
    }
    Component dsStartDate
    {
      #keys: '[414996.1.211223985]'
@@ -42,7 +12,7 @@
      Properties:
      [
        Label: 'Start Date'
        Taborder: 3
        Taborder: 0
      ]
    }
    Component dsEndDate
@@ -53,17 +23,7 @@
      [
        Date: 9999-12-31
        Label: 'End Date'
        Taborder: 5
      ]
    }
    Component ButtonFilter676
    {
      #keys: '[414996.1.211223987]'
      BaseType: 'WebButton'
      Properties:
      [
        Label: '过滤'
        Taborder: 7
        Taborder: 2
      ]
    }
    Component dhStartDate
@@ -73,7 +33,7 @@
      Databinding: 'Date*'
      Properties:
      [
        Taborder: 4
        Taborder: 1
      ]
    }
    Component dhEndDate
@@ -83,17 +43,7 @@
      Databinding: 'Date*'
      Properties:
      [
        Taborder: 6
      ]
    }
    Component ButtonClearFilter
    {
      #keys: '[414996.1.211223990]'
      BaseType: 'WebButton'
      Properties:
      [
        Label: 'Clear'
        Taborder: 8
        Taborder: 3
      ]
    }
  ]
_Main/UI/MacroPlannerWebApp/Component_Form701/Response_PanelFilter_490_ButtonClearFilter_OnClick.def
ÎļþÒÑɾ³ý
_Main/UI/MacroPlannerWebApp/Component_Form701/Response_PanelFilter_490_ButtonFilter676_OnClick.def
ÎļþÒÑɾ³ý
_Main/UI/MacroPlannerWebApp/Component_Form701/Response_PanelFilter_490_ddslGeneration_OnCreated.def
ÎļþÒÑɾ³ý
_Main/UI/MacroPlannerWebApp/Component_Form701/Response_PanelFilter_490_ddslMQBMLB_OnCreated.def
ÎļþÒÑɾ³ý
_Main/UI/MacroPlannerWebApp/Component_Form701/Response_PanelFilter_490_ddslPower_OnCreated.def
ÎļþÒÑɾ³ý
_Main/UI/MacroPlannerWebApp/Component_FormArchivePackagingPlan/_ROOT_Component_FormArchivePackagingPlan.def
@@ -12,6 +12,7 @@
  ]
  Properties:
  [
    Image: 'PRODUCT'
    Title: 'Archive Packaging Plan'
  ]
}
_Main/UI/MacroPlannerWebApp/Component_FormArchiveTransferPlan/_ROOT_Component_FormArchiveTransferPlan.def
@@ -12,6 +12,7 @@
  ]
  Properties:
  [
    Image: 'TRUCK2_BLUE'
    Title: 'Archive Transfer Plan'
  ]
}
_Main/UI/MacroPlannerWebApp/Component_FormAssemblyOnlinePlanVersion/Component_PanelColumnSearch.def
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,16 @@
Quintiq file version 2.0
Component PanelColumnSearch
{
  #keys: '[415136.0.1307730419]'
  BaseType: 'WebPanel'
  Children:
  [
    #child: PanelPeriod_384
    #child: PanelTimeUnit
  ]
  Properties:
  [
    Orientation: 'horizontal'
    Taborder: 1
  ]
}
_Main/UI/MacroPlannerWebApp/Component_FormAssemblyOnlinePlanVersion/Component_PanelHeader#952.def
@@ -5,17 +5,12 @@
  BaseType: 'WebPanel'
  Children:
  [
    #child: PanelUnit
    #child: PanelProductLine
    #child: PanelOperation_283
    #child: PanelTimeUnit_234
    #child: PanelPeriod
    #child: PanelProduct_937
    #child: PanelProductSearch
    #child: PanelColumnSearch
  ]
  Properties:
  [
    FixedSize: true
    Orientation: 'horizontal'
    Taborder: 2
  ]
}
_Main/UI/MacroPlannerWebApp/Component_FormAssemblyOnlinePlanVersion/Component_PanelOperation#283.def
ÎļþÒÑɾ³ý
_Main/UI/MacroPlannerWebApp/Component_FormAssemblyOnlinePlanVersion/Component_PanelOperation.def
copy from _Main/UI/MacroPlannerWebApp/Component_FormOfflinePlanArchive/Component_PanelOperation.def copy to _Main/UI/MacroPlannerWebApp/Component_FormAssemblyOnlinePlanVersion/Component_PanelOperation.def
Îļþ´Ó _Main/UI/MacroPlannerWebApp/Component_FormOfflinePlanArchive/Component_PanelOperation.def ¸´ÖÆ
@@ -1,13 +1,13 @@
Quintiq file version 2.0
Component PanelOperation
{
  #keys: '[415136.0.1252790299]'
  #keys: '[415136.0.1307730510]'
  BaseType: 'WebPanel'
  Children:
  [
    Component ButtonSearch
    {
      #keys: '[415136.0.1252790300]'
      #keys: '[415136.0.1307730511]'
      BaseType: 'WebButton'
      Properties:
      [
@@ -18,6 +18,6 @@
  ]
  Properties:
  [
    Taborder: 5
    Taborder: 3
  ]
}
_Main/UI/MacroPlannerWebApp/Component_FormAssemblyOnlinePlanVersion/Component_PanelPeriod#384.def
copy from "_Main/UI/MacroPlannerWebApp/Component_FormOfflinePlanArchive/Component_PanelPeriod\043858.def" copy to "_Main/UI/MacroPlannerWebApp/Component_FormAssemblyOnlinePlanVersion/Component_PanelPeriod\043384.def"
Îļþ´Ó _Main/UI/MacroPlannerWebApp/Component_FormOfflinePlanArchive/Component_PanelPeriod#858.def ¸´ÖÆ
@@ -1,13 +1,13 @@
Quintiq file version 2.0
Component PanelPeriod id:PanelPeriod_858
Component PanelPeriod id:PanelPeriod_384
{
  #keys: '[415136.0.1252790303]'
  #keys: '[415136.0.1307730458]'
  BaseType: 'WebPanel'
  Children:
  [
    Component DateSelectorStart
    {
      #keys: '[415136.0.1252790304]'
      #keys: '[415136.0.1307730459]'
      BaseType: 'WebDateSelector'
      Properties:
      [
@@ -17,7 +17,7 @@
    }
    Component DateSelectorEnd
    {
      #keys: '[415136.0.1252790305]'
      #keys: '[415136.0.1307730460]'
      BaseType: 'WebDateSelector'
      Properties:
      [
@@ -30,6 +30,6 @@
  Properties:
  [
    Orientation: 'horizontal'
    Taborder: 3
    Taborder: 0
  ]
}
_Main/UI/MacroPlannerWebApp/Component_FormAssemblyOnlinePlanVersion/Component_PanelProduct#937.def
ÎļþÒÑɾ³ý
_Main/UI/MacroPlannerWebApp/Component_FormAssemblyOnlinePlanVersion/Component_PanelProduct.def
ÎļþÃû´Ó _Main/UI/MacroPlannerWebApp/Component_FormOfflinePlanArchive/Component_PanelProduct.def ÐÞ¸Ä
@@ -1,13 +1,13 @@
Quintiq file version 2.0
Component PanelProduct
{
  #keys: '[415136.0.1252790306]'
  #keys: '[415136.0.1307730409]'
  BaseType: 'WebPanel'
  Children:
  [
    Component ddslProduct
    {
      #keys: '[415136.0.1252790307]'
      #keys: '[415136.0.1307730410]'
      BaseType: 'WebDropDownStringList'
      Properties:
      [
@@ -20,7 +20,6 @@
  ]
  Properties:
  [
    FixedSize: true
    Taborder: 2
  ]
}
_Main/UI/MacroPlannerWebApp/Component_FormAssemblyOnlinePlanVersion/Component_PanelProductLine#623.def
ÎļþÃû´Ó _Main/UI/MacroPlannerWebApp/Component_FormAssemblyOnlinePlanVersion/Component_PanelProductLine.def ÐÞ¸Ä
@@ -1,13 +1,13 @@
Quintiq file version 2.0
Component PanelProductLine
Component PanelProductLine id:PanelProductLine_623
{
  #keys: '[415136.0.1199302072]'
  #keys: '[415136.0.1307730382]'
  BaseType: 'WebPanel'
  Children:
  [
    Component ddslProductLine
    {
      #keys: '[415136.0.1199302073]'
      #keys: '[415136.0.1307730383]'
      BaseType: 'WebDropDownStringList'
      Properties:
      [
@@ -18,7 +18,6 @@
  ]
  Properties:
  [
    FixedSize: true
    Taborder: 1
  ]
}
_Main/UI/MacroPlannerWebApp/Component_FormAssemblyOnlinePlanVersion/Component_PanelProductSearch.def
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,18 @@
Quintiq file version 2.0
Component PanelProductSearch
{
  #keys: '[415136.0.1307730296]'
  BaseType: 'WebPanel'
  Children:
  [
    #child: PanelOperation
    #child: PanelUnit_424
    #child: PanelProductLine_623
    #child: PanelProduct
  ]
  Properties:
  [
    Orientation: 'horizontal'
    Taborder: 0
  ]
}
_Main/UI/MacroPlannerWebApp/Component_FormAssemblyOnlinePlanVersion/Component_PanelTimeUnit#234.def
ÎļþÒÑɾ³ý
_Main/UI/MacroPlannerWebApp/Component_FormAssemblyOnlinePlanVersion/Component_PanelTimeUnit.def
ÎļþÃû´Ó _Main/UI/MacroPlannerWebApp/Component_FormOfflinePlanArchive/Component_PanelTimeUnit.def ÐÞ¸Ä
@@ -1,13 +1,13 @@
Quintiq file version 2.0
Component PanelTimeUnit
{
  #keys: '[415136.0.1252790301]'
  #keys: '[415136.0.1307730486]'
  BaseType: 'WebPanel'
  Children:
  [
    Component RadioButtonGroupUseForTimeUnit
    {
      #keys: '[415136.0.1252790302]'
      #keys: '[415136.0.1307730487]'
      BaseType: 'WebRadioButtonGroup'
      Properties:
      [
@@ -21,6 +21,6 @@
  ]
  Properties:
  [
    Taborder: 4
    Taborder: 1
  ]
}
_Main/UI/MacroPlannerWebApp/Component_FormAssemblyOnlinePlanVersion/Component_PanelUnit#424.def
copy from _Main/UI/MacroPlannerWebApp/Component_FormAssemblyOnlinePlanVersion/Component_PanelUnit.def copy to "_Main/UI/MacroPlannerWebApp/Component_FormAssemblyOnlinePlanVersion/Component_PanelUnit\043424.def"
Îļþ´Ó _Main/UI/MacroPlannerWebApp/Component_FormAssemblyOnlinePlanVersion/Component_PanelUnit.def ¸´ÖÆ
@@ -1,13 +1,13 @@
Quintiq file version 2.0
Component PanelUnit
Component PanelUnit id:PanelUnit_424
{
  #keys: '[415136.0.1199302066]'
  #keys: '[415136.0.1307730355]'
  BaseType: 'WebPanel'
  Children:
  [
    Component ddslUnit
    {
      #keys: '[415136.0.1199302067]'
      #keys: '[415136.0.1307730356]'
      BaseType: 'WebDropDownStringList'
      Properties:
      [
@@ -18,7 +18,6 @@
  ]
  Properties:
  [
    FixedSize: true
    Taborder: 0
  ]
}
_Main/UI/MacroPlannerWebApp/Component_FormAssemblyOnlinePlanVersion/Response_PanelOperation_283_ButtonSearch_OnClick.def
ÎļþÒÑɾ³ý
_Main/UI/MacroPlannerWebApp/Component_FormAssemblyOnlinePlanVersion/Response_PanelOperation_ButtonSearch_OnClick.def
ÎļþÃû´Ó _Main/UI/MacroPlannerWebApp/Component_FormOfflinePlanArchive/Response_PanelOperation_ButtonSearch_OnClick.def ÐÞ¸Ä
@@ -2,7 +2,7 @@
#parent: PanelOperation/ButtonSearch
Response OnClick () id:Response_PanelOperation_ButtonSearch_OnClick
{
  #keys: '[415136.0.1294002009]'
  #keys: '[415136.0.1307730509]'
  CanBindMultiple: false
  DefinitionID: 'Responsedef_WebButton_OnClick'
  QuillAction
_Main/UI/MacroPlannerWebApp/Component_FormAssemblyOnlinePlanVersion/Response_PanelPeriod_384_DateSelectorEnd_OnChanged.def
ÎļþÃû´Ó _Main/UI/MacroPlannerWebApp/Component_FormOfflinePlanArchive/Response_PanelPeriod_858_DateSelectorEnd_OnChanged.def ÐÞ¸Ä
@@ -1,8 +1,8 @@
Quintiq file version 2.0
#parent: PanelPeriod_858/DateSelectorEnd
Response OnChanged () id:Response_PanelPeriod_858_DateSelectorEnd_OnChanged
#parent: PanelPeriod_384/DateSelectorEnd
Response OnChanged () id:Response_PanelPeriod_384_DateSelectorEnd_OnChanged
{
  #keys: '[415136.0.1252790286]'
  #keys: '[415136.0.1307730456]'
  CanBindMultiple: false
  DefinitionID: 'Responsedef_WebDateTimeFieldBase_OnChanged'
  QuillAction
_Main/UI/MacroPlannerWebApp/Component_FormAssemblyOnlinePlanVersion/Response_PanelPeriod_384_DateSelectorStart_OnChanged.def
ÎļþÃû´Ó _Main/UI/MacroPlannerWebApp/Component_FormOfflinePlanArchive/Response_PanelPeriod_858_DateSelectorStart_OnChanged.def ÐÞ¸Ä
@@ -1,8 +1,8 @@
Quintiq file version 2.0
#parent: PanelPeriod_858/DateSelectorStart
Response OnChanged () id:Response_PanelPeriod_858_DateSelectorStart_OnChanged
#parent: PanelPeriod_384/DateSelectorStart
Response OnChanged () id:Response_PanelPeriod_384_DateSelectorStart_OnChanged
{
  #keys: '[415136.0.1252790287]'
  #keys: '[415136.0.1307730457]'
  CanBindMultiple: false
  DefinitionID: 'Responsedef_WebDateTimeFieldBase_OnChanged'
  QuillAction
_Main/UI/MacroPlannerWebApp/Component_FormAssemblyOnlinePlanVersion/Response_PanelPeriod_DateSelectorEnd_OnChanged.def
ÎļþÒÑɾ³ý
_Main/UI/MacroPlannerWebApp/Component_FormAssemblyOnlinePlanVersion/Response_PanelProductLine_623_ddslProductLine_OnCreated.def
ÎļþÃû´Ó _Main/UI/MacroPlannerWebApp/Component_FormAssemblyOnlinePlanVersion/Response_PanelProductLine_ddslProductLine_OnCreated.def ÐÞ¸Ä
@@ -1,8 +1,8 @@
Quintiq file version 2.0
#parent: PanelProductLine/ddslProductLine
Response OnCreated () id:Response_PanelProductLine_ddslProductLine_OnCreated
#parent: PanelProductLine_623/ddslProductLine
Response OnCreated () id:Response_PanelProductLine_623_ddslProductLine_OnCreated
{
  #keys: '[415136.0.1199302058]'
  #keys: '[415136.0.1307730381]'
  CanBindMultiple: false
  DefinitionID: 'Responsedef_WebComponent_OnCreated'
  QuillAction
_Main/UI/MacroPlannerWebApp/Component_FormAssemblyOnlinePlanVersion/Response_PanelProductLine_623_ddslProductLine_OnSelectionChanged.def
ÎļþÃû´Ó _Main/UI/MacroPlannerWebApp/Component_FormAssemblyOnlinePlanVersion/Response_PanelProductLine_ddslProductLine_OnSelectionChanged.def ÐÞ¸Ä
@@ -1,8 +1,8 @@
Quintiq file version 2.0
#parent: PanelProductLine/ddslProductLine
Response OnSelectionChanged () id:Response_PanelProductLine_ddslProductLine_OnSelectionChanged
#parent: PanelProductLine_623/ddslProductLine
Response OnSelectionChanged () id:Response_PanelProductLine_623_ddslProductLine_OnSelectionChanged
{
  #keys: '[415136.0.1199302057]'
  #keys: '[415136.0.1307730380]'
  CanBindMultiple: false
  DefinitionID: 'Responsedef_WebDropDownStringList_OnSelectionChanged'
  QuillAction
_Main/UI/MacroPlannerWebApp/Component_FormAssemblyOnlinePlanVersion/Response_PanelProduct_937_ddslProduct_OnCreated.def
ÎļþÒÑɾ³ý
_Main/UI/MacroPlannerWebApp/Component_FormAssemblyOnlinePlanVersion/Response_PanelProduct_937_ddslProduct_OnSelectionChanged.def
ÎļþÒÑɾ³ý
_Main/UI/MacroPlannerWebApp/Component_FormAssemblyOnlinePlanVersion/Response_PanelProduct_ddslProduct_OnCreated.def
copy from _Main/UI/MacroPlannerWebApp/Component_FormOfflinePlanArchive/Response_PanelProduct_ddslProduct_OnCreated.def copy to _Main/UI/MacroPlannerWebApp/Component_FormAssemblyOnlinePlanVersion/Response_PanelProduct_ddslProduct_OnCreated.def
Îļþ´Ó _Main/UI/MacroPlannerWebApp/Component_FormOfflinePlanArchive/Response_PanelProduct_ddslProduct_OnCreated.def ¸´ÖÆ
@@ -2,14 +2,14 @@
#parent: PanelProduct/ddslProduct
Response OnCreated () id:Response_PanelProduct_ddslProduct_OnCreated
{
  #keys: '[415136.0.1252790285]'
  #keys: '[415136.0.1307730408]'
  CanBindMultiple: false
  DefinitionID: 'Responsedef_WebComponent_OnCreated'
  QuillAction
  {
    Body:
    [*
      values := selectuniquevalues( InterfaceDataset, AssemblyOnlinePlanVersion.Row, row, true, row.Name() );
      values := selectuniquevalues( InterfaceDataset, AssemblyOnlinePlanVersion.Row, row, true, row.Name());
      
      valueString := values.Concatenate( ";" );
      valueString := selectuniquevalues( valueString.Tokenize( ";" ), Elements, tempS, true, tempS ).Concatenate( ";" );
_Main/UI/MacroPlannerWebApp/Component_FormAssemblyOnlinePlanVersion/Response_PanelProduct_ddslProduct_OnSelectionChanged.def
copy from _Main/UI/MacroPlannerWebApp/Component_FormOfflinePlanArchive/Response_PanelProduct_ddslProduct_OnSelectionChanged.def copy to _Main/UI/MacroPlannerWebApp/Component_FormAssemblyOnlinePlanVersion/Response_PanelProduct_ddslProduct_OnSelectionChanged.def
Îļþ´Ó _Main/UI/MacroPlannerWebApp/Component_FormOfflinePlanArchive/Response_PanelProduct_ddslProduct_OnSelectionChanged.def ¸´ÖÆ
@@ -2,7 +2,7 @@
#parent: PanelProduct/ddslProduct
Response OnSelectionChanged () id:Response_PanelProduct_ddslProduct_OnSelectionChanged
{
  #keys: '[415136.0.1252790284]'
  #keys: '[415136.0.1307730407]'
  CanBindMultiple: false
  DefinitionID: 'Responsedef_WebDropDownStringList_OnSelectionChanged'
  QuillAction
_Main/UI/MacroPlannerWebApp/Component_FormAssemblyOnlinePlanVersion/Response_PanelTimeUnit_234_RadioButtonGroupUseForTimeUnit_OnChanged.def
ÎļþÒÑɾ³ý
_Main/UI/MacroPlannerWebApp/Component_FormAssemblyOnlinePlanVersion/Response_PanelTimeUnit_RadioButtonGroupUseForTimeUnit_OnChanged.def
copy from _Main/UI/MacroPlannerWebApp/Component_FormOfflinePlanArchive/Response_PanelTimeUnit_RadioButtonGroupUseForTimeUnit_OnChanged.def copy to _Main/UI/MacroPlannerWebApp/Component_FormAssemblyOnlinePlanVersion/Response_PanelTimeUnit_RadioButtonGroupUseForTimeUnit_OnChanged.def
Îļþ´Ó _Main/UI/MacroPlannerWebApp/Component_FormOfflinePlanArchive/Response_PanelTimeUnit_RadioButtonGroupUseForTimeUnit_OnChanged.def ¸´ÖÆ
@@ -2,7 +2,7 @@
#parent: PanelTimeUnit/RadioButtonGroupUseForTimeUnit
Response OnChanged () id:Response_PanelTimeUnit_RadioButtonGroupUseForTimeUnit_OnChanged
{
  #keys: '[415136.0.1252790289]'
  #keys: '[415136.0.1307730485]'
  CanBindMultiple: false
  DefinitionID: 'Responsedef_WebRadioButtonGroup_OnChanged'
  QuillAction
_Main/UI/MacroPlannerWebApp/Component_FormAssemblyOnlinePlanVersion/Response_PanelTimeUnit_RadioButtonGroupUseForTimeUnit_OnCreated.def
ÎļþÃû´Ó _Main/UI/MacroPlannerWebApp/Component_FormOfflinePlanArchive/Response_PanelTimeUnit_RadioButtonGroupUseForTimeUnit_OnCreated.def ÐÞ¸Ä
@@ -2,7 +2,7 @@
#parent: PanelTimeUnit/RadioButtonGroupUseForTimeUnit
Response OnCreated () id:Response_PanelTimeUnit_RadioButtonGroupUseForTimeUnit_OnCreated
{
  #keys: '[415136.0.1252790288]'
  #keys: '[415136.0.1307730484]'
  CanBindMultiple: false
  DefinitionID: 'Responsedef_WebComponent_OnCreated'
  QuillAction
_Main/UI/MacroPlannerWebApp/Component_FormAssemblyOnlinePlanVersion/Response_PanelUnit_424_ddslUnit_OnCreated.def
copy from _Main/UI/MacroPlannerWebApp/Component_FormAssemblyOnlinePlanVersion/Response_PanelUnit_ddslUnit_OnCreated.def copy to _Main/UI/MacroPlannerWebApp/Component_FormAssemblyOnlinePlanVersion/Response_PanelUnit_424_ddslUnit_OnCreated.def
Îļþ´Ó _Main/UI/MacroPlannerWebApp/Component_FormAssemblyOnlinePlanVersion/Response_PanelUnit_ddslUnit_OnCreated.def ¸´ÖÆ
@@ -1,8 +1,8 @@
Quintiq file version 2.0
#parent: PanelUnit/ddslUnit
Response OnCreated () id:Response_PanelUnit_ddslUnit_OnCreated
#parent: PanelUnit_424/ddslUnit
Response OnCreated () id:Response_PanelUnit_424_ddslUnit_OnCreated
{
  #keys: '[415136.0.1199302062]'
  #keys: '[415136.0.1307730354]'
  CanBindMultiple: false
  DefinitionID: 'Responsedef_WebComponent_OnCreated'
  QuillAction
_Main/UI/MacroPlannerWebApp/Component_FormAssemblyOnlinePlanVersion/Response_PanelUnit_424_ddslUnit_OnSelectionChanged.def
copy from _Main/UI/MacroPlannerWebApp/Component_FormOfflinePlanArchive/Response_PanelUnit_844_ddslUnit_OnSelectionChanged.def copy to _Main/UI/MacroPlannerWebApp/Component_FormAssemblyOnlinePlanVersion/Response_PanelUnit_424_ddslUnit_OnSelectionChanged.def
Îļþ´Ó _Main/UI/MacroPlannerWebApp/Component_FormOfflinePlanArchive/Response_PanelUnit_844_ddslUnit_OnSelectionChanged.def ¸´ÖÆ
@@ -1,8 +1,8 @@
Quintiq file version 2.0
#parent: PanelUnit_844/ddslUnit
Response OnSelectionChanged () id:Response_PanelUnit_844_ddslUnit_OnSelectionChanged
#parent: PanelUnit_424/ddslUnit
Response OnSelectionChanged () id:Response_PanelUnit_424_ddslUnit_OnSelectionChanged
{
  #keys: '[415136.0.1252790292]'
  #keys: '[415136.0.1307730353]'
  CanBindMultiple: false
  DefinitionID: 'Responsedef_WebDropDownStringList_OnSelectionChanged'
  QuillAction
_Main/UI/MacroPlannerWebApp/Component_FormAssemblyOnlinePlanVersion/Response_PanelUnit_ddslUnit_OnSelectionChanged.def
ÎļþÒÑɾ³ý
_Main/UI/MacroPlannerWebApp/Component_FormCustomerDemandPPAIDS/Component_PanelProduct.def
@@ -20,7 +20,6 @@
  ]
  Properties:
  [
    FixedSize: true
    Taborder: 3
  ]
}
_Main/UI/MacroPlannerWebApp/Component_FormInventoryPlanArchive/Component_PanelColumnSearch.def
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,16 @@
Quintiq file version 2.0
Component PanelColumnSearch
{
  #keys: '[415136.0.1307935295]'
  BaseType: 'WebPanel'
  Children:
  [
    #child: PanelPeriod_71
    #child: PanelTimeUnit
  ]
  Properties:
  [
    Orientation: 'horizontal'
    Taborder: 1
  ]
}
_Main/UI/MacroPlannerWebApp/Component_FormInventoryPlanArchive/Component_PanelHeader#503.def
@@ -5,16 +5,12 @@
  BaseType: 'WebPanel'
  Children:
  [
    #child: PanelUnit
    #child: PanelOperation_414
    #child: PanelTimeUnit_805
    #child: PanelPeriod
    #child: PanelProduct_133
    #child: PanelColumnSearch
    #child: PanelRowSearch
  ]
  Properties:
  [
    FixedSize: true
    Orientation: 'horizontal'
    Taborder: 2
  ]
}
_Main/UI/MacroPlannerWebApp/Component_FormInventoryPlanArchive/Component_PanelOperation#414.def
ÎļþÒÑɾ³ý
_Main/UI/MacroPlannerWebApp/Component_FormInventoryPlanArchive/Component_PanelOperation.def
ÎļþÃû´Ó _Main/UI/MacroPlannerWebApp/Component_FormOfflinePlanArchive/Component_PanelOperation.def ÐÞ¸Ä
@@ -1,13 +1,13 @@
Quintiq file version 2.0
Component PanelOperation
{
  #keys: '[415136.0.1252790299]'
  #keys: '[415136.0.1307935388]'
  BaseType: 'WebPanel'
  Children:
  [
    Component ButtonSearch
    {
      #keys: '[415136.0.1252790300]'
      #keys: '[415136.0.1307935389]'
      BaseType: 'WebButton'
      Properties:
      [
@@ -18,6 +18,6 @@
  ]
  Properties:
  [
    Taborder: 5
    Taborder: 2
  ]
}
_Main/UI/MacroPlannerWebApp/Component_FormInventoryPlanArchive/Component_PanelPeriod#71.def
ÎļþÃû´Ó _Main/UI/MacroPlannerWebApp/Component_FormOfflinePlanArchive/Component_PanelPeriod#858.def ÐÞ¸Ä
@@ -1,13 +1,13 @@
Quintiq file version 2.0
Component PanelPeriod id:PanelPeriod_858
Component PanelPeriod id:PanelPeriod_71
{
  #keys: '[415136.0.1252790303]'
  #keys: '[415136.0.1307935336]'
  BaseType: 'WebPanel'
  Children:
  [
    Component DateSelectorStart
    {
      #keys: '[415136.0.1252790304]'
      #keys: '[415136.0.1307935337]'
      BaseType: 'WebDateSelector'
      Properties:
      [
@@ -17,7 +17,7 @@
    }
    Component DateSelectorEnd
    {
      #keys: '[415136.0.1252790305]'
      #keys: '[415136.0.1307935338]'
      BaseType: 'WebDateSelector'
      Properties:
      [
@@ -30,6 +30,6 @@
  Properties:
  [
    Orientation: 'horizontal'
    Taborder: 3
    Taborder: 0
  ]
}
_Main/UI/MacroPlannerWebApp/Component_FormInventoryPlanArchive/Component_PanelPeriod.def
ÎļþÒÑɾ³ý
_Main/UI/MacroPlannerWebApp/Component_FormInventoryPlanArchive/Component_PanelProduct#133.def
ÎļþÒÑɾ³ý
_Main/UI/MacroPlannerWebApp/Component_FormInventoryPlanArchive/Component_PanelProduct.def
copy from _Main/UI/MacroPlannerWebApp/Component_FormOfflinePlanArchive/Component_PanelProduct.def copy to _Main/UI/MacroPlannerWebApp/Component_FormInventoryPlanArchive/Component_PanelProduct.def
Îļþ´Ó _Main/UI/MacroPlannerWebApp/Component_FormOfflinePlanArchive/Component_PanelProduct.def ¸´ÖÆ
@@ -1,13 +1,13 @@
Quintiq file version 2.0
Component PanelProduct
{
  #keys: '[415136.0.1252790306]'
  #keys: '[415136.0.1307935280]'
  BaseType: 'WebPanel'
  Children:
  [
    Component ddslProduct
    {
      #keys: '[415136.0.1252790307]'
      #keys: '[415136.0.1307935281]'
      BaseType: 'WebDropDownStringList'
      Properties:
      [
@@ -20,7 +20,6 @@
  ]
  Properties:
  [
    FixedSize: true
    Taborder: 2
    Taborder: 1
  ]
}
_Main/UI/MacroPlannerWebApp/Component_FormInventoryPlanArchive/Component_PanelRowSearch.def
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,17 @@
Quintiq file version 2.0
Component PanelRowSearch
{
  #keys: '[415136.0.1307935211]'
  BaseType: 'WebPanel'
  Children:
  [
    #child: PanelUnit_925
    #child: PanelProduct
    #child: PanelOperation
  ]
  Properties:
  [
    Orientation: 'horizontal'
    Taborder: 0
  ]
}
_Main/UI/MacroPlannerWebApp/Component_FormInventoryPlanArchive/Component_PanelTimeUnit#805.def
ÎļþÒÑɾ³ý
_Main/UI/MacroPlannerWebApp/Component_FormInventoryPlanArchive/Component_PanelTimeUnit.def
copy from _Main/UI/MacroPlannerWebApp/Component_FormOfflinePlanArchive/Component_PanelTimeUnit.def copy to _Main/UI/MacroPlannerWebApp/Component_FormInventoryPlanArchive/Component_PanelTimeUnit.def
Îļþ´Ó _Main/UI/MacroPlannerWebApp/Component_FormOfflinePlanArchive/Component_PanelTimeUnit.def ¸´ÖÆ
@@ -1,13 +1,13 @@
Quintiq file version 2.0
Component PanelTimeUnit
{
  #keys: '[415136.0.1252790301]'
  #keys: '[415136.0.1307935364]'
  BaseType: 'WebPanel'
  Children:
  [
    Component RadioButtonGroupUseForTimeUnit
    {
      #keys: '[415136.0.1252790302]'
      #keys: '[415136.0.1307935365]'
      BaseType: 'WebRadioButtonGroup'
      Properties:
      [
@@ -21,6 +21,6 @@
  ]
  Properties:
  [
    Taborder: 4
    Taborder: 1
  ]
}
_Main/UI/MacroPlannerWebApp/Component_FormInventoryPlanArchive/Component_PanelUnit#925.def
ÎļþÃû´Ó _Main/UI/MacroPlannerWebApp/Component_FormInventoryPlanArchive/Component_PanelUnit.def ÐÞ¸Ä
@@ -1,13 +1,13 @@
Quintiq file version 2.0
Component PanelUnit
Component PanelUnit id:PanelUnit_925
{
  #keys: '[415136.0.1277502022]'
  #keys: '[415136.0.1307935253]'
  BaseType: 'WebPanel'
  Children:
  [
    Component ddslUnit
    {
      #keys: '[415136.0.1277502023]'
      #keys: '[415136.0.1307935254]'
      BaseType: 'WebDropDownStringList'
      Properties:
      [
@@ -18,7 +18,6 @@
  ]
  Properties:
  [
    FixedSize: true
    Taborder: 0
  ]
}
_Main/UI/MacroPlannerWebApp/Component_FormInventoryPlanArchive/Response_PanelOperation_ButtonSearch_OnClick.def
copy from _Main/UI/MacroPlannerWebApp/Component_FormOfflinePlanArchive/Response_PanelOperation_ButtonSearch_OnClick.def copy to _Main/UI/MacroPlannerWebApp/Component_FormInventoryPlanArchive/Response_PanelOperation_ButtonSearch_OnClick.def
Îļþ´Ó _Main/UI/MacroPlannerWebApp/Component_FormOfflinePlanArchive/Response_PanelOperation_ButtonSearch_OnClick.def ¸´ÖÆ
@@ -2,7 +2,7 @@
#parent: PanelOperation/ButtonSearch
Response OnClick () id:Response_PanelOperation_ButtonSearch_OnClick
{
  #keys: '[415136.0.1294002009]'
  #keys: '[415136.0.1307935387]'
  CanBindMultiple: false
  DefinitionID: 'Responsedef_WebButton_OnClick'
  QuillAction
_Main/UI/MacroPlannerWebApp/Component_FormInventoryPlanArchive/Response_PanelPeriod_71_DateSelectorEnd_OnChanged.def
copy from _Main/UI/MacroPlannerWebApp/Component_FormInventoryPlanArchive/Response_PanelPeriod_DateSelectorEnd_OnChanged.def copy to _Main/UI/MacroPlannerWebApp/Component_FormInventoryPlanArchive/Response_PanelPeriod_71_DateSelectorEnd_OnChanged.def
Îļþ´Ó _Main/UI/MacroPlannerWebApp/Component_FormInventoryPlanArchive/Response_PanelPeriod_DateSelectorEnd_OnChanged.def ¸´ÖÆ
@@ -1,8 +1,8 @@
Quintiq file version 2.0
#parent: PanelPeriod/DateSelectorEnd
Response OnChanged () id:Response_PanelPeriod_DateSelectorEnd_OnChanged
#parent: PanelPeriod_71/DateSelectorEnd
Response OnChanged () id:Response_PanelPeriod_71_DateSelectorEnd_OnChanged
{
  #keys: '[415136.0.1277502006]'
  #keys: '[415136.0.1307935334]'
  CanBindMultiple: false
  DefinitionID: 'Responsedef_WebDateTimeFieldBase_OnChanged'
  QuillAction
_Main/UI/MacroPlannerWebApp/Component_FormInventoryPlanArchive/Response_PanelPeriod_71_DateSelectorStart_OnChanged.def
copy from _Main/UI/MacroPlannerWebApp/Component_FormAssemblyOnlinePlanVersion/Response_PanelPeriod_DateSelectorStart_OnChanged.def copy to _Main/UI/MacroPlannerWebApp/Component_FormInventoryPlanArchive/Response_PanelPeriod_71_DateSelectorStart_OnChanged.def
Îļþ´Ó _Main/UI/MacroPlannerWebApp/Component_FormAssemblyOnlinePlanVersion/Response_PanelPeriod_DateSelectorStart_OnChanged.def ¸´ÖÆ
@@ -1,8 +1,8 @@
Quintiq file version 2.0
#parent: PanelPeriod/DateSelectorStart
Response OnChanged () id:Response_PanelPeriod_DateSelectorStart_OnChanged
#parent: PanelPeriod_71/DateSelectorStart
Response OnChanged () id:Response_PanelPeriod_71_DateSelectorStart_OnChanged
{
  #keys: '[415136.0.1199302052]'
  #keys: '[415136.0.1307935335]'
  CanBindMultiple: false
  DefinitionID: 'Responsedef_WebDateTimeFieldBase_OnChanged'
  QuillAction
_Main/UI/MacroPlannerWebApp/Component_FormInventoryPlanArchive/Response_PanelPeriod_DateSelectorStart_OnChanged.def
ÎļþÒÑɾ³ý
_Main/UI/MacroPlannerWebApp/Component_FormInventoryPlanArchive/Response_PanelProduct_ddslProduct_OnCreated.def
ÎļþÃû´Ó _Main/UI/MacroPlannerWebApp/Component_FormOfflinePlanArchive/Response_PanelProduct_ddslProduct_OnCreated.def ÐÞ¸Ä
@@ -2,7 +2,7 @@
#parent: PanelProduct/ddslProduct
Response OnCreated () id:Response_PanelProduct_ddslProduct_OnCreated
{
  #keys: '[415136.0.1252790285]'
  #keys: '[415136.0.1307935279]'
  CanBindMultiple: false
  DefinitionID: 'Responsedef_WebComponent_OnCreated'
  QuillAction
_Main/UI/MacroPlannerWebApp/Component_FormInventoryPlanArchive/Response_PanelProduct_ddslProduct_OnSelectionChanged.def
ÎļþÃû´Ó _Main/UI/MacroPlannerWebApp/Component_FormOfflinePlanArchive/Response_PanelProduct_ddslProduct_OnSelectionChanged.def ÐÞ¸Ä
@@ -2,7 +2,7 @@
#parent: PanelProduct/ddslProduct
Response OnSelectionChanged () id:Response_PanelProduct_ddslProduct_OnSelectionChanged
{
  #keys: '[415136.0.1252790284]'
  #keys: '[415136.0.1307935278]'
  CanBindMultiple: false
  DefinitionID: 'Responsedef_WebDropDownStringList_OnSelectionChanged'
  QuillAction
_Main/UI/MacroPlannerWebApp/Component_FormInventoryPlanArchive/Response_PanelTimeUnit_805_RadioButtonGroupUseForTimeUnit_OnCreated.def
ÎļþÒÑɾ³ý
_Main/UI/MacroPlannerWebApp/Component_FormInventoryPlanArchive/Response_PanelTimeUnit_RadioButtonGroupUseForTimeUnit_OnChanged.def
ÎļþÃû´Ó _Main/UI/MacroPlannerWebApp/Component_FormOfflinePlanArchive/Response_PanelTimeUnit_RadioButtonGroupUseForTimeUnit_OnChanged.def ÐÞ¸Ä
@@ -2,7 +2,7 @@
#parent: PanelTimeUnit/RadioButtonGroupUseForTimeUnit
Response OnChanged () id:Response_PanelTimeUnit_RadioButtonGroupUseForTimeUnit_OnChanged
{
  #keys: '[415136.0.1252790289]'
  #keys: '[415136.0.1307935363]'
  CanBindMultiple: false
  DefinitionID: 'Responsedef_WebRadioButtonGroup_OnChanged'
  QuillAction
_Main/UI/MacroPlannerWebApp/Component_FormInventoryPlanArchive/Response_PanelTimeUnit_RadioButtonGroupUseForTimeUnit_OnCreated.def
copy from _Main/UI/MacroPlannerWebApp/Component_FormOfflinePlanArchive/Response_PanelTimeUnit_RadioButtonGroupUseForTimeUnit_OnCreated.def copy to _Main/UI/MacroPlannerWebApp/Component_FormInventoryPlanArchive/Response_PanelTimeUnit_RadioButtonGroupUseForTimeUnit_OnCreated.def
Îļþ´Ó _Main/UI/MacroPlannerWebApp/Component_FormOfflinePlanArchive/Response_PanelTimeUnit_RadioButtonGroupUseForTimeUnit_OnCreated.def ¸´ÖÆ
@@ -2,7 +2,7 @@
#parent: PanelTimeUnit/RadioButtonGroupUseForTimeUnit
Response OnCreated () id:Response_PanelTimeUnit_RadioButtonGroupUseForTimeUnit_OnCreated
{
  #keys: '[415136.0.1252790288]'
  #keys: '[415136.0.1307935362]'
  CanBindMultiple: false
  DefinitionID: 'Responsedef_WebComponent_OnCreated'
  QuillAction
_Main/UI/MacroPlannerWebApp/Component_FormInventoryPlanArchive/Response_PanelUnit_925_ddslUnit_OnCreated.def
ÎļþÃû´Ó _Main/UI/MacroPlannerWebApp/Component_FormOfflinePlanArchive/Response_PanelUnit_844_ddslUnit_OnCreated.def ÐÞ¸Ä
@@ -1,8 +1,8 @@
Quintiq file version 2.0
#parent: PanelUnit_844/ddslUnit
Response OnCreated () id:Response_PanelUnit_844_ddslUnit_OnCreated
#parent: PanelUnit_925/ddslUnit
Response OnCreated () id:Response_PanelUnit_925_ddslUnit_OnCreated
{
  #keys: '[415136.0.1252790293]'
  #keys: '[415136.0.1307935252]'
  CanBindMultiple: false
  DefinitionID: 'Responsedef_WebComponent_OnCreated'
  QuillAction
_Main/UI/MacroPlannerWebApp/Component_FormInventoryPlanArchive/Response_PanelUnit_925_ddslUnit_OnSelectionChanged.def
ÎļþÃû´Ó _Main/UI/MacroPlannerWebApp/Component_FormOfflinePlanArchive/Response_PanelUnit_844_ddslUnit_OnSelectionChanged.def ÐÞ¸Ä
@@ -1,8 +1,8 @@
Quintiq file version 2.0
#parent: PanelUnit_844/ddslUnit
Response OnSelectionChanged () id:Response_PanelUnit_844_ddslUnit_OnSelectionChanged
#parent: PanelUnit_925/ddslUnit
Response OnSelectionChanged () id:Response_PanelUnit_925_ddslUnit_OnSelectionChanged
{
  #keys: '[415136.0.1252790292]'
  #keys: '[415136.0.1307935251]'
  CanBindMultiple: false
  DefinitionID: 'Responsedef_WebDropDownStringList_OnSelectionChanged'
  QuillAction
_Main/UI/MacroPlannerWebApp/Component_FormInventoryPlanArchive/Response_PanelUnit_ddslUnit_OnCreated.def
ÎļþÒÑɾ³ý
_Main/UI/MacroPlannerWebApp/Component_FormOfflinePlanArchive/Component_PanelColumnSaerch.def
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,16 @@
Quintiq file version 2.0
Component PanelColumnSaerch
{
  #keys: '[415136.0.1306620738]'
  BaseType: 'WebPanel'
  Children:
  [
    #child: PanelPeriod
    #child: PanelTimeUnit_720
  ]
  Properties:
  [
    Orientation: 'horizontal'
    Taborder: 1
  ]
}
_Main/UI/MacroPlannerWebApp/Component_FormOfflinePlanArchive/Component_PanelHeader.def
@@ -5,17 +5,12 @@
  BaseType: 'WebPanel'
  Children:
  [
    #child: PanelProduct
    #child: PanelPeriod_858
    #child: PanelTimeUnit
    #child: PanelOperation
    #child: PanelProductLine_603
    #child: PanelUnit_844
    #child: PanelRowSearch
    #child: PanelColumnSaerch
  ]
  Properties:
  [
    FixedSize: true
    Orientation: 'horizontal'
    Taborder: 2
  ]
}
_Main/UI/MacroPlannerWebApp/Component_FormOfflinePlanArchive/Component_PanelOperation#679.def
copy from _Main/UI/MacroPlannerWebApp/Component_FormOfflinePlanArchive/Component_PanelOperation.def copy to "_Main/UI/MacroPlannerWebApp/Component_FormOfflinePlanArchive/Component_PanelOperation\043679.def"
Îļþ´Ó _Main/UI/MacroPlannerWebApp/Component_FormOfflinePlanArchive/Component_PanelOperation.def ¸´ÖÆ
@@ -1,13 +1,13 @@
Quintiq file version 2.0
Component PanelOperation
Component PanelOperation id:PanelOperation_679
{
  #keys: '[415136.0.1252790299]'
  #keys: '[415136.0.1306620726]'
  BaseType: 'WebPanel'
  Children:
  [
    Component ButtonSearch
    {
      #keys: '[415136.0.1252790300]'
      #keys: '[415136.0.1306620727]'
      BaseType: 'WebButton'
      Properties:
      [
@@ -18,6 +18,6 @@
  ]
  Properties:
  [
    Taborder: 5
    Taborder: 3
  ]
}
_Main/UI/MacroPlannerWebApp/Component_FormOfflinePlanArchive/Component_PanelPeriod.def
ÎļþÃû´Ó _Main/UI/MacroPlannerWebApp/Component_FormAssemblyOnlinePlanVersion/Component_PanelPeriod.def ÐÞ¸Ä
@@ -1,13 +1,13 @@
Quintiq file version 2.0
Component PanelPeriod
{
  #keys: '[415136.0.1199302080]'
  #keys: '[415136.0.1306620778]'
  BaseType: 'WebPanel'
  Children:
  [
    Component DateSelectorStart
    {
      #keys: '[415136.0.1199302081]'
      #keys: '[415136.0.1306620779]'
      BaseType: 'WebDateSelector'
      Properties:
      [
@@ -17,7 +17,7 @@
    }
    Component DateSelectorEnd
    {
      #keys: '[415136.0.1199302082]'
      #keys: '[415136.0.1306620780]'
      BaseType: 'WebDateSelector'
      Properties:
      [
@@ -30,6 +30,6 @@
  Properties:
  [
    Orientation: 'horizontal'
    Taborder: 3
    Taborder: 0
  ]
}
_Main/UI/MacroPlannerWebApp/Component_FormOfflinePlanArchive/Component_PanelProduct#780.def
copy from _Main/UI/MacroPlannerWebApp/Component_FormOfflinePlanArchive/Component_PanelProduct.def copy to "_Main/UI/MacroPlannerWebApp/Component_FormOfflinePlanArchive/Component_PanelProduct\043780.def"
Îļþ´Ó _Main/UI/MacroPlannerWebApp/Component_FormOfflinePlanArchive/Component_PanelProduct.def ¸´ÖÆ
@@ -1,13 +1,13 @@
Quintiq file version 2.0
Component PanelProduct
Component PanelProduct id:PanelProduct_780
{
  #keys: '[415136.0.1252790306]'
  #keys: '[415136.0.1306620702]'
  BaseType: 'WebPanel'
  Children:
  [
    Component ddslProduct
    {
      #keys: '[415136.0.1252790307]'
      #keys: '[415136.0.1306620703]'
      BaseType: 'WebDropDownStringList'
      Properties:
      [
@@ -20,7 +20,6 @@
  ]
  Properties:
  [
    FixedSize: true
    Taborder: 2
  ]
}
_Main/UI/MacroPlannerWebApp/Component_FormOfflinePlanArchive/Component_PanelProductLine#603.def
ÎļþÒÑɾ³ý
_Main/UI/MacroPlannerWebApp/Component_FormOfflinePlanArchive/Component_PanelProductLine.def
copy from _Main/UI/MacroPlannerWebApp/Component_FormAssemblyOnlinePlanVersion/Component_PanelProductLine.def copy to _Main/UI/MacroPlannerWebApp/Component_FormOfflinePlanArchive/Component_PanelProductLine.def
Îļþ´Ó _Main/UI/MacroPlannerWebApp/Component_FormAssemblyOnlinePlanVersion/Component_PanelProductLine.def ¸´ÖÆ
@@ -1,24 +1,24 @@
Quintiq file version 2.0
Component PanelProductLine
{
  #keys: '[415136.0.1199302072]'
  #keys: '[415136.0.1306620675]'
  BaseType: 'WebPanel'
  Children:
  [
    Component ddslProductLine
    Component ddsProductLine
    {
      #keys: '[415136.0.1199302073]'
      #keys: '[415136.0.1306620676]'
      BaseType: 'WebDropDownStringList'
      Properties:
      [
        Label: 'Product line'
        Sorting: 'none'
        Taborder: 0
      ]
    }
  ]
  Properties:
  [
    FixedSize: true
    Taborder: 1
  ]
}
_Main/UI/MacroPlannerWebApp/Component_FormOfflinePlanArchive/Component_PanelRowSearch.def
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,18 @@
Quintiq file version 2.0
Component PanelRowSearch
{
  #keys: '[415136.0.1306620605]'
  BaseType: 'WebPanel'
  Children:
  [
    #child: PanelUnit
    #child: PanelProductLine
    #child: PanelProduct_780
    #child: PanelOperation_679
  ]
  Properties:
  [
    Orientation: 'horizontal'
    Taborder: 0
  ]
}
_Main/UI/MacroPlannerWebApp/Component_FormOfflinePlanArchive/Component_PanelTimeUnit#720.def
copy from _Main/UI/MacroPlannerWebApp/Component_FormOfflinePlanArchive/Component_PanelTimeUnit.def copy to "_Main/UI/MacroPlannerWebApp/Component_FormOfflinePlanArchive/Component_PanelTimeUnit\043720.def"
Îļþ´Ó _Main/UI/MacroPlannerWebApp/Component_FormOfflinePlanArchive/Component_PanelTimeUnit.def ¸´ÖÆ
@@ -1,13 +1,13 @@
Quintiq file version 2.0
Component PanelTimeUnit
Component PanelTimeUnit id:PanelTimeUnit_720
{
  #keys: '[415136.0.1252790301]'
  #keys: '[415136.0.1306620806]'
  BaseType: 'WebPanel'
  Children:
  [
    Component RadioButtonGroupUseForTimeUnit
    {
      #keys: '[415136.0.1252790302]'
      #keys: '[415136.0.1306620807]'
      BaseType: 'WebRadioButtonGroup'
      Properties:
      [
@@ -21,6 +21,6 @@
  ]
  Properties:
  [
    Taborder: 4
    Taborder: 1
  ]
}
_Main/UI/MacroPlannerWebApp/Component_FormOfflinePlanArchive/Component_PanelUnit#844.def
ÎļþÒÑɾ³ý
_Main/UI/MacroPlannerWebApp/Component_FormOfflinePlanArchive/Component_PanelUnit.def
ÎļþÃû´Ó _Main/UI/MacroPlannerWebApp/Component_FormAssemblyOnlinePlanVersion/Component_PanelUnit.def ÐÞ¸Ä
@@ -1,13 +1,13 @@
Quintiq file version 2.0
Component PanelUnit
{
  #keys: '[415136.0.1199302066]'
  #keys: '[415136.0.1306620648]'
  BaseType: 'WebPanel'
  Children:
  [
    Component ddslUnit
    {
      #keys: '[415136.0.1199302067]'
      #keys: '[415136.0.1306620649]'
      BaseType: 'WebDropDownStringList'
      Properties:
      [
@@ -18,7 +18,6 @@
  ]
  Properties:
  [
    FixedSize: true
    Taborder: 0
  ]
}
_Main/UI/MacroPlannerWebApp/Component_FormOfflinePlanArchive/Response_PanelOperation_679_ButtonSearch_OnClick.def
ÎļþÃû´Ó _Main/UI/MacroPlannerWebApp/Component_FormInventoryPlanArchive/Response_PanelOperation_414_ButtonSearch_OnClick.def ÐÞ¸Ä
@@ -1,8 +1,8 @@
Quintiq file version 2.0
#parent: PanelOperation_414/ButtonSearch
Response OnClick () id:Response_PanelOperation_414_ButtonSearch_OnClick
#parent: PanelOperation_679/ButtonSearch
Response OnClick () id:Response_PanelOperation_679_ButtonSearch_OnClick
{
  #keys: '[415136.0.1285202243]'
  #keys: '[415136.0.1306620725]'
  CanBindMultiple: false
  DefinitionID: 'Responsedef_WebButton_OnClick'
  QuillAction
_Main/UI/MacroPlannerWebApp/Component_FormOfflinePlanArchive/Response_PanelPeriod_DateSelectorEnd_OnChanged.def
ÎļþÃû´Ó _Main/UI/MacroPlannerWebApp/Component_FormInventoryPlanArchive/Response_PanelPeriod_DateSelectorEnd_OnChanged.def ÐÞ¸Ä
@@ -2,7 +2,7 @@
#parent: PanelPeriod/DateSelectorEnd
Response OnChanged () id:Response_PanelPeriod_DateSelectorEnd_OnChanged
{
  #keys: '[415136.0.1277502006]'
  #keys: '[415136.0.1306620776]'
  CanBindMultiple: false
  DefinitionID: 'Responsedef_WebDateTimeFieldBase_OnChanged'
  QuillAction
_Main/UI/MacroPlannerWebApp/Component_FormOfflinePlanArchive/Response_PanelPeriod_DateSelectorStart_OnChanged.def
ÎļþÃû´Ó _Main/UI/MacroPlannerWebApp/Component_FormAssemblyOnlinePlanVersion/Response_PanelPeriod_DateSelectorStart_OnChanged.def ÐÞ¸Ä
@@ -2,7 +2,7 @@
#parent: PanelPeriod/DateSelectorStart
Response OnChanged () id:Response_PanelPeriod_DateSelectorStart_OnChanged
{
  #keys: '[415136.0.1199302052]'
  #keys: '[415136.0.1306620777]'
  CanBindMultiple: false
  DefinitionID: 'Responsedef_WebDateTimeFieldBase_OnChanged'
  QuillAction
_Main/UI/MacroPlannerWebApp/Component_FormOfflinePlanArchive/Response_PanelProductLine_603_ddsProductLine_OnCreated.def
ÎļþÒÑɾ³ý
_Main/UI/MacroPlannerWebApp/Component_FormOfflinePlanArchive/Response_PanelProductLine_ddsProductLine_OnCreated.def
copy from _Main/UI/MacroPlannerWebApp/Component_FormAssemblyOnlinePlanVersion/Response_PanelProductLine_ddslProductLine_OnCreated.def copy to _Main/UI/MacroPlannerWebApp/Component_FormOfflinePlanArchive/Response_PanelProductLine_ddsProductLine_OnCreated.def
Îļþ´Ó _Main/UI/MacroPlannerWebApp/Component_FormAssemblyOnlinePlanVersion/Response_PanelProductLine_ddslProductLine_OnCreated.def ¸´ÖÆ
@@ -1,8 +1,8 @@
Quintiq file version 2.0
#parent: PanelProductLine/ddslProductLine
Response OnCreated () id:Response_PanelProductLine_ddslProductLine_OnCreated
#parent: PanelProductLine/ddsProductLine
Response OnCreated () id:Response_PanelProductLine_ddsProductLine_OnCreated
{
  #keys: '[415136.0.1199302058]'
  #keys: '[415136.0.1306620674]'
  CanBindMultiple: false
  DefinitionID: 'Responsedef_WebComponent_OnCreated'
  QuillAction
_Main/UI/MacroPlannerWebApp/Component_FormOfflinePlanArchive/Response_PanelProductLine_ddsProductLine_OnSelectionChanged.def
ÎļþÃû´Ó _Main/UI/MacroPlannerWebApp/Component_FormOfflinePlanArchive/Response_PanelProductLine_603_ddsProductLine_OnSelectionChanged.def ÐÞ¸Ä
@@ -1,8 +1,8 @@
Quintiq file version 2.0
#parent: PanelProductLine_603/ddsProductLine
Response OnSelectionChanged () id:Response_PanelProductLine_603_ddsProductLine_OnSelectionChanged
#parent: PanelProductLine/ddsProductLine
Response OnSelectionChanged () id:Response_PanelProductLine_ddsProductLine_OnSelectionChanged
{
  #keys: '[415136.0.1252790290]'
  #keys: '[415136.0.1306620673]'
  CanBindMultiple: false
  DefinitionID: 'Responsedef_WebDropDownStringList_OnSelectionChanged'
  QuillAction
_Main/UI/MacroPlannerWebApp/Component_FormOfflinePlanArchive/Response_PanelProduct_780_ddslProduct_OnCreated.def
ÎļþÃû´Ó _Main/UI/MacroPlannerWebApp/Component_FormInventoryPlanArchive/Response_PanelProduct_133_ddslProduct_OnCreated.def ÐÞ¸Ä
@@ -1,8 +1,8 @@
Quintiq file version 2.0
#parent: PanelProduct_133/ddslProduct
Response OnCreated () id:Response_PanelProduct_133_ddslProduct_OnCreated
#parent: PanelProduct_780/ddslProduct
Response OnCreated () id:Response_PanelProduct_780_ddslProduct_OnCreated
{
  #keys: '[415136.0.1277502009]'
  #keys: '[415136.0.1306620701]'
  CanBindMultiple: false
  DefinitionID: 'Responsedef_WebComponent_OnCreated'
  QuillAction
_Main/UI/MacroPlannerWebApp/Component_FormOfflinePlanArchive/Response_PanelProduct_780_ddslProduct_OnSelectionChanged.def
ÎļþÃû´Ó _Main/UI/MacroPlannerWebApp/Component_FormInventoryPlanArchive/Response_PanelProduct_133_ddslProduct_OnSelectionChanged.def ÐÞ¸Ä
@@ -1,8 +1,8 @@
Quintiq file version 2.0
#parent: PanelProduct_133/ddslProduct
Response OnSelectionChanged () id:Response_PanelProduct_133_ddslProduct_OnSelectionChanged
#parent: PanelProduct_780/ddslProduct
Response OnSelectionChanged () id:Response_PanelProduct_780_ddslProduct_OnSelectionChanged
{
  #keys: '[415136.0.1277502008]'
  #keys: '[415136.0.1306620700]'
  CanBindMultiple: false
  DefinitionID: 'Responsedef_WebDropDownStringList_OnSelectionChanged'
  QuillAction
_Main/UI/MacroPlannerWebApp/Component_FormOfflinePlanArchive/Response_PanelTimeUnit_720_RadioButtonGroupUseForTimeUnit_OnChanged.def
ÎļþÃû´Ó _Main/UI/MacroPlannerWebApp/Component_FormInventoryPlanArchive/Response_PanelTimeUnit_805_RadioButtonGroupUseForTimeUnit_OnChanged.def ÐÞ¸Ä
@@ -1,8 +1,8 @@
Quintiq file version 2.0
#parent: PanelTimeUnit_805/RadioButtonGroupUseForTimeUnit
Response OnChanged () id:Response_PanelTimeUnit_805_RadioButtonGroupUseForTimeUnit_OnChanged
#parent: PanelTimeUnit_720/RadioButtonGroupUseForTimeUnit
Response OnChanged () id:Response_PanelTimeUnit_720_RadioButtonGroupUseForTimeUnit_OnChanged
{
  #keys: '[415136.0.1277502005]'
  #keys: '[415136.0.1306620805]'
  CanBindMultiple: false
  DefinitionID: 'Responsedef_WebRadioButtonGroup_OnChanged'
  QuillAction
_Main/UI/MacroPlannerWebApp/Component_FormOfflinePlanArchive/Response_PanelTimeUnit_720_RadioButtonGroupUseForTimeUnit_OnCreated.def
ÎļþÃû´Ó _Main/UI/MacroPlannerWebApp/Component_FormAssemblyOnlinePlanVersion/Response_PanelTimeUnit_234_RadioButtonGroupUseForTimeUnit_OnCreated.def ÐÞ¸Ä
@@ -1,8 +1,8 @@
Quintiq file version 2.0
#parent: PanelTimeUnit_234/RadioButtonGroupUseForTimeUnit
Response OnCreated () id:Response_PanelTimeUnit_234_RadioButtonGroupUseForTimeUnit_OnCreated
#parent: PanelTimeUnit_720/RadioButtonGroupUseForTimeUnit
Response OnCreated () id:Response_PanelTimeUnit_720_RadioButtonGroupUseForTimeUnit_OnCreated
{
  #keys: '[415136.0.1199302055]'
  #keys: '[415136.0.1306620804]'
  CanBindMultiple: false
  DefinitionID: 'Responsedef_WebComponent_OnCreated'
  QuillAction
_Main/UI/MacroPlannerWebApp/Component_FormOfflinePlanArchive/Response_PanelUnit_ddslUnit_OnCreated.def
ÎļþÃû´Ó _Main/UI/MacroPlannerWebApp/Component_FormAssemblyOnlinePlanVersion/Response_PanelUnit_ddslUnit_OnCreated.def ÐÞ¸Ä
@@ -2,7 +2,7 @@
#parent: PanelUnit/ddslUnit
Response OnCreated () id:Response_PanelUnit_ddslUnit_OnCreated
{
  #keys: '[415136.0.1199302062]'
  #keys: '[415136.0.1306620647]'
  CanBindMultiple: false
  DefinitionID: 'Responsedef_WebComponent_OnCreated'
  QuillAction
_Main/UI/MacroPlannerWebApp/Component_FormOfflinePlanArchive/Response_PanelUnit_ddslUnit_OnSelectionChanged.def
ÎļþÃû´Ó _Main/UI/MacroPlannerWebApp/Component_FormInventoryPlanArchive/Response_PanelUnit_ddslUnit_OnSelectionChanged.def ÐÞ¸Ä
@@ -2,7 +2,7 @@
#parent: PanelUnit/ddslUnit
Response OnSelectionChanged () id:Response_PanelUnit_ddslUnit_OnSelectionChanged
{
  #keys: '[415136.0.1277502000]'
  #keys: '[415136.0.1306620646]'
  CanBindMultiple: false
  DefinitionID: 'Responsedef_WebDropDownStringList_OnSelectionChanged'
  QuillAction
_Main/UI/MacroPlannerWebApp/Component_FormOfflinePlanComparison/Component_PanelFilter.def
@@ -5,36 +5,6 @@
  BaseType: 'WebPanel'
  Children:
  [
    Component ddslGeneration
    {
      #keys: '[414996.1.211222325]'
      BaseType: 'WebDropDownStringList'
      Properties:
      [
        Label: 'Generation'
        Taborder: 0
      ]
    }
    Component ddslMQBMLB
    {
      #keys: '[414996.1.211222326]'
      BaseType: 'WebDropDownStringList'
      Properties:
      [
        Label: 'MQB/MLB'
        Taborder: 1
      ]
    }
    Component ddslPower
    {
      #keys: '[414996.1.211222327]'
      BaseType: 'WebDropDownStringList'
      Properties:
      [
        Label: '功率'
        Taborder: 2
      ]
    }
    Component dsStartDate
    {
      #keys: '[414996.1.211222328]'
@@ -42,7 +12,7 @@
      Properties:
      [
        Label: 'Start Date'
        Taborder: 3
        Taborder: 0
      ]
    }
    Component dsEndDate
@@ -53,17 +23,7 @@
      [
        Date: 9999-12-31
        Label: 'End Date'
        Taborder: 5
      ]
    }
    Component ButtonFilter458
    {
      #keys: '[414996.1.211222330]'
      BaseType: 'WebButton'
      Properties:
      [
        Label: '过滤'
        Taborder: 7
        Taborder: 2
      ]
    }
    Component dhStartDate
@@ -73,7 +33,7 @@
      Databinding: 'Date*'
      Properties:
      [
        Taborder: 4
        Taborder: 1
      ]
    }
    Component dhEndDate
@@ -83,17 +43,7 @@
      Databinding: 'Date*'
      Properties:
      [
        Taborder: 6
      ]
    }
    Component ButtonClearFilter
    {
      #keys: '[414996.1.211222333]'
      BaseType: 'WebButton'
      Properties:
      [
        Label: 'Clear'
        Taborder: 8
        Taborder: 3
      ]
    }
  ]
_Main/UI/MacroPlannerWebApp/Component_FormOfflinePlanComparison/Response_PanelFilter_ButtonClearFilter_OnClick.def
ÎļþÒÑɾ³ý
_Main/UI/MacroPlannerWebApp/Component_FormOfflinePlanComparison/Response_PanelFilter_ButtonFilter458_OnClick.def
ÎļþÒÑɾ³ý
_Main/UI/MacroPlannerWebApp/Component_FormOfflinePlanComparison/Response_PanelFilter_ddslGeneration_OnCreated.def
ÎļþÒÑɾ³ý
_Main/UI/MacroPlannerWebApp/Component_FormOfflinePlanComparison/Response_PanelFilter_ddslMQBMLB_OnCreated.def
ÎļþÒÑɾ³ý
_Main/UI/MacroPlannerWebApp/Component_FormOfflinePlanComparison/Response_PanelFilter_ddslPower_OnCreated.def
ÎļþÒÑɾ³ý
_Main/UI/MacroPlannerWebApp/Views/ArchivePackagingPlan.vw
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,289 @@
Quintiq file version 2.0
{
  viewcontents
  {
    forms
    {
      form_FormArchivePackagingPlan
      {
        title: 'QMacroPlanner::FormArchivePackagingPlan'
        shown: true
        componentID: 'QMacroPlanner::FormArchivePackagingPlan'
        layout
        {
          mode: 'open'
          rowPosition: 1
          rowSpan: 25
          columnPosition: 1
          columnSpan: 11
        }
        components
        {
          FormArchivePackagingPlan_PanelArchivePackagingPlan
          {
            sizeRatio: 1
          }
          FormArchivePackagingPlan_PanelArchivePackagingPlan922
          {
            sizeRatio: 1
          }
          FormArchivePackagingPlan_MatrixEditorArchivePackagingPlan
          {
            gridColor: '#c4c4c4'
            totalHeaderWidth: 200
            attributeHeaderWidthRatio: 0.6
            nameHeaderWidthRatio: 0.4
            columnWidth: 100
            horizontalGrid: true
            verticalGrid: true
            backendState
            {
              componentId: 'QMacroPlanner::FormArchivePackagingPlan.MatrixEditorArchivePackagingPlan'
              state
              {
                cells
                {
                  attributes
                  {
                    attribute_CC_PackagingInventory
                    {
                      type: 'MatrixEditorWebApiCellDataModelInterest'
                      index: 0
                      rowsubtotal: ''
                      columnsubtotal: ''
                      attribute: 'CC_PackagingInventory'
                    }
                    attribute_CC_UnpackagedInventory
                    {
                      type: 'MatrixEditorWebApiCellDataModelInterest'
                      index: 1
                      rowsubtotal: ''
                      columnsubtotal: ''
                      attribute: 'CC_UnpackagedInventory'
                    }
                    attribute_EndingInventory
                    {
                      type: 'MatrixEditorWebApiCellDataModelInterest'
                      index: 2
                      rowsubtotal: ''
                      columnsubtotal: ''
                      attribute: 'EndingInventory'
                    }
                    attribute_InitialPackagingInventory
                    {
                      type: 'MatrixEditorWebApiCellDataModelInterest'
                      index: 3
                      rowsubtotal: ''
                      columnsubtotal: ''
                      attribute: 'InitialPackagingInventory'
                    }
                    attribute_NetDemand
                    {
                      type: 'MatrixEditorWebApiCellDataModelInterest'
                      index: 4
                      rowsubtotal: ''
                      columnsubtotal: ''
                      attribute: 'NetDemand'
                    }
                    attribute_NewSupply
                    {
                      type: 'MatrixEditorWebApiCellDataModelInterest'
                      index: 5
                      rowsubtotal: ''
                      columnsubtotal: ''
                      attribute: 'NewSupply'
                    }
                    attribute_Out
                    {
                      type: 'MatrixEditorWebApiCellDataModelInterest'
                      index: 6
                      rowsubtotal: ''
                      columnsubtotal: ''
                      attribute: 'Out'
                    }
                    attribute_Package
                    {
                      type: 'MatrixEditorWebApiCellDataModelInterest'
                      index: 7
                      rowsubtotal: ''
                      columnsubtotal: ''
                      attribute: 'Package'
                    }
                    attribute_PackagingInventory
                    {
                      type: 'MatrixEditorWebApiCellDataModelInterest'
                      index: 8
                      rowsubtotal: ''
                      columnsubtotal: ''
                      attribute: 'PackagingInventory'
                    }
                    attribute_TransferIn
                    {
                      type: 'MatrixEditorWebApiCellDataModelInterest'
                      index: 9
                      rowsubtotal: ''
                      columnsubtotal: ''
                      attribute: 'TransferIn'
                    }
                    attribute_UnpackagedInventory
                    {
                      type: 'MatrixEditorWebApiCellDataModelInterest'
                      index: 10
                      rowsubtotal: ''
                      columnsubtotal: ''
                      attribute: 'UnpackagedInventory'
                    }
                    attribute_Unpacking
                    {
                      type: 'MatrixEditorWebApiCellDataModelInterest'
                      index: 11
                      rowsubtotal: ''
                      columnsubtotal: ''
                      attribute: 'Unpacking'
                    }
                  }
                }
                columns
                {
                  sorting
                  {
                    criteria: "datamember:'StartDate'"
                  }
                }
                rows
                {
                  sorting
                  {
                    criteria: "datamember:'ProductID'"
                  }
                }
              }
            }
          }
        }
      }
      form_FormOptimizerPuzzles
      {
        title: 'Optimizer Puzzles'
        shown: false
        componentID: 'FormOptimizerPuzzles'
        layout
        {
          mode: 'dockright'
          index: 0
        }
        components
        {
          FormOptimizerPuzzles_ListOptimizerPuzzles
          {
          }
          FormOptimizerPuzzles_DataSetLevelOptimizerPuzzles
          {
            groupDepth: -1
            column_All_constraints
            {
              columnId: 'All constraints'
              dataPath: 'All constraints'
              dataType: 'string'
              title: 'All constraints'
              index: 0
              subtotals: ''
              width: 32
            }
            column_Name
            {
              columnId: 'Name'
              dataPath: 'Name'
              dataType: 'string'
              title: 'Name'
              index: 1
              subtotals: ''
              width: 109
            }
            column_Description
            {
              columnId: 'Description'
              dataPath: 'Description'
              dataType: 'string'
              title: 'Description'
              index: 2
              subtotals: ''
              width: 207
            }
          }
        }
      }
      form_FormKPI
      {
        title: 'KPI Dashboard'
        shown: true
        componentID: 'FormKPI'
        layout
        {
          mode: 'dockright'
          index: 1
        }
        components
        {
          FormKPI_PanelKPI
          {
            sizeRatio: 1
            activeChild: 'PanelKPISelection'
          }
          FormKPI_PanelKPIDashboard
          {
            sizeRatio: 1
          }
          FormKPI_PanelKPISelection
          {
            sizeRatio: 1
          }
          FormKPI_ListKPISelection
          {
            QuillViewData
            {
              Food_KPISetting: 'Cost of sales;Fulfillment;Fulfillment target;Inventory holding cost;Labor cost;Margin;Safety stock;Sales;Sourcing cost;Total CO2 emission;Transportation cost;Volume'
            }
          }
          FormKPI_DataSetLevelKPISelection
          {
            groupDepth: -1
            column_All_constraints
            {
              columnId: 'All constraints'
              dataPath: 'All constraints'
              dataType: 'string'
              title: 'All constraints'
              index: 0
              subtotals: ''
              width: 32
            }
            column_Name
            {
              columnId: 'Name'
              dataPath: 'Name'
              dataType: 'string'
              title: 'Name'
              index: 1
              subtotals: ''
              width: 200
            }
          }
        }
      }
    }
    userconfigurableinformation
    {
    }
    index: 0
    image: 'PRODUCT'
    page: ''
    group: ''
    description: ''
  }
  formatversion: 2
  id: 'ArchivePackagingPlan'
  name: 'ArchivePackagingPlan'
  isglobal: false
  isroot: true
}
_Main/UI/MacroPlannerWebApp/Views/ArchiveTransferPlan.vw
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,201 @@
Quintiq file version 2.0
{
  viewcontents
  {
    forms
    {
      form_FormArchiveTransferPlan
      {
        title: 'QMacroPlanner::FormArchiveTransferPlan'
        shown: true
        componentID: 'QMacroPlanner::FormArchiveTransferPlan'
        layout
        {
          mode: 'open'
          rowPosition: 1
          rowSpan: 24
          columnPosition: 1
          columnSpan: 10
        }
        components
        {
          FormArchiveTransferPlan_PanelArchiveTransferPlan
          {
            sizeRatio: 1
          }
          FormArchiveTransferPlan_PanelArchiveTransferPlan515
          {
            sizeRatio: 1
          }
          FormArchiveTransferPlan_MatrixEditorArchiveTransferPlan
          {
            gridColor: '#c4c4c4'
            totalHeaderWidth: 200
            attributeHeaderWidthRatio: 0.6
            nameHeaderWidthRatio: 0.4
            columnWidth: 100
            horizontalGrid: true
            verticalGrid: true
            backendState
            {
              componentId: 'QMacroPlanner::FormArchiveTransferPlan.MatrixEditorArchiveTransferPlan'
              state
              {
                cells
                {
                  attributes
                  {
                    attribute_Value
                    {
                      type: 'MatrixEditorWebApiCellDataModelInterest'
                      index: 0
                      rowsubtotal: ''
                      columnsubtotal: ''
                      attribute: 'Value'
                    }
                  }
                }
                columns
                {
                  sorting
                  {
                    criteria: "datamember:'ColumnDate'"
                  }
                }
                rows
                {
                  sorting
                  {
                    criteria: "datamember:'SourceStockpoingPointID';datamember:'TargetStockpoingPointID';datamember:'ProductID'"
                  }
                }
              }
            }
          }
        }
      }
      form_FormOptimizerPuzzles
      {
        title: 'Optimizer Puzzles'
        shown: false
        componentID: 'FormOptimizerPuzzles'
        layout
        {
          mode: 'dockright'
          index: 0
        }
        components
        {
          FormOptimizerPuzzles_ListOptimizerPuzzles
          {
          }
          FormOptimizerPuzzles_DataSetLevelOptimizerPuzzles
          {
            groupDepth: -1
            column_All_constraints
            {
              columnId: 'All constraints'
              dataPath: 'All constraints'
              dataType: 'string'
              title: 'All constraints'
              index: 0
              subtotals: ''
              width: 32
            }
            column_Name
            {
              columnId: 'Name'
              dataPath: 'Name'
              dataType: 'string'
              title: 'Name'
              index: 1
              subtotals: ''
              width: 109
            }
            column_Description
            {
              columnId: 'Description'
              dataPath: 'Description'
              dataType: 'string'
              title: 'Description'
              index: 2
              subtotals: ''
              width: 207
            }
          }
        }
      }
      form_FormKPI
      {
        title: 'KPI Dashboard'
        shown: true
        componentID: 'FormKPI'
        layout
        {
          mode: 'dockright'
          index: 1
        }
        components
        {
          FormKPI_PanelKPI
          {
            sizeRatio: 1
            activeChild: 'PanelKPISelection'
          }
          FormKPI_PanelKPIDashboard
          {
            sizeRatio: 1
          }
          FormKPI_PanelKPISelection
          {
            sizeRatio: 1
          }
          FormKPI_ListKPISelection
          {
            QuillViewData
            {
              Food_KPISetting: 'Cost of sales;Fulfillment;Fulfillment target;Inventory holding cost;Labor cost;Margin;Safety stock;Sales;Sourcing cost;Total CO2 emission;Transportation cost;Volume'
            }
          }
          FormKPI_DataSetLevelKPISelection
          {
            groupDepth: -1
            column_All_constraints
            {
              columnId: 'All constraints'
              dataPath: 'All constraints'
              dataType: 'string'
              title: 'All constraints'
              index: 0
              subtotals: ''
              width: 32
            }
            column_Name
            {
              columnId: 'Name'
              dataPath: 'Name'
              dataType: 'string'
              title: 'Name'
              index: 1
              subtotals: ''
              width: 200
            }
          }
        }
      }
    }
    userconfigurableinformation
    {
    }
    image: 'TRUCK2_BLUE'
    page: ''
    group: ''
    index: 0
    description: ''
  }
  formatversion: 2
  id: 'ArchiveTransferPlan'
  name: 'ArchiveTransferPlan'
  isglobal: false
  isroot: true
}
_Main/UI/MacroPlannerWebApp/Views/DispatchShiftSchedulingInformation.vw
@@ -13,9 +13,9 @@
        {
          mode: 'open'
          rowPosition: 1
          rowSpan: 6
          columnPosition: 6
          columnSpan: 4
          rowSpan: 26
          columnPosition: 1
          columnSpan: 11
        }
        components
        {
@@ -494,10 +494,10 @@
    userconfigurableinformation
    {
    }
    index: 0
    image: 'SKIN_TIGER'
    page: ''
    group: ''
    index: 0
    description: ''
  }
  formatversion: 2