Kevin Kok Khah Whey
2023-10-12 e7c56c4676e153f0af05083b1f5ab0ed73d4b2c3
Merge branch 'dev' of http://47.101.211.7:10101/r/TIANMA_JITUAN into dev_Kevin
已重命名1个文件
已添加220个文件
已修改82个文件
已删除70个文件
15082 ■■■■ 文件已修改
_Main/BL/EDI/Broker_GlobalOTDTable_AnnualBudgetData.qbl 398 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Relations/Relation_Global_MappingAnnualBudgetData_GlobalOTDTable_GlobalOTDTable_Global.qbl 23 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Relations/Relation_Global_MappingProviderCapacity_GlobalOTDTable_GlobalOTDTable_Global.qbl 23 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Relations/Relation_MappingAnnualBudget_MPSync_MPSync_MappingAnnualBudget.qbl 23 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_CapacityAllocationResults/StaticMethod_IterativeGeneration3.qbl 54 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_CapacityAllocationResults/StaticMethod_Test.qbl 18 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_CapacityAllocationResultsRuleConfiguration/Attribute_PanelMaterialStockingPointID.qbl 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_CapacityAllocationResultsRuleConfiguration/StaticMethod_AutomaticallyGenerateCapacityAllocationResults.qbl 25 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_CapacityAllocationResultsRuleConfiguration/StaticMethod_AutomaticallyGenerateRule.qbl 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_CapacityAllocationResultsRuleConfiguration/StaticMethod_RecursiveGeneration.qbl 38 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_CapacityAllocationResultsRuleConfiguration/StaticMethod_Test.qbl 61 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_CustomerAndForecastOrder/StaticMethod_CreateData.qbl 20 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_CustomerAndForecastOrder/StaticMethod_CreateFillingCapacityOrder.qbl 8 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_CustomerOrder/StaticMethod_DoSync.qbl 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_ERPRequestOfPR/StaticMethod_Create.qbl 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_FillingCapacityOrder/StaticMethod_CreateCustomOrder.qbl 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_Forecast/StaticMethod_DoSync.qbl 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_Forecast/StaticMethod_GetFulfilledBalanceByHalfYear.qbl 21 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_Forecast/StaticMethod_GetFulfilledBalanceByMonth.qbl 22 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_Forecast/StaticMethod_GetFulfilledBalanceBySeason#763.qbl 21 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_Forecast/StaticMethod_GetFulfilledBalanceByYear#0.qbl 20 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_Forecast/StaticMethod_GetFulfilledQuantityByHalfYear.qbl 21 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_Forecast/StaticMethod_GetFulfilledQuantityByMonth.qbl 22 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_Forecast/StaticMethod_GetFulfilledQuantityBySeason.qbl 21 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_Forecast/StaticMethod_GetFulfilledQuantityByYear.qbl 20 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_GlobalDTOTable/Method_CapacityAndSaleBudgeChart#156.qbl 123 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_GlobalDTOTable/Method_CapacityAndSaleBudgeChart.qbl 264 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_GlobalDTOTable/Method_CapacityAndSaleBudgeCompare.qbl 30 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_GlobalDTOTable/Method_InitTestData#12.qbl 39 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_GlobalDTOTable/Method_InitTestData.qbl 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_GlobalDTOTable/Method_RefreshCapacityAndSaleBudgeFilter.qbl 26 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_GlobalDTOTable/Method_SynchronizationAllMappingBrokerAndAPIByOption.qbl 10 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_GlobalDTOTable/Method_SynchronizeDataToMacroPlan#127.qbl 122 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_GlobalDTOTable/StaticMethod_SynchronizationAllMappingBrokerAndAPI.qbl 10 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_Global_MappingActualProductInStockingPointInPeriod/StaticMethod_SynchronizeMacroPlanData.qbl 34 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_Global_MappingAnnualBudgetData/Attribute_BusinessSort.qbl 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_Global_MappingAnnualBudgetData/Attribute_BusinessType.qbl 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_Global_MappingAnnualBudgetData/Attribute_CapacityEquivalent.qbl 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_Global_MappingAnnualBudgetData/Attribute_CutsNumber.qbl 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_Global_MappingAnnualBudgetData/Attribute_DisplayTechSort.qbl 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_Global_MappingAnnualBudgetData/Attribute_ID.qbl 9 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_Global_MappingAnnualBudgetData/Attribute_MaskNumber.qbl 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_Global_MappingAnnualBudgetData/Attribute_MonthlyModCapacity1.qbl 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_Global_MappingAnnualBudgetData/Attribute_MonthlyModCapacity10.qbl 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_Global_MappingAnnualBudgetData/Attribute_MonthlyModCapacity11.qbl 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_Global_MappingAnnualBudgetData/Attribute_MonthlyModCapacity12.qbl 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_Global_MappingAnnualBudgetData/Attribute_MonthlyModCapacity2.qbl 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_Global_MappingAnnualBudgetData/Attribute_MonthlyModCapacity3.qbl 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_Global_MappingAnnualBudgetData/Attribute_MonthlyModCapacity4.qbl 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_Global_MappingAnnualBudgetData/Attribute_MonthlyModCapacity5.qbl 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_Global_MappingAnnualBudgetData/Attribute_MonthlyModCapacity6.qbl 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_Global_MappingAnnualBudgetData/Attribute_MonthlyModCapacity7.qbl 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_Global_MappingAnnualBudgetData/Attribute_MonthlyModCapacity8.qbl 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_Global_MappingAnnualBudgetData/Attribute_MonthlyModCapacity9.qbl 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_Global_MappingAnnualBudgetData/Attribute_MonthlySales1.qbl 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_Global_MappingAnnualBudgetData/Attribute_MonthlySales10.qbl 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_Global_MappingAnnualBudgetData/Attribute_MonthlySales11.qbl 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_Global_MappingAnnualBudgetData/Attribute_MonthlySales12.qbl 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_Global_MappingAnnualBudgetData/Attribute_MonthlySales2.qbl 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_Global_MappingAnnualBudgetData/Attribute_MonthlySales3.qbl 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_Global_MappingAnnualBudgetData/Attribute_MonthlySales4.qbl 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_Global_MappingAnnualBudgetData/Attribute_MonthlySales5.qbl 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_Global_MappingAnnualBudgetData/Attribute_MonthlySales6.qbl 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_Global_MappingAnnualBudgetData/Attribute_MonthlySales7.qbl 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_Global_MappingAnnualBudgetData/Attribute_MonthlySales8.qbl 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_Global_MappingAnnualBudgetData/Attribute_MonthlySales9.qbl 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_Global_MappingAnnualBudgetData/Attribute_MonthlySheetCapacity1.qbl 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_Global_MappingAnnualBudgetData/Attribute_MonthlySheetCapacity10.qbl 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_Global_MappingAnnualBudgetData/Attribute_MonthlySheetCapacity11.qbl 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_Global_MappingAnnualBudgetData/Attribute_MonthlySheetCapacity12.qbl 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_Global_MappingAnnualBudgetData/Attribute_MonthlySheetCapacity2.qbl 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_Global_MappingAnnualBudgetData/Attribute_MonthlySheetCapacity3.qbl 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_Global_MappingAnnualBudgetData/Attribute_MonthlySheetCapacity4.qbl 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_Global_MappingAnnualBudgetData/Attribute_MonthlySheetCapacity5.qbl 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_Global_MappingAnnualBudgetData/Attribute_MonthlySheetCapacity6.qbl 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_Global_MappingAnnualBudgetData/Attribute_MonthlySheetCapacity7.qbl 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_Global_MappingAnnualBudgetData/Attribute_MonthlySheetCapacity8.qbl 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_Global_MappingAnnualBudgetData/Attribute_MonthlySheetCapacity9.qbl 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_Global_MappingAnnualBudgetData/Attribute_OrgCodeFromBom.qbl 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_Global_MappingAnnualBudgetData/Attribute_OrganCode.qbl 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_Global_MappingAnnualBudgetData/Attribute_OrganName.qbl 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_Global_MappingAnnualBudgetData/Attribute_PlantName.qbl 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_Global_MappingAnnualBudgetData/Attribute_ProductID.qbl 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_Global_MappingAnnualBudgetData/Attribute_ProductLineAndSpecification.qbl 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_Global_MappingAnnualBudgetData/Attribute_ResolutionRatio.qbl 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_Global_MappingAnnualBudgetData/Attribute_ShippingForm.qbl 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_Global_MappingAnnualBudgetData/Attribute_YearNo.qbl 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_Global_MappingAnnualBudgetData/Method_GetCapacityInPCSInYear.qbl 15 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_Global_MappingAnnualBudgetData/Method_GetCapacityInSheetInHalfYear.qbl 19 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_Global_MappingAnnualBudgetData/Method_GetCapacityInSheetInSeason.qbl 19 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_Global_MappingAnnualBudgetData/Method_GetCapacityInSheetInYear.qbl 15 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_Global_MappingAnnualBudgetData/Method_GetSaleAmountInHalfYear.qbl 19 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_Global_MappingAnnualBudgetData/Method_GetSaleAmountInSeason#000.qbl 19 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_Global_MappingAnnualBudgetData/Method_GetSaleAmountInYear.qbl 15 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_Global_MappingAnnualBudgetData/StaticMethod_Export#666.qbl 507 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_Global_MappingAnnualBudgetData/StaticMethod_Export.qbl 13 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_Global_MappingAnnualBudgetData/StaticMethod_GetSaleByHalfYear.qbl 21 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_Global_MappingAnnualBudgetData/StaticMethod_GetSaleByMonth.qbl 22 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_Global_MappingAnnualBudgetData/StaticMethod_GetSaleBySeason.qbl 21 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_Global_MappingAnnualBudgetData/StaticMethod_GetSaleByYear.qbl 20 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_Global_MappingAnnualBudgetData/StaticMethod_GetSheetByHalfYear.qbl 21 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_Global_MappingAnnualBudgetData/StaticMethod_GetSheetByMonth.qbl 22 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_Global_MappingAnnualBudgetData/StaticMethod_GetSheetBySeason.qbl 21 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_Global_MappingAnnualBudgetData/StaticMethod_GetSheetByYear.qbl 20 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_Global_MappingAnnualBudgetData/StaticMethod_SetOrgCodeFromForecast.qbl 24 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_Global_MappingAnnualBudgetData/TypeIndex_Global_MappingAnnualBudgetDataTypeIndex.qbl 12 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_Global_MappingAnnualBudgetData/_ROOT_Type_Global_MappingAnnualBudgetData.qbl 10 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_Global_MappingConversionFactor/StaticMethod_SynchronizeMacroPlanData.qbl 31 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_Global_MappingCurrencyRate_MP/StaticMethod_OnException.qbl 9 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_Global_MappingCurrency_MP/StaticMethod_OnException.qbl 9 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_Global_MappingForecast/StaticMethod_GetBalanceByHalfYear.qbl 24 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_Global_MappingForecast/StaticMethod_GetBalanceByMonth.qbl 21 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_Global_MappingForecast/StaticMethod_GetBalanceBySeason.qbl 24 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_Global_MappingForecast/StaticMethod_GetBalanceByYear.qbl 20 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_Global_MappingForecast/StaticMethod_GetQuantityByHalfYear.qbl 24 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_Global_MappingForecast/StaticMethod_GetQuantityByMonth.qbl 20 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_Global_MappingForecast/StaticMethod_GetQuantityBySeason.qbl 24 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_Global_MappingForecast/StaticMethod_GetQuantityByYear.qbl 20 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_Global_MappingForecast/StaticMethod_SynchronizeMacroPlanData.qbl 33 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_Global_MappingInventorySupply/StaticMethod_SynchronizeMacroPlanData.qbl 34 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_Global_MappingLane/StaticMethod_OnException.qbl 9 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_Global_MappingLaneLeg/StaticMethod_OnException.qbl 9 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_Global_MappingOperation/Attribute_DestinationOrganizationId.qbl 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_Global_MappingOperation/Attribute_OrganId.qbl 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_Global_MappingOperation/StaticMethod_GetByProductId.qbl 13 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_Global_MappingOperation/StaticMethod_SynchronizeMacroPlanData.qbl 33 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_Global_MappingOperationBOM/StaticMethod_CreateTestData.qbl 27 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_Global_MappingOperationBOM/StaticMethod_SynchronizeMacroPlanData.qbl 35 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_Global_MappingProductInLane/StaticMethod_SynchronizeMacroPlanData.qbl 31 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_Global_MappingProduct_MP/StaticMethod_GetByProductId.qbl 15 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_Global_MappingProduct_MP/StaticMethod_SynchronizeMacroPlanData.qbl 33 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_Global_MappingProviderCapacity/Attribute_ActualCapacity.qbl 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_Global_MappingProviderCapacity/Attribute_IsPartRecognition.qbl 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_Global_MappingProviderCapacity/Attribute_IsSecondSource.qbl 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_Global_MappingProviderCapacity/Attribute_IsSpecialDisplay.qbl 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_Global_MappingProviderCapacity/Attribute_LeadTime.qbl 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_Global_MappingProviderCapacity/Attribute_LotSize.qbl 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_Global_MappingProviderCapacity/Attribute_MinimumQuantity.qbl 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_Global_MappingProviderCapacity/Attribute_ProductID.qbl 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_Global_MappingProviderCapacity/Attribute_ProductName.qbl 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_Global_MappingProviderCapacity/Attribute_ProviderName.qbl 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_Global_MappingProviderCapacity/Attribute_Rate.qbl 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_Global_MappingProviderCapacity/Attribute_StockingPointID.qbl 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_Global_MappingProviderCapacity/Attribute_UnitOfMeasureName.qbl 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_Global_MappingProviderCapacity/StaticMethod_GetByProductId.qbl 13 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_Global_MappingProviderCapacity/_ROOT_Type_Global_MappingProviderCapacity.qbl 10 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_Global_MappingSalesSegment_MP/StaticMethod_SynchronizeMacroPlanData.qbl 32 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_Global_MappingStockingPointCost/StaticMethod_SynchronizeMacroPlanData.qbl 31 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_Global_MappingStockingPoint_MP/StaticMethod_OnException.qbl 9 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_Global_MappingUnitCost/StaticMethod_SynchronizeMacroPlanData.qbl 33 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_Global_ShowCell/StaticMethod_CreateShowData_Forecast.qbl 23 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_Global_ShowCell/StaticMethod_GenerateDataThroughReflection.qbl 30 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_Global_ShowCell/StaticMethod_ShowData.qbl 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_MPSync/Method_RefreshCapacityAndSaleBudgeFilter.qbl 22 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_MPSync/Method_RefreshCapacityAndSaleBudgeFilter0.qbl 16 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_MPSync/StaticMethod_TestData.qbl 27 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_MacroPlan/Attribute_BusinessType.qbl 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_MacroPlan/Attribute_CreatePurchaseSupplyMaterial.qbl 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_MacroPlan/Attribute_IsKeyProduct.qbl 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_MacroPlan/DefaultValue_BusinessType.qbl 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_MacroPlan/Method_MappingActualPISPIPData.qbl 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_MacroPlan/Method_MappingCustomerOrderData.qbl 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_MacroPlan/Method_MappingExternalSupplyData.qbl 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_MacroPlan/Method_MappingForecastData.qbl 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_MacroPlan/Method_MappingOperationBOMData.qbl 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_MacroPlan/Method_MappingOperationCostData.qbl 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_MacroPlan/Method_MappingOperationData.qbl 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_MacroPlan/Method_MappingUnitData.qbl 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_MacroPlan/StaticMethod_DoSync0.qbl 31 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_MappingAnnualBudget/Attribute_BusinessType.qbl 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_MappingAnnualBudget/Attribute_MonthlyModCapacity1.qbl 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_MappingAnnualBudget/Attribute_MonthlyModCapacity10.qbl 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_MappingAnnualBudget/Attribute_MonthlyModCapacity11.qbl 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_MappingAnnualBudget/Attribute_MonthlyModCapacity12.qbl 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_MappingAnnualBudget/Attribute_MonthlyModCapacity2.qbl 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_MappingAnnualBudget/Attribute_MonthlyModCapacity3.qbl 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_MappingAnnualBudget/Attribute_MonthlyModCapacity4.qbl 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_MappingAnnualBudget/Attribute_MonthlyModCapacity5.qbl 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_MappingAnnualBudget/Attribute_MonthlyModCapacity6.qbl 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_MappingAnnualBudget/Attribute_MonthlyModCapacity7.qbl 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_MappingAnnualBudget/Attribute_MonthlyModCapacity8.qbl 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_MappingAnnualBudget/Attribute_MonthlyModCapacity9.qbl 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_MappingAnnualBudget/Attribute_MonthlySales1.qbl 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_MappingAnnualBudget/Attribute_MonthlySales10.qbl 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_MappingAnnualBudget/Attribute_MonthlySales11.qbl 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_MappingAnnualBudget/Attribute_MonthlySales12.qbl 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_MappingAnnualBudget/Attribute_MonthlySales2.qbl 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_MappingAnnualBudget/Attribute_MonthlySales3.qbl 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_MappingAnnualBudget/Attribute_MonthlySales4.qbl 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_MappingAnnualBudget/Attribute_MonthlySales5.qbl 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_MappingAnnualBudget/Attribute_MonthlySales6.qbl 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_MappingAnnualBudget/Attribute_MonthlySales7.qbl 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_MappingAnnualBudget/Attribute_MonthlySales8.qbl 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_MappingAnnualBudget/Attribute_MonthlySales9.qbl 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_MappingAnnualBudget/Attribute_MonthlySheetCapacity1.qbl 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_MappingAnnualBudget/Attribute_MonthlySheetCapacity10.qbl 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_MappingAnnualBudget/Attribute_MonthlySheetCapacity11.qbl 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_MappingAnnualBudget/Attribute_MonthlySheetCapacity12.qbl 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_MappingAnnualBudget/Attribute_MonthlySheetCapacity2.qbl 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_MappingAnnualBudget/Attribute_MonthlySheetCapacity3.qbl 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_MappingAnnualBudget/Attribute_MonthlySheetCapacity4.qbl 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_MappingAnnualBudget/Attribute_MonthlySheetCapacity5.qbl 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_MappingAnnualBudget/Attribute_MonthlySheetCapacity6.qbl 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_MappingAnnualBudget/Attribute_MonthlySheetCapacity7.qbl 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_MappingAnnualBudget/Attribute_MonthlySheetCapacity8.qbl 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_MappingAnnualBudget/Attribute_MonthlySheetCapacity9.qbl 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_MappingAnnualBudget/Attribute_ProductId.qbl 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_MappingAnnualBudget/Attribute_yearNo.qbl 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_MappingAnnualBudget/Method_GetCapacityInPCSInYear.qbl 15 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_MappingAnnualBudget/Method_GetCapacityInSheetInHalfYear.qbl 19 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_MappingAnnualBudget/Method_GetCapacityInSheetInSeason.qbl 19 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_MappingAnnualBudget/Method_GetCapacityInSheetInYear.qbl 15 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_MappingAnnualBudget/Method_GetSaleAmountInYear.qbl 15 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_MappingAnnualBudget/StaticMethod_GetSaleByMonth.qbl 22 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_MappingAnnualBudget/StaticMethod_GetSaleByYear.qbl 20 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_MappingAnnualBudget/StaticMethod_GetSheetByHalfYear.qbl 21 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_MappingAnnualBudget/StaticMethod_GetSheetByMonth.qbl 22 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_MappingAnnualBudget/StaticMethod_GetSheetBySeason.qbl 21 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_MappingAnnualBudget/StaticMethod_GetSheetByYear.qbl 20 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_MappingAnnualBudget/_ROOT_Type_MappingAnnualBudget.qbl 10 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_MasterPlanReleaseWorkOrder/StaticMethod_GenerateAndDistributeWorkOrders.qbl 16 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_MasterPlanReleaseWorkOrder/StaticMethod_GenerateAndDistributeWorkOrders1.qbl 41 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_MasterPlanReleaseWorkOrder/StaticMethod_ObtainOrganizationCode.qbl 19 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_MasterPlanReleaseWorkOrderTabulation/Attribute_OrganizationInfomation.qbl 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_PRData/Attribute_CreateBy.qbl 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_PRData/Attribute_CreateTime.qbl 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_PRData/Attribute_CreateTimeString.qbl 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_PRData/Attribute_DeliveryDate.qbl 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_PRData/Attribute_LineAttribute3.qbl 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_PRData/Attribute_OrganName.qbl 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_PRData/Attribute_PRReleaseStatus.qbl 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_PRData/Attribute_PlannerCode.qbl 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_PRData/Attribute_ProduceRequiredDate.qbl 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_PRData/Attribute_SendBy.qbl 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_PRData/Attribute_SendStatus.qbl 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_PRData/Attribute_SendTIme.qbl 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_PRData/Attribute_SendTimeString.qbl 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_PRData/Function_CalcSendTimeString.qbl 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_PRData/Method_DoCall.qbl 12 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_PRData/Method_PrintCall.qbl 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_PRData/StaticMethod_CanCall.qbl 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_PRData/StaticMethod_DoCall.qbl 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_PRData/StaticMethod_ExportTheFileStream.qbl 8 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_PRData/StaticMethod_FromSupplyPlanning#662.qbl 86 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_PRData/StaticMethod_FromSupplyPlanning.qbl 12 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_PRData/StaticMethod_ProductIdOver14Days.qbl 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_PRData/StaticMethod_TestData.qbl 36 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_PRHistoryData/Attribute_DeliveryDate#168.qbl 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_PRHistoryData/Attribute_PreparerID.qbl 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_PRHistoryData/Attribute_PreparerId#603.qbl 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_PRHistoryData/Attribute_ProduceRequiredDate#168.qbl 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_PRHistoryData/StaticMethod_ExportTheFileStream.qbl 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_PRHistoryData/StaticMethod_ProductIdOver14Days.qbl 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_ProductInStockingPointInPeriod/StaticMethod_GetByMRPCalverNo.qbl 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlanner/Component_ApplicationLibMacroPlanner/Response_TIANMA_JITUAN_mbMainMenu_MenuDoSync_OnClick.def 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlanner/Component_FormTestButtonCollection/Response_Button398_OnClick.def 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlanner/Component_FormTestButtonCollection/Response_Button884_OnClick.def 12 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlanner/Component_FormTestButtonCollection/_ROOT_Component_FormTestButtonCollection.def 23 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_ApplicationMacroPlanner/Component_ActionBarGroupInventoryViews#981.def 18 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_ApplicationMacroPlanner/Component_ActionBarGroupPlanViews.def 18 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_ApplicationMacroPlanner/Component_ActionBarGroupSalesViews#633.def 15 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_ApplicationMacroPlanner/Component_ActionBarPageInventory.def 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_ApplicationMacroPlanner/Component_ActionBarPagePlan.def 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_ApplicationMacroPlanner/Component_ContextMenuSalesFillingCapacity.def 49 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_ApplicationMacroPlanner/Component_abgTest.def 10 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_ApplicationMacroPlanner/Component_cmTestAttempt.def 78 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_ApplicationMacroPlanner/Response_TIANMA_JITUAN_ActionBarGroupInventoryViews_ButtonMaterialLabelingPl.def 16 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_ApplicationMacroPlanner/Response_TIANMA_JITUAN_ActionBarGroupPlanViews_ButtonOrderLockAndUnlock_OnCl.def 16 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_ApplicationMacroPlanner/Response_TIANMA_JITUAN_ActionBarGroupSalesViews_ButtonOffsetting_OnClick.def 16 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_ApplicationMacroPlanner/Response_TIANMA_JITUAN_ActionBarGroupSalesViews_ButtonSalesFillingCapacity_O.def 16 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_ApplicationMacroPlanner/Response_TIANMA_JITUAN_ContextMenuSalesFillingCapacity_MenuSalesFillingCapac.def 18 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_ApplicationMacroPlanner/Response_TIANMA_JITUAN_ContextMenuSalesFillingCapacity_MenuSalesFillingS#360.def 17 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_ApplicationMacroPlanner/Response_TIANMA_JITUAN_ContextMenuSalesFillingCapacity_MenuSalesFillingSchem.def 17 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_ApplicationMacroPlanner/Response_TIANMA_JITUAN_abgTest_btnTest_OnClick.def 16 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_ApplicationMacroPlanner/Response_TIANMA_JITUAN_cmTestAttempt_mnAnnualProductionAndSalesReview_OnClic.def 16 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_ApplicationMacroPlanner/Response_TIANMA_JITUAN_cmTestAttempt_mnCapacityAllocationAndProductionFillin.def 16 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_ApplicationMacroPlanner/Response_TIANMA_JITUAN_cmTestAttempt_mnDockingERPForPRRelease_OnClick.def 16 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_ApplicationMacroPlanner/Response_TIANMA_JITUAN_cmTestAttempt_mnPanelPullingMaterialGroupOperations_O.def 16 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_ApplicationMacroPlanner/Response_TIANMA_JITUAN_cmTestAttempt_mnPanelPullingMaterialOperationsOfEachB.def 16 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_ApplicationMacroPlanner/_ROOT_Component_ApplicationMacroPlanner.def 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_DialogCreateEditScenario/Method_OnOk.def 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_DialogFillingCapacityOrder/Component_pnlContent.def 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_DialogFillingCapacityOrder/Response_pnlActions_btnOk_OnClick.def 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_Form633/Component_ListPRData#844.def 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_Form633/Response_PanelPRDataButton_ButtonExportPR_OnClick.def 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_Form633/Response_PanelPRDataButton_ButtonLoad_OnClick.def 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_FormCapacityAllocationResultsRuleConfiguration/Component_PanelImportAndExport.def 12 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_FormCapacityAllocationResultsRuleConfiguration/Component_listContextMenuCapacityAllocationResultsRuleConfiguration.def 21 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_FormCapacityAllocationResultsRuleConfiguration/Response_PanelImportAndExport_AutomaticallyGenerate_OnClick.def 16 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_FormCapacityAllocationResultsRuleConfiguration/Response_listContextMenuCapacityAllocationResultsRuleConfiguration_MenuAutoC.def 20 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_FormCapacityAndSaleBudge/Component_ListCapacityAndSaleBudge.def 12 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_FormCapacityAndSaleBudge/Response_ButtonExportDetail_OnClick.def 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_FormCapacityAndSaleBudge/Response_OnCreated.def 4 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_FormCapacityAndSaleBudgeChart/Response_ButtonCapacityAndSaleBudgeChartTest_OnClick.def 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_FormCapacityAndSaleBudgeCompare/Response_ButtonCapacityAndSaleBudgeCompare_OnClick.def 4 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_FormCapacityAndSaleBudgeFilterBusinessType/Response_listContextMenuCapacityAndSaleBudgeFilterYear_1_MenuRefresh_OnClick.def 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_FormCapacityAndSaleBudgeFilterPlaceOfProductionOfArray/Response_listContextMenuCapacityAndSaleBudgeFilterYear_1_MenuRefresh_OnC#663.def 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_FormFillingCapacityScheme/Response_PanelButton_ButtonTransform_OnClick.def 9 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_FormInterfaceTest/Component_PanelInterfaceOption1.def 14 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_FormInterfaceTest/Component_PanelInterfaceOption2#456.def 65 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_FormInterfaceTest/Component_PanelInterfaceOption2.def 65 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_FormInterfaceTest/Component_PanelInterfaceOption3.def 12 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_FormInterfaceTest/Component_PanelInterfaceOption4.def 14 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_FormInterfaceTest/Response_ListInterfaceTest_MenuCreateShowData_OnClick.def 24 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_FormInterfaceTest/Response_PanelInterfaceTest_ButtonPullInterfaceDataToIntermediateTable_OnCli.def 8 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_FormInterfaceTest/Response_PanelInterfaceTest_ButtonSynchronizeDataToMacroPlan_OnClick.def 20 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_FormInterfaceTest/_ROOT_Component_FormInterfaceTest.def 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_FormIssueWorkOrder/Component_ListIssueWorkOrder.def 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_FormIssueWorkOrder/Response_PanelButton_ButtonGeneratePlannedData_OnClick#124.def 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_FormIssueWorkOrder/_ROOT_Component_FormIssueWorkOrder.def 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_FormMaterialLabelingAndPlanningStrategy/Component_listContextMenuMaterial455#1.def 16 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_FormMaterialLabelingAndPlanningStrategy/Response_ListMaterialMaterialLabelingAndPlanningStrategy_880_MenuEdit_OnClic.def 20 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_FormMaterialLabelingAndPlanningStrategy/Response_ListMaterialMaterialLabelingAndPlanningStrategy_880_OnDoubleClick.def 19 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_FormOrderLock/Response_PanelOrderLockHeader_545_ButtonOrderLockHeaderFresh_OnClick.def 3 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_FormOrderLock/Response_PanelOrderLockHeader_545_ButtonOrderLockHeaderLock_OnClick.def 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_FormOrderLock/Response_PanelOrderLockHeader_545_ButtonOrderLockHeaderUnlock_OnClick.def 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_FormPRHistoryData/Component_ListPRHistoryData#844.def 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_FormPanelMaterialSpecializedDisplay/_ROOT_Component_FormPanelMaterialSpecializedDisplay.def 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_FormProducts/Component_ListProduct#844.def 14 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_FormProducts/Component_PanelList.def 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_FormProducts/Component_listContextMenuProduct#1.def 28 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_FormProducts/Response_TIANMA_JITUAN_ListProduct_844_MenuMarkingPanelMaterial_OnClick.def 19 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_FormProducts/_ROOT_Component_FormProducts.def 10 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_FormShowInterfaceData/Component_ListConversionFactor.def 41 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_FormShowInterfaceData/Component_ListCustomOrder.def 41 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_FormShowInterfaceData/Component_ListForecast.def 41 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_FormShowInterfaceData/Component_ListInterfaceDataDisplayContent.def 41 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_FormShowInterfaceData/Component_ListOperation.def 41 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_FormShowInterfaceData/Component_ListOperationBOM.def 41 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_FormShowInterfaceData/Component_ListProduct_MP.def 41 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_FormShowInterfaceData/Component_ListUnitOfMeasure_MP.def 41 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_FormShowInterfaceData/Component_MatrixEditorShowInterfaceData.def 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_FormShowInterfaceData/Component_PanelConversionFactor.def 15 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_FormShowInterfaceData/Component_PanelCustomOrder#682.def 15 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_FormShowInterfaceData/Component_PanelForecast.def 15 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_FormShowInterfaceData/Component_PanelInterfaceDataDisplayContent.def 22 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_FormShowInterfaceData/Component_PanelOperation.def 15 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_FormShowInterfaceData/Component_PanelOperationBOM.def 15 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_FormShowInterfaceData/Component_PanelProduct_MP.def 15 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_FormShowInterfaceData/Component_PanelSalesSegment_MP#154.def 15 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_FormShowInterfaceData/Component_PanelUnitOfMeasure_MP.def 15 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_FormShowInterfaceData/Component_listActionBarPageConversionFactor.def 10 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_FormShowInterfaceData/Component_listActionBarPageCustomOrder.def 10 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_FormShowInterfaceData/Component_listActionBarPageForecast.def 10 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_FormShowInterfaceData/Component_listActionBarPageInterfaceDataDisplayContent.def 10 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_FormShowInterfaceData/Component_listActionBarPageOperation.def 10 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_FormShowInterfaceData/Component_listActionBarPageOperationBOM.def 10 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_FormShowInterfaceData/Component_listActionBarPageProduct_MP.def 10 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_FormShowInterfaceData/Component_listActionBarPageUnitOfMeasure_MP.def 10 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_FormShowInterfaceData/Component_listContextMenuConversionFactor.def 10 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_FormShowInterfaceData/Component_listContextMenuCustomOrder.def 10 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_FormShowInterfaceData/Component_listContextMenuForecast.def 10 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_FormShowInterfaceData/Component_listContextMenuInterfaceDataDisplayContent.def 10 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_FormShowInterfaceData/Component_listContextMenuOperation.def 10 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_FormShowInterfaceData/Component_listContextMenuOperationBOM.def 10 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_FormShowInterfaceData/Component_listContextMenuProduct_MP.def 10 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_FormShowInterfaceData/Component_listContextMenuUnitOfMeasure_MP.def 10 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_FormShowInterfaceData/_ROOT_Component_FormShowInterfaceData.def 3 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Views/Capacity___sale_budge.vw 16 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Views/Test.vw 283 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Views/冲减.vw 900 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Views/填产.vw 607 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Views/对接ERP进行PR释放.vw 177 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Views/年度产销复盘.vw 777 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Views/接口测试.vw 979 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Views/物料标签_计划策略.vw 262 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Views/订单锁定_解锁.vw 414 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Views/面板拉料_各事业部操作.vw 94 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Views/面板拉料_集团操作.vw 1471 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_var/_Main/ModelSettings/Common/Dev-21/_ROOT_Role_Dev-21.properties 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
_var/_Main/ProjSettings/MacroPlanner/Views/X_分析视图_[414702.1.50321581].vw 2370 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_var/_Main/ProjSettings/MacroPlannerWebApp/Views/Capacity___sale_budge.vw 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
_var/_Main/ProjSettings/MacroPlannerWebApp/Views/PR_DATA.vw 428 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/EDI/Broker_GlobalOTDTable_AnnualBudgetData.qbl
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,398 @@
Quintiq file version 2.0
#parent: #root
EDIBroker GlobalOTDTable_AnnualBudgetData
{
  MDSDefinition: GlobalOTDTable
  TimeZone: 'ACT'
  UseOSTimeZone: false
  EDIModelLink.Destination DES_AnnualBudgetData
  {
    EDIMLTable Global_MappingAnnualBudgetData
    {
      PrimaryKeyColumns: ID
      TargetType: Global_MappingAnnualBudgetData
      TypeIndex: Global_MappingAnnualBudgetDataTypeIndex
      EDIMLColumn BusinessSort { Attribute: BusinessSort ValueType: String }
      EDIMLColumn BusinessType { Attribute: BusinessType ValueType: String }
      EDIMLColumn CapacityEquivalent { Attribute: CapacityEquivalent ValueType: String }
      EDIMLColumn CutsNumber { Attribute: CutsNumber ValueType: String }
      EDIMLColumn DisplayTechSort { Attribute: DisplayTechSort ValueType: String }
      EDIMLColumn ID { Attribute: ID ValueType: String }
      EDIMLColumn MaskNumber { Attribute: MaskNumber ValueType: String }
      EDIMLColumn MonthlyModCapacity1 { Attribute: MonthlyModCapacity1 ValueType: String }
      EDIMLColumn MonthlyModCapacity10 { Attribute: MonthlyModCapacity10 ValueType: String }
      EDIMLColumn MonthlyModCapacity11 { Attribute: MonthlyModCapacity11 ValueType: String }
      EDIMLColumn MonthlyModCapacity12 { Attribute: MonthlyModCapacity12 ValueType: String }
      EDIMLColumn MonthlyModCapacity2 { Attribute: MonthlyModCapacity2 ValueType: String }
      EDIMLColumn MonthlyModCapacity3 { Attribute: MonthlyModCapacity3 ValueType: String }
      EDIMLColumn MonthlyModCapacity4 { Attribute: MonthlyModCapacity4 ValueType: String }
      EDIMLColumn MonthlyModCapacity5 { Attribute: MonthlyModCapacity5 ValueType: String }
      EDIMLColumn MonthlyModCapacity6 { Attribute: MonthlyModCapacity6 ValueType: String }
      EDIMLColumn MonthlyModCapacity7 { Attribute: MonthlyModCapacity7 ValueType: String }
      EDIMLColumn MonthlyModCapacity8 { Attribute: MonthlyModCapacity8 ValueType: String }
      EDIMLColumn MonthlyModCapacity9 { Attribute: MonthlyModCapacity9 ValueType: String }
      EDIMLColumn MonthlySales1 { Attribute: MonthlySales1 ValueType: String }
      EDIMLColumn MonthlySales10 { Attribute: MonthlySales10 ValueType: String }
      EDIMLColumn MonthlySales11 { Attribute: MonthlySales11 ValueType: String }
      EDIMLColumn MonthlySales12 { Attribute: MonthlySales12 ValueType: String }
      EDIMLColumn MonthlySales2 { Attribute: MonthlySales2 ValueType: String }
      EDIMLColumn MonthlySales3 { Attribute: MonthlySales3 ValueType: String }
      EDIMLColumn MonthlySales4 { Attribute: MonthlySales4 ValueType: String }
      EDIMLColumn MonthlySales5 { Attribute: MonthlySales5 ValueType: String }
      EDIMLColumn MonthlySales6 { Attribute: MonthlySales6 ValueType: String }
      EDIMLColumn MonthlySales7 { Attribute: MonthlySales7 ValueType: String }
      EDIMLColumn MonthlySales8 { Attribute: MonthlySales8 ValueType: String }
      EDIMLColumn MonthlySales9 { Attribute: MonthlySales9 ValueType: String }
      EDIMLColumn MonthlySheetCapacity1 { Attribute: MonthlySheetCapacity1 ValueType: String }
      EDIMLColumn MonthlySheetCapacity10 { Attribute: MonthlySheetCapacity10 ValueType: String }
      EDIMLColumn MonthlySheetCapacity11 { Attribute: MonthlySheetCapacity11 ValueType: String }
      EDIMLColumn MonthlySheetCapacity12 { Attribute: MonthlySheetCapacity12 ValueType: String }
      EDIMLColumn MonthlySheetCapacity2 { Attribute: MonthlySheetCapacity2 ValueType: String }
      EDIMLColumn MonthlySheetCapacity3 { Attribute: MonthlySheetCapacity3 ValueType: String }
      EDIMLColumn MonthlySheetCapacity4 { Attribute: MonthlySheetCapacity4 ValueType: String }
      EDIMLColumn MonthlySheetCapacity5 { Attribute: MonthlySheetCapacity5 ValueType: String }
      EDIMLColumn MonthlySheetCapacity6 { Attribute: MonthlySheetCapacity6 ValueType: String }
      EDIMLColumn MonthlySheetCapacity7 { Attribute: MonthlySheetCapacity7 ValueType: String }
      EDIMLColumn MonthlySheetCapacity8 { Attribute: MonthlySheetCapacity8 ValueType: String }
      EDIMLColumn MonthlySheetCapacity9 { Attribute: MonthlySheetCapacity9 ValueType: String }
      EDIMLColumn OrgCodeFromBom { Attribute: OrgCodeFromBom ValueType: String }
      EDIMLColumn OrganCode { Attribute: OrganCode ValueType: String }
      EDIMLColumn OrganName { Attribute: OrganName ValueType: String }
      EDIMLColumn PlantName { Attribute: PlantName ValueType: String }
      EDIMLColumn ProductID { Attribute: ProductID ValueType: String }
      EDIMLColumn ProductLineAndSpecification { Attribute: ProductLineAndSpecification ValueType: String }
      EDIMLColumn ResolutionRatio { Attribute: ResolutionRatio ValueType: String }
      EDIMLColumn ShippingForm { Attribute: ShippingForm ValueType: String }
      EDIMLColumn YearNo { Attribute: YearNo ValueType: String }
    }
  }
  EDIODBCLink.Source MID_AnnualBudgetData
  {
    DataIntegrityStrategy: 'Disabled'
    SettingsEngineLink: 'domainmodel.ediremotedatasourcedefinition.remotestorage.oracle'
    EDIODBCLinkTable MID_ANNUALBUDGETDATA
    {
      OthersMayCreateTable: true
      OthersMayDeleteRow: true
      OthersMayDropTable: true
      OthersMayFlushTable: true
      OthersMayInsertRow: true
      Parameters: '/owner="YUXTEST"'
      RecordModificationHintStrategy: 'None'
      EDIODBCLinkColumn BUSINESSSORT
      {
        OthersMayUpdateColumn: true
        ValueType: String
      }
      EDIODBCLinkColumn BUSINESSTYPE
      {
        OthersMayUpdateColumn: true
        ValueType: String
      }
      EDIODBCLinkColumn CAPACITYEQUIVALENT
      {
        OthersMayUpdateColumn: true
        ValueType: String
      }
      EDIODBCLinkColumn CUTSNUMBER
      {
        OthersMayUpdateColumn: true
        ValueType: String
      }
      EDIODBCLinkColumn DISPLAYTECHSORT
      {
        OthersMayUpdateColumn: true
        ValueType: String
      }
      EDIODBCLinkColumn ID
      {
        OthersMayUpdateColumn: true
        ValueType: String
      }
      EDIODBCLinkColumn MASKNUMBER
      {
        OthersMayUpdateColumn: true
        ValueType: String
      }
      EDIODBCLinkColumn MONTHLYMODCAPACITY1
      {
        OthersMayUpdateColumn: true
        ValueType: String
      }
      EDIODBCLinkColumn MONTHLYMODCAPACITY10
      {
        OthersMayUpdateColumn: true
        ValueType: String
      }
      EDIODBCLinkColumn MONTHLYMODCAPACITY11
      {
        OthersMayUpdateColumn: true
        ValueType: String
      }
      EDIODBCLinkColumn MONTHLYMODCAPACITY12
      {
        OthersMayUpdateColumn: true
        ValueType: String
      }
      EDIODBCLinkColumn MONTHLYMODCAPACITY2
      {
        OthersMayUpdateColumn: true
        ValueType: String
      }
      EDIODBCLinkColumn MONTHLYMODCAPACITY3
      {
        OthersMayUpdateColumn: true
        ValueType: String
      }
      EDIODBCLinkColumn MONTHLYMODCAPACITY4
      {
        OthersMayUpdateColumn: true
        ValueType: String
      }
      EDIODBCLinkColumn MONTHLYMODCAPACITY5
      {
        OthersMayUpdateColumn: true
        ValueType: String
      }
      EDIODBCLinkColumn MONTHLYMODCAPACITY6
      {
        OthersMayUpdateColumn: true
        ValueType: String
      }
      EDIODBCLinkColumn MONTHLYMODCAPACITY7
      {
        OthersMayUpdateColumn: true
        ValueType: String
      }
      EDIODBCLinkColumn MONTHLYMODCAPACITY8
      {
        OthersMayUpdateColumn: true
        ValueType: String
      }
      EDIODBCLinkColumn MONTHLYMODCAPACITY9
      {
        OthersMayUpdateColumn: true
        ValueType: String
      }
      EDIODBCLinkColumn MONTHLYSALES1
      {
        OthersMayUpdateColumn: true
        ValueType: String
      }
      EDIODBCLinkColumn MONTHLYSALES10
      {
        OthersMayUpdateColumn: true
        ValueType: String
      }
      EDIODBCLinkColumn MONTHLYSALES11
      {
        OthersMayUpdateColumn: true
        ValueType: String
      }
      EDIODBCLinkColumn MONTHLYSALES12
      {
        OthersMayUpdateColumn: true
        ValueType: String
      }
      EDIODBCLinkColumn MONTHLYSALES2
      {
        OthersMayUpdateColumn: true
        ValueType: String
      }
      EDIODBCLinkColumn MONTHLYSALES3
      {
        OthersMayUpdateColumn: true
        ValueType: String
      }
      EDIODBCLinkColumn MONTHLYSALES4
      {
        OthersMayUpdateColumn: true
        ValueType: String
      }
      EDIODBCLinkColumn MONTHLYSALES5
      {
        OthersMayUpdateColumn: true
        ValueType: String
      }
      EDIODBCLinkColumn MONTHLYSALES6
      {
        OthersMayUpdateColumn: true
        ValueType: String
      }
      EDIODBCLinkColumn MONTHLYSALES7
      {
        OthersMayUpdateColumn: true
        ValueType: String
      }
      EDIODBCLinkColumn MONTHLYSALES8
      {
        OthersMayUpdateColumn: true
        ValueType: String
      }
      EDIODBCLinkColumn MONTHLYSALES9
      {
        OthersMayUpdateColumn: true
        ValueType: String
      }
      EDIODBCLinkColumn MONTHLYSHEETCAPACITY1
      {
        OthersMayUpdateColumn: true
        ValueType: String
      }
      EDIODBCLinkColumn MONTHLYSHEETCAPACITY10
      {
        OthersMayUpdateColumn: true
        ValueType: String
      }
      EDIODBCLinkColumn MONTHLYSHEETCAPACITY11
      {
        OthersMayUpdateColumn: true
        ValueType: String
      }
      EDIODBCLinkColumn MONTHLYSHEETCAPACITY12
      {
        OthersMayUpdateColumn: true
        ValueType: String
      }
      EDIODBCLinkColumn MONTHLYSHEETCAPACITY2
      {
        OthersMayUpdateColumn: true
        ValueType: String
      }
      EDIODBCLinkColumn MONTHLYSHEETCAPACITY3
      {
        OthersMayUpdateColumn: true
        ValueType: String
      }
      EDIODBCLinkColumn MONTHLYSHEETCAPACITY4
      {
        OthersMayUpdateColumn: true
        ValueType: String
      }
      EDIODBCLinkColumn MONTHLYSHEETCAPACITY5
      {
        OthersMayUpdateColumn: true
        ValueType: String
      }
      EDIODBCLinkColumn MONTHLYSHEETCAPACITY6
      {
        OthersMayUpdateColumn: true
        ValueType: String
      }
      EDIODBCLinkColumn MONTHLYSHEETCAPACITY7
      {
        OthersMayUpdateColumn: true
        ValueType: String
      }
      EDIODBCLinkColumn MONTHLYSHEETCAPACITY8
      {
        OthersMayUpdateColumn: true
        ValueType: String
      }
      EDIODBCLinkColumn MONTHLYSHEETCAPACITY9
      {
        OthersMayUpdateColumn: true
        ValueType: String
      }
      EDIODBCLinkColumn ORGANCODE
      {
        OthersMayUpdateColumn: true
        ValueType: String
      }
      EDIODBCLinkColumn ORGANNAME
      {
        OthersMayUpdateColumn: true
        ValueType: String
      }
      EDIODBCLinkColumn PLANTNAME
      {
        OthersMayUpdateColumn: true
        ValueType: String
      }
      EDIODBCLinkColumn PRODUCTID
      {
        OthersMayUpdateColumn: true
        ValueType: String
      }
      EDIODBCLinkColumn PRODUCTLINEANDSPECIFICATION
      {
        OthersMayUpdateColumn: true
        ValueType: String
      }
      EDIODBCLinkColumn RESOLUTIONRATIO
      {
        OthersMayUpdateColumn: true
        ValueType: String
      }
      EDIODBCLinkColumn SHIPPINGFORM
      {
        OthersMayUpdateColumn: true
        ValueType: String
      }
      EDIODBCLinkColumn YEARNO
      {
        OthersMayUpdateColumn: true
        ValueType: String
      }
    }
  }
  EDITransformation.Transformation TransformationAnnualBudgetData
  {
    EDITableTransformation
    {
      InputTable: MID_ANNUALBUDGETDATA
      OutputTable: Global_MappingAnnualBudgetData
      EDIColumnMatch { InputColumn: BUSINESSSORT OutputColumn: BusinessSort }
      EDIColumnMatch { InputColumn: BUSINESSTYPE OutputColumn: BusinessType }
      EDIColumnMatch { InputColumn: CAPACITYEQUIVALENT OutputColumn: CapacityEquivalent }
      EDIColumnMatch { InputColumn: CUTSNUMBER OutputColumn: CutsNumber }
      EDIColumnMatch { InputColumn: DISPLAYTECHSORT OutputColumn: DisplayTechSort }
      EDIColumnMatch { InputColumn: ID OutputColumn: ID }
      EDIColumnMatch { InputColumn: MASKNUMBER OutputColumn: MaskNumber }
      EDIColumnMatch { InputColumn: MONTHLYMODCAPACITY1 OutputColumn: MonthlyModCapacity1 }
      EDIColumnMatch { InputColumn: MONTHLYMODCAPACITY10 OutputColumn: MonthlyModCapacity10 }
      EDIColumnMatch { InputColumn: MONTHLYMODCAPACITY11 OutputColumn: MonthlyModCapacity11 }
      EDIColumnMatch { InputColumn: MONTHLYMODCAPACITY12 OutputColumn: MonthlyModCapacity12 }
      EDIColumnMatch { InputColumn: MONTHLYMODCAPACITY2 OutputColumn: MonthlyModCapacity2 }
      EDIColumnMatch { InputColumn: MONTHLYMODCAPACITY3 OutputColumn: MonthlyModCapacity3 }
      EDIColumnMatch { InputColumn: MONTHLYMODCAPACITY4 OutputColumn: MonthlyModCapacity4 }
      EDIColumnMatch { InputColumn: MONTHLYMODCAPACITY5 OutputColumn: MonthlyModCapacity5 }
      EDIColumnMatch { InputColumn: MONTHLYMODCAPACITY6 OutputColumn: MonthlyModCapacity6 }
      EDIColumnMatch { InputColumn: MONTHLYMODCAPACITY7 OutputColumn: MonthlyModCapacity7 }
      EDIColumnMatch { InputColumn: MONTHLYMODCAPACITY8 OutputColumn: MonthlyModCapacity8 }
      EDIColumnMatch { InputColumn: MONTHLYMODCAPACITY9 OutputColumn: MonthlyModCapacity9 }
      EDIColumnMatch { InputColumn: MONTHLYSALES1 OutputColumn: MonthlySales1 }
      EDIColumnMatch { InputColumn: MONTHLYSALES10 OutputColumn: MonthlySales10 }
      EDIColumnMatch { InputColumn: MONTHLYSALES11 OutputColumn: MonthlySales11 }
      EDIColumnMatch { InputColumn: MONTHLYSALES12 OutputColumn: MonthlySales12 }
      EDIColumnMatch { InputColumn: MONTHLYSALES2 OutputColumn: MonthlySales2 }
      EDIColumnMatch { InputColumn: MONTHLYSALES3 OutputColumn: MonthlySales3 }
      EDIColumnMatch { InputColumn: MONTHLYSALES4 OutputColumn: MonthlySales4 }
      EDIColumnMatch { InputColumn: MONTHLYSALES5 OutputColumn: MonthlySales5 }
      EDIColumnMatch { InputColumn: MONTHLYSALES6 OutputColumn: MonthlySales6 }
      EDIColumnMatch { InputColumn: MONTHLYSALES7 OutputColumn: MonthlySales7 }
      EDIColumnMatch { InputColumn: MONTHLYSALES8 OutputColumn: MonthlySales8 }
      EDIColumnMatch { InputColumn: MONTHLYSALES9 OutputColumn: MonthlySales9 }
      EDIColumnMatch { InputColumn: MONTHLYSHEETCAPACITY1 OutputColumn: MonthlySheetCapacity1 }
      EDIColumnMatch { InputColumn: MONTHLYSHEETCAPACITY10 OutputColumn: MonthlySheetCapacity10 }
      EDIColumnMatch { InputColumn: MONTHLYSHEETCAPACITY11 OutputColumn: MonthlySheetCapacity11 }
      EDIColumnMatch { InputColumn: MONTHLYSHEETCAPACITY12 OutputColumn: MonthlySheetCapacity12 }
      EDIColumnMatch { InputColumn: MONTHLYSHEETCAPACITY2 OutputColumn: MonthlySheetCapacity2 }
      EDIColumnMatch { InputColumn: MONTHLYSHEETCAPACITY3 OutputColumn: MonthlySheetCapacity3 }
      EDIColumnMatch { InputColumn: MONTHLYSHEETCAPACITY4 OutputColumn: MonthlySheetCapacity4 }
      EDIColumnMatch { InputColumn: MONTHLYSHEETCAPACITY5 OutputColumn: MonthlySheetCapacity5 }
      EDIColumnMatch { InputColumn: MONTHLYSHEETCAPACITY6 OutputColumn: MonthlySheetCapacity6 }
      EDIColumnMatch { InputColumn: MONTHLYSHEETCAPACITY7 OutputColumn: MonthlySheetCapacity7 }
      EDIColumnMatch { InputColumn: MONTHLYSHEETCAPACITY8 OutputColumn: MonthlySheetCapacity8 }
      EDIColumnMatch { InputColumn: MONTHLYSHEETCAPACITY9 OutputColumn: MonthlySheetCapacity9 }
      EDIColumnMatch { InputColumn: ORGANCODE OutputColumn: OrganCode }
      EDIColumnMatch { InputColumn: ORGANNAME OutputColumn: OrganName }
      EDIColumnMatch { InputColumn: PLANTNAME OutputColumn: PlantName }
      EDIColumnMatch { InputColumn: PRODUCTID OutputColumn: ProductID }
      EDIColumnMatch { InputColumn: PRODUCTLINEANDSPECIFICATION OutputColumn: ProductLineAndSpecification }
      EDIColumnMatch { InputColumn: RESOLUTIONRATIO OutputColumn: ResolutionRatio }
      EDIColumnMatch { InputColumn: SHIPPINGFORM OutputColumn: ShippingForm }
      EDIColumnMatch { InputColumn: YEARNO OutputColumn: YearNo }
    }
  }
}
_Main/BL/Relations/Relation_Global_MappingAnnualBudgetData_GlobalOTDTable_GlobalOTDTable_Global.qbl
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,23 @@
Quintiq file version 2.0
#parent: #root
Relation Global_MappingAnnualBudgetData_GlobalOTDTable_GlobalOTDTable_Global_MappingAnnualBudgetData
{
  #keys: '1[414384.0.933884750]'
  DefaultRelationStrategy
  {
  }
  RelationSide.LeftSide GlobalOTDTable
  {
    #keys: '3[414384.0.933884752][414384.0.933884751][414384.0.933884753]'
    Cardinality: '0to1'
    ObjectDefinition: Global_MappingAnnualBudgetData
    OwningSide: 'Reference'
  }
  RelationSide.RightSide Global_MappingAnnualBudgetData
  {
    #keys: '3[414384.0.933884755][414384.0.933884754][414384.0.933884756]'
    Cardinality: '1toN'
    ObjectDefinition: GlobalOTDTable
    OwningSide: 'Owned'
  }
}
_Main/BL/Relations/Relation_Global_MappingProviderCapacity_GlobalOTDTable_GlobalOTDTable_Global.qbl
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,23 @@
Quintiq file version 2.0
#parent: #root
Relation Global_MappingProviderCapacity_GlobalOTDTable_GlobalOTDTable_Global_MappingProviderCapacity
{
  #keys: '1[414384.0.953290006]'
  DefaultRelationStrategy
  {
  }
  RelationSide.LeftSide GlobalOTDTable
  {
    #keys: '3[414384.0.953290008][414384.0.953290007][414384.0.953290009]'
    Cardinality: '0to1'
    ObjectDefinition: Global_MappingProviderCapacity
    OwningSide: 'Reference'
  }
  RelationSide.RightSide Global_MappingProviderCapacity
  {
    #keys: '3[414384.0.953290011][414384.0.953290010][414384.0.953290012]'
    Cardinality: '1toN'
    ObjectDefinition: GlobalOTDTable
    OwningSide: 'Owned'
  }
}
_Main/BL/Relations/Relation_MappingAnnualBudget_MPSync_MPSync_MappingAnnualBudget.qbl
ÎļþÒÑɾ³ý
_Main/BL/Type_CapacityAllocationResults/StaticMethod_IterativeGeneration3.qbl
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,54 @@
Quintiq file version 2.0
#parent: #root
StaticMethod IterativeGeneration3 (
  Supply_MP smp,
  Number numberOfPlies,
  Real fulfillmentQuantity
)
{
  TextBody:
  [*
    info( "层数:", numberOfPlies );
    ontype ( smp ) {
      NewSupply as ns : {
        info( "供应类型(NewSupply)", "    ä¾›åº”量:", ns.Quantity(), "    å®žé™…用量:", fulfillmentQuantity );
        ontype ( ns.PeriodTask_MP() ) {
          PeriodTaskOperation as pto : {
            info( "操作周期任务    ", "供应时间:", ns.Start().Format( "Y-M2-D2" ), "    å‘¨æœŸä»»åŠ¡KEY:", pto.Key(), "    ",
                  ns.ProductInStockingPointInPeriodPlanningLeaf().ProductInStockingPoint_MP().Name() );
            traverse ( pto, DependentDemand, dd, dd.Quantity() > 0 ) {
              traverse ( dd, Fulfillment, f ) {
                smp1 := f.Supply_MP();
                numberOfPlies++;
                info( "--------------------------------------------------------------" );
                fulfillmentQuantity := fulfillmentQuantity * ns.ProcessOutput().astype( OperationOutput ).Quantity() *
                                                             dd.ProcessInput().astype( OperationInput ).Quantity();
                CapacityAllocationResults::IterativeGeneration3( smp1, numberOfPlies, fulfillmentQuantity );
                numberOfPlies--;
              }
            }
          }
          PeriodTaskLaneLeg as ptll : {
            targetDependentDemand := select( ptll, DependentDemand, dd, dd.ProcessInput().ProductInStockingPoint_MP().ProductID() = ns.ProductInStockingPointInPeriodPlanningLeaf().ProductInStockingPoint_MP().ProductID() and
                                             dd.Quantity() = ns.Quantity() );
            info( "车道周期任务    ", "供应时间:", ns.Start().Format( "Y-M2-D2" ), "    å‘¨æœŸä»»åŠ¡KEY:", ptll.Key(), "    ",
                  targetDependentDemand.ProductInStockingPointInPeriodPlanningLeaf().ProductInStockingPoint_MP().Name() );
            traverse ( targetDependentDemand, Fulfillment, f ) {
              smp1 := f.Supply_MP();
              numberOfPlies++;
              info( "--------------------------------------------------------------" );
              CapacityAllocationResults::IterativeGeneration3( smp1, numberOfPlies, f.Quantity() );
              numberOfPlies--;
            }
          }
        }
      }
      InventorySupply as is : {
        info( "供应类型(InventorySupply)    ", "供应时间:", is.Date().Format( "Y-M2-D2" ), "    ä¾›åº”量:", is.Quantity(),
              "    å®žé™…用量:", fulfillmentQuantity, "    ", is.ProductInStockingPoint_MP().Name() );
      }
    }
  *]
}
_Main/BL/Type_CapacityAllocationResults/StaticMethod_Test.qbl
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,18 @@
Quintiq file version 2.0
#parent: #root
StaticMethod Test (
  MacroPlan macroPlan
)
{
  TextBody:
  [*
    traverse ( macroPlan, Product_MP.ProductInStockingPoint_MP, pisp, pisp.ProductID() = "ProXOver 1 D2.6 A"        and
                                                                      pisp.StockingPointID() = "Carco Philadelphia" ) {
      traverse ( pisp, ProductInStockingPointInPeriodPlanning.astype( ProductInStockingPointInPeriodPlanningLeaf ).Supply_MP, smp,
               smp.ProductInStockingPointInPeriodPlanning().Start().Date() = Date::Construct( 2020, 4, 7 ) and
               smp.Quantity() > 0 ) {
        CapacityAllocationResults::IterativeGeneration3( smp, 1, smp.Quantity() );
      }
    }
  *]
}
_Main/BL/Type_CapacityAllocationResultsRuleConfiguration/Attribute_PanelMaterialStockingPointID.qbl
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,8 @@
Quintiq file version 2.0
#parent: #root
Attribute PanelMaterialStockingPointID
{
  #keys: '3[414702.1.15456051][414702.1.15456050][414702.1.15456052]'
  IsReadOnly: true
  ValueType: String
}
_Main/BL/Type_CapacityAllocationResultsRuleConfiguration/StaticMethod_AutomaticallyGenerateCapacityAllocationResults.qbl
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,25 @@
Quintiq file version 2.0
#parent: #root
StaticMethod AutomaticallyGenerateCapacityAllocationResults (
  GlobalOTDTable globalOTDTable,
  MacroPlan macroPlan
)
{
  TextBody:
  [*
    targetProduct_MP := select( macroPlan, Product_MP, tempPMP, tempPMP.ID() = "ProSports Spider D2.6 M" );
    period_MPS := null( Period_MPs );
    traverse ( macroPlan, PeriodSpecification_MP, psmp, psmp.ID() = "Planning periods" ) {
      period_MPS := selectsortedset( psmp, PeriodSpecificationPeriod.Period_MP, pmp, not pmp.IsHistorical(), pmp.StartDate() );
    }
    traverse ( targetProduct_MP, ProductInStockingPoint_MP, pisp ) {
      traverse ( period_MPS, Elements, pmp, pmp.StartDate() = Date::Construct( 2020, 4, 1 ) ) {
        info( pmp.StartDate().Format( "Y-M2-D2" ), "    outputPISP:", pisp.Name() );
        CapacityAllocationResultsRuleConfiguration::RecursiveGeneration( macroPlan, pisp, pisp, pmp.StartDate() );
        info( "-------------------------------------------------------------------------------------------------------" );
      }
    }
  *]
}
_Main/BL/Type_CapacityAllocationResultsRuleConfiguration/StaticMethod_AutomaticallyGenerateRule.qbl
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,8 @@
Quintiq file version 2.0
#parent: #root
StaticMethod AutomaticallyGenerateRule (
  MacroPlan macroPlan,
  GlobalOTDTable globalOTDTable
)
{
}
_Main/BL/Type_CapacityAllocationResultsRuleConfiguration/StaticMethod_RecursiveGeneration.qbl
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,38 @@
Quintiq file version 2.0
#parent: #root
StaticMethod RecursiveGeneration (
  MacroPlan macroPlan,
  ProductInStockingPoint_MP outputPISP,
  ProductInStockingPoint_MP firstPISP,
  Date startDate
)
{
  TextBody:
  [*
    traverse ( outputPISP, ProcessOutput.AsProcessOutput, pmp ) {
      ontype( pmp ) {
        Operation as o : {
          traverse ( o, OperationInput, oi ) {
            oiPISP := oi.ProductInStockingPoint_MP();
            CapacityAllocationResultsRuleConfiguration::RecursiveGeneration( macroPlan, oiPISP, firstPISP, startDate );
            info( "输入PISP:", oiPISP.Name(), "    è¾“出PISP:", outputPISP.Name(), "    ç¬¬ä¸€æ¬¡PISP:", firstPISP.Name() );
          }
        }
        LaneLeg as ll : {
          traverse ( ll, LaneLegInput, lli ) {
            lliPISP := lli.ProductInStockingPoint_MP();
            if ( lliPISP.ProductID() = outputPISP.ProductID() ) {
              CapacityAllocationResultsRuleConfiguration::RecursiveGeneration( macroPlan, lliPISP, firstPISP, startDate );
              info( "输入PISP:", lliPISP.Name(), "    è¾“出PISP:", outputPISP.Name(), "    ç¬¬ä¸€æ¬¡PISP:", firstPISP.Name() );
            }
          }
        }
      }
    }
  *]
}
_Main/BL/Type_CapacityAllocationResultsRuleConfiguration/StaticMethod_Test.qbl
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,61 @@
Quintiq file version 2.0
#parent: #root
StaticMethod Test (
  MacroPlan this
)
{
  TextBody:
  [*
    pispnames := construct( Strings );
    traverse( this, SalesDemand.ProductInStockingPoint_MP, pisp )
    {
      if( not exists( pisp, ProcessOutput.AsProcessOutput.ProcessInput, processinput, true ) )
      {
        pispnames.Add( pisp.Name() );
      }
      else
      {
        dummyprocesses := selectset( pisp, ProcessOutput.AsProcessOutput, process, true );
        index := 0;
        limit := 10000;
        while( index < dummyprocesses.Size()
               and index < limit )
        {
          dummyprocess := dummyprocesses.Element( index );
          index++;
          pisps := construct( ProductInStockingPoint_MPs );
          if( dummyprocess.istype( Operation ) )
          {
            pisps := selectset( dummyprocess, astype( Operation ).RoutingStep.Routing.InputPISPNodeInRouting.ProductInStockingPoint_MP, pisp2,
                                not pisp2.IsSystem() );
          }
          else if( dummyprocess.istype( LaneLeg ) )
          {
            pisps := selectset( dummyprocess, astype( LaneLeg ).LaneLegInput.ProductInStockingPoint_MP, pisp2,
                                pisp2.Product_MP() = pisp.Product_MP() );
          }
          traverse( pisps, Elements, pisp2 )
          {
            if( not exists( pisp2, ProcessOutput.AsProcessOutput.ProcessInput, processinput, true ) )
            {
              pispnames.Add( pisp2.Name() );
            }
            else
            {
              dummyprocesses2 := selectset( pisp2, ProcessOutput.AsProcessOutput, process, true );
              dummyprocesses.AddInPlace( dummyprocesses2 );
            }
          }
        }
      }
    }
    pispnames := pispnames.Unique().Sort();
    info( pispnames.ToString( String::NewLine() ) );
  *]
}
_Main/BL/Type_CustomerAndForecastOrder/StaticMethod_CreateData.qbl
@@ -1,21 +1,25 @@
Quintiq file version 2.0
#parent: #root
StaticMethod CreateData (
  MacroPlan macroPlan
  MacroPlan macroPlan,
  Scenario scenario
)
{
  TextBody:
  [*
    macroPlan.CustomerAndForecastOrder( relflush );
    traverse ( macroPlan, SalesDemand.astype( CustomerOrder ), co, true ) {
      macroPlan.CustomerAndForecastOrder( relnew,
                                          OrderID := co.OrderID(),
                                          ProductID := co.ProductID(),
                                          BusinessType := co.BusinessType(),
                                          Customer := co.CustomerName(),
                                          CustomerID := co.CustomerID(),
                                          Quantity := co.Quantity(),
                                          VerNo             := scenario.Name(),
                                          OrderID           := co.OrderID(),
                                          ProductID         := co.ProductID(),
                                          BusinessType      := co.BusinessType(),
                                          Customer          := co.CustomerName(),
                                          CustomerID        := co.CustomerID(),
                                          Quantity          := co.Quantity(),
                                          UnitOfMeasureName := co.UnitOfMeasureName(),
                                          DemandDate := co.StartDate()
                                          DemandDate        := co.StartDate()
                                         );
    }
  *]
_Main/BL/Type_CustomerAndForecastOrder/StaticMethod_CreateFillingCapacityOrder.qbl
@@ -9,9 +9,9 @@
  [*
    // NBoTk Sep-13-2023 (created)
    
    owner.FillingCapacityOrder(relnew,ProductID := data.ProductID(),BusinessType := data.BusinessType(),Customer := data.Customer(),CustomerID := data.CustomerID(),
                                    Quantity := data.Quantity(),UnitOfMeasureName := data.UnitOfMeasureName(),PanelBigSheetQuantity := data.PanelBigSheetQuantity(),SalesAmount := data.SalesAmount(),
                                    ForecastDemandDate := data.ForecastDemandDate(),DemandDate := data.DemandDate(),VerNo := data.VerNo(),SalesSegmentName := data.SalesSegmentName()
                                    );
    //owner.FillingCapacityOrder(relnew,ProductID := data.ProductID(),BusinessType := data.BusinessType(),Customer := data.Customer(),CustomerID := data.CustomerID(),
    //                                Quantity := data.Quantity(),UnitOfMeasureName := data.UnitOfMeasureName(),PanelBigSheetQuantity := data.PanelBigSheetQuantity(),SalesAmount := data.SalesAmount(),
    //                                ForecastDemandDate := data.ForecastDemandDate(),DemandDate := data.DemandDate(),VerNo := data.VerNo(),SalesSegmentName := data.SalesSegmentName()
    //                                );
  *]
}
_Main/BL/Type_CustomerOrder/StaticMethod_DoSync.qbl
@@ -3,7 +3,8 @@
StaticMethod DoSync (
  MacroPlan macroPlan,
  Strings businessTypes,
  GlobalOTDTable globalOTDTable
  GlobalOTDTable globalOTDTable,
  Strings organcodelist
)
{
  TextBody:
@@ -12,6 +13,6 @@
    //info( "Forecast Finished, Start CustomerOrder Data Broker" );
    //macroPlan.Broker_OTD_CustomerOrder().Execute();
    info( "CustomerOrder Data Broker Finished, Start CustomerOrder Mapping" );
    macroPlan.MappingCustomerOrderData( businessTypes,globalOTDTable );
    macroPlan.MappingCustomerOrderData( businessTypes,globalOTDTable, organcodelist );
  *]
}
_Main/BL/Type_ERPRequestOfPR/StaticMethod_Create.qbl
@@ -11,7 +11,7 @@
    
    request.BusinessType( history.BusinessType() );
    request.DataID( history.DataID() );
    request.DeliveryDate( history.ProduceRequiredDate() );
    request.DeliveryDate( history.DeliveryDate() );
    request.MRPCalverNo( history.MRPCalverNo() );
    request.OrganCode( history.OrganCode() );
    request.ProductID( history.ProductID() );
_Main/BL/Type_FillingCapacityOrder/StaticMethod_CreateCustomOrder.qbl
@@ -14,7 +14,7 @@
    targetCustomerOrder := CustomerOrder::Create( targetProduct_MP,
                                                  targetStockingPoint_MP,
                                                  OS::GenerateGUIDAsString(),
                                                  fillingCapacityOrder.OrderDate(),
                                                  fillingCapacityOrder.DemandDate(),
                                                  quantity,
                                                  0.0,
                                                  "Normal",
_Main/BL/Type_Forecast/StaticMethod_DoSync.qbl
@@ -3,7 +3,8 @@
StaticMethod DoSync (
  MacroPlan macroPlan,
  Strings businessTypes,
  GlobalOTDTable globalOTDTable
  GlobalOTDTable globalOTDTable,
  Strings organcodelist
)
{
  TextBody:
@@ -12,6 +13,6 @@
    //info( "OperationCost Finished, Start Forecast Data Broker" );
    //macroPlan.Broker_OTD_Forecast().Execute();
    info( "Forecast Data Broker Finished, Start Forecast Mapping" );
    macroPlan.MappingForecastData( businessTypes,globalOTDTable );
    macroPlan.MappingForecastData( businessTypes,globalOTDTable, organcodelist );
  *]
}
_Main/BL/Type_Forecast/StaticMethod_GetFulfilledBalanceByHalfYear.qbl
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,21 @@
Quintiq file version 2.0
#parent: #root
StaticMethod GetFulfilledBalanceByHalfYear (
  Strings productNo,
  MacroPlan macroPlan,
  Number yearNo,
  Number halfNo
) as Real
{
  TextBody:
  [*
    // yypsybs Sep-18-2023 (created)
    fromMonth := 1 + ( halfNo - 1 ) * 6;
    toMonth := 6 + ( halfNo - 1 ) * 6;
    result := 0.0;
    for( i := fromMonth; i <= toMonth; i := i + 1 ) {
      result := result + Forecast::GetFulfilledBalanceByMonth( productNo, macroPlan, yearNo, i );
    }
    return result;
  *]
}
_Main/BL/Type_Forecast/StaticMethod_GetFulfilledBalanceByMonth.qbl
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,22 @@
Quintiq file version 2.0
#parent: #root
StaticMethod GetFulfilledBalanceByMonth (
  Strings productNo,
  MacroPlan macroPlan,
  Number yearNo,
  Number monthNo
) as Real
{
  TextBody:
  [*
    // yypsybs Sep-18-2023 (created)
    result := sum( macroPlan,
                   Product_MP.SalesDemand,
                   item,
                   item.istype( Forecast ) and productNo.Find( item.ProductID() ) > -1
                   and item.StartDate().Year() = yearNo
                   and item.StartDate().Month() = monthNo,
                   item.FulfilledQuantity() * item.Price() );
    return result;
  *]
}
_Main/BL/Type_Forecast/StaticMethod_GetFulfilledBalanceBySeason#763.qbl
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,21 @@
Quintiq file version 2.0
#parent: #root
StaticMethod GetFulfilledBalanceBySeason (
  Strings productNo,
  MacroPlan macroPlan,
  Number yearNo,
  Number seasonNo
) as Real
{
  TextBody:
  [*
    // yypsybs Sep-18-2023 (created)
    fromMonth := 1 + ( seasonNo - 1 ) * 3;
    toMonth := 3 + ( seasonNo - 1 ) * 3;
    result := 0.0;
    for( i := fromMonth; i <= toMonth; i := i + 1 ) {
      result := result + Forecast::GetFulfilledBalanceByMonth( productNo, macroPlan, yearNo, i );
    }
    return result;
  *]
}
_Main/BL/Type_Forecast/StaticMethod_GetFulfilledBalanceByYear#0.qbl
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,20 @@
Quintiq file version 2.0
#parent: #root
StaticMethod GetFulfilledBalanceByYear (
  Strings productNo,
  MacroPlan macroPlan,
  Number yearNo
) as Real
{
  TextBody:
  [*
    // yypsybs Sep-18-2023 (created)
    result := sum( macroPlan,
                   Product_MP.SalesDemand,
                   item,
                   item.istype( Forecast ) and productNo.Find( item.ProductID() ) > -1
                   and item.StartDate().Year() = yearNo,
                   item.FulfilledQuantity() * item.Price() );
    return result;
  *]
}
_Main/BL/Type_Forecast/StaticMethod_GetFulfilledQuantityByHalfYear.qbl
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,21 @@
Quintiq file version 2.0
#parent: #root
StaticMethod GetFulfilledQuantityByHalfYear (
  Strings productNo,
  MacroPlan macroPlan,
  Number yearNo,
  Number halfNo
) as Real
{
  TextBody:
  [*
    // yypsybs Sep-18-2023 (created)
    fromMonth := 1 + ( halfNo - 1 ) * 6;
    toMonth := 6 + ( halfNo - 1 ) * 6;
    result := 0.0;
    for( i := fromMonth; i <= toMonth; i := i + 1 ) {
      result := result + Forecast::GetFulfilledQuantityByMonth( productNo, macroPlan, yearNo, i );
    }
    return result;
  *]
}
_Main/BL/Type_Forecast/StaticMethod_GetFulfilledQuantityByMonth.qbl
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,22 @@
Quintiq file version 2.0
#parent: #root
StaticMethod GetFulfilledQuantityByMonth (
  Strings productNo,
  MacroPlan macroPlan,
  Number yearNo,
  Number monthNo
) as Real
{
  TextBody:
  [*
    // yypsybs Sep-18-2023 (created)
    result := sum( macroPlan,
                   Product_MP.SalesDemand,
                   item,
                   item.istype( Forecast ) and productNo.Find( item.ProductID() ) > -1
                   and item.StartDate().Year() = yearNo
                   and item.StartDate().Month() = monthNo,
                   item.FulfilledQuantity() );
    return result;
  *]
}
_Main/BL/Type_Forecast/StaticMethod_GetFulfilledQuantityBySeason.qbl
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,21 @@
Quintiq file version 2.0
#parent: #root
StaticMethod GetFulfilledQuantityBySeason (
  Strings productNo,
  MacroPlan macroPlan,
  Number yearNo,
  Number seasonNo
) as Real
{
  TextBody:
  [*
    // yypsybs Sep-18-2023 (created)
    fromMonth := 1 + ( seasonNo - 1 ) * 3;
    toMonth := 3 + ( seasonNo - 1 ) * 3;
    result := 0.0;
    for( i := fromMonth; i <= toMonth; i := i + 1 ) {
      result := result + Forecast::GetFulfilledQuantityByMonth( productNo, macroPlan, yearNo, i );
    }
    return result;
  *]
}
_Main/BL/Type_Forecast/StaticMethod_GetFulfilledQuantityByYear.qbl
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,20 @@
Quintiq file version 2.0
#parent: #root
StaticMethod GetFulfilledQuantityByYear (
  Strings productNo,
  MacroPlan macroPlan,
  Number yearNo
) as Real
{
  TextBody:
  [*
    // yypsybs Sep-18-2023 (created)
    result := sum( macroPlan,
                   Product_MP.SalesDemand,
                   item,
                   item.istype( Forecast ) and productNo.Find( item.ProductID() ) > -1
                   and item.StartDate().Year() = yearNo,
                   item.FulfilledQuantity() );
    return result;
  *]
}
_Main/BL/Type_GlobalDTOTable/Method_CapacityAndSaleBudgeChart#156.qbl
@@ -9,9 +9,7 @@
  CapacityAndSaleBudgeFilterPlaceOfProductionOfArrays placeOfProductionOfArrays,
  CapacityAndSaleBudgeFilterYears years,
  CapacityAndSaleBudgeFilterMonths months,
  MPSync mpSync,
  GlobalOTDTable otdTable,
  MacroPlan mappingParent
  GlobalOTDTable otdTable
)
{
  Description: '按入参处理数据,产生需要的CapacityAndSaleBudgeChartElement'
@@ -19,62 +17,68 @@
  [*
    // yypsybs Sep-19-2023 (created)
    // true, false
    info( saleOrCapacity );
    //info( saleOrCapacity );
    // æœˆ;季度;半年;å¹´
    info( groupBy );
    //info( groupBy );
    // é¢æ¿åŸºåœ°;事业部
    info( byBusinessTypeOrByOrgCode );
    traverse( businessTypes, Elements, businessType ) {
      debuginfo( "businessType : " + businessType.BusinessType() );
    }
    traverse( placeOfProductionOfArrays, Elements, placeOfProductionOfArray ) {
      debuginfo( "placeOfProductionOfArray : " + placeOfProductionOfArray.PlaceOfProductionOfArray() );
    }
    traverse( macroPlans, Elements, macroPlan ) {
      debuginfo( "macroPlan : " + macroPlan.ScenarioName() );
    }
    //info( byBusinessTypeOrByOrgCode );
    //traverse( businessTypes, Elements, businessType ) {
    //  info( "businessType : " + businessType.BusinessType() );
    //}
    //traverse( placeOfProductionOfArrays, Elements, placeOfProductionOfArray ) {
    //  info( "placeOfProductionOfArray : " + placeOfProductionOfArray.PlaceOfProductionOfArray() );
    //}
    //traverse( macroPlans, Elements, macroPlan ) {
    //  info( "macroPlan : " + macroPlan.ScenarioName() );
    //}
    // å¹´ä»½ä¸é€‰æ—¶å…¨é€‰
    if( years.Size() = 0 ) {
      years := selectsortedset( this, CapacityAndSaleBudgeFilterYear, item, true, item.YearNo() );
    }
    traverse( years, Elements, year ) {
      debuginfo( "yearNo : " + [String]year.YearNo() );
    }
    //traverse( years, Elements, year ) {
    //  debuginfo( "yearNo : " + [String]year.YearNo() );
    //}
    // æœˆä»½ä¸é€‰æ—¶å…¨é€‰
    if( months.Size() = 0 ) {
      months := selectsortedset( this, CapacityAndSaleBudgeFilterMonth, item, true, item.MonthNo() );
    }
    traverse( months, Elements, month ) {
      debuginfo( "monthNo : " + [String]month.MonthNo() );
    }
    //traverse( months, Elements, month ) {
    //  debuginfo( "monthNo : " + [String]month.MonthNo() );
    //}
    
    // ====清理旧数据====
    this.CapacityAndSaleBudgeChartRow( relflush );
    this.CapacityAndSaleBudgeChartElement( relflush );
    
    // ====按面板基地和事业部对产品进行筛选分组====
    historyData := selectset( mpSync, MappingCapacityAndSaleBudge, item, true );
    historyData := selectset( otdTable, Global_MappingAnnualBudgetData, item, true );
    if( businessTypes.Size() > 0 ) {
      businessTypeStrings := selectuniquevalues( businessTypes, Elements, item, true, item.BusinessType() );
      historyData := selectset( historyData, Elements, item, businessTypeStrings.Find( item.BusinessType() ) > -1 );
    }
    if( placeOfProductionOfArrays.Size() > 0 ) {
      placeOfProductionOfArrayStrings := selectuniquevalues( placeOfProductionOfArrays, Elements, item, true, item.PlaceOfProductionOfArray() );
      historyData := selectset( historyData, Elements, item, placeOfProductionOfArrayStrings.Find( item.PlaceOfProductionOfArray() ) > -1 );
      historyData := selectset( historyData, Elements, item, placeOfProductionOfArrayStrings.Find( item.OrgCodeFromBom() ) > -1 );
    }
    //info( "historyData : " + [String]historyData.Size() );
    traverse( historyData, Elements, item ) {
      row := CapacityAndSaleBudgeChartRow::CreateIfNotExist( this, item.BusinessType(), item.PlaceOfProductionOfArray() );
      row := CapacityAndSaleBudgeChartRow::CreateIfNotExist( this, item.BusinessType(), item.OrgCodeFromBom() );
      // è®°å½•每行包含哪些product
      CapacityAndSaleBudgeChartRowProduct::CreateIfNotExist( row, item.ProductCode() );
      CapacityAndSaleBudgeChartRowProduct::CreateIfNotExist( row, item.ProductID() );
    }
    rows := selectset( this, CapacityAndSaleBudgeChartRow, item, true );
    //info( "rows : " + [String]rows.Size() );
    placeOfProductionOfArrayList := selectuniquevalues( historyData, Elements, item, item.PlaceOfProductionOfArray() );
    placeOfProductionOfArrayList := selectuniquevalues( historyData, Elements, item, item.OrgCodeFromBom() );
    //traverse( placeOfProductionOfArrayList, Elements, item ) {
    //  info( "placeOfProduction : " + item );
    //}
    businessTypeList := selectuniquevalues( historyData, Elements, item, item.BusinessType() );
    //traverse( businessTypeList, Elements, item ) {
    //  info( "businessType : " + item );
    //}
    // ç”Ÿæˆå›¾è¡¨å…ƒç´ 
    traverse( years, Elements, year ) {
      debuginfo( "process year start : " + [String]year.YearNo() );
    //  debuginfo( "process year start : " + [String]year.YearNo() );
      if( byBusinessTypeOrByOrgCode = "面板基地" and groupBy = "å¹´" ) {
        // ç›®æ ‡
        traverse( placeOfProductionOfArrayList, Elements, placeOfProductionOfArray ) {
@@ -83,8 +87,8 @@
                                                 TimeStringAndScenarioName := [String]year.YearNo() + "å¹´-目标",
                                                 BusinessTypeOrPlaceOfProductionOfArray := placeOfProductionOfArray, 
                                                 Quantity := ifexpr( saleOrCapacity = "销售额",
                                                                     MappingAnnualBudget::GetSheetByYear( productCodeList, mpSync, year.YearNo() ),
                                                                     MappingCapacityAndSaleBudge::GetSheetByYear( productCodeList, mpSync, year.YearNo() ) )
                                                                     Global_MappingAnnualBudgetData::GetSaleByYear( productCodeList, otdTable, year.YearNo() ),
                                                                     Global_MappingForecast::GetQuantityByYear( productCodeList, otdTable, year.YearNo() ) )
                                                 );  
          // S&OP
          traverse( macroPlans, Elements, macroPlan ) {
@@ -92,7 +96,7 @@
                                                   TimeStringAndScenarioName := [String]year.YearNo() + "å¹´-" + macroPlan.ScenarioName(),
                                                   BusinessTypeOrPlaceOfProductionOfArray := placeOfProductionOfArray, 
                                                   Quantity := ifexpr( saleOrCapacity = "销售额",
                                                                       MappingCustomerOrder::GetNewSupplyByYear( productCodeList, macroPlan, year.YearNo() ),
                                                                       Forecast::GetFulfilledBalanceByYear( productCodeList, macroPlan, year.YearNo() ),
                                                                       Product_MP::GetNewSupplyByYear( productCodeList, macroPlan, year.YearNo() ) 
                                                                       )
                                                   ); 
@@ -107,8 +111,8 @@
                                                   TimeStringAndScenarioName := [String]year.YearNo() + "å¹´-" + ifexpr( halfNo = 1, "上", "下" ) + "半年-目标",
                                                   BusinessTypeOrPlaceOfProductionOfArray := placeOfProductionOfArray, 
                                                   Quantity := ifexpr( saleOrCapacity = "销售额",
                                                                       MappingAnnualBudget::GetSheetByHalfYear( productCodeList, mpSync, year.YearNo(), halfNo ),
                                                                       MappingCapacityAndSaleBudge::GetSheetByHalfYear( productCodeList, mpSync, year.YearNo(), halfNo ) )
                                                                       Global_MappingAnnualBudgetData::GetSaleByHalfYear( productCodeList, otdTable, year.YearNo(), halfNo ),
                                                                       Global_MappingForecast::GetQuantityByHalfYear( productCodeList, otdTable, year.YearNo(), halfNo ) )
                                                   );  
            // S&OP
            traverse( macroPlans, Elements, macroPlan ) {
@@ -116,7 +120,7 @@
                                                     TimeStringAndScenarioName := [String]year.YearNo() + "å¹´-" + ifexpr( halfNo = 1, "上", "下" ) + "半年-" + macroPlan.ScenarioName(),
                                                     BusinessTypeOrPlaceOfProductionOfArray := placeOfProductionOfArray, 
                                                     Quantity := ifexpr( saleOrCapacity = "销售额",
                                                                         MappingCustomerOrder::GetNewSupplyByHalfYear( productCodeList, macroPlan, year.YearNo(), halfNo ),
                                                                         Forecast::GetFulfilledBalanceByHalfYear( productCodeList, macroPlan, year.YearNo(), halfNo ),
                                                                         Product_MP::GetNewSupplyByHalfYear( productCodeList, macroPlan, year.YearNo(), halfNo )
                                                                         )
                                                     ); 
@@ -128,15 +132,12 @@
        for( seasonNo := 1; seasonNo <= 4; seasonNo := seasonNo + 1 ) {
          traverse( placeOfProductionOfArrayList, Elements, placeOfProductionOfArray ) {
            productCodeList := CapacityAndSaleBudgeChartRow::GetProductCodesByPlaceOfProductionOfArray( rows, placeOfProductionOfArray );
      //      info( "productCodeList : " + [String]productCodeList.Size() );
      //      info( "MappingCapacityAndSaleBudge::GetSheetBySeason : " + [String]MappingCapacityAndSaleBudge::GetSheetBySeason( productCodeList, mpSync, [Number]year, seasonNo ) );
      //      info( "seasonNo : " + [String]seasonNo );
            this.CapacityAndSaleBudgeChartElement( relnew, 
                                                   TimeStringAndScenarioName := [String]year.YearNo() + "å¹´-第" + [String]seasonNo + "季度-目标",
                                                   BusinessTypeOrPlaceOfProductionOfArray := placeOfProductionOfArray, 
                                                   Quantity := ifexpr( saleOrCapacity = "销售额",
                                                                       MappingAnnualBudget::GetSheetBySeason( productCodeList, mpSync, year.YearNo(), seasonNo ),
                                                                       MappingCapacityAndSaleBudge::GetSheetBySeason( productCodeList, mpSync, year.YearNo(), seasonNo ) )
                                                                       Global_MappingAnnualBudgetData::GetSaleBySeason( productCodeList, otdTable, year.YearNo(), seasonNo ),
                                                                       Global_MappingForecast::GetQuantityBySeason( productCodeList, otdTable, year.YearNo(), seasonNo ) )
                                                   );  
      //      info( "productCodeList : " + [String]productCodeList.Size() );
            // S&OP
@@ -145,7 +146,7 @@
                                                     TimeStringAndScenarioName := [String]year.YearNo() + "å¹´-第" + [String]seasonNo + "季度-" + macroPlan.ScenarioName(),
                                                     BusinessTypeOrPlaceOfProductionOfArray := placeOfProductionOfArray, 
                                                     Quantity := ifexpr( saleOrCapacity = "销售额",
                                                                         MappingCustomerOrder::GetNewSupplyBySeason( productCodeList, macroPlan, year.YearNo(), seasonNo ) ,
                                                                         Forecast::GetFulfilledBalanceBySeason( productCodeList, macroPlan, year.YearNo(), seasonNo ) ,
                                                                         Product_MP::GetNewSupplyBySeason( productCodeList, macroPlan, year.YearNo(), seasonNo )
                                                                         )
                                                     ); 
@@ -155,7 +156,7 @@
      }
      if ( byBusinessTypeOrByOrgCode = "面板基地" and groupBy = "月" ) {
        traverse( months, Elements, month ) {
          info( "process month start : " + [String]month.MonthNo() );
    //      info( "process month start : " + [String]month.MonthNo() );
          monthNoString := ifexpr( month.MonthNo() <= 9, "0" + [String]month.MonthNo(), [String]month.MonthNo() );
          traverse( placeOfProductionOfArrayList, Elements, placeOfProductionOfArray ) {
            productCodeList := CapacityAndSaleBudgeChartRow::GetProductCodesByPlaceOfProductionOfArray( rows, placeOfProductionOfArray );
@@ -163,8 +164,8 @@
                                                   TimeStringAndScenarioName := [String]year.YearNo() + "å¹´-第" + monthNoString + "月-目标",
                                                   BusinessTypeOrPlaceOfProductionOfArray := placeOfProductionOfArray, 
                                                   Quantity := ifexpr( saleOrCapacity = "销售额",
                                                                       MappingAnnualBudget::GetSheetByMonth( productCodeList, mpSync, year.YearNo(), month.MonthNo() ),
                                                                       MappingCapacityAndSaleBudge::GetSheetByMonth( productCodeList, mpSync, year.YearNo(), month.MonthNo() ) )
                                                                       Global_MappingAnnualBudgetData::GetSaleByMonth( productCodeList, otdTable, year.YearNo(), month.MonthNo() ),
                                                                       Global_MappingForecast::GetQuantityByMonth( productCodeList, otdTable, year.YearNo(), month.MonthNo() ) )
                                                   );  
            // S&OP
            traverse( macroPlans, Elements, macroPlan ) {
@@ -172,13 +173,13 @@
                                                     TimeStringAndScenarioName := [String]year.YearNo() + "å¹´-第" + monthNoString + "月-" + macroPlan.ScenarioName(),
                                                     BusinessTypeOrPlaceOfProductionOfArray := placeOfProductionOfArray, 
                                                     Quantity := ifexpr( saleOrCapacity = "销售额",
                                                                         MappingCustomerOrder::GetNewSupplyByMonth( productCodeList, macroPlan, year.YearNo(), month.MonthNo() ),
                                                                         Forecast::GetFulfilledBalanceByMonth( productCodeList, macroPlan, year.YearNo(), month.MonthNo() ),
                                                                         Product_MP::GetNewSupplyByMonth( productCodeList, macroPlan, year.YearNo(), month.MonthNo() ) 
                                                                         )
                                                     ); 
            }
          }
          info( "process month end : " + [String]month.MonthNo() );
    //      info( "process month end : " + [String]month.MonthNo() );
        }
      }
      if( byBusinessTypeOrByOrgCode = "事业部" and groupBy = "å¹´" ) {
@@ -189,8 +190,8 @@
                                                 TimeStringAndScenarioName := [String]year.YearNo() + "å¹´-目标",
                                                 BusinessTypeOrPlaceOfProductionOfArray := businessType, 
                                                 Quantity := ifexpr( saleOrCapacity = "销售额",
                                                                     MappingAnnualBudget::GetSheetByYear( productCodeList, mpSync, year.YearNo() ),
                                                                     MappingCapacityAndSaleBudge::GetSheetByYear( productCodeList, mpSync, year.YearNo() ) )
                                                                     Global_MappingAnnualBudgetData::GetSaleByYear( productCodeList, otdTable, year.YearNo() ),
                                                                     Global_MappingForecast::GetQuantityByYear( productCodeList, otdTable, year.YearNo() ) )
                                                 );  
          // S&OP
          traverse( macroPlans, Elements, macroPlan ) {
@@ -198,7 +199,7 @@
                                                   TimeStringAndScenarioName := [String]year.YearNo() + "å¹´-" + macroPlan.ScenarioName(),
                                                   BusinessTypeOrPlaceOfProductionOfArray := businessType, 
                                                   Quantity := ifexpr( saleOrCapacity = "销售额",
                                                                       MappingCustomerOrder::GetNewSupplyByYear( productCodeList, macroPlan, year.YearNo() ) ,
                                                                       Forecast::GetFulfilledBalanceByYear( productCodeList, macroPlan, year.YearNo() ) ,
                                                                       Product_MP::GetNewSupplyByYear( productCodeList, macroPlan, year.YearNo() )
                                                                       )
                                                   ); 
@@ -213,8 +214,8 @@
                                                   TimeStringAndScenarioName := [String]year.YearNo() + "å¹´-" + ifexpr( halfNo = 1, "上", "下" ) + "半年-目标",
                                                   BusinessTypeOrPlaceOfProductionOfArray := businessType, 
                                                   Quantity := ifexpr( saleOrCapacity = "销售额",
                                                                       MappingAnnualBudget::GetSheetByHalfYear( productCodeList, mpSync, year.YearNo(), halfNo ),
                                                                       MappingCapacityAndSaleBudge::GetSheetByHalfYear( productCodeList, mpSync, year.YearNo(), halfNo ) )
                                                                       Global_MappingAnnualBudgetData::GetSaleByHalfYear( productCodeList, otdTable, year.YearNo(), halfNo ),
                                                                       Global_MappingForecast::GetQuantityByHalfYear( productCodeList, otdTable, year.YearNo(), halfNo ) )
                                                   );  
            // S&OP
            traverse( macroPlans, Elements, macroPlan ) {
@@ -222,7 +223,7 @@
                                                     TimeStringAndScenarioName := [String]year.YearNo() + "å¹´-" + ifexpr( halfNo = 1, "上", "下" ) + "半年-" + macroPlan.ScenarioName(),
                                                     BusinessTypeOrPlaceOfProductionOfArray := businessType, 
                                                     Quantity := ifexpr( saleOrCapacity = "销售额",
                                                                         MappingCustomerOrder::GetNewSupplyByHalfYear( productCodeList, macroPlan, year.YearNo(), halfNo ) ,
                                                                         Forecast::GetFulfilledBalanceByHalfYear( productCodeList, macroPlan, year.YearNo(), halfNo ) ,
                                                                         Product_MP::GetNewSupplyByHalfYear( productCodeList, macroPlan, year.YearNo(), halfNo )
                                                                         )
                                                     ); 
@@ -232,15 +233,15 @@
      }
      if ( byBusinessTypeOrByOrgCode = "事业部" and groupBy = "季度" ) {
        for( seasonNo := 1; seasonNo <= 4; seasonNo := seasonNo + 1 ) {
          debuginfo( "process season start : " + [String]seasonNo );
    //      debuginfo( "process season start : " + [String]seasonNo );
          traverse( businessTypeList, Elements, businessType ) {
            productCodeList := CapacityAndSaleBudgeChartRow::GetProductCodesByBusinessType( rows, businessType );
            this.CapacityAndSaleBudgeChartElement( relnew, 
                                                   TimeStringAndScenarioName := [String]year.YearNo() + "å¹´-第" + [String]seasonNo + "季度-目标",
                                                   BusinessTypeOrPlaceOfProductionOfArray := businessType, 
                                                   Quantity := ifexpr( saleOrCapacity = "销售额",
                                                                       MappingAnnualBudget::GetSheetBySeason( productCodeList, mpSync, year.YearNo(), seasonNo ),
                                                                       MappingCapacityAndSaleBudge::GetSheetBySeason( productCodeList, mpSync, year.YearNo(), seasonNo ) )
                                                                       Global_MappingAnnualBudgetData::GetSaleBySeason( productCodeList, otdTable, year.YearNo(), seasonNo ),
                                                                       Global_MappingForecast::GetQuantityBySeason( productCodeList, otdTable, year.YearNo(), seasonNo ) )
                                                   );  
            // S&OP
            traverse( macroPlans, Elements, macroPlan ) {
@@ -248,18 +249,18 @@
                                                     TimeStringAndScenarioName := [String]year.YearNo() + "å¹´-第" + [String]seasonNo + "季度-" + macroPlan.ScenarioName(),
                                                     BusinessTypeOrPlaceOfProductionOfArray := businessType, 
                                                     Quantity := ifexpr( saleOrCapacity = "销售额",
                                                                         MappingCustomerOrder::GetNewSupplyBySeason( productCodeList, macroPlan, year.YearNo(), seasonNo ),
                                                                         Forecast::GetFulfilledBalanceBySeason( productCodeList, macroPlan, year.YearNo(), seasonNo ),
                                                                         Product_MP::GetNewSupplyBySeason( productCodeList, macroPlan, year.YearNo(), seasonNo ) 
                                                                         )
                                                     ); 
            }                    
          }
          info( "process season end : " + [String]seasonNo );
    //      info( "process season end : " + [String]seasonNo );
        }
      }
      if ( byBusinessTypeOrByOrgCode = "事业部" and groupBy = "月" ) {
        traverse( months, Elements, month ) {
          debuginfo( "process month start : " + [String]month.MonthNo() );
    //      debuginfo( "process month start : " + [String]month.MonthNo() );
          monthNoString := ifexpr( month.MonthNo() <= 9, "0" + [String]month.MonthNo(), [String]month.MonthNo() );
          traverse( businessTypeList, Elements, businessType ) {
            productCodeList := CapacityAndSaleBudgeChartRow::GetProductCodesByBusinessType( rows, businessType );
@@ -267,8 +268,8 @@
                                                   TimeStringAndScenarioName := [String]year.YearNo() + "å¹´-第" + monthNoString + "月-目标",
                                                   BusinessTypeOrPlaceOfProductionOfArray := businessType, 
                                                   Quantity := ifexpr( saleOrCapacity = "销售额",
                                                                       MappingCapacityAndSaleBudge::GetSheetByMonth( productCodeList, mpSync, year.YearNo(), month.MonthNo() ),
                                                                       MappingAnnualBudget::GetSheetByMonth( productCodeList, mpSync, year.YearNo(), month.MonthNo() ) )
                                                                       Global_MappingAnnualBudgetData::GetSaleByMonth( productCodeList, otdTable, year.YearNo(), month.MonthNo() ),
                                                                       Global_MappingForecast::GetQuantityByMonth( productCodeList, otdTable, year.YearNo(), month.MonthNo() ) )
                                                   );  
            // S&OP
            traverse( macroPlans, Elements, macroPlan ) {
@@ -276,16 +277,16 @@
                                                     TimeStringAndScenarioName := [String]year.YearNo() + "å¹´-第" + monthNoString + "月-" + macroPlan.ScenarioName(),
                                                     BusinessTypeOrPlaceOfProductionOfArray := businessType, 
                                                     Quantity := ifexpr( saleOrCapacity = "销售额",
                                                                         MappingCustomerOrder::GetNewSupplyByMonth( productCodeList, macroPlan, year.YearNo(), month.MonthNo() ) ,
                                                                         Forecast::GetFulfilledBalanceByMonth( productCodeList, macroPlan, year.YearNo(), month.MonthNo() ) ,
                                                                         Product_MP::GetNewSupplyByMonth( productCodeList, macroPlan, year.YearNo(), month.MonthNo() )
                                                                         )
                                                     ); 
            }            
          }
          debuginfo( "process month end : " + [String]month.MonthNo() );
    //      debuginfo( "process month end : " + [String]month.MonthNo() );
        }
      }
      debuginfo( "process year end : " + [String]year.YearNo() )
    //  debuginfo( "process year end : " + [String]year.YearNo() )
    }
    //info( "CapacityAndSaleBudgeChartElement : " + [String]selectset( this, CapacityAndSaleBudgeChartElement, item, true ).Size() );
    //traverse( this, CapacityAndSaleBudgeChartRow, row ) {
_Main/BL/Type_GlobalDTOTable/Method_CapacityAndSaleBudgeChart.qbl
ÎļþÒÑɾ³ý
_Main/BL/Type_GlobalDTOTable/Method_CapacityAndSaleBudgeCompare.qbl
@@ -5,9 +5,7 @@
  CapacityAndSaleBudgeFilterItems items,
  CapacityAndSaleBudgeFilterYears years,
  CapacityAndSaleBudgeFilterMonths months,
  MPSync mpSync,
  GlobalOTDTable otdTable,
  MacroPlan mappingParent
  GlobalOTDTable otdTable
)
{
  Description: 'todo : mappingParent改为mpSync, random删了'
@@ -37,16 +35,16 @@
    this.CapacityAndSaleBudgeCompareItemRow( relflush );
    this.CapacityAndSaleBudgeCompareItemColumn( relflush );
    // ====汇总所有出现的产品====
    historyData := selectset( mpSync, MappingCapacityAndSaleBudge, item, true );
    historyData := selectset( this, Global_MappingAnnualBudgetData, item, true );
    debuginfo( "historyData : " + [String]historyData.Size() )
    traverse( historyData, Elements, one ) {
      productCode := one.ProductCode();
      MappingBOM::CreateTestData( mappingParent, "事业部" + [String](productCode.Length() mod 3), [String](productCode.Length() mod 4), productCode );
      boms := selectset( mappingParent, MappingBOM, bom, bom.ProductCode() = productCode );
      productCode := one.ProductID();
      Global_MappingOperationBOM::CreateTestData( otdTable, "事业部" + [String](productCode.Length() mod 3), "面板基地" + [String](productCode.Length() mod 4), productCode );
      boms := selectset( otdTable, Global_MappingOperationBOM, bom, bom.ProductCode() = productCode );
      if( boms.Size() > 0 ) {
        bom := boms.First();
        businessType := bom.BusinessType();
        placeOfProductionOfArray := one.PlaceOfProductionOfArray();
        placeOfProductionOfArray := bom.OrganCode();
        // ç›¸åŒé¢æ¿åŸºåœ°å’Œäº‹ä¸šéƒ¨çš„æ”¾ä¸€è¡Œ
        row := CapacityAndSaleBudgeCompareItemRow::CreateIfNotExist( this, businessType, placeOfProductionOfArray );
        // è®°å½•每行包含哪些product
@@ -57,7 +55,7 @@
    }
    debuginfo( "CapacityAndSaleBudgeCompareItemRow : " + [String]selectset( this, CapacityAndSaleBudgeCompareItemRow, item, true ).Size() );
    // ====从左向右生成列头与内容====
    // äº‹ä¸šéƒ¨ï¼Œç»„织
    // äº‹ä¸šéƒ¨ï¼Œé¢æ¿åŸºåœ°
    debuginfo( "dealing businessType and placeOfProductionOfArray" )
    columnBusinessType := CapacityAndSaleBudgeCompareItemColumn::CreateIfNotExist( this, "事业部" );
    columnPlaceOfProductionOfArray := CapacityAndSaleBudgeCompareItemColumn::CreateIfNotExist( this, "面板基地" );
@@ -69,7 +67,7 @@
    }
    // é¢æ¿åˆ†é…é‡ - å¹´åº¦é¢„ç®— (sheets)
    // æ ¼å¼ï¼š é¢æ¿åˆ†é…é‡ - å¹´ - æœˆï¼ˆ1-12 & total) - å¹´åº¦é¢„ç®—/scenarioName
    info( "dealing é¢æ¿åˆ†é…é‡" )
    debuginfo( "dealing é¢æ¿åˆ†é…é‡" )
    if( CapacityAndSaleBudgeFilterItem::Contains( items, "面板分配量" ) ) {
      traverse( years, Elements, year ) {
        debuginfo( "面板分配量" + [String]year.YearNo() + "å¹´" );
@@ -78,14 +76,14 @@
        traverse( months, Elements, month ) {
          columnMonth := CapacityAndSaleBudgeCompareItemColumn::CreateIfNotExist( this, "面板分配量-" + [String]year.YearNo() + "å¹´-" + [String]month.MonthNo() + "月-年度预算" );
          traverse( this, CapacityAndSaleBudgeCompareItemRow, row ) {
            cellReal := MappingCapacityAndSaleBudge::GetSheetByMonth( row.GetProductCodes(), mpSync, DateTime::Now().Year(), month.MonthNo() );
            cellReal := Global_MappingForecast::GetQuantityByMonth( row.GetProductCodes(), this, DateTime::Now().Year(), month.MonthNo() );
            cell := columnMonth.CapacityAndSaleBudgeCompareItemCell( relnew, CellContent := [String]cellReal );
            cell.CapacityAndSaleBudgeCompareItemRow( relset, row );
          }
        }
        columnYear := CapacityAndSaleBudgeCompareItemColumn::CreateIfNotExist( this, "面板分配量-" + [String]year.YearNo() + "å¹´-total-年度预算" );
        traverse( this, CapacityAndSaleBudgeCompareItemRow, row ) {
          cellReal := MappingCapacityAndSaleBudge::GetSheetByYear( row.GetProductCodes(), mpSync, year.YearNo() );
          cellReal := Global_MappingForecast::GetQuantityByYear( row.GetProductCodes(), this, year.YearNo() );
          cell := columnYear.CapacityAndSaleBudgeCompareItemCell( relnew, CellContent := [String]cellReal );
          cell.CapacityAndSaleBudgeCompareItemRow( relset, row );
        }
@@ -121,14 +119,14 @@
        traverse( months, Elements, month ) {
          columnMonth := CapacityAndSaleBudgeCompareItemColumn::CreateIfNotExist( this, "对外销售额-" + [String]year.YearNo() + "å¹´-" + [String]month.MonthNo() + "月-年度预算" );
          traverse( this, CapacityAndSaleBudgeCompareItemRow, row ) {
            cellReal := MappingCapacityAndSaleBudge::GetSaleByMonth( row.GetProductCodes(), mpSync, year.YearNo(), month.MonthNo() );
            cellReal := Global_MappingAnnualBudgetData::GetSaleByMonth( row.GetProductCodes(), this, year.YearNo(), month.MonthNo() );
            cell := columnMonth.CapacityAndSaleBudgeCompareItemCell( relnew, CellContent := [String]cellReal );
            cell.CapacityAndSaleBudgeCompareItemRow( relset, row );
          }
        }
        columnYear := CapacityAndSaleBudgeCompareItemColumn::CreateIfNotExist( this, "对外销售额-" + [String]year.YearNo() + "å¹´-年度预算" );
        traverse( this, CapacityAndSaleBudgeCompareItemRow, row ) {
          cellReal := MappingCapacityAndSaleBudge::GetSaleByYear( row.GetProductCodes(), mpSync, year.YearNo() );
          cellReal := Global_MappingAnnualBudgetData::GetSaleByYear( row.GetProductCodes(), this, year.YearNo() );
          cell := columnYear.CapacityAndSaleBudgeCompareItemCell( relnew, CellContent := [String]cellReal );
          cell.CapacityAndSaleBudgeCompareItemRow( relset, row );
        }
@@ -138,7 +136,7 @@
          traverse( months, Elements, month ) {
            columnMonth := CapacityAndSaleBudgeCompareItemColumn::CreateIfNotExist( this, "对外销售额-" + [String]year.YearNo() + "å¹´-" + [String]month.MonthNo() + "月-" + macroPlan.ScenarioName() );
            traverse( this, CapacityAndSaleBudgeCompareItemRow, row ) {
              cellReal := MappingAnnualBudget::GetSaleByMonth( row.GetProductCodes(), mpSync, year.YearNo(), month.MonthNo() );
              cellReal := Forecast::GetFulfilledBalanceByMonth( row.GetProductCodes(), macroPlan, year.YearNo(), month.MonthNo() );
              cell := columnMonth.CapacityAndSaleBudgeCompareItemCell( relnew, CellContent := [String]cellReal );
              cell.CapacityAndSaleBudgeCompareItemRow( relset, row );
            }
@@ -146,7 +144,7 @@
          columnYear := CapacityAndSaleBudgeCompareItemColumn::CreateIfNotExist( this, "对外销售额-" + [String]year.YearNo() + "å¹´-total-" + macroPlan.ScenarioName() );
          traverse( this, CapacityAndSaleBudgeCompareItemRow, row ) {
            // QID 23
            cellReal := MappingAnnualBudget::GetSaleByYear( row.GetProductCodes(), mpSync, year.YearNo() );
            cellReal := Forecast::GetFulfilledBalanceByYear( row.GetProductCodes(), macroPlan, year.YearNo() );
            cell := columnYear.CapacityAndSaleBudgeCompareItemCell( relnew, CellContent := [String]cellReal );
            cell.CapacityAndSaleBudgeCompareItemRow( relset, row );
          }
_Main/BL/Type_GlobalDTOTable/Method_InitTestData#12.qbl
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,39 @@
Quintiq file version 2.0
#parent: #root
Method InitTestData (
  MacroPlan macroPlan
)
{
  TextBody:
  [*
    // yypsybs Oct-7-2023 (created)
    productCodeList := selectuniquevalues( macroPlan, Product_MP, item, item.ID() );
    debuginfo( "productCodeList : " + [String]productCodeList.Size() );
    if( this.Global_MappingAnnualBudgetData( relsize ) = 0 ) {
      debuginfo( "create Global_MappingAnnualBudgetData test data" );
      id := 1;
      for( year := Date::ActualDate().Year() - 10; year <= Date::ActualDate().Year() + 5; year := year + 1 ) {
        for( i := 1; i <= productCodeList.Size(); i := i + 1 ) {
          productCode := productCodeList.Element( i - 1 );
          mappingAnnualBudget := this.Global_MappingAnnualBudgetData( relnew,
                                                                      ID := [String]id,
                                                                      YearNo := [String]year,
                                                                      BusinessType := "事业部" + [String](productCode.Length() mod 3),
                                                                      ProductID := productCode);
          id := id + 1;
          for( month := 1; month <= 12; month := month + 1 ) {
            field := Reflection::FindAttribute( "Global_MappingAnnualBudgetData", "MonthlyModCapacity" + [String]month );
            field.Set( mappingAnnualBudget, [String]Real::Random( 20000.0, 30000.0 ) );
            field := Reflection::FindAttribute( "Global_MappingAnnualBudgetData", "MonthlySheetCapacity" + [String]month );
            field.Set( mappingAnnualBudget, [String]Real::Random( 20000.0, 30000.0 ) );
            field := Reflection::FindAttribute( "Global_MappingAnnualBudgetData", "MonthlySales" + [String]month );
            field.Set( mappingAnnualBudget, [String]Real::Random( 20000.0, 30000.0 ) );
          }
        }
      }
      result2 := selectset( this, Global_MappingAnnualBudgetData, item, true );
      debuginfo( "test MappingAnnualBudget size : " + [String]result2.Size() );
    }
  *]
}
_Main/BL/Type_GlobalDTOTable/Method_InitTestData.qbl
@@ -7,7 +7,7 @@
    //this.MatAttrSettingAndPlanStrategy( relflush );
    
    // yypsybs Sep-8-2023 (created)
    info( "CapacityAndSaleBudge::InitTestData" )
    debuginfo( "CapacityAndSaleBudge::InitTestData" )
    mat1 := MatAttrSettingAndPlanStrategy::CreateIfNotExist( this, 1, "手机事业部", "MAT_1", "MAT_1", "TYPE_1", 233.0, "通用", "长周期" );
    MatAttrSettingAndPlanStrategyDetail::CreateIfNotExist( mat1, "PROD_1", 666.0, "PROD_1_DESC" );
    MatAttrSettingAndPlanStrategyDetail::CreateIfNotExist( mat1, "PROD_2", 777.0, "PROD_2_DESC" );
_Main/BL/Type_GlobalDTOTable/Method_RefreshCapacityAndSaleBudgeFilter.qbl
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,26 @@
Quintiq file version 2.0
#parent: #root
Method RefreshCapacityAndSaleBudgeFilter (
  Boolean deleteBeforeCreate
)
{
  TextBody:
  [*
    if( deleteBeforeCreate ) {
      this.CapacityAndSaleBudgeFilterBusinessType( relflush );
      this.CapacityAndSaleBudgeFilterPlaceOfProductionOfArray( relflush );
    }
    // yypsybs Sep-21-2023 (created)
    debuginfo( "=====RefreshCapacityAndSaleBudgeFilter====" );
    businessTypes := selectuniquevalues( this, Global_MappingAnnualBudgetData, item, item.BusinessType() );
    debuginfo( [String]businessTypes.Size() );
    traverse( businessTypes, Elements, businessType ) {
      CapacityAndSaleBudgeFilterBusinessType::CreateIfNotExist( this, businessType );
    }
    placeOfProductionOfArrays := selectuniquevalues( this, Global_MappingAnnualBudgetData, item, item.OrgCodeFromBom() );
    debuginfo( [String]placeOfProductionOfArrays.Size() );
    traverse( placeOfProductionOfArrays, Elements, placeOfProductionOfArray ) {
      CapacityAndSaleBudgeFilterPlaceOfProductionOfArray::CreateIfNotExist( this, placeOfProductionOfArray );
    }
  *]
}
_Main/BL/Type_GlobalDTOTable/Method_SynchronizationAllMappingBrokerAndAPIByOption.qbl
@@ -89,31 +89,31 @@
    if ( isStockingPoint_MP ) {
      this.Global_MappingStockingPoint_MP( relflush );
      Global_BrokerExecuteLog::CreateInOperation( this, "StockingPoint_MP", executionUser );
      this -> OnException( this -> Global_MappingStockingPoint_MP::CreateByAPI() -> Exception(), this );
      this -> Global_MappingStockingPoint_MP::CreateByAPI() -> Exception() -> Global_MappingStockingPoint_MP::OnException( this );
    }
    
    if ( isCurrency_MP ) {
      this.Global_MappingCurrency_MP( relflush );
      Global_BrokerExecuteLog::CreateInOperation( this, "Currency_MP", executionUser );
      this -> OnException( this -> Global_MappingCurrency_MP::CreateByAPI() -> Exception(), this );
      this -> Global_MappingCurrency_MP::CreateByAPI() -> Exception() -> Global_MappingCurrency_MP::OnException( this );
    }
    
    if ( isCurrencyRate_MP ) {
      this.Global_MappingCurrencyRate_MP( relflush );
      Global_BrokerExecuteLog::CreateInOperation( this, "CurrencyRate_MP", executionUser );
      this -> OnException( this -> Global_MappingCurrencyRate_MP::CreateByAPI() -> Exception(), this );
      this -> Global_MappingCurrencyRate_MP::CreateByAPI() -> Exception() -> Global_MappingCurrencyRate_MP::OnException( this );
    }
    
    if ( isLane ) {
      this.Global_MappingLane( relflush );
      Global_BrokerExecuteLog::CreateInOperation( this, "Lane", executionUser );
      this -> OnException( this -> Global_MappingLane::CreateByAPI() -> Exception(), this );
      this -> Global_MappingLane::CreateByAPI() -> Exception() -> Global_MappingLane::OnException( this );
    }
    
    if ( isLaneLeg ) {
      this.Global_MappingLaneLeg( relflush );
      Global_BrokerExecuteLog::CreateInOperation( this, "LaneLeg", executionUser );
      this -> OnException( this -> Global_MappingLaneLeg::CreateByAPI() -> Exception(), this );
      this -> Global_MappingLaneLeg::CreateByAPI() -> Exception() -> Global_MappingLaneLeg::OnException( this );
    }
  *]
}
_Main/BL/Type_GlobalDTOTable/Method_SynchronizeDataToMacroPlan#127.qbl
@@ -4,11 +4,49 @@
  MacroPlan macroPlan,
  String executionUser,
  Boolean isUnitOfMeasure_MP,
  Boolean isCustomOrder
  Boolean isCustomOrder,
  Boolean isForeacst,
  Boolean isSalesSegment_MP,
  Boolean isProduct_MP,
  Boolean isConversionFactor,
  Boolean isOperation,
  Boolean isOperationBOM,
  Boolean isProductInLane,
  Boolean isAIPISPIP,
  Boolean isInventorySupply,
  Boolean isStockingPointCost,
  Boolean isOperationCost,
  Boolean isDOI_DSI,
  Boolean isCustomerGrade,
  Boolean isStockingPoint_MP,
  Boolean isCurrency_MP,
  Boolean isCurrencyRate_MP,
  Boolean isLane,
  Boolean isLaneLeg
)
{
  TextBody:
  [*
    organcodelist := selectvalues( this, Global_MappingOperationBOM, bom,true, bom.OrganCode() );
    businessTypes := macroPlan.BusinessType().Tokenize( "," );
    if( not isnull( businessTypes ) and businessTypes.Size() > 0 ) {
        traverse( businessTypes, Elements, item ) {
            info( "Business type : " + item )
        }
        organcodelist := selectvalues( this, BusinessType.OrganCode, organ, businessTypes.Find( organ.BusinessType().BusinessTypeName() ) <> -1, organ.OrganCodeName() );
    }
    else{
      if( businessTypes.Size() = 0 ){
        if( not isnull( selectset( this, BusinessType, b, b.BusinessTypeName() = "" ) ) ){
          organcodelist := selectvalues( this, BusinessType.OrganCode, organ, organ.BusinessType().BusinessTypeName() = "", organ.OrganCodeName() );
          }
        }
      }
    if( organcodelist.Size() = 0 ){
      organcodelist := selectvalues( this, Global_MappingOperationBOM, bom,true, bom.OrganCode() );
      }
    if ( isUnitOfMeasure_MP ) {
      Global_MappingUnitOfMeasure_MP::SynchronizeMacroPlanData( this, macroPlan );
    }
@@ -16,5 +54,87 @@
    if ( isCustomOrder ) {
      Global_MappingCustomOrder::SynchronizeMacroPlanData( this, macroPlan, executionUser );
    }
    if ( isForeacst ) {
      Global_MappingForecast::SynchronizeMacroPlanData( this, macroPlan, executionUser, businessTypes, organcodelist );
    }
    if ( isSalesSegment_MP ) {
      Global_MappingSalesSegment_MP::SynchronizeMacroPlanData( this, macroPlan, executionUser, businessTypes );
    }
    if ( isProduct_MP ) {
      Global_MappingProduct_MP::SynchronizeMacroPlanData( this, macroPlan, executionUser, businessTypes, macroPlan.IsKeyProduct() );
    }
    if ( isConversionFactor ) {
      Global_MappingConversionFactor::SynchronizeMacroPlanData( this, macroPlan, executionUser );
    }
    if ( isOperation ) {
      Global_MappingOperation::SynchronizeMacroPlanData( this, macroPlan, executionUser, businessTypes, organcodelist );
    }
    if ( isOperationBOM ) {
      Global_MappingOperationBOM::SynchronizeMacroPlanData( this, macroPlan, executionUser, businessTypes, organcodelist, macroPlan.IsKeyProduct(), macroPlan.CreatePurchaseSupplyMaterial() );
    }
    if ( isProductInLane ) {
      Global_MappingProductInLane::SynchronizeMacroPlanData( this, macroPlan, executionUser );
    }
    if ( isAIPISPIP ) {
      Global_MappingActualProductInStockingPointInPeriod::SynchronizeMacroPlanData( this, macroPlan, executionUser, businessTypes, organcodelist, macroPlan.IsKeyProduct() );
    }
    if ( isInventorySupply ) {
      Global_MappingInventorySupply::SynchronizeMacroPlanData( this, macroPlan, executionUser, businessTypes, organcodelist, macroPlan.IsKeyProduct() );
    }
    if ( isStockingPointCost ) {
      Global_MappingStockingPointCost::SynchronizeMacroPlanData( this, macroPlan, executionUser );
    }
    if ( isOperationCost ) {
      Global_MappingOperationCost::SynchronizeMacroPlanData( this, macroPlan, executionUser, businessTypes, organcodelist );
    }
    //if ( isDOI_DSI ) {
    //  Global_MappingDOI_DSI::SynchronizeInterfaceData( this, executionUser, "GlobalOTDTable_DOI_DSI" );
    //}
    //
    //if ( isCustomerGrade ) {
    //  Global_MappingCustomerGrade::SynchronizeInterfaceData( this, executionUser, "GlobalOTDTable_CustomerGrade" );
    //}
    //
    //if ( isStockingPoint_MP ) {
    //  this.Global_MappingStockingPoint_MP( relflush );
    //  Global_BrokerExecuteLog::CreateInOperation( this, "StockingPoint_MP", executionUser );
    ////  this -> Global_MappingStockingPoint_MP::CreateByAPI() -> Exception() -> Global_MappingStockingPoint_MP::OnException( this );
    //}
    //
    //if ( isCurrency_MP ) {
    //  this.Global_MappingCurrency_MP( relflush );
    //  Global_BrokerExecuteLog::CreateInOperation( this, "Currency_MP", executionUser );
    ////  this -> Global_MappingCurrency_MP::CreateByAPI() -> Exception() -> Global_MappingCurrency_MP::OnException( this );
    //}
    //
    //if ( isCurrencyRate_MP ) {
    //  this.Global_MappingCurrencyRate_MP( relflush );
    //  Global_BrokerExecuteLog::CreateInOperation( this, "CurrencyRate_MP", executionUser );
    ////  this -> Global_MappingCurrencyRate_MP::CreateByAPI() -> Exception() -> Global_MappingCurrencyRate_MP::OnException( this );
    //}
    //
    //if ( isLane ) {
    //  this.Global_MappingLane( relflush );
    //  Global_BrokerExecuteLog::CreateInOperation( this, "Lane", executionUser );
    ////  this -> Global_MappingLane::CreateByAPI() -> Exception() -> Global_MappingLane::OnException( this );
    //}
    //
    //if ( isLaneLeg ) {
    //  this.Global_MappingLaneLeg( relflush );
    //  Global_BrokerExecuteLog::CreateInOperation( this, "LaneLeg", executionUser );
    ////  this -> Global_MappingLaneLeg::CreateByAPI() -> Exception() -> Global_MappingLaneLeg::OnException( this );
    //}
  *]
}
_Main/BL/Type_GlobalDTOTable/StaticMethod_SynchronizationAllMappingBrokerAndAPI.qbl
@@ -27,7 +27,9 @@
    globalOTDTable.Global_MappingCustomOrder( relflush );
    globalOTDTable.Global_MappingDOI_DSI( relflush );
    globalOTDTable.Global_MappingCustomerGrade( relflush );
    // å¹´åº¦äº§é”€é¢„算中间表
    globalOTDTable.Global_MappingAnnualBudgetData( relflush );
    //globalOTDTable.GlobalOTDTable_UnitOfMeasure_MP().AsyncExecute();
    //globalOTDTable.GlobalOTDTable_SalesSegment_MP().AsyncExecute();
    //globalOTDTable -> OnException( globalOTDTable -> Global_MappingStockingPoint_MP::CreateByAPI() -> Exception(), globalOTDTable );
@@ -44,9 +46,13 @@
    //globalOTDTable.GlobalOTDTable_InventorySupply().AsyncExecute();
    //globalOTDTable.GlobalOTDTable_StockingPointCost().AsyncExecute();
    //globalOTDTable.GlobalOTDTable_OperationCost().AsyncExecute();
    //globalOTDTable.GlobalOTDTable_Forecast().AsyncExecute();
    //globalOTDTable.GlobalOTDTable_Forecast().AsyncExecute();
    //globalOTDTable.GlobalOTDTable_CustomOrder().AsyncExecute();
    //globalOTDTable.GlobalOTDTable_DOI_DSI().AsyncExecute();
    //globalOTDTable.GlobalOTDTable_CustomerGrade().AsyncExecute();
    // å¹´åº¦äº§é”€é¢„算中间表
    globalOTDTable.GlobalOTDTable_AnnualBudgetData().AsyncExecute();
    // æ ¹æ®Global_MappingOperationBOM刷GlobalOTDTable_AnnualBudgetData的OrgCodeFromBom
    Global_MappingAnnualBudgetData::SetOrgCodeFromForecast( globalOTDTable );
  *]
}
_Main/BL/Type_Global_MappingActualProductInStockingPointInPeriod/StaticMethod_SynchronizeMacroPlanData.qbl
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,34 @@
Quintiq file version 2.0
#parent: #root
StaticMethod SynchronizeMacroPlanData (
  GlobalOTDTable globalOTDTable,
  MacroPlan macroPlan,
  String executionUser,
  Strings businessTypes,
  Strings organcodelist,
  Boolean isKeyProduct
)
{
  TextBody:
  [*
    global_BrokerExecuteLog := globalOTDTable.Global_BrokerExecuteLog( relnew,
                                                                       Name        := "同步实际库存数据",
                                                                       IsSuccess   := true,
                                                                       ExecuteUser := executionUser
                                                                      );
    try {
      macroPlan.MappingActualPISPIPData( businessTypes, globalOTDTable, isKeyProduct, organcodelist );
      global_BrokerExecuteLog.ExecutionStatus( "Complete" );
      global_BrokerExecuteLog.SuccessDateTime( DateTime::ActualTime().Format( "Y-M-D H2:m:s" ) );
    } onerror {
      global_BrokerExecuteLog.IsSuccess( false );
      global_BrokerExecuteLog.ErrorNo( e.ErrorNr() );
      global_BrokerExecuteLog.ErrorMessage( e.GeneralInformation() );
      global_BrokerExecuteLog.ErrorDateTime( DateTime::ActualTime().Format( "Y-M-D H2:m:s" ) );
      global_BrokerExecuteLog.ExecutionStatus( "Complete" );
    }
  *]
}
_Main/BL/Type_Global_MappingAnnualBudgetData/Attribute_BusinessSort.qbl
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,8 @@
Quintiq file version 2.0
#parent: #root
Attribute BusinessSort
{
  #keys: '3[414384.0.936222715][414384.0.936222714][414384.0.936222716]'
  Description: '业务分类'
  ValueType: String
}
_Main/BL/Type_Global_MappingAnnualBudgetData/Attribute_BusinessType.qbl
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,8 @@
Quintiq file version 2.0
#parent: #root
Attribute BusinessType
{
  #keys: '3[414384.0.936222709][414384.0.936222708][414384.0.936222710]'
  Description: '事业部'
  ValueType: String
}
_Main/BL/Type_Global_MappingAnnualBudgetData/Attribute_CapacityEquivalent.qbl
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,8 @@
Quintiq file version 2.0
#parent: #root
Attribute CapacityEquivalent
{
  #keys: '3[414384.0.936222742][414384.0.936222741][414384.0.936222743]'
  Description: '产能当量'
  ValueType: String
}
_Main/BL/Type_Global_MappingAnnualBudgetData/Attribute_CutsNumber.qbl
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,8 @@
Quintiq file version 2.0
#parent: #root
Attribute CutsNumber
{
  #keys: '3[414384.0.936222739][414384.0.936222738][414384.0.936222740]'
  Description: '切割数'
  ValueType: String
}
_Main/BL/Type_Global_MappingAnnualBudgetData/Attribute_DisplayTechSort.qbl
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,8 @@
Quintiq file version 2.0
#parent: #root
Attribute DisplayTechSort
{
  #keys: '3[414384.0.936222712][414384.0.936222711][414384.0.936222713]'
  Description: '显示技术分类'
  ValueType: String
}
_Main/BL/Type_Global_MappingAnnualBudgetData/Attribute_ID.qbl
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,9 @@
Quintiq file version 2.0
#parent: #root
Attribute ID
{
  #keys: '3[414384.0.936222703][414384.0.936222702][414384.0.936222704]'
  Description: '序号'
  IsReadOnly: true
  ValueType: String
}
_Main/BL/Type_Global_MappingAnnualBudgetData/Attribute_MaskNumber.qbl
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,8 @@
Quintiq file version 2.0
#parent: #root
Attribute MaskNumber
{
  #keys: '3[414384.0.936222745][414384.0.936222744][414384.0.936222746]'
  Description: 'Mask数'
  ValueType: String
}
_Main/BL/Type_Global_MappingAnnualBudgetData/Attribute_MonthlyModCapacity1.qbl
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,8 @@
Quintiq file version 2.0
#parent: #root
Attribute MonthlyModCapacity1
{
  #keys: '3[414384.0.936222748][414384.0.936222747][414384.0.936222749]'
  Description: '月度模组产能1月'
  ValueType: String
}
_Main/BL/Type_Global_MappingAnnualBudgetData/Attribute_MonthlyModCapacity10.qbl
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,8 @@
Quintiq file version 2.0
#parent: #root
Attribute MonthlyModCapacity10
{
  #keys: '3[414384.0.936222775][414384.0.936222774][414384.0.936222776]'
  Description: '月度模组产能10月'
  ValueType: String
}
_Main/BL/Type_Global_MappingAnnualBudgetData/Attribute_MonthlyModCapacity11.qbl
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,8 @@
Quintiq file version 2.0
#parent: #root
Attribute MonthlyModCapacity11
{
  #keys: '3[414384.0.936222778][414384.0.936222777][414384.0.936222779]'
  Description: '月度模组产能11月'
  ValueType: String
}
_Main/BL/Type_Global_MappingAnnualBudgetData/Attribute_MonthlyModCapacity12.qbl
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,8 @@
Quintiq file version 2.0
#parent: #root
Attribute MonthlyModCapacity12
{
  #keys: '3[414384.0.936222781][414384.0.936222780][414384.0.936222782]'
  Description: '月度模组产能12月'
  ValueType: String
}
_Main/BL/Type_Global_MappingAnnualBudgetData/Attribute_MonthlyModCapacity2.qbl
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,8 @@
Quintiq file version 2.0
#parent: #root
Attribute MonthlyModCapacity2
{
  #keys: '3[414384.0.936222751][414384.0.936222750][414384.0.936222752]'
  Description: '月度模组产能2月'
  ValueType: String
}
_Main/BL/Type_Global_MappingAnnualBudgetData/Attribute_MonthlyModCapacity3.qbl
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,8 @@
Quintiq file version 2.0
#parent: #root
Attribute MonthlyModCapacity3
{
  #keys: '3[414384.0.936222754][414384.0.936222753][414384.0.936222755]'
  Description: '月度模组产能3月'
  ValueType: String
}
_Main/BL/Type_Global_MappingAnnualBudgetData/Attribute_MonthlyModCapacity4.qbl
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,8 @@
Quintiq file version 2.0
#parent: #root
Attribute MonthlyModCapacity4
{
  #keys: '3[414384.0.936222757][414384.0.936222756][414384.0.936222758]'
  Description: '月度模组产能4月'
  ValueType: String
}
_Main/BL/Type_Global_MappingAnnualBudgetData/Attribute_MonthlyModCapacity5.qbl
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,8 @@
Quintiq file version 2.0
#parent: #root
Attribute MonthlyModCapacity5
{
  #keys: '3[414384.0.936222760][414384.0.936222759][414384.0.936222761]'
  Description: '月度模组产能5月'
  ValueType: String
}
_Main/BL/Type_Global_MappingAnnualBudgetData/Attribute_MonthlyModCapacity6.qbl
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,8 @@
Quintiq file version 2.0
#parent: #root
Attribute MonthlyModCapacity6
{
  #keys: '3[414384.0.936222763][414384.0.936222762][414384.0.936222764]'
  Description: '月度模组产能6月'
  ValueType: String
}
_Main/BL/Type_Global_MappingAnnualBudgetData/Attribute_MonthlyModCapacity7.qbl
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,8 @@
Quintiq file version 2.0
#parent: #root
Attribute MonthlyModCapacity7
{
  #keys: '3[414384.0.936222766][414384.0.936222765][414384.0.936222767]'
  Description: '月度模组产能7月'
  ValueType: String
}
_Main/BL/Type_Global_MappingAnnualBudgetData/Attribute_MonthlyModCapacity8.qbl
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,8 @@
Quintiq file version 2.0
#parent: #root
Attribute MonthlyModCapacity8
{
  #keys: '3[414384.0.936222769][414384.0.936222768][414384.0.936222770]'
  Description: '月度模组产能8月'
  ValueType: String
}
_Main/BL/Type_Global_MappingAnnualBudgetData/Attribute_MonthlyModCapacity9.qbl
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,8 @@
Quintiq file version 2.0
#parent: #root
Attribute MonthlyModCapacity9
{
  #keys: '3[414384.0.936222772][414384.0.936222771][414384.0.936222773]'
  Description: '月度模组产能9月'
  ValueType: String
}
_Main/BL/Type_Global_MappingAnnualBudgetData/Attribute_MonthlySales1.qbl
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,8 @@
Quintiq file version 2.0
#parent: #root
Attribute MonthlySales1
{
  #keys: '3[414384.0.936222820][414384.0.936222819][414384.0.936222821]'
  Description: '月度销售额1月'
  ValueType: String
}
_Main/BL/Type_Global_MappingAnnualBudgetData/Attribute_MonthlySales10.qbl
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,8 @@
Quintiq file version 2.0
#parent: #root
Attribute MonthlySales10
{
  #keys: '3[414384.0.936222847][414384.0.936222846][414384.0.936222848]'
  Description: '月度销售额10月'
  ValueType: String
}
_Main/BL/Type_Global_MappingAnnualBudgetData/Attribute_MonthlySales11.qbl
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,8 @@
Quintiq file version 2.0
#parent: #root
Attribute MonthlySales11
{
  #keys: '3[414384.0.936222850][414384.0.936222849][414384.0.936222851]'
  Description: '月度销售额11月'
  ValueType: String
}
_Main/BL/Type_Global_MappingAnnualBudgetData/Attribute_MonthlySales12.qbl
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,8 @@
Quintiq file version 2.0
#parent: #root
Attribute MonthlySales12
{
  #keys: '3[414384.0.936222853][414384.0.936222852][414384.0.936222854]'
  Description: '月度销售额12月'
  ValueType: String
}
_Main/BL/Type_Global_MappingAnnualBudgetData/Attribute_MonthlySales2.qbl
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,8 @@
Quintiq file version 2.0
#parent: #root
Attribute MonthlySales2
{
  #keys: '3[414384.0.936222823][414384.0.936222822][414384.0.936222824]'
  Description: '月度销售额2月'
  ValueType: String
}
_Main/BL/Type_Global_MappingAnnualBudgetData/Attribute_MonthlySales3.qbl
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,8 @@
Quintiq file version 2.0
#parent: #root
Attribute MonthlySales3
{
  #keys: '3[414384.0.936222826][414384.0.936222825][414384.0.936222827]'
  Description: '月度销售额3月'
  ValueType: String
}
_Main/BL/Type_Global_MappingAnnualBudgetData/Attribute_MonthlySales4.qbl
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,8 @@
Quintiq file version 2.0
#parent: #root
Attribute MonthlySales4
{
  #keys: '3[414384.0.936222829][414384.0.936222828][414384.0.936222830]'
  Description: '月度销售额4月'
  ValueType: String
}
_Main/BL/Type_Global_MappingAnnualBudgetData/Attribute_MonthlySales5.qbl
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,8 @@
Quintiq file version 2.0
#parent: #root
Attribute MonthlySales5
{
  #keys: '3[414384.0.936222832][414384.0.936222831][414384.0.936222833]'
  Description: '月度销售额5月'
  ValueType: String
}
_Main/BL/Type_Global_MappingAnnualBudgetData/Attribute_MonthlySales6.qbl
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,8 @@
Quintiq file version 2.0
#parent: #root
Attribute MonthlySales6
{
  #keys: '3[414384.0.936222835][414384.0.936222834][414384.0.936222836]'
  Description: '月度销售额6月'
  ValueType: String
}
_Main/BL/Type_Global_MappingAnnualBudgetData/Attribute_MonthlySales7.qbl
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,8 @@
Quintiq file version 2.0
#parent: #root
Attribute MonthlySales7
{
  #keys: '3[414384.0.936222838][414384.0.936222837][414384.0.936222839]'
  Description: '月度销售额7月'
  ValueType: String
}
_Main/BL/Type_Global_MappingAnnualBudgetData/Attribute_MonthlySales8.qbl
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,8 @@
Quintiq file version 2.0
#parent: #root
Attribute MonthlySales8
{
  #keys: '3[414384.0.936222841][414384.0.936222840][414384.0.936222842]'
  Description: '月度销售额8月'
  ValueType: String
}
_Main/BL/Type_Global_MappingAnnualBudgetData/Attribute_MonthlySales9.qbl
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,8 @@
Quintiq file version 2.0
#parent: #root
Attribute MonthlySales9
{
  #keys: '3[414384.0.936222844][414384.0.936222843][414384.0.936222845]'
  Description: '月度销售额9月'
  ValueType: String
}
_Main/BL/Type_Global_MappingAnnualBudgetData/Attribute_MonthlySheetCapacity1.qbl
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,8 @@
Quintiq file version 2.0
#parent: #root
Attribute MonthlySheetCapacity1
{
  #keys: '3[414384.0.936222784][414384.0.936222783][414384.0.936222785]'
  Description: '月度实数大张产能1月'
  ValueType: String
}
_Main/BL/Type_Global_MappingAnnualBudgetData/Attribute_MonthlySheetCapacity10.qbl
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,8 @@
Quintiq file version 2.0
#parent: #root
Attribute MonthlySheetCapacity10
{
  #keys: '3[414384.0.936222811][414384.0.936222810][414384.0.936222812]'
  Description: '月度实数大张产能10月'
  ValueType: String
}
_Main/BL/Type_Global_MappingAnnualBudgetData/Attribute_MonthlySheetCapacity11.qbl
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,8 @@
Quintiq file version 2.0
#parent: #root
Attribute MonthlySheetCapacity11
{
  #keys: '3[414384.0.936222814][414384.0.936222813][414384.0.936222815]'
  Description: '月度实数大张产能11月'
  ValueType: String
}
_Main/BL/Type_Global_MappingAnnualBudgetData/Attribute_MonthlySheetCapacity12.qbl
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,8 @@
Quintiq file version 2.0
#parent: #root
Attribute MonthlySheetCapacity12
{
  #keys: '3[414384.0.936222817][414384.0.936222816][414384.0.936222818]'
  Description: '月度实数大张产能12月'
  ValueType: String
}
_Main/BL/Type_Global_MappingAnnualBudgetData/Attribute_MonthlySheetCapacity2.qbl
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,8 @@
Quintiq file version 2.0
#parent: #root
Attribute MonthlySheetCapacity2
{
  #keys: '3[414384.0.936222787][414384.0.936222786][414384.0.936222788]'
  Description: '月度实数大张产能2月'
  ValueType: String
}
_Main/BL/Type_Global_MappingAnnualBudgetData/Attribute_MonthlySheetCapacity3.qbl
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,8 @@
Quintiq file version 2.0
#parent: #root
Attribute MonthlySheetCapacity3
{
  #keys: '3[414384.0.936222790][414384.0.936222789][414384.0.936222791]'
  Description: '月度实数大张产能3月'
  ValueType: String
}
_Main/BL/Type_Global_MappingAnnualBudgetData/Attribute_MonthlySheetCapacity4.qbl
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,8 @@
Quintiq file version 2.0
#parent: #root
Attribute MonthlySheetCapacity4
{
  #keys: '3[414384.0.936222793][414384.0.936222792][414384.0.936222794]'
  Description: '月度实数大张产能4月'
  ValueType: String
}
_Main/BL/Type_Global_MappingAnnualBudgetData/Attribute_MonthlySheetCapacity5.qbl
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,8 @@
Quintiq file version 2.0
#parent: #root
Attribute MonthlySheetCapacity5
{
  #keys: '3[414384.0.936222796][414384.0.936222795][414384.0.936222797]'
  Description: '月度实数大张产能5月'
  ValueType: String
}
_Main/BL/Type_Global_MappingAnnualBudgetData/Attribute_MonthlySheetCapacity6.qbl
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,8 @@
Quintiq file version 2.0
#parent: #root
Attribute MonthlySheetCapacity6
{
  #keys: '3[414384.0.936222799][414384.0.936222798][414384.0.936222800]'
  Description: '月度实数大张产能6月'
  ValueType: String
}
_Main/BL/Type_Global_MappingAnnualBudgetData/Attribute_MonthlySheetCapacity7.qbl
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,8 @@
Quintiq file version 2.0
#parent: #root
Attribute MonthlySheetCapacity7
{
  #keys: '3[414384.0.936222802][414384.0.936222801][414384.0.936222803]'
  Description: '月度实数大张产能7月'
  ValueType: String
}
_Main/BL/Type_Global_MappingAnnualBudgetData/Attribute_MonthlySheetCapacity8.qbl
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,8 @@
Quintiq file version 2.0
#parent: #root
Attribute MonthlySheetCapacity8
{
  #keys: '3[414384.0.936222805][414384.0.936222804][414384.0.936222806]'
  Description: '月度实数大张产能8月'
  ValueType: String
}
_Main/BL/Type_Global_MappingAnnualBudgetData/Attribute_MonthlySheetCapacity9.qbl
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,8 @@
Quintiq file version 2.0
#parent: #root
Attribute MonthlySheetCapacity9
{
  #keys: '3[414384.0.936222808][414384.0.936222807][414384.0.936222809]'
  Description: '月度实数大张产能9月'
  ValueType: String
}
_Main/BL/Type_Global_MappingAnnualBudgetData/Attribute_OrgCodeFromBom.qbl
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,8 @@
Quintiq file version 2.0
#parent: #root
Attribute OrgCodeFromBom
{
  #keys: '3[414384.0.936171531][414384.0.936171530][414384.0.936171532]'
  Description: '用料号到Global_MappingForecast查的orgCode'
  ValueType: String
}
_Main/BL/Type_Global_MappingAnnualBudgetData/Attribute_OrganCode.qbl
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,8 @@
Quintiq file version 2.0
#parent: #root
Attribute OrganCode
{
  #keys: '3[414384.0.936222724][414384.0.936222723][414384.0.936222725]'
  Description: '组织编码'
  ValueType: String
}
_Main/BL/Type_Global_MappingAnnualBudgetData/Attribute_OrganName.qbl
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,8 @@
Quintiq file version 2.0
#parent: #root
Attribute OrganName
{
  #keys: '3[414384.0.936222727][414384.0.936222726][414384.0.936222728]'
  Description: '组织名称'
  ValueType: String
}
_Main/BL/Type_Global_MappingAnnualBudgetData/Attribute_PlantName.qbl
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,8 @@
Quintiq file version 2.0
#parent: #root
Attribute PlantName
{
  #keys: '3[414384.0.936222730][414384.0.936222729][414384.0.936222731]'
  Description: '工厂名称'
  ValueType: String
}
_Main/BL/Type_Global_MappingAnnualBudgetData/Attribute_ProductID.qbl
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,8 @@
Quintiq file version 2.0
#parent: #root
Attribute ProductID
{
  #keys: '3[414384.0.936222721][414384.0.936222720][414384.0.936222722]'
  Description: '产品编码'
  ValueType: String
}
_Main/BL/Type_Global_MappingAnnualBudgetData/Attribute_ProductLineAndSpecification.qbl
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,8 @@
Quintiq file version 2.0
#parent: #root
Attribute ProductLineAndSpecification
{
  #keys: '3[414384.0.936222718][414384.0.936222717][414384.0.936222719]'
  Description: '产品线/产品规格'
  ValueType: String
}
_Main/BL/Type_Global_MappingAnnualBudgetData/Attribute_ResolutionRatio.qbl
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,8 @@
Quintiq file version 2.0
#parent: #root
Attribute ResolutionRatio
{
  #keys: '3[414384.0.936222733][414384.0.936222732][414384.0.936222734]'
  Description: '分辨率'
  ValueType: String
}
_Main/BL/Type_Global_MappingAnnualBudgetData/Attribute_ShippingForm.qbl
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,8 @@
Quintiq file version 2.0
#parent: #root
Attribute ShippingForm
{
  #keys: '3[414384.0.936222736][414384.0.936222735][414384.0.936222737]'
  Description: '出货形态'
  ValueType: String
}
_Main/BL/Type_Global_MappingAnnualBudgetData/Attribute_YearNo.qbl
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,8 @@
Quintiq file version 2.0
#parent: #root
Attribute YearNo
{
  #keys: '3[414384.0.936222706][414384.0.936222705][414384.0.936222707]'
  Description: '年份'
  ValueType: String
}
_Main/BL/Type_Global_MappingAnnualBudgetData/Method_GetCapacityInPCSInYear.qbl
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,15 @@
Quintiq file version 2.0
#parent: #root
Method GetCapacityInPCSInYear () as Real
{
  TextBody:
  [*
    // yypsybs Sep-18-2023 (created)
    result := 0.0;
    for( i := 1; i <= 12; i := i + 1 ) {
      field := Reflection::FindAttribute( "Global_MappingAnnualBudgetData", "MonthlyModCapacity" + [String]i );
      result := result + [Real]field.GetString( this );
    }
    return result;
  *]
}
_Main/BL/Type_Global_MappingAnnualBudgetData/Method_GetCapacityInSheetInHalfYear.qbl
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,19 @@
Quintiq file version 2.0
#parent: #root
Method GetCapacityInSheetInHalfYear (
  Number halfNo
) as Real
{
  TextBody:
  [*
    // yypsybs Sep-18-2023 (created)
    result := 0.0;
    fromMonth := 1 + ( halfNo - 1 ) * 6;
    toMonth := 6 + ( halfNo - 1 ) * 6;
    for( i := fromMonth; i <= toMonth; i := i + 1 ) {
      field := Reflection::FindAttribute( "Global_MappingAnnualBudgetData", "MonthlySheetCapacity" + [String]i );
      result := result + [Real]field.GetString( this );
    }
    return result;
  *]
}
_Main/BL/Type_Global_MappingAnnualBudgetData/Method_GetCapacityInSheetInSeason.qbl
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,19 @@
Quintiq file version 2.0
#parent: #root
Method GetCapacityInSheetInSeason (
  Number seasonNo
) as Real
{
  TextBody:
  [*
    // yypsybs Sep-18-2023 (created)
    result := 0.0;
    fromMonth := 1 + ( seasonNo - 1 ) * 3;
    toMonth := 3 + ( seasonNo - 1 ) * 3;
    for( i := fromMonth; i <= toMonth; i := i + 1 ) {
      field := Reflection::FindAttribute( "Global_MappingAnnualBudgetData", "MonthlySheetCapacity" + [String]i );
      result := result + [Real]field.GetString( this );
    }
    return result;
  *]
}
_Main/BL/Type_Global_MappingAnnualBudgetData/Method_GetCapacityInSheetInYear.qbl
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,15 @@
Quintiq file version 2.0
#parent: #root
Method GetCapacityInSheetInYear () as Real
{
  TextBody:
  [*
    // yypsybs Sep-18-2023 (created)
    result := 0.0;
    for( i := 1; i <= 12; i := i + 1 ) {
      field := Reflection::FindAttribute( "Global_MappingAnnualBudgetData", "MonthlySheetCapacity" + [String]i );
      result := result + [Real]field.GetString( this );
    }
    return result;
  *]
}
_Main/BL/Type_Global_MappingAnnualBudgetData/Method_GetSaleAmountInHalfYear.qbl
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,19 @@
Quintiq file version 2.0
#parent: #root
Method GetSaleAmountInHalfYear (
  Number halfNo
) as Real
{
  TextBody:
  [*
    // yypsybs Sep-18-2023 (created)
    result := 0.0;
    fromMonth := 1 + ( halfNo - 1 ) * 6;
    toMonth := 6 + ( halfNo - 1 ) * 6;
    for( i := fromMonth; i <= toMonth; i := i + 1 ) {
      field := Reflection::FindAttribute( "Global_MappingAnnualBudgetData", "MonthlySales" + [String]i );
      result := result + [Real]field.GetString( this );
    }
    return result;
  *]
}
_Main/BL/Type_Global_MappingAnnualBudgetData/Method_GetSaleAmountInSeason#000.qbl
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,19 @@
Quintiq file version 2.0
#parent: #root
Method GetSaleAmountInSeason (
  Number seasonNo
) as Real
{
  TextBody:
  [*
    // yypsybs Sep-18-2023 (created)
    result := 0.0;
    fromMonth := 1 + ( seasonNo - 1 ) * 3;
    toMonth := 3 + ( seasonNo - 1 ) * 3;
    for( i := fromMonth; i <= toMonth; i := i + 1 ) {
      field := Reflection::FindAttribute( "Global_MappingAnnualBudgetData", "MonthlySales" + [String]i );
      result := result + [Real]field.GetString( this );
    }
    return result;
  *]
}
_Main/BL/Type_Global_MappingAnnualBudgetData/Method_GetSaleAmountInYear.qbl
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,15 @@
Quintiq file version 2.0
#parent: #root
Method GetSaleAmountInYear () as Real
{
  TextBody:
  [*
    // yypsybs Sep-18-2023 (created)
    result := 0.0;
    for( i := 1; i <= 12; i := i + 1 ) {
      field := Reflection::FindAttribute( "Global_MappingAnnualBudgetData", "MonthlySales" + [String]i );
      result := result + [Real]field.GetString( this );
    }
    return result;
  *]
}
_Main/BL/Type_Global_MappingAnnualBudgetData/StaticMethod_Export#666.qbl
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,507 @@
Quintiq file version 2.0
#parent: #root
StaticMethod Export (
  Global_MappingAnnualBudgetDatas toExportList
) as String
{
  TextBody:
  [*
    // generate by generate_export_method.py
    xmlTemplate := '<?xml version="1.0" encoding="UTF-16"?>
    <table>
      <name>Global_MappingAnnualBudgetData</name>
    ';
    debuginfo( "export start" );
    //---------------------------------------------------------------------------------------------
    columnStr := "<column><name>年份</name><type>String</type>";
    traverse( toExportList, Elements, toExportItem ) {
      debuginfo( "export column YearNo" );
      yearNo := toExportItem.YearNo();
      cellStr := '<cell value="' + yearNo + '"/>';
      columnStr := columnStr + cellStr;
    }
    columnStr := columnStr + "</column>";
    xmlTemplate := xmlTemplate + columnStr;
    //---------------------------------------------------------------------------------------------
    columnStr := "<column><name>事业部</name><type>String</type>";
    traverse( toExportList, Elements, toExportItem ) {
      debuginfo( "export column BusinessType" );
      businessType := toExportItem.BusinessType();
      cellStr := '<cell value="' + businessType + '"/>';
      columnStr := columnStr + cellStr;
    }
    columnStr := columnStr + "</column>";
    xmlTemplate := xmlTemplate + columnStr;
    //---------------------------------------------------------------------------------------------
    columnStr := "<column><name>显示技术分类</name><type>String</type>";
    traverse( toExportList, Elements, toExportItem ) {
      debuginfo( "export column DisplayTechSort" );
      displayTechSort := toExportItem.DisplayTechSort();
      cellStr := '<cell value="' + displayTechSort + '"/>';
      columnStr := columnStr + cellStr;
    }
    columnStr := columnStr + "</column>";
    xmlTemplate := xmlTemplate + columnStr;
    //---------------------------------------------------------------------------------------------
    columnStr := "<column><name>业务分类</name><type>String</type>";
    traverse( toExportList, Elements, toExportItem ) {
      debuginfo( "export column BusinessSort" );
      businessSort := toExportItem.BusinessSort();
      cellStr := '<cell value="' + businessSort + '"/>';
      columnStr := columnStr + cellStr;
    }
    columnStr := columnStr + "</column>";
    xmlTemplate := xmlTemplate + columnStr;
    //---------------------------------------------------------------------------------------------
    columnStr := "<column><name>产品线/产品规格</name><type>String</type>";
    traverse( toExportList, Elements, toExportItem ) {
      debuginfo( "export column ProductLineAndSpecification" );
      productLineAndSpecification := toExportItem.ProductLineAndSpecification();
      cellStr := '<cell value="' + productLineAndSpecification + '"/>';
      columnStr := columnStr + cellStr;
    }
    columnStr := columnStr + "</column>";
    xmlTemplate := xmlTemplate + columnStr;
    //---------------------------------------------------------------------------------------------
    columnStr := "<column><name>产品编码</name><type>String</type>";
    traverse( toExportList, Elements, toExportItem ) {
      debuginfo( "export column ProductID" );
      productID := toExportItem.ProductID();
      cellStr := '<cell value="' + productID + '"/>';
      columnStr := columnStr + cellStr;
    }
    columnStr := columnStr + "</column>";
    xmlTemplate := xmlTemplate + columnStr;
    //---------------------------------------------------------------------------------------------
    columnStr := "<column><name>OrgCodeFromBom</name><type>String</type>";
    traverse( toExportList, Elements, toExportItem ) {
      debuginfo( "export column OrgCodeFromBom" );
      orgCodeFromBom := toExportItem.OrgCodeFromBom();
      cellStr := '<cell value="' + orgCodeFromBom + '"/>';
      columnStr := columnStr + cellStr;
    }
    columnStr := columnStr + "</column>";
    xmlTemplate := xmlTemplate + columnStr;
    //---------------------------------------------------------------------------------------------
    columnStr := "<column><name>分辨率</name><type>String</type>";
    traverse( toExportList, Elements, toExportItem ) {
      debuginfo( "export column ResolutionRatio" );
      resolutionRatio := toExportItem.ResolutionRatio();
      cellStr := '<cell value="' + resolutionRatio + '"/>';
      columnStr := columnStr + cellStr;
    }
    columnStr := columnStr + "</column>";
    xmlTemplate := xmlTemplate + columnStr;
    //---------------------------------------------------------------------------------------------
    columnStr := "<column><name>出货形态</name><type>String</type>";
    traverse( toExportList, Elements, toExportItem ) {
      debuginfo( "export column ShippingForm" );
      shippingForm := toExportItem.ShippingForm();
      cellStr := '<cell value="' + shippingForm + '"/>';
      columnStr := columnStr + cellStr;
    }
    columnStr := columnStr + "</column>";
    xmlTemplate := xmlTemplate + columnStr;
    //---------------------------------------------------------------------------------------------
    columnStr := "<column><name>切割数</name><type>String</type>";
    traverse( toExportList, Elements, toExportItem ) {
      debuginfo( "export column CutsNumber" );
      cutsNumber := toExportItem.CutsNumber();
      cellStr := '<cell value="' + cutsNumber + '"/>';
      columnStr := columnStr + cellStr;
    }
    columnStr := columnStr + "</column>";
    xmlTemplate := xmlTemplate + columnStr;
    //---------------------------------------------------------------------------------------------
    columnStr := "<column><name>产能当量</name><type>String</type>";
    traverse( toExportList, Elements, toExportItem ) {
      debuginfo( "export column CapacityEquivalent" );
      capacityEquivalent := toExportItem.CapacityEquivalent();
      cellStr := '<cell value="' + capacityEquivalent + '"/>';
      columnStr := columnStr + cellStr;
    }
    columnStr := columnStr + "</column>";
    xmlTemplate := xmlTemplate + columnStr;
    //---------------------------------------------------------------------------------------------
    columnStr := "<column><name>Mask数</name><type>String</type>";
    traverse( toExportList, Elements, toExportItem ) {
      debuginfo( "export column MaskNumber" );
      maskNumber := toExportItem.MaskNumber();
      cellStr := '<cell value="' + maskNumber + '"/>';
      columnStr := columnStr + cellStr;
    }
    columnStr := columnStr + "</column>";
    xmlTemplate := xmlTemplate + columnStr;
    //---------------------------------------------------------------------------------------------
    columnStr := "<column><name>月度模组产能1月</name><type>String</type>";
    traverse( toExportList, Elements, toExportItem ) {
      debuginfo( "export column MonthlyModCapacity1" );
      monthlyModCapacity1 := toExportItem.MonthlyModCapacity1();
      cellStr := '<cell value="' + monthlyModCapacity1 + '"/>';
      columnStr := columnStr + cellStr;
    }
    columnStr := columnStr + "</column>";
    xmlTemplate := xmlTemplate + columnStr;
    //---------------------------------------------------------------------------------------------
    columnStr := "<column><name>月度模组产能2月</name><type>String</type>";
    traverse( toExportList, Elements, toExportItem ) {
      debuginfo( "export column MonthlyModCapacity2" );
      monthlyModCapacity2 := toExportItem.MonthlyModCapacity2();
      cellStr := '<cell value="' + monthlyModCapacity2 + '"/>';
      columnStr := columnStr + cellStr;
    }
    columnStr := columnStr + "</column>";
    xmlTemplate := xmlTemplate + columnStr;
    //---------------------------------------------------------------------------------------------
    columnStr := "<column><name>月度模组产能3月</name><type>String</type>";
    traverse( toExportList, Elements, toExportItem ) {
      debuginfo( "export column MonthlyModCapacity3" );
      monthlyModCapacity3 := toExportItem.MonthlyModCapacity3();
      cellStr := '<cell value="' + monthlyModCapacity3 + '"/>';
      columnStr := columnStr + cellStr;
    }
    columnStr := columnStr + "</column>";
    xmlTemplate := xmlTemplate + columnStr;
    //---------------------------------------------------------------------------------------------
    columnStr := "<column><name>月度模组产能4月</name><type>String</type>";
    traverse( toExportList, Elements, toExportItem ) {
      debuginfo( "export column MonthlyModCapacity4" );
      monthlyModCapacity4 := toExportItem.MonthlyModCapacity4();
      cellStr := '<cell value="' + monthlyModCapacity4 + '"/>';
      columnStr := columnStr + cellStr;
    }
    columnStr := columnStr + "</column>";
    xmlTemplate := xmlTemplate + columnStr;
    //---------------------------------------------------------------------------------------------
    columnStr := "<column><name>月度模组产能5月</name><type>String</type>";
    traverse( toExportList, Elements, toExportItem ) {
      debuginfo( "export column MonthlyModCapacity5" );
      monthlyModCapacity5 := toExportItem.MonthlyModCapacity5();
      cellStr := '<cell value="' + monthlyModCapacity5 + '"/>';
      columnStr := columnStr + cellStr;
    }
    columnStr := columnStr + "</column>";
    xmlTemplate := xmlTemplate + columnStr;
    //---------------------------------------------------------------------------------------------
    columnStr := "<column><name>月度模组产能6月</name><type>String</type>";
    traverse( toExportList, Elements, toExportItem ) {
      debuginfo( "export column MonthlyModCapacity6" );
      monthlyModCapacity6 := toExportItem.MonthlyModCapacity6();
      cellStr := '<cell value="' + monthlyModCapacity6 + '"/>';
      columnStr := columnStr + cellStr;
    }
    columnStr := columnStr + "</column>";
    xmlTemplate := xmlTemplate + columnStr;
    //---------------------------------------------------------------------------------------------
    columnStr := "<column><name>月度模组产能7月</name><type>String</type>";
    traverse( toExportList, Elements, toExportItem ) {
      debuginfo( "export column MonthlyModCapacity7" );
      monthlyModCapacity7 := toExportItem.MonthlyModCapacity7();
      cellStr := '<cell value="' + monthlyModCapacity7 + '"/>';
      columnStr := columnStr + cellStr;
    }
    columnStr := columnStr + "</column>";
    xmlTemplate := xmlTemplate + columnStr;
    //---------------------------------------------------------------------------------------------
    columnStr := "<column><name>月度模组产能8月</name><type>String</type>";
    traverse( toExportList, Elements, toExportItem ) {
      debuginfo( "export column MonthlyModCapacity8" );
      monthlyModCapacity8 := toExportItem.MonthlyModCapacity8();
      cellStr := '<cell value="' + monthlyModCapacity8 + '"/>';
      columnStr := columnStr + cellStr;
    }
    columnStr := columnStr + "</column>";
    xmlTemplate := xmlTemplate + columnStr;
    //---------------------------------------------------------------------------------------------
    columnStr := "<column><name>月度模组产能9月</name><type>String</type>";
    traverse( toExportList, Elements, toExportItem ) {
      debuginfo( "export column MonthlyModCapacity9" );
      monthlyModCapacity9 := toExportItem.MonthlyModCapacity9();
      cellStr := '<cell value="' + monthlyModCapacity9 + '"/>';
      columnStr := columnStr + cellStr;
    }
    columnStr := columnStr + "</column>";
    xmlTemplate := xmlTemplate + columnStr;
    //---------------------------------------------------------------------------------------------
    columnStr := "<column><name>月度模组产能10月</name><type>String</type>";
    traverse( toExportList, Elements, toExportItem ) {
      debuginfo( "export column MonthlyModCapacity10" );
      monthlyModCapacity10 := toExportItem.MonthlyModCapacity10();
      cellStr := '<cell value="' + monthlyModCapacity10 + '"/>';
      columnStr := columnStr + cellStr;
    }
    columnStr := columnStr + "</column>";
    xmlTemplate := xmlTemplate + columnStr;
    //---------------------------------------------------------------------------------------------
    columnStr := "<column><name>月度模组产能11月</name><type>String</type>";
    traverse( toExportList, Elements, toExportItem ) {
      debuginfo( "export column MonthlyModCapacity11" );
      monthlyModCapacity11 := toExportItem.MonthlyModCapacity11();
      cellStr := '<cell value="' + monthlyModCapacity11 + '"/>';
      columnStr := columnStr + cellStr;
    }
    columnStr := columnStr + "</column>";
    xmlTemplate := xmlTemplate + columnStr;
    //---------------------------------------------------------------------------------------------
    columnStr := "<column><name>月度模组产能12月</name><type>String</type>";
    traverse( toExportList, Elements, toExportItem ) {
      debuginfo( "export column MonthlyModCapacity12" );
      monthlyModCapacity12 := toExportItem.MonthlyModCapacity12();
      cellStr := '<cell value="' + monthlyModCapacity12 + '"/>';
      columnStr := columnStr + cellStr;
    }
    columnStr := columnStr + "</column>";
    xmlTemplate := xmlTemplate + columnStr;
    //---------------------------------------------------------------------------------------------
    columnStr := "<column><name>月度实数大张产能1月</name><type>String</type>";
    traverse( toExportList, Elements, toExportItem ) {
      debuginfo( "export column MonthlySheetCapacity1" );
      monthlySheetCapacity1 := toExportItem.MonthlySheetCapacity1();
      cellStr := '<cell value="' + monthlySheetCapacity1 + '"/>';
      columnStr := columnStr + cellStr;
    }
    columnStr := columnStr + "</column>";
    xmlTemplate := xmlTemplate + columnStr;
    //---------------------------------------------------------------------------------------------
    columnStr := "<column><name>月度实数大张产能2月</name><type>String</type>";
    traverse( toExportList, Elements, toExportItem ) {
      debuginfo( "export column MonthlySheetCapacity2" );
      monthlySheetCapacity2 := toExportItem.MonthlySheetCapacity2();
      cellStr := '<cell value="' + monthlySheetCapacity2 + '"/>';
      columnStr := columnStr + cellStr;
    }
    columnStr := columnStr + "</column>";
    xmlTemplate := xmlTemplate + columnStr;
    //---------------------------------------------------------------------------------------------
    columnStr := "<column><name>月度实数大张产能3月</name><type>String</type>";
    traverse( toExportList, Elements, toExportItem ) {
      debuginfo( "export column MonthlySheetCapacity3" );
      monthlySheetCapacity3 := toExportItem.MonthlySheetCapacity3();
      cellStr := '<cell value="' + monthlySheetCapacity3 + '"/>';
      columnStr := columnStr + cellStr;
    }
    columnStr := columnStr + "</column>";
    xmlTemplate := xmlTemplate + columnStr;
    //---------------------------------------------------------------------------------------------
    columnStr := "<column><name>月度实数大张产能4月</name><type>String</type>";
    traverse( toExportList, Elements, toExportItem ) {
      debuginfo( "export column MonthlySheetCapacity4" );
      monthlySheetCapacity4 := toExportItem.MonthlySheetCapacity4();
      cellStr := '<cell value="' + monthlySheetCapacity4 + '"/>';
      columnStr := columnStr + cellStr;
    }
    columnStr := columnStr + "</column>";
    xmlTemplate := xmlTemplate + columnStr;
    //---------------------------------------------------------------------------------------------
    columnStr := "<column><name>月度实数大张产能5月</name><type>String</type>";
    traverse( toExportList, Elements, toExportItem ) {
      debuginfo( "export column MonthlySheetCapacity5" );
      monthlySheetCapacity5 := toExportItem.MonthlySheetCapacity5();
      cellStr := '<cell value="' + monthlySheetCapacity5 + '"/>';
      columnStr := columnStr + cellStr;
    }
    columnStr := columnStr + "</column>";
    xmlTemplate := xmlTemplate + columnStr;
    //---------------------------------------------------------------------------------------------
    columnStr := "<column><name>月度实数大张产能6月</name><type>String</type>";
    traverse( toExportList, Elements, toExportItem ) {
      debuginfo( "export column MonthlySheetCapacity6" );
      monthlySheetCapacity6 := toExportItem.MonthlySheetCapacity6();
      cellStr := '<cell value="' + monthlySheetCapacity6 + '"/>';
      columnStr := columnStr + cellStr;
    }
    columnStr := columnStr + "</column>";
    xmlTemplate := xmlTemplate + columnStr;
    //---------------------------------------------------------------------------------------------
    columnStr := "<column><name>月度实数大张产能7月</name><type>String</type>";
    traverse( toExportList, Elements, toExportItem ) {
      debuginfo( "export column MonthlySheetCapacity7" );
      monthlySheetCapacity7 := toExportItem.MonthlySheetCapacity7();
      cellStr := '<cell value="' + monthlySheetCapacity7 + '"/>';
      columnStr := columnStr + cellStr;
    }
    columnStr := columnStr + "</column>";
    xmlTemplate := xmlTemplate + columnStr;
    //---------------------------------------------------------------------------------------------
    columnStr := "<column><name>月度实数大张产能8月</name><type>String</type>";
    traverse( toExportList, Elements, toExportItem ) {
      debuginfo( "export column MonthlySheetCapacity8" );
      monthlySheetCapacity8 := toExportItem.MonthlySheetCapacity8();
      cellStr := '<cell value="' + monthlySheetCapacity8 + '"/>';
      columnStr := columnStr + cellStr;
    }
    columnStr := columnStr + "</column>";
    xmlTemplate := xmlTemplate + columnStr;
    //---------------------------------------------------------------------------------------------
    columnStr := "<column><name>月度实数大张产能9月</name><type>String</type>";
    traverse( toExportList, Elements, toExportItem ) {
      debuginfo( "export column MonthlySheetCapacity9" );
      monthlySheetCapacity9 := toExportItem.MonthlySheetCapacity9();
      cellStr := '<cell value="' + monthlySheetCapacity9 + '"/>';
      columnStr := columnStr + cellStr;
    }
    columnStr := columnStr + "</column>";
    xmlTemplate := xmlTemplate + columnStr;
    //---------------------------------------------------------------------------------------------
    columnStr := "<column><name>月度实数大张产能10月</name><type>String</type>";
    traverse( toExportList, Elements, toExportItem ) {
      debuginfo( "export column MonthlySheetCapacity10" );
      monthlySheetCapacity10 := toExportItem.MonthlySheetCapacity10();
      cellStr := '<cell value="' + monthlySheetCapacity10 + '"/>';
      columnStr := columnStr + cellStr;
    }
    columnStr := columnStr + "</column>";
    xmlTemplate := xmlTemplate + columnStr;
    //---------------------------------------------------------------------------------------------
    columnStr := "<column><name>月度实数大张产能11月</name><type>String</type>";
    traverse( toExportList, Elements, toExportItem ) {
      debuginfo( "export column MonthlySheetCapacity11" );
      monthlySheetCapacity11 := toExportItem.MonthlySheetCapacity11();
      cellStr := '<cell value="' + monthlySheetCapacity11 + '"/>';
      columnStr := columnStr + cellStr;
    }
    columnStr := columnStr + "</column>";
    xmlTemplate := xmlTemplate + columnStr;
    //---------------------------------------------------------------------------------------------
    columnStr := "<column><name>月度实数大张产能12月</name><type>String</type>";
    traverse( toExportList, Elements, toExportItem ) {
      debuginfo( "export column MonthlySheetCapacity12" );
      monthlySheetCapacity12 := toExportItem.MonthlySheetCapacity12();
      cellStr := '<cell value="' + monthlySheetCapacity12 + '"/>';
      columnStr := columnStr + cellStr;
    }
    columnStr := columnStr + "</column>";
    xmlTemplate := xmlTemplate + columnStr;
    //---------------------------------------------------------------------------------------------
    columnStr := "<column><name>月度销售额1月</name><type>String</type>";
    traverse( toExportList, Elements, toExportItem ) {
      debuginfo( "export column MonthlySales1" );
      monthlySales1 := toExportItem.MonthlySales1();
      cellStr := '<cell value="' + monthlySales1 + '"/>';
      columnStr := columnStr + cellStr;
    }
    columnStr := columnStr + "</column>";
    xmlTemplate := xmlTemplate + columnStr;
    //---------------------------------------------------------------------------------------------
    columnStr := "<column><name>月度销售额2月</name><type>String</type>";
    traverse( toExportList, Elements, toExportItem ) {
      debuginfo( "export column MonthlySales2" );
      monthlySales2 := toExportItem.MonthlySales2();
      cellStr := '<cell value="' + monthlySales2 + '"/>';
      columnStr := columnStr + cellStr;
    }
    columnStr := columnStr + "</column>";
    xmlTemplate := xmlTemplate + columnStr;
    //---------------------------------------------------------------------------------------------
    columnStr := "<column><name>月度销售额3月</name><type>String</type>";
    traverse( toExportList, Elements, toExportItem ) {
      debuginfo( "export column MonthlySales3" );
      monthlySales3 := toExportItem.MonthlySales3();
      cellStr := '<cell value="' + monthlySales3 + '"/>';
      columnStr := columnStr + cellStr;
    }
    columnStr := columnStr + "</column>";
    xmlTemplate := xmlTemplate + columnStr;
    //---------------------------------------------------------------------------------------------
    columnStr := "<column><name>月度销售额4月</name><type>String</type>";
    traverse( toExportList, Elements, toExportItem ) {
      debuginfo( "export column MonthlySales4" );
      monthlySales4 := toExportItem.MonthlySales4();
      cellStr := '<cell value="' + monthlySales4 + '"/>';
      columnStr := columnStr + cellStr;
    }
    columnStr := columnStr + "</column>";
    xmlTemplate := xmlTemplate + columnStr;
    //---------------------------------------------------------------------------------------------
    columnStr := "<column><name>月度销售额5月</name><type>String</type>";
    traverse( toExportList, Elements, toExportItem ) {
      debuginfo( "export column MonthlySales5" );
      monthlySales5 := toExportItem.MonthlySales5();
      cellStr := '<cell value="' + monthlySales5 + '"/>';
      columnStr := columnStr + cellStr;
    }
    columnStr := columnStr + "</column>";
    xmlTemplate := xmlTemplate + columnStr;
    //---------------------------------------------------------------------------------------------
    columnStr := "<column><name>月度销售额6月</name><type>String</type>";
    traverse( toExportList, Elements, toExportItem ) {
      debuginfo( "export column MonthlySales6" );
      monthlySales6 := toExportItem.MonthlySales6();
      cellStr := '<cell value="' + monthlySales6 + '"/>';
      columnStr := columnStr + cellStr;
    }
    columnStr := columnStr + "</column>";
    xmlTemplate := xmlTemplate + columnStr;
    //---------------------------------------------------------------------------------------------
    columnStr := "<column><name>月度销售额7月</name><type>String</type>";
    traverse( toExportList, Elements, toExportItem ) {
      debuginfo( "export column MonthlySales7" );
      monthlySales7 := toExportItem.MonthlySales7();
      cellStr := '<cell value="' + monthlySales7 + '"/>';
      columnStr := columnStr + cellStr;
    }
    columnStr := columnStr + "</column>";
    xmlTemplate := xmlTemplate + columnStr;
    //---------------------------------------------------------------------------------------------
    columnStr := "<column><name>月度销售额8月</name><type>String</type>";
    traverse( toExportList, Elements, toExportItem ) {
      debuginfo( "export column MonthlySales8" );
      monthlySales8 := toExportItem.MonthlySales8();
      cellStr := '<cell value="' + monthlySales8 + '"/>';
      columnStr := columnStr + cellStr;
    }
    columnStr := columnStr + "</column>";
    xmlTemplate := xmlTemplate + columnStr;
    //---------------------------------------------------------------------------------------------
    columnStr := "<column><name>月度销售额9月</name><type>String</type>";
    traverse( toExportList, Elements, toExportItem ) {
      debuginfo( "export column MonthlySales9" );
      monthlySales9 := toExportItem.MonthlySales9();
      cellStr := '<cell value="' + monthlySales9 + '"/>';
      columnStr := columnStr + cellStr;
    }
    columnStr := columnStr + "</column>";
    xmlTemplate := xmlTemplate + columnStr;
    //---------------------------------------------------------------------------------------------
    columnStr := "<column><name>月度销售额10月</name><type>String</type>";
    traverse( toExportList, Elements, toExportItem ) {
      debuginfo( "export column MonthlySales10" );
      monthlySales10 := toExportItem.MonthlySales10();
      cellStr := '<cell value="' + monthlySales10 + '"/>';
      columnStr := columnStr + cellStr;
    }
    columnStr := columnStr + "</column>";
    xmlTemplate := xmlTemplate + columnStr;
    //---------------------------------------------------------------------------------------------
    columnStr := "<column><name>月度销售额11月</name><type>String</type>";
    traverse( toExportList, Elements, toExportItem ) {
      debuginfo( "export column MonthlySales11" );
      monthlySales11 := toExportItem.MonthlySales11();
      cellStr := '<cell value="' + monthlySales11 + '"/>';
      columnStr := columnStr + cellStr;
    }
    columnStr := columnStr + "</column>";
    xmlTemplate := xmlTemplate + columnStr;
    //---------------------------------------------------------------------------------------------
    columnStr := "<column><name>月度销售额12月</name><type>String</type>";
    traverse( toExportList, Elements, toExportItem ) {
      debuginfo( "export column MonthlySales12" );
      monthlySales12 := toExportItem.MonthlySales12();
      cellStr := '<cell value="' + monthlySales12 + '"/>';
      columnStr := columnStr + cellStr;
    }
    columnStr := columnStr + "</column>";
    xmlTemplate := xmlTemplate + columnStr;
    //---------------------------------------------------------------------------------------------
    xmlTemplate := xmlTemplate + "</table>";
    tableHandle := TableHandle::ImportXML( BinaryValue::Construct( xmlTemplate ) );
    XLS::SaveTable( tableHandle, OS::TempPath() + "Global_MappingAnnualBudgetData.xlsx" );
    file := OSFile::Construct();
    file.Open( OS::TempPath() + "Global_MappingAnnualBudgetData.xlsx", "Read", true );
    data := file.ReadBinary()
    debuginfo( "export end" );
    return data.AsBase64EncodedString();
  *]
}
_Main/BL/Type_Global_MappingAnnualBudgetData/StaticMethod_Export.qbl
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,13 @@
Quintiq file version 2.0
#parent: #root
StaticMethod Export (
  GlobalOTDTable parent
) as String
{
  TextBody:
  [*
    // generate by generate_export_method.py
    toExportList := selectset( parent, Global_MappingAnnualBudgetData, item, true );
    return Global_MappingAnnualBudgetData::Export( toExportList );
  *]
}
_Main/BL/Type_Global_MappingAnnualBudgetData/StaticMethod_GetSaleByHalfYear.qbl
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,21 @@
Quintiq file version 2.0
#parent: #root
StaticMethod GetSaleByHalfYear (
  Strings productNo,
  GlobalOTDTable parent,
  Number yearNo,
  Number halfNo
) as Real
{
  Description: '产能 - å®žæ•°å¤§å¼ '
  TextBody:
  [*
    // yypsybs Sep-18-2023 (created)
    result := sum( parent,
                   Global_MappingAnnualBudgetData,
                   item,
                   item.YearNo() = [String]yearNo and productNo.Find( item.ProductID() ) > -1,
                   item.GetSaleAmountInHalfYear( halfNo ) );
    return result;
  *]
}
_Main/BL/Type_Global_MappingAnnualBudgetData/StaticMethod_GetSaleByMonth.qbl
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,22 @@
Quintiq file version 2.0
#parent: #root
StaticMethod GetSaleByMonth (
  Strings productNo,
  GlobalOTDTable parent,
  Number yearNo,
  Number monthNo
) as Real
{
  Description: '销售额(W)'
  TextBody:
  [*
    // yypsybs Sep-18-2023 (created)
    field := Reflection::FindAttribute( "Global_MappingAnnualBudgetData", "MonthlySales" + [String]monthNo );
    value := sum( parent,
                  Global_MappingAnnualBudgetData,
                  item,
                  item.YearNo() = [String]yearNo and productNo.Find( item.ProductID() ) > -1,
                  [Real]field.GetString( item ) );
    return value;
  *]
}
_Main/BL/Type_Global_MappingAnnualBudgetData/StaticMethod_GetSaleBySeason.qbl
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,21 @@
Quintiq file version 2.0
#parent: #root
StaticMethod GetSaleBySeason (
  Strings productNo,
  GlobalOTDTable parent,
  Number yearNo,
  Number seasonNo
) as Real
{
  Description: '产能 - å®žæ•°å¤§å¼ '
  TextBody:
  [*
    // yypsybs Sep-18-2023 (created)
    result := sum( parent,
                   Global_MappingAnnualBudgetData,
                   item,
                   item.YearNo() = [String]yearNo and productNo.Find( item.ProductID() ) > -1,
                   item.GetSaleAmountInSeason( seasonNo ) );
    return result;
  *]
}
_Main/BL/Type_Global_MappingAnnualBudgetData/StaticMethod_GetSaleByYear.qbl
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,20 @@
Quintiq file version 2.0
#parent: #root
StaticMethod GetSaleByYear (
  Strings productNo,
  GlobalOTDTable parent,
  Number yearNo
) as Real
{
  Description: '销售额(W)'
  TextBody:
  [*
    // yypsybs Sep-18-2023 (created)
    result := sum( parent,
                   Global_MappingAnnualBudgetData,
                   item,
                   item.YearNo() = [String]yearNo and productNo.Find( item.ProductID() ) > -1,
                   item.GetSaleAmountInYear() );
    return result;
  *]
}
_Main/BL/Type_Global_MappingAnnualBudgetData/StaticMethod_GetSheetByHalfYear.qbl
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,21 @@
Quintiq file version 2.0
#parent: #root
StaticMethod GetSheetByHalfYear (
  Strings productNo,
  GlobalOTDTable parent,
  Number yearNo,
  Number halfNo
) as Real
{
  Description: '产能 - å®žæ•°å¤§å¼ '
  TextBody:
  [*
    // yypsybs Sep-18-2023 (created)
    result := sum( parent,
                   Global_MappingAnnualBudgetData,
                   item,
                   item.YearNo() = [String]yearNo and productNo.Find( item.ProductID() ) > -1,
                   item.GetCapacityInSheetInHalfYear( halfNo ) );
    return result;
  *]
}
_Main/BL/Type_Global_MappingAnnualBudgetData/StaticMethod_GetSheetByMonth.qbl
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,22 @@
Quintiq file version 2.0
#parent: #root
StaticMethod GetSheetByMonth (
  Strings productNo,
  GlobalOTDTable parent,
  Number yearNo,
  Number monthNo
) as Real
{
  Description: '产能-实数大张'
  TextBody:
  [*
    // yypsybs Sep-18-2023 (created)
    field := Reflection::FindAttribute( "Global_MappingAnnualBudgetData", "MonthlySheetCapacity" + [String]monthNo );
    value := sum( parent,
                  Global_MappingAnnualBudgetData,
                  item,
                  item.YearNo() = [String]yearNo and productNo.Find( item.ProductID() ) > -1,
                  [Real]field.GetString( item ) );
    return value;
  *]
}
_Main/BL/Type_Global_MappingAnnualBudgetData/StaticMethod_GetSheetBySeason.qbl
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,21 @@
Quintiq file version 2.0
#parent: #root
StaticMethod GetSheetBySeason (
  Strings productNo,
  GlobalOTDTable parent,
  Number yearNo,
  Number seasonNo
) as Real
{
  Description: '产能 - å®žæ•°å¤§å¼ '
  TextBody:
  [*
    // yypsybs Sep-18-2023 (created)
    result := sum( parent,
                   Global_MappingAnnualBudgetData,
                   item,
                   item.YearNo() = [String]yearNo and productNo.Find( item.ProductID() ) > -1,
                   item.GetCapacityInSheetInSeason( seasonNo ) );
    return result;
  *]
}
_Main/BL/Type_Global_MappingAnnualBudgetData/StaticMethod_GetSheetByYear.qbl
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,20 @@
Quintiq file version 2.0
#parent: #root
StaticMethod GetSheetByYear (
  Strings productNo,
  GlobalOTDTable parent,
  Number yearNo
) as Real
{
  Description: '产能 - å®žæ•°å¤§å¼ '
  TextBody:
  [*
    // yypsybs Sep-18-2023 (created)
    result := sum( parent,
                   Global_MappingAnnualBudgetData,
                   item,
                   item.YearNo() = [String]yearNo and productNo.Find( item.ProductID() ) > -1,
                   item.GetCapacityInSheetInYear() );
    return result;
  *]
}
_Main/BL/Type_Global_MappingAnnualBudgetData/StaticMethod_SetOrgCodeFromForecast.qbl
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,24 @@
Quintiq file version 2.0
#parent: #root
StaticMethod SetOrgCodeFromForecast (
  GlobalOTDTable parent
)
{
  TextBody:
  [*
    // yypsybs Oct-7-2023 (created)
    traverse( parent, Global_MappingAnnualBudgetData, item ) {
      productCode := item.ProductID();
      Global_MappingOperationBOM::CreateTestData( parent, "事业部" + [String](productCode.Length() mod 3), "面板基地" + [String](productCode.Length() mod 4), productCode );
      boms := selectset( parent, Global_MappingOperationBOM, bom, bom.ProductCode() = productCode );
      if( boms.Size() > 0 ) {
        bom := boms.First();
        placeOfProductionOfArray := bom.OrganCode();
        item.OrgCodeFromBom( placeOfProductionOfArray );
      } else {
        debuginfo( "no boms for product : " + productCode );
        item.OrgCodeFromBom( item.OrganCode() );
      }
    }
  *]
}
_Main/BL/Type_Global_MappingAnnualBudgetData/TypeIndex_Global_MappingAnnualBudgetDataTypeIndex.qbl
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,12 @@
Quintiq file version 2.0
#parent: #root
TypeIndex Global_MappingAnnualBudgetDataTypeIndex
{
  Attributes:
  [
    TypeIndexAttribute
    {
      ModelElement: ID
    }
  ]
}
_Main/BL/Type_Global_MappingAnnualBudgetData/_ROOT_Type_Global_MappingAnnualBudgetData.qbl
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,10 @@
Quintiq file version 2.0
#root
#parent: #DomainModel
Type Global_MappingAnnualBudgetData
{
  #keys: '5[414384.0.933884744][414384.0.933884742][0.0.0][414384.0.933884743][414384.0.933884745]'
  BaseType: Object
  Description: '年度预算数据'
  StructuredName: 'Global_MappingAnnualBudgetDatas'
}
_Main/BL/Type_Global_MappingConversionFactor/StaticMethod_SynchronizeMacroPlanData.qbl
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,31 @@
Quintiq file version 2.0
#parent: #root
StaticMethod SynchronizeMacroPlanData (
  GlobalOTDTable globalOTDTable,
  MacroPlan macroPlan,
  String executionUser
)
{
  TextBody:
  [*
    global_BrokerExecuteLog := globalOTDTable.Global_BrokerExecuteLog( relnew,
                                                                       Name        := "同步单位转换数据",
                                                                       IsSuccess   := true,
                                                                       ExecuteUser := executionUser
                                                                      );
    try {
      macroPlan.MappingBaseConversionFactorData(globalOTDTable);
      global_BrokerExecuteLog.ExecutionStatus( "Complete" );
      global_BrokerExecuteLog.SuccessDateTime( DateTime::ActualTime().Format( "Y-M-D H2:m:s" ) );
    } onerror {
      global_BrokerExecuteLog.IsSuccess( false );
      global_BrokerExecuteLog.ErrorNo( e.ErrorNr() );
      global_BrokerExecuteLog.ErrorMessage( e.GeneralInformation() );
      global_BrokerExecuteLog.ErrorDateTime( DateTime::ActualTime().Format( "Y-M-D H2:m:s" ) );
      global_BrokerExecuteLog.ExecutionStatus( "Complete" );
    }
  *]
}
_Main/BL/Type_Global_MappingCurrencyRate_MP/StaticMethod_OnException.qbl
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,9 @@
Quintiq file version 2.0
#parent: #root
StaticMethod OnException (
  Exception e,
  GlobalOTDTable globalOTDTable
)
{
  TextBody: 'globalOTDTable.SettingFailureDetails( e.ErrorNumber(), e.Message(), "CurrencyRate_MP", "货币汇率接口数据" );'
}
_Main/BL/Type_Global_MappingCurrency_MP/StaticMethod_OnException.qbl
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,9 @@
Quintiq file version 2.0
#parent: #root
StaticMethod OnException (
  Exception e,
  GlobalOTDTable globalOTDTable
)
{
  TextBody: 'globalOTDTable.SettingFailureDetails( e.ErrorNumber(), e.Message(), "Currency_MP", "货币接口数据" );'
}
_Main/BL/Type_Global_MappingForecast/StaticMethod_GetBalanceByHalfYear.qbl
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,24 @@
Quintiq file version 2.0
#parent: #root
StaticMethod GetBalanceByHalfYear (
  Strings productCodes,
  GlobalOTDTable parent,
  Number yearNo,
  Number halfNo
) as Real
{
  TextBody:
  [*
    // yypsybs Sep-19-2023 (created)
    value := 0.0;
    startMonth := 1 + ( halfNo - 1 ) * 6;
    endMonth := 6 + ( halfNo - 1 ) * 6;
    for( monthNo := startMonth; monthNo <= endMonth; monthNo := monthNo + 1 ) {
      value := value + Global_MappingForecast::GetBalanceByMonth( productCodes, parent, yearNo, monthNo );
    }
    return value;
  *]
}
_Main/BL/Type_Global_MappingForecast/StaticMethod_GetBalanceByMonth.qbl
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,21 @@
Quintiq file version 2.0
#parent: #root
StaticMethod GetBalanceByMonth (
  Strings productCodes,
  GlobalOTDTable parent,
  Number yearNo,
  Number monthNo
) as Real
{
  Description: ''
  TextBody:
  [*
    // yypsybs Sep-19-2023 (created)
    value := sum( parent,
                  Global_MappingForecast,
                  item,
                  productCodes.Find( item.ProductID() ) > -1 and yearNo = item.StartDate().Year() and monthNo = item.StartDate().Month(),
                  item.Price() * item.Quantity() );
    return value;
  *]
}
_Main/BL/Type_Global_MappingForecast/StaticMethod_GetBalanceBySeason.qbl
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,24 @@
Quintiq file version 2.0
#parent: #root
StaticMethod GetBalanceBySeason (
  Strings productCodes,
  GlobalOTDTable parent,
  Number yearNo,
  Number seasonNo
) as Real
{
  TextBody:
  [*
    // yypsybs Sep-19-2023 (created)
    value := 0.0;
    startMonth := 1 + ( seasonNo - 1 ) * 3;
    endMonth := 3 + ( seasonNo - 1 ) * 3;
    for( monthNo := startMonth; monthNo <= endMonth; monthNo := monthNo + 1 ) {
      value := value + Global_MappingForecast::GetBalanceByMonth( productCodes, parent, yearNo, monthNo );
    }
    return value;
  *]
}
_Main/BL/Type_Global_MappingForecast/StaticMethod_GetBalanceByYear.qbl
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,20 @@
Quintiq file version 2.0
#parent: #root
StaticMethod GetBalanceByYear (
  Strings productCodes,
  GlobalOTDTable parent,
  Number yearNo
) as Real
{
  Description: ''
  TextBody:
  [*
    // yypsybs Sep-19-2023 (created)
    value := sum( parent,
                  Global_MappingForecast,
                  item,
                  productCodes.Find( item.ProductID() ) > -1 and yearNo = item.StartDate().Year(),
                  item.Price() * item.Quantity() );
    return value;
  *]
}
_Main/BL/Type_Global_MappingForecast/StaticMethod_GetQuantityByHalfYear.qbl
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,24 @@
Quintiq file version 2.0
#parent: #root
StaticMethod GetQuantityByHalfYear (
  Strings productCodes,
  GlobalOTDTable parent,
  Number yearNo,
  Number halfNo
) as Real
{
  TextBody:
  [*
    // yypsybs Sep-19-2023 (created)
    value := 0.0;
    startMonth := 1 + ( halfNo - 1 ) * 6;
    endMonth := 6 + ( halfNo - 1 ) * 6;
    for( monthNo := startMonth; monthNo <= endMonth; monthNo := monthNo + 1 ) {
      value := value + Global_MappingForecast::GetQuantityByMonth( productCodes, parent, yearNo, monthNo );
    }
    return value;
  *]
}
_Main/BL/Type_Global_MappingForecast/StaticMethod_GetQuantityByMonth.qbl
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,20 @@
Quintiq file version 2.0
#parent: #root
StaticMethod GetQuantityByMonth (
  Strings productCodes,
  GlobalOTDTable parent,
  Number yearNo,
  Number monthNo
) as Real
{
  TextBody:
  [*
    // yypsybs Sep-19-2023 (created)
    value := sum( parent,
                  Global_MappingForecast,
                  item,
                  productCodes.Find( item.ProductID() ) > -1 and yearNo = item.StartDate().Year() and monthNo = item.StartDate().Month(),
                  item.Quantity() );
    return value;
  *]
}
_Main/BL/Type_Global_MappingForecast/StaticMethod_GetQuantityBySeason.qbl
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,24 @@
Quintiq file version 2.0
#parent: #root
StaticMethod GetQuantityBySeason (
  Strings productCodes,
  GlobalOTDTable parent,
  Number yearNo,
  Number seasonNo
) as Real
{
  TextBody:
  [*
    // yypsybs Sep-19-2023 (created)
    value := 0.0;
    startMonth := 1 + ( seasonNo - 1 ) * 3;
    endMonth := 3 + ( seasonNo - 1 ) * 3;
    for( monthNo := startMonth; monthNo <= endMonth; monthNo := monthNo + 1 ) {
      value := value + Global_MappingForecast::GetQuantityByMonth( productCodes, parent, yearNo, monthNo );
    }
    return value;
  *]
}
_Main/BL/Type_Global_MappingForecast/StaticMethod_GetQuantityByYear.qbl
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,20 @@
Quintiq file version 2.0
#parent: #root
StaticMethod GetQuantityByYear (
  Strings productCodes,
  GlobalOTDTable parent,
  Number yearNo
) as Real
{
  Description: ''
  TextBody:
  [*
    // yypsybs Sep-19-2023 (created)
    value := sum( parent,
                  Global_MappingForecast,
                  item,
                  productCodes.Find( item.ProductID() ) > -1 and yearNo = item.StartDate().Year(),
                  item.Quantity() );
    return value;
  *]
}
_Main/BL/Type_Global_MappingForecast/StaticMethod_SynchronizeMacroPlanData.qbl
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,33 @@
Quintiq file version 2.0
#parent: #root
StaticMethod SynchronizeMacroPlanData (
  GlobalOTDTable globalOTDTable,
  MacroPlan macroPlan,
  String executionUser,
  Strings businessTypes,
  Strings organcodelist
)
{
  TextBody:
  [*
    global_BrokerExecuteLog := globalOTDTable.Global_BrokerExecuteLog( relnew,
                                                                       Name        := "同步预测数据",
                                                                       IsSuccess   := true,
                                                                       ExecuteUser := executionUser
                                                                      );
    try {
      macroPlan.MappingForecastData( businessTypes, globalOTDTable, organcodelist );
      global_BrokerExecuteLog.ExecutionStatus( "Complete" );
      global_BrokerExecuteLog.SuccessDateTime( DateTime::ActualTime().Format( "Y-M-D H2:m:s" ) );
    } onerror {
      global_BrokerExecuteLog.IsSuccess( false );
      global_BrokerExecuteLog.ErrorNo( e.ErrorNr() );
      global_BrokerExecuteLog.ErrorMessage( e.GeneralInformation() );
      global_BrokerExecuteLog.ErrorDateTime( DateTime::ActualTime().Format( "Y-M-D H2:m:s" ) );
      global_BrokerExecuteLog.ExecutionStatus( "Complete" );
    }
  *]
}
_Main/BL/Type_Global_MappingInventorySupply/StaticMethod_SynchronizeMacroPlanData.qbl
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,34 @@
Quintiq file version 2.0
#parent: #root
StaticMethod SynchronizeMacroPlanData (
  GlobalOTDTable globalOTDTable,
  MacroPlan macroPlan,
  String executionUser,
  Strings businessTypes,
  Strings organcodelist,
  Boolean isKeyProduct
)
{
  TextBody:
  [*
    global_BrokerExecuteLog := globalOTDTable.Global_BrokerExecuteLog( relnew,
                                                                       Name        := "同步在途库存数据",
                                                                       IsSuccess   := true,
                                                                       ExecuteUser := executionUser
                                                                      );
    try {
      macroPlan.MappingExternalSupplyData( businessTypes, isKeyProduct ,globalOTDTable, organcodelist );
      global_BrokerExecuteLog.ExecutionStatus( "Complete" );
      global_BrokerExecuteLog.SuccessDateTime( DateTime::ActualTime().Format( "Y-M-D H2:m:s" ) );
    } onerror {
      global_BrokerExecuteLog.IsSuccess( false );
      global_BrokerExecuteLog.ErrorNo( e.ErrorNr() );
      global_BrokerExecuteLog.ErrorMessage( e.GeneralInformation() );
      global_BrokerExecuteLog.ErrorDateTime( DateTime::ActualTime().Format( "Y-M-D H2:m:s" ) );
      global_BrokerExecuteLog.ExecutionStatus( "Complete" );
    }
  *]
}
_Main/BL/Type_Global_MappingLane/StaticMethod_OnException.qbl
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,9 @@
Quintiq file version 2.0
#parent: #root
StaticMethod OnException (
  Exception e,
  GlobalOTDTable globalOTDTable
)
{
  TextBody: 'globalOTDTable.SettingFailureDetails( e.ErrorNumber(), e.Message(), "Lane", "车道接口数据" );'
}
_Main/BL/Type_Global_MappingLaneLeg/StaticMethod_OnException.qbl
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,9 @@
Quintiq file version 2.0
#parent: #root
StaticMethod OnException (
  Exception e,
  GlobalOTDTable globalOTDTable
)
{
  TextBody: 'globalOTDTable.SettingFailureDetails( e.ErrorNumber(), e.Message(), "LaneLeg", "车道支架接口数据" );'
}
_Main/BL/Type_Global_MappingOperation/Attribute_DestinationOrganizationId.qbl
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,8 @@
Quintiq file version 2.0
#parent: #root
Attribute DestinationOrganizationId
{
  #keys: '3[414384.0.953284686][414384.0.953284685][414384.0.953284687]'
  Description: '目的地组织id'
  ValueType: String
}
_Main/BL/Type_Global_MappingOperation/Attribute_OrganId.qbl
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,7 @@
Quintiq file version 2.0
#parent: #root
Attribute OrganId
{
  #keys: '3[414384.0.953284696][414384.0.953284695][414384.0.953284697]'
  ValueType: String
}
_Main/BL/Type_Global_MappingOperation/StaticMethod_GetByProductId.qbl
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,13 @@
Quintiq file version 2.0
#parent: #root
StaticMethod GetByProductId (
  GlobalOTDTable otdTable,
  String productId
) as Global_MappingOperation
{
  TextBody:
  [*
    // yypsybs Oct-9-2023 (created)
    return select( otdTable, Global_MappingOperation, item, item.ProductID() = productId );
  *]
}
_Main/BL/Type_Global_MappingOperation/StaticMethod_SynchronizeMacroPlanData.qbl
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,33 @@
Quintiq file version 2.0
#parent: #root
StaticMethod SynchronizeMacroPlanData (
  GlobalOTDTable globalOTDTable,
  MacroPlan macroPlan,
  String executionUser,
  Strings businessTypes,
  Strings organcodelist
)
{
  TextBody:
  [*
    global_BrokerExecuteLog := globalOTDTable.Global_BrokerExecuteLog( relnew,
                                                                       Name        := "同步工艺路线数据",
                                                                       IsSuccess   := true,
                                                                       ExecuteUser := executionUser
                                                                      );
    try {
      macroPlan.MappingOperationData( businessTypes ,globalOTDTable, organcodelist );
      global_BrokerExecuteLog.ExecutionStatus( "Complete" );
      global_BrokerExecuteLog.SuccessDateTime( DateTime::ActualTime().Format( "Y-M-D H2:m:s" ) );
    } onerror {
      global_BrokerExecuteLog.IsSuccess( false );
      global_BrokerExecuteLog.ErrorNo( e.ErrorNr() );
      global_BrokerExecuteLog.ErrorMessage( e.GeneralInformation() );
      global_BrokerExecuteLog.ErrorDateTime( DateTime::ActualTime().Format( "Y-M-D H2:m:s" ) );
      global_BrokerExecuteLog.ExecutionStatus( "Complete" );
    }
  *]
}
_Main/BL/Type_Global_MappingOperationBOM/StaticMethod_CreateTestData.qbl
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,27 @@
Quintiq file version 2.0
#parent: #root
StaticMethod CreateTestData (
  GlobalOTDTable parent,
  String businessType,
  String orgCode,
  String productCode
) as Global_MappingOperationBOM
{
  TextBody:
  [*
    // yypsybs Sep-18-2023 (created)
    value := select( parent, Global_MappingOperationBOM, bom, bom.BusinessType() = businessType and bom.OrganCode() = orgCode and bom.ProductCode() = productCode );
    if( isnull( value ) ) {
      value := parent.Global_MappingOperationBOM( relnew,
                                                  BusinessType := businessType,
                                                  OrganCode := orgCode,
                                                  ProductCode := productCode,
                                                  ComponentType := "",
                                                  ComponentUnit := "",
                                                  ProcessSection := "",
                                                  ComponentCode := "",
                                                  AlternativeMaterialCode := "" );
    }
    return value;
  *]
}
_Main/BL/Type_Global_MappingOperationBOM/StaticMethod_SynchronizeMacroPlanData.qbl
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,35 @@
Quintiq file version 2.0
#parent: #root
StaticMethod SynchronizeMacroPlanData (
  GlobalOTDTable globalOTDTable,
  MacroPlan macroPlan,
  String executionUser,
  Strings businessTypes,
  Strings organcodelist,
  Boolean isKeyProduct,
  Boolean createPurchaseSupplyMaterial
)
{
  TextBody:
  [*
    global_BrokerExecuteLog := globalOTDTable.Global_BrokerExecuteLog( relnew,
                                                                       Name        := "同步BOM数据",
                                                                       IsSuccess   := true,
                                                                       ExecuteUser := executionUser
                                                                      );
    try {
      macroPlan.MappingOperationBOMData( businessTypes, isKeyProduct, createPurchaseSupplyMaterial, globalOTDTable, organcodelist );
      global_BrokerExecuteLog.ExecutionStatus( "Complete" );
      global_BrokerExecuteLog.SuccessDateTime( DateTime::ActualTime().Format( "Y-M-D H2:m:s" ) );
    } onerror {
      global_BrokerExecuteLog.IsSuccess( false );
      global_BrokerExecuteLog.ErrorNo( e.ErrorNr() );
      global_BrokerExecuteLog.ErrorMessage( e.GeneralInformation() );
      global_BrokerExecuteLog.ErrorDateTime( DateTime::ActualTime().Format( "Y-M-D H2:m:s" ) );
      global_BrokerExecuteLog.ExecutionStatus( "Complete" );
    }
  *]
}
_Main/BL/Type_Global_MappingProductInLane/StaticMethod_SynchronizeMacroPlanData.qbl
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,31 @@
Quintiq file version 2.0
#parent: #root
StaticMethod SynchronizeMacroPlanData (
  GlobalOTDTable globalOTDTable,
  MacroPlan macroPlan,
  String executionUser
)
{
  TextBody:
  [*
    global_BrokerExecuteLog := globalOTDTable.Global_BrokerExecuteLog( relnew,
                                                                       Name        := "同步运输路线产品数据",
                                                                       IsSuccess   := true,
                                                                       ExecuteUser := executionUser
                                                                      );
    try {
      macroPlan.MappingProductInLaneData(globalOTDTable);
      global_BrokerExecuteLog.ExecutionStatus( "Complete" );
      global_BrokerExecuteLog.SuccessDateTime( DateTime::ActualTime().Format( "Y-M-D H2:m:s" ) );
    } onerror {
      global_BrokerExecuteLog.IsSuccess( false );
      global_BrokerExecuteLog.ErrorNo( e.ErrorNr() );
      global_BrokerExecuteLog.ErrorMessage( e.GeneralInformation() );
      global_BrokerExecuteLog.ErrorDateTime( DateTime::ActualTime().Format( "Y-M-D H2:m:s" ) );
      global_BrokerExecuteLog.ExecutionStatus( "Complete" );
    }
  *]
}
_Main/BL/Type_Global_MappingProduct_MP/StaticMethod_GetByProductId.qbl
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,15 @@
Quintiq file version 2.0
#parent: #root
StaticMethod GetByProductId (
  GlobalOTDTable parent,
  String productId
) as Global_MappingProduct_MP
{
  Description: '根据料号查记录'
  TextBody:
  [*
    // yypsybs Sep-12-2023 (created)
    value := select( parent, Global_MappingProduct_MP, item, item.ID() = productId );
    return value;
  *]
}
_Main/BL/Type_Global_MappingProduct_MP/StaticMethod_SynchronizeMacroPlanData.qbl
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,33 @@
Quintiq file version 2.0
#parent: #root
StaticMethod SynchronizeMacroPlanData (
  GlobalOTDTable globalOTDTable,
  MacroPlan macroPlan,
  String executionUser,
  Strings businessTypes,
  Boolean isKeyProduct
)
{
  TextBody:
  [*
    global_BrokerExecuteLog := globalOTDTable.Global_BrokerExecuteLog( relnew,
                                                                       Name        := "同步产品数据",
                                                                       IsSuccess   := true,
                                                                       ExecuteUser := executionUser
                                                                      );
    try {
      macroPlan.MappingProductData( businessTypes, globalOTDTable,isKeyProduct );
      global_BrokerExecuteLog.ExecutionStatus( "Complete" );
      global_BrokerExecuteLog.SuccessDateTime( DateTime::ActualTime().Format( "Y-M-D H2:m:s" ) );
    } onerror {
      global_BrokerExecuteLog.IsSuccess( false );
      global_BrokerExecuteLog.ErrorNo( e.ErrorNr() );
      global_BrokerExecuteLog.ErrorMessage( e.GeneralInformation() );
      global_BrokerExecuteLog.ErrorDateTime( DateTime::ActualTime().Format( "Y-M-D H2:m:s" ) );
      global_BrokerExecuteLog.ExecutionStatus( "Complete" );
    }
  *]
}
_Main/BL/Type_Global_MappingProviderCapacity/Attribute_ActualCapacity.qbl
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,8 @@
Quintiq file version 2.0
#parent: #root
Attribute ActualCapacity
{
  #keys: '3[414384.0.957354916][414384.0.957354915][414384.0.957354917]'
  Description: '日交货能力'
  ValueType: Number
}
_Main/BL/Type_Global_MappingProviderCapacity/Attribute_IsPartRecognition.qbl
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,8 @@
Quintiq file version 2.0
#parent: #root
Attribute IsPartRecognition
{
  #keys: '3[414384.0.957354904][414384.0.957354903][414384.0.957354905]'
  Description: '零件承认'
  ValueType: Boolean
}
_Main/BL/Type_Global_MappingProviderCapacity/Attribute_IsSecondSource.qbl
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,8 @@
Quintiq file version 2.0
#parent: #root
Attribute IsSecondSource
{
  #keys: '3[414384.0.957354907][414384.0.957354906][414384.0.957354908]'
  Description: '是否二供'
  ValueType: Boolean
}
_Main/BL/Type_Global_MappingProviderCapacity/Attribute_IsSpecialDisplay.qbl
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,8 @@
Quintiq file version 2.0
#parent: #root
Attribute IsSpecialDisplay
{
  #keys: '3[414384.0.957354901][414384.0.957354900][414384.0.957354902]'
  Description: '是否专显'
  ValueType: Boolean
}
_Main/BL/Type_Global_MappingProviderCapacity/Attribute_LeadTime.qbl
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,8 @@
Quintiq file version 2.0
#parent: #root
Attribute LeadTime
{
  #keys: '3[414384.0.957354919][414384.0.957354918][414384.0.957354920]'
  Description: 'L/T'
  ValueType: Number
}
_Main/BL/Type_Global_MappingProviderCapacity/Attribute_LotSize.qbl
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,8 @@
Quintiq file version 2.0
#parent: #root
Attribute LotSize
{
  #keys: '3[414384.0.957354925][414384.0.957354924][414384.0.957354926]'
  Description: '最小包装量'
  ValueType: Number
}
_Main/BL/Type_Global_MappingProviderCapacity/Attribute_MinimumQuantity.qbl
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,8 @@
Quintiq file version 2.0
#parent: #root
Attribute MinimumQuantity
{
  #keys: '3[414384.0.957354922][414384.0.957354921][414384.0.957354923]'
  Description: '最小订货量'
  ValueType: Number
}
_Main/BL/Type_Global_MappingProviderCapacity/Attribute_ProductID.qbl
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,8 @@
Quintiq file version 2.0
#parent: #root
Attribute ProductID
{
  #keys: '3[414384.0.957354895][414384.0.957354894][414384.0.957354896]'
  Description: '物料编码'
  ValueType: String
}
_Main/BL/Type_Global_MappingProviderCapacity/Attribute_ProductName.qbl
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,8 @@
Quintiq file version 2.0
#parent: #root
Attribute ProductName
{
  #keys: '3[414384.0.957354892][414384.0.957354891][414384.0.957354893]'
  Description: '物料说明'
  ValueType: String
}
_Main/BL/Type_Global_MappingProviderCapacity/Attribute_ProviderName.qbl
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,8 @@
Quintiq file version 2.0
#parent: #root
Attribute ProviderName
{
  #keys: '3[414384.0.957354910][414384.0.957354909][414384.0.957354911]'
  Description: '供应商名称'
  ValueType: String
}
_Main/BL/Type_Global_MappingProviderCapacity/Attribute_Rate.qbl
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,8 @@
Quintiq file version 2.0
#parent: #root
Attribute Rate
{
  #keys: '3[414384.0.957354928][414384.0.957354927][414384.0.957354929]'
  Description: '比例'
  ValueType: Number
}
_Main/BL/Type_Global_MappingProviderCapacity/Attribute_StockingPointID.qbl
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,8 @@
Quintiq file version 2.0
#parent: #root
Attribute StockingPointID
{
  #keys: '3[414384.0.957354913][414384.0.957354912][414384.0.957354914]'
  Description: '库存点'
  ValueType: String
}
_Main/BL/Type_Global_MappingProviderCapacity/Attribute_UnitOfMeasureName.qbl
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,8 @@
Quintiq file version 2.0
#parent: #root
Attribute UnitOfMeasureName
{
  #keys: '3[414384.0.957354898][414384.0.957354897][414384.0.957354899]'
  Description: '单位'
  ValueType: String
}
_Main/BL/Type_Global_MappingProviderCapacity/StaticMethod_GetByProductId.qbl
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,13 @@
Quintiq file version 2.0
#parent: #root
StaticMethod GetByProductId (
  GlobalOTDTable parent,
  String productId
) as Global_MappingProviderCapacity
{
  TextBody:
  [*
    // yypsybs Oct-10-2023 (created)
    return select( parent, Global_MappingProviderCapacity, item, item.ProductID() = productId );
  *]
}
_Main/BL/Type_Global_MappingProviderCapacity/_ROOT_Type_Global_MappingProviderCapacity.qbl
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,10 @@
Quintiq file version 2.0
#root
#parent: #DomainModel
Type Global_MappingProviderCapacity
{
  #keys: '5[414384.0.957354887][414384.0.957354885][0.0.0][414384.0.957354886][414384.0.957354888]'
  BaseType: Object
  Description: '供应商能力'
  StructuredName: 'Global_MappingProviderCapacitys'
}
_Main/BL/Type_Global_MappingSalesSegment_MP/StaticMethod_SynchronizeMacroPlanData.qbl
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,32 @@
Quintiq file version 2.0
#parent: #root
StaticMethod SynchronizeMacroPlanData (
  GlobalOTDTable globalOTDTable,
  MacroPlan macroPlan,
  String executionUser,
  Strings businessTypes
)
{
  TextBody:
  [*
    global_BrokerExecuteLog := globalOTDTable.Global_BrokerExecuteLog( relnew,
                                                                       Name        := "同步销售部门数据",
                                                                       IsSuccess   := true,
                                                                       ExecuteUser := executionUser
                                                                      );
    try {
      macroPlan.MappingSalesSegmentData( businessTypes, globalOTDTable );
      global_BrokerExecuteLog.ExecutionStatus( "Complete" );
      global_BrokerExecuteLog.SuccessDateTime( DateTime::ActualTime().Format( "Y-M-D H2:m:s" ) );
    } onerror {
      global_BrokerExecuteLog.IsSuccess( false );
      global_BrokerExecuteLog.ErrorNo( e.ErrorNr() );
      global_BrokerExecuteLog.ErrorMessage( e.GeneralInformation() );
      global_BrokerExecuteLog.ErrorDateTime( DateTime::ActualTime().Format( "Y-M-D H2:m:s" ) );
      global_BrokerExecuteLog.ExecutionStatus( "Complete" );
    }
  *]
}
_Main/BL/Type_Global_MappingStockingPointCost/StaticMethod_SynchronizeMacroPlanData.qbl
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,31 @@
Quintiq file version 2.0
#parent: #root
StaticMethod SynchronizeMacroPlanData (
  GlobalOTDTable globalOTDTable,
  MacroPlan macroPlan,
  String executionUser
)
{
  TextBody:
  [*
    global_BrokerExecuteLog := globalOTDTable.Global_BrokerExecuteLog( relnew,
                                                                       Name        := "同步库存成本数据",
                                                                       IsSuccess   := true,
                                                                       ExecuteUser := executionUser
                                                                      );
    try {
      macroPlan.MappingInventoryValueAndCostData(globalOTDTable);
      global_BrokerExecuteLog.ExecutionStatus( "Complete" );
      global_BrokerExecuteLog.SuccessDateTime( DateTime::ActualTime().Format( "Y-M-D H2:m:s" ) );
    } onerror {
      global_BrokerExecuteLog.IsSuccess( false );
      global_BrokerExecuteLog.ErrorNo( e.ErrorNr() );
      global_BrokerExecuteLog.ErrorMessage( e.GeneralInformation() );
      global_BrokerExecuteLog.ErrorDateTime( DateTime::ActualTime().Format( "Y-M-D H2:m:s" ) );
      global_BrokerExecuteLog.ExecutionStatus( "Complete" );
    }
  *]
}
_Main/BL/Type_Global_MappingStockingPoint_MP/StaticMethod_OnException.qbl
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,9 @@
Quintiq file version 2.0
#parent: #root
StaticMethod OnException (
  Exception e,
  GlobalOTDTable globalOTDTable
)
{
  TextBody: 'globalOTDTable.SettingFailureDetails( e.ErrorNumber(), e.Message(), "StockingPoint_MP", "库存接口数据" );'
}
_Main/BL/Type_Global_MappingUnitCost/StaticMethod_SynchronizeMacroPlanData.qbl
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,33 @@
Quintiq file version 2.0
#parent: #root
StaticMethod SynchronizeMacroPlanData (
  GlobalOTDTable globalOTDTable,
  MacroPlan macroPlan,
  String executionUser,
  Strings businessTypes,
  Strings organcodelist
)
{
  TextBody:
  [*
    global_BrokerExecuteLog := globalOTDTable.Global_BrokerExecuteLog( relnew,
                                                                       Name        := "同步制造成本数据",
                                                                       IsSuccess   := true,
                                                                       ExecuteUser := executionUser
                                                                      );
    try {
      macroPlan.MappingOperationCostData( globalOTDTable, businessTypes, organcodelist );
      global_BrokerExecuteLog.ExecutionStatus( "Complete" );
      global_BrokerExecuteLog.SuccessDateTime( DateTime::ActualTime().Format( "Y-M-D H2:m:s" ) );
    } onerror {
      global_BrokerExecuteLog.IsSuccess( false );
      global_BrokerExecuteLog.ErrorNo( e.ErrorNr() );
      global_BrokerExecuteLog.ErrorMessage( e.GeneralInformation() );
      global_BrokerExecuteLog.ErrorDateTime( DateTime::ActualTime().Format( "Y-M-D H2:m:s" ) );
      global_BrokerExecuteLog.ExecutionStatus( "Complete" );
    }
  *]
}
_Main/BL/Type_Global_ShowCell/StaticMethod_CreateShowData_Forecast.qbl
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,23 @@
Quintiq file version 2.0
#parent: #root
StaticMethod CreateShowData_Forecast (
  GlobalOTDTable globalOTDTable
)
{
  TextBody:
  [*
    businessTypeColumn       := Global_ShowColumn::CreateColumn( globalOTDTable, 0, "事业部" );
    idColumn                 := Global_ShowColumn::CreateColumn( globalOTDTable, 0, "ID" );
    productIDColumn          := Global_ShowColumn::CreateColumn( globalOTDTable, 0, "产品编码" );
    i := 1;
    traverse ( globalOTDTable, Global_MappingForecast, gmf ) {
      gloabal_ShowRow := globalOTDTable.Global_ShowRow( relnew, RowNr := i );
      Global_ShowCell::SetColumnsAndRows( globalOTDTable, gmf.BusinessType(), businessTypeColumn, gloabal_ShowRow );
      Global_ShowCell::SetColumnsAndRows( globalOTDTable, gmf.ID(), idColumn, gloabal_ShowRow );
      Global_ShowCell::SetColumnsAndRows( globalOTDTable, gmf.ProductID(), productIDColumn, gloabal_ShowRow );
      i++;
    }
  *]
}
_Main/BL/Type_Global_ShowCell/StaticMethod_GenerateDataThroughReflection.qbl
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,30 @@
Quintiq file version 2.0
#parent: #root
StaticMethod GenerateDataThroughReflection (
  GlobalOTDTable globalOTDTable,
  String className
)
{
  TextBody:
  [*
    //columnIndex := 0;
    //rowIndex    := 0;
    //
    //traverse ( globalOTDTable, Global_MappingUnitOfMeasure_MP, gmuommp ) {
    //  gloabal_ShowRow := globalOTDTable.Global_ShowRow( relnew, RowNr := rowIndex );
    //  traverse ( typeof( Global_MappingUnitOfMeasure_MP ), MdlAttrElements, mae ) {
    //    targetReflectionAttribute := Reflection::FindAttribute( className, mae.Name() );
    //    if ( not isnull( targetReflectionAttribute ) ) {
    //      targetsGlobal_ShowColumn := select( globalOTDTable, Global_ShowColumn, tempGSC, tempGSC.ColumnName() = mae.Name() );
    //      if ( isnull( targetsGlobal_ShowColumn ) ) {
    //        targetsGlobal_ShowColumn := Global_ShowColumn::CreateColumn( globalOTDTable, columnIndex, mae.Name() );
    //        columnIndex++;
    //      }
    //
    //      Global_ShowCell::SetColumnsAndRows( globalOTDTable, targetReflectionAttribute.Get( gmuommp )., targetsGlobal_ShowColumn, gloabal_ShowRow );
    //    }
    //  }
    //  rowIndex++;
    //}
  *]
}
_Main/BL/Type_Global_ShowCell/StaticMethod_ShowData.qbl
@@ -10,5 +10,13 @@
    if ( global_BrokerExecuteLog.BrokerName() = "GlobalOTDTable_CustomOrder" ) {
      Global_ShowCell::CreateShowData_CustomOrder( globalOTDTable );
    }
    if ( global_BrokerExecuteLog.BrokerName() = "GlobalOTDTable_Forecast" ) {
    //  Global_ShowCell::CreateShowData_Forecast( globalOTDTable );
    }
    if ( global_BrokerExecuteLog.BrokerName() = "GlobalOTDTable_UnitOfMeasure_MP" ) {
      Global_ShowCell::GenerateDataThroughReflection( globalOTDTable, "Global_MappingUnitOfMeasure_MP" );
    }
  *]
}
_Main/BL/Type_MPSync/Method_RefreshCapacityAndSaleBudgeFilter.qbl
ÎļþÒÑɾ³ý
_Main/BL/Type_MPSync/Method_RefreshCapacityAndSaleBudgeFilter0.qbl
ÎļþÒÑɾ³ý
_Main/BL/Type_MPSync/StaticMethod_TestData.qbl
@@ -9,10 +9,10 @@
  [*
    // yypsybs Sep-20-2023 (created)
    
    info( "MPSync::TestData" );
    debuginfo( "MPSync::TestData" );
    
    productCodeList := selectuniquevalues( macroPlan, Product_MP, item, item.ID() );
    info( "productCodeList : " + [String]productCodeList.Size() );
    debuginfo( "productCodeList : " + [String]productCodeList.Size() );
    
    mpSync.MappingCapacityAndSaleBudge( relflush );
    for( year := Date::ActualDate().Year() - 10; year <= Date::ActualDate().Year() + 5; year := year + 1 ) {
@@ -38,27 +38,6 @@
      }
    }
    result1 := selectset( mpSync, MappingCapacityAndSaleBudge, item, true );
    info( "test MappingCapacityAndSaleBudge size : " + [String]result1.Size() );
    mpSync.MappingAnnualBudget( relflush );
    for( year := Date::ActualDate().Year() - 10; year <= Date::ActualDate().Year() + 5; year := year + 1 ) {
      for( i := 1; i <= productCodeList.Size(); i := i + 1 ) {
        productCode := productCodeList.Element( i - 1 );
        mappingAnnualBudget := mpSync.MappingAnnualBudget( relnew,
                                                           YearNo := year,
                                                           ProductId := productCode
                                                            );
        for( month := 1; month <= 12; month := month + 1 ) {
          field := Reflection::FindAttribute( "MappingAnnualBudget", "MonthlyModCapacity" + [String]month );
          field.Set( mappingAnnualBudget, Real::Random( 20000.0, 30000.0 ) );
          field := Reflection::FindAttribute( "MappingAnnualBudget", "MonthlySheetCapacity" + [String]month );
          field.Set( mappingAnnualBudget, Real::Random( 20000.0, 30000.0 ) );
          field := Reflection::FindAttribute( "MappingAnnualBudget", "MonthlySales" + [String]month );
          field.Set( mappingAnnualBudget, Real::Random( 20000.0, 30000.0 ) );
        }
      }
    }
    result2 := selectset( mpSync, MappingAnnualBudget, item, true );
    info( "test MappingAnnualBudget size : " + [String]result2.Size() );
    debuginfo( "test MappingCapacityAndSaleBudge size : " + [String]result1.Size() );
  *]
}
_Main/BL/Type_MacroPlan/Attribute_BusinessType.qbl
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,7 @@
Quintiq file version 2.0
#parent: #root
Attribute BusinessType
{
  #keys: '3[412960.0.300140034][412960.0.300140033][412960.0.300140035]'
  ValueType: String
}
_Main/BL/Type_MacroPlan/Attribute_CreatePurchaseSupplyMaterial.qbl
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,7 @@
Quintiq file version 2.0
#parent: #root
Attribute CreatePurchaseSupplyMaterial
{
  #keys: '3[412960.0.300140031][412960.0.300140030][412960.0.300140032]'
  ValueType: Boolean
}
_Main/BL/Type_MacroPlan/Attribute_IsKeyProduct.qbl
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,7 @@
Quintiq file version 2.0
#parent: #root
Attribute IsKeyProduct
{
  #keys: '3[412960.0.300140028][412960.0.300140027][412960.0.300140029]'
  ValueType: Boolean
}
_Main/BL/Type_MacroPlan/DefaultValue_BusinessType.qbl
_Main/BL/Type_MacroPlan/Method_MappingActualPISPIPData.qbl
@@ -3,13 +3,13 @@
Method MappingActualPISPIPData (
  Strings businessTypes,
  GlobalOTDTable globalOTDTable,
  Boolean nuclear
  Boolean nuclear,
  Strings organcodelist
)
{
  TextBody:
  [*
    // renhao Aug-14-2023 (created)
    organcodelist := selectvalues( globalOTDTable, BusinessType.OrganCode, organ, businessTypes.Find( organ.BusinessType().BusinessTypeName() ) <> -1, organ.OrganCodeName() );
    listtodeal := selectset( globalOTDTable,
                             Global_MappingActualProductInStockingPointInPeriod,
                             actual,
_Main/BL/Type_MacroPlan/Method_MappingCustomerOrderData.qbl
@@ -2,7 +2,8 @@
#parent: #root
Method MappingCustomerOrderData (
  Strings businessTypes,
  GlobalOTDTable globalOTDTable
  GlobalOTDTable globalOTDTable,
  Strings organcodelist
)
{
  Description: 'ETL订单预测'
@@ -14,7 +15,6 @@
    if( isnull( businessTypes ) or businessTypes.Size() = 0 ) {
        listToDeal := selectset( globalOTDTable, Global_MappingCustomOrder, item, true );
    } else {
        organcodelist := selectvalues( globalOTDTable, BusinessType.OrganCode, organ, businessTypes.Find( organ.BusinessType().BusinessTypeName() ) <> -1, organ.OrganCodeName() );
        listToDeal := selectset( globalOTDTable, 
                                 Global_MappingCustomOrder, 
                                 item, 
_Main/BL/Type_MacroPlan/Method_MappingExternalSupplyData.qbl
@@ -3,7 +3,8 @@
Method MappingExternalSupplyData (
  Strings businessTypes,
  Boolean nuclear,
  GlobalOTDTable globalOTDTable
  GlobalOTDTable globalOTDTable,
  Strings organcodelist
)
{
  TextBody:
@@ -11,7 +12,6 @@
    // renhao Aug-14-2023 (created)
    queryStartDate := guard( min( this, Period_MP, item, true, item.StartDate() ) - Duration::Days( 30 ), DateTime::MinDateTime() ).Date();
    queryEndDate := guard( max( this, Period_MP, item, true, item.EndDate() ), Date::MaxDate() );
    organcodelist := selectvalues( globalOTDTable, BusinessType.OrganCode, organ, businessTypes.Find( organ.BusinessType().BusinessTypeName() ) <> -1, organ.OrganCodeName() );
    listtodeal := selectset( globalOTDTable,
                             Global_MappingInventorySupply,
                             externalSupply, 
_Main/BL/Type_MacroPlan/Method_MappingForecastData.qbl
@@ -2,7 +2,8 @@
#parent: #root
Method MappingForecastData (
  Strings businessTypes,
  GlobalOTDTable globalOTDTable
  GlobalOTDTable globalOTDTable,
  Strings organcodelist
)
{
  Description: 'ETL订单预测'
@@ -14,7 +15,6 @@
    if( isnull( businessTypes ) or businessTypes.Size() = 0 ) {
        listToDeal := selectset( globalOTDTable, Global_MappingForecast, item, item.Quantity() > 0 );
    } else {
        organcodelist := selectvalues( globalOTDTable, BusinessType.OrganCode, organ, businessTypes.Find( organ.BusinessType().BusinessTypeName() ) <> -1, organ.OrganCodeName() );
        listToDeal := selectset( globalOTDTable, 
                                 Global_MappingForecast, 
                                 item, 
_Main/BL/Type_MacroPlan/Method_MappingOperationBOMData.qbl
@@ -4,7 +4,8 @@
  Strings businessTypes,
  Boolean isKeyProduct,
  Boolean createPurchaseSupplyMaterial,
  GlobalOTDTable globalOTDTable
  GlobalOTDTable globalOTDTable,
  Strings organcodelist
)
{
  TextBody:
@@ -14,7 +15,6 @@
    if( isKeyProduct ) {
        keyProductList := selectuniquevalues( globalOTDTable, Global_MappingProduct_MP, item, item.ProductMajorType()="成品" or item.ProductMajorType()="半成品", item.ID() );
    }
    organcodelist := selectvalues( globalOTDTable, BusinessType.OrganCode, organ, businessTypes.Find( organ.BusinessType().BusinessTypeName() ) <> -1, organ.OrganCodeName() );
    bomList := selectsortedset(  globalOTDTable, Global_MappingOperationBOM, item,
                                 ifexpr( isnull( businessTypes ) or businessTypes.Size() = 0, 
                                         true, 
_Main/BL/Type_MacroPlan/Method_MappingOperationCostData.qbl
@@ -2,7 +2,8 @@
#parent: #root
Method MappingOperationCostData (
  GlobalOTDTable globalOTDTable,
  Strings businesstypes
  Strings businesstypes,
  Strings organcodelist
)
{
  Description: 'Get operation cost data from operation mapping'
@@ -15,7 +16,6 @@
    if( isnull( businesstypes ) or businesstypes.Size() = 0 ) {
        listtodeal := selectset( globalOTDTable, Global_MappingOperation, item, true );
    } else {
        organcodelist := selectvalues( globalOTDTable, BusinessType.OrganCode, organ, businesstypes.Find( organ.BusinessType().BusinessTypeName() ) <> -1, organ.OrganCodeName() );
        listtodeal := selectset( globalOTDTable, Global_MappingOperation, 
                                 item, 
                                 ( businesstypes.Find( item.BusinessType() ) <> -1 ) and 
_Main/BL/Type_MacroPlan/Method_MappingOperationData.qbl
@@ -2,7 +2,8 @@
#parent: #root
Method MappingOperationData (
  Strings businessTypes,
  GlobalOTDTable globalOTDTable
  GlobalOTDTable globalOTDTable,
  Strings organcodelist
)
{
  TextBody:
@@ -11,7 +12,6 @@
    // èŽ·å–æœ‰åºçš„å¾…å¤„ç†è®°å½•
    toDealList := construct( Global_MappingOperations ) ;
    if( not isnull( businessTypes ) and businessTypes.Size() > 0 ) {
        organcodelist := selectvalues( globalOTDTable, BusinessType.OrganCode, organ, businessTypes.Find( organ.BusinessType().BusinessTypeName() ) <> -1, organ.OrganCodeName() );
        toDealList := selectsortedset( globalOTDTable, Global_MappingOperation, item, 
                                       ( businessTypes.Find( item.BusinessType() ) >= 0 ) and 
                                       ( organcodelist.Find( item.OrganCode() ) >= 0 ), 
@@ -74,7 +74,7 @@
        op := Operation::FindOperationTypeIndex( operationId );
        if( isnull( op)){
          op := Operation::Create( operationId, unit, operationId, routingStep, 
                                        Duration::Hours( item.UserLeadTime() ), Duration::Zero(), item.ActualCapacity(), false,
                                        Duration::Days( item.UserLeadTime() ), Duration::Zero(), item.ActualCapacity(), false,
                                        [Real]item.MinimumQuantity(), haveMaxQty, guard( [Real]item.MaximumQuantity(), Real::MaxReal() ), 
                                        0.0, 0.0, false, true );
        }
_Main/BL/Type_MacroPlan/Method_MappingUnitData.qbl
@@ -2,7 +2,8 @@
#parent: #root
Method MappingUnitData (
  Strings businesstypes,
  GlobalOTDTable globalOTDTable
  GlobalOTDTable globalOTDTable,
  Strings organcodelist
)
{
  Description: 'Get unit data from operation mapping'
@@ -15,7 +16,6 @@
    if( isnull( businesstypes ) or businesstypes.Size() = 0 ) {
        listtodeal := selectset( globalOTDTable, Global_MappingOperation, item, true );
    } else {
        organcodelist := selectvalues( globalOTDTable, BusinessType.OrganCode, organ, businesstypes.Find( organ.BusinessType().BusinessTypeName() ) <> -1, organ.OrganCodeName() );
        listtodeal := selectset( globalOTDTable, Global_MappingOperation, item, 
    //                             businesstypes.Difference( businesstypes.Difference( item.BusinessType().Tokenize( ", " ) ) ).Size() > 0
                                 ( businesstypes.Find( item.BusinessType() ) >= 0 ) and 
_Main/BL/Type_MacroPlan/StaticMethod_DoSync0.qbl
@@ -15,11 +15,26 @@
    // å¸ç§å’Œå¸ç§æ±‡çއ
    //Currency_MP::CreateCurrencyFromJson( macroPlan, jsonDataRow );
    info( "Prepare to do sync" )
    info( "Get organ code list" )
    organcodelist := selectvalues( globalOTDTable, Global_MappingOperationBOM, bom,true, bom.OrganCode() );
    if( not isnull( businessTypes ) and businessTypes.Size() > 0 ) {
        traverse( businessTypes, Elements, item ) {
            info( "Business type : " + item )  
        }
        organcodelist := selectvalues( globalOTDTable, BusinessType.OrganCode, organ, businessTypes.Find( organ.BusinessType().BusinessTypeName() ) <> -1, organ.OrganCodeName() );
    }
    else{
      if( businessTypes.Size() = 0 ){
        if( not isnull( selectset( globalOTDTable, BusinessType, b, b.BusinessTypeName() = "" ) ) ){
          organcodelist := selectvalues( globalOTDTable, BusinessType.OrganCode, organ, organ.BusinessType().BusinessTypeName() = "", organ.OrganCodeName() );
          }
        }
      }
    if( organcodelist.Size() = 0 ){
      organcodelist := selectvalues( globalOTDTable, Global_MappingOperationBOM, bom,true, bom.OrganCode() );
      }
    info( "KeyProduct : " + [String]isKeyProduct )
    info( "Create purchase supply material : " + [String]createPurchaseSupplyMaterial )
    
@@ -38,7 +53,7 @@
    //info( "BaseConversionFactor Finished, Start Operation Data Broker" );
    //macroPlan.Broker_OTD_Operation().Execute();
    info( "Operation Data Broker Finished, Start Unit Mapping" );
    macroPlan.MappingUnitData( businessTypes ,globalOTDTable);
    macroPlan.MappingUnitData( businessTypes ,globalOTDTable, organcodelist);
    
    // åº“存点-3
    info( "Sales Segment Finished, Start Get StockingPoint From Api" )
@@ -82,11 +97,11 @@
    
    // å·¥è‰ºè·¯çº¿ + BOM-9
    info( "Unit Finished, Start Operation Mapping" );
    macroPlan.MappingOperationData( businessTypes ,globalOTDTable);
    macroPlan.MappingOperationData( businessTypes ,globalOTDTable, organcodelist );
    //info( "Operation Finished, Start BOM Data Broker" );
    //macroPlan.Broker_OTD_BOM().Execute();
    info( "BOM Data Broker Finished, Start BOM Mapping" );
    macroPlan.MappingOperationBOMData( businessTypes, isKeyProduct, createPurchaseSupplyMaterial,globalOTDTable );
    macroPlan.MappingOperationBOMData( businessTypes, isKeyProduct, createPurchaseSupplyMaterial,globalOTDTable, organcodelist );
    
    //车道信息-10
    info( "BOM Finished, Start Get Lanes From Api" );
@@ -118,26 +133,26 @@
    //info( "ProductInLane Finished, Start ActualPISPIP Data Broker" );
    //macroPlan.Broker_OTD_ActualPISPIP().Execute();
    info( "ActualPISPIP Data Broker Finished, Start ActualPISPIP Mapping" );
    macroPlan.MappingActualPISPIPData( businessTypes, globalOTDTable,isKeyProduct );
    macroPlan.MappingActualPISPIPData( businessTypes, globalOTDTable,isKeyProduct, organcodelist );
    
    // åœ¨é€”库存-14
    //info( "ActualPISPIP Finished, Start ExternalSupply Data Broker" );
    //macroPlan.Broker_OTD_ExternalSupply().Execute();
    info( "ExternalSupply Data Broker Finished, Start ExternalSupply Mapping" );
    macroPlan.MappingExternalSupplyData( businessTypes, isKeyProduct ,globalOTDTable);
    macroPlan.MappingExternalSupplyData( businessTypes, isKeyProduct ,globalOTDTable, organcodelist );
    
    // åº“存成本-15
    InventoryValueAndCost::DoSync( macroPlan,globalOTDTable );
    
    // todo åˆ¶é€ æˆæœ¬-16
    info( "InventoryCost Finished, Start OperationCost Mapping" );
    macroPlan.MappingOperationCostData( globalOTDTable, businessTypes );
    macroPlan.MappingOperationCostData( globalOTDTable, businessTypes, organcodelist );
    
    // è®¢å•预测-17
    Forecast::DoSync( macroPlan, businessTypes ,globalOTDTable);
    Forecast::DoSync( macroPlan, businessTypes, globalOTDTable, organcodelist );
    
    // è®¢å•需求-18
    CustomerOrder::DoSync( macroPlan, businessTypes, globalOTDTable);
    CustomerOrder::DoSync( macroPlan, businessTypes, globalOTDTable, organcodelist );
    
    //删除多余报错数据-19
    macroPlan.DeleteSnaityCheck();
_Main/BL/Type_MappingAnnualBudget/Attribute_BusinessType.qbl
ÎļþÒÑɾ³ý
_Main/BL/Type_MappingAnnualBudget/Attribute_MonthlyModCapacity1.qbl
ÎļþÒÑɾ³ý
_Main/BL/Type_MappingAnnualBudget/Attribute_MonthlyModCapacity10.qbl
ÎļþÒÑɾ³ý
_Main/BL/Type_MappingAnnualBudget/Attribute_MonthlyModCapacity11.qbl
ÎļþÒÑɾ³ý
_Main/BL/Type_MappingAnnualBudget/Attribute_MonthlyModCapacity12.qbl
ÎļþÒÑɾ³ý
_Main/BL/Type_MappingAnnualBudget/Attribute_MonthlyModCapacity2.qbl
ÎļþÒÑɾ³ý
_Main/BL/Type_MappingAnnualBudget/Attribute_MonthlyModCapacity3.qbl
ÎļþÒÑɾ³ý
_Main/BL/Type_MappingAnnualBudget/Attribute_MonthlyModCapacity4.qbl
ÎļþÒÑɾ³ý
_Main/BL/Type_MappingAnnualBudget/Attribute_MonthlyModCapacity5.qbl
ÎļþÒÑɾ³ý
_Main/BL/Type_MappingAnnualBudget/Attribute_MonthlyModCapacity6.qbl
ÎļþÒÑɾ³ý
_Main/BL/Type_MappingAnnualBudget/Attribute_MonthlyModCapacity7.qbl
ÎļþÒÑɾ³ý
_Main/BL/Type_MappingAnnualBudget/Attribute_MonthlyModCapacity8.qbl
ÎļþÒÑɾ³ý
_Main/BL/Type_MappingAnnualBudget/Attribute_MonthlyModCapacity9.qbl
ÎļþÒÑɾ³ý
_Main/BL/Type_MappingAnnualBudget/Attribute_MonthlySales1.qbl
ÎļþÒÑɾ³ý
_Main/BL/Type_MappingAnnualBudget/Attribute_MonthlySales10.qbl
ÎļþÒÑɾ³ý
_Main/BL/Type_MappingAnnualBudget/Attribute_MonthlySales11.qbl
ÎļþÒÑɾ³ý
_Main/BL/Type_MappingAnnualBudget/Attribute_MonthlySales12.qbl
ÎļþÒÑɾ³ý
_Main/BL/Type_MappingAnnualBudget/Attribute_MonthlySales2.qbl
ÎļþÒÑɾ³ý
_Main/BL/Type_MappingAnnualBudget/Attribute_MonthlySales3.qbl
ÎļþÒÑɾ³ý
_Main/BL/Type_MappingAnnualBudget/Attribute_MonthlySales4.qbl
ÎļþÒÑɾ³ý
_Main/BL/Type_MappingAnnualBudget/Attribute_MonthlySales5.qbl
ÎļþÒÑɾ³ý
_Main/BL/Type_MappingAnnualBudget/Attribute_MonthlySales6.qbl
ÎļþÒÑɾ³ý
_Main/BL/Type_MappingAnnualBudget/Attribute_MonthlySales7.qbl
ÎļþÒÑɾ³ý
_Main/BL/Type_MappingAnnualBudget/Attribute_MonthlySales8.qbl
ÎļþÒÑɾ³ý
_Main/BL/Type_MappingAnnualBudget/Attribute_MonthlySales9.qbl
ÎļþÒÑɾ³ý
_Main/BL/Type_MappingAnnualBudget/Attribute_MonthlySheetCapacity1.qbl
ÎļþÒÑɾ³ý
_Main/BL/Type_MappingAnnualBudget/Attribute_MonthlySheetCapacity10.qbl
ÎļþÒÑɾ³ý
_Main/BL/Type_MappingAnnualBudget/Attribute_MonthlySheetCapacity11.qbl
ÎļþÒÑɾ³ý
_Main/BL/Type_MappingAnnualBudget/Attribute_MonthlySheetCapacity12.qbl
ÎļþÒÑɾ³ý
_Main/BL/Type_MappingAnnualBudget/Attribute_MonthlySheetCapacity2.qbl
ÎļþÒÑɾ³ý
_Main/BL/Type_MappingAnnualBudget/Attribute_MonthlySheetCapacity3.qbl
ÎļþÒÑɾ³ý
_Main/BL/Type_MappingAnnualBudget/Attribute_MonthlySheetCapacity4.qbl
ÎļþÒÑɾ³ý
_Main/BL/Type_MappingAnnualBudget/Attribute_MonthlySheetCapacity5.qbl
ÎļþÒÑɾ³ý
_Main/BL/Type_MappingAnnualBudget/Attribute_MonthlySheetCapacity6.qbl
ÎļþÒÑɾ³ý
_Main/BL/Type_MappingAnnualBudget/Attribute_MonthlySheetCapacity7.qbl
ÎļþÒÑɾ³ý
_Main/BL/Type_MappingAnnualBudget/Attribute_MonthlySheetCapacity8.qbl
ÎļþÒÑɾ³ý
_Main/BL/Type_MappingAnnualBudget/Attribute_MonthlySheetCapacity9.qbl
ÎļþÒÑɾ³ý
_Main/BL/Type_MappingAnnualBudget/Attribute_ProductId.qbl
ÎļþÒÑɾ³ý
_Main/BL/Type_MappingAnnualBudget/Attribute_yearNo.qbl
ÎļþÒÑɾ³ý
_Main/BL/Type_MappingAnnualBudget/Method_GetCapacityInPCSInYear.qbl
ÎļþÒÑɾ³ý
_Main/BL/Type_MappingAnnualBudget/Method_GetCapacityInSheetInHalfYear.qbl
ÎļþÒÑɾ³ý
_Main/BL/Type_MappingAnnualBudget/Method_GetCapacityInSheetInSeason.qbl
ÎļþÒÑɾ³ý
_Main/BL/Type_MappingAnnualBudget/Method_GetCapacityInSheetInYear.qbl
ÎļþÒÑɾ³ý
_Main/BL/Type_MappingAnnualBudget/Method_GetSaleAmountInYear.qbl
ÎļþÒÑɾ³ý
_Main/BL/Type_MappingAnnualBudget/StaticMethod_GetSaleByMonth.qbl
ÎļþÒÑɾ³ý
_Main/BL/Type_MappingAnnualBudget/StaticMethod_GetSaleByYear.qbl
ÎļþÒÑɾ³ý
_Main/BL/Type_MappingAnnualBudget/StaticMethod_GetSheetByHalfYear.qbl
ÎļþÒÑɾ³ý
_Main/BL/Type_MappingAnnualBudget/StaticMethod_GetSheetByMonth.qbl
ÎļþÒÑɾ³ý
_Main/BL/Type_MappingAnnualBudget/StaticMethod_GetSheetBySeason.qbl
ÎļþÒÑɾ³ý
_Main/BL/Type_MappingAnnualBudget/StaticMethod_GetSheetByYear.qbl
ÎļþÒÑɾ³ý
_Main/BL/Type_MappingAnnualBudget/_ROOT_Type_MappingAnnualBudget.qbl
ÎļþÒÑɾ³ý
_Main/BL/Type_MasterPlanReleaseWorkOrder/StaticMethod_GenerateAndDistributeWorkOrders.qbl
@@ -1,7 +1,8 @@
Quintiq file version 2.0
#parent: #root
StaticMethod GenerateAndDistributeWorkOrders (
  MacroPlan macroPlan
  MacroPlan macroPlan,
  GlobalOTDTable globalOTDTable
)
{
  TextBody:
@@ -18,17 +19,24 @@
    
    orderNumber := 1;
    
    organCodes := selectuniquevalues( globalOTDTable, Global_MappingOperation, tempGMO, true, tempGMO.OrganCode() );
    traverse ( macroPlan, Product_MP.ProductInStockingPoint_MP, pisp, pisp.IsLeaf() and not pisp.IsSystem() ) {
      traverse ( pisp, ProductInStockingPointInPeriodPlanning.astype( ProductInStockingPointInPeriodPlanningLeaf ), pispippl ) {
        plannedQuantity := sum( pispippl, NewSupply, ns, guard( not isnull( ns.Process_MP().astype( Operation ) ), false ), ns.Quantity() );
        if ( plannedQuantity > 0 ) {
        traverse ( pispippl, NewSupply, ns, ns.Quantity() > 0 ) {
          organCode := "无组织信息";
          unit := guard( ns.Process_MP().astype( Operation ).Unit(), null( Unit ) );
          if ( not isnull( unit ) ){
            MasterPlanReleaseWorkOrder::ObtainOrganizationCode( unit, organCodes, organCode );
          }
          newMasterPlanReleaseWorkOrder.MasterPlanReleaseWorkOrderTabulation( relnew,
                                                                              ProductionWorkOrderNumber := universalPrefixForWorkOrderNumber + [String]orderNumber,
                                                                              ProductModel              := pisp.ProductID(),
                                                                              MaterialDescription       := pisp.ProductID(),
                                                                              StartDate                 := pispippl.Start().Date(),
                                                                              EndDate                   := pispippl.End().Date(),
                                                                              PlannedQuantity           := plannedQuantity
                                                                              PlannedQuantity           := ns.Quantity(),
                                                                              OrganizationInfomation    := organCode
                                                                             );
          orderNumber++;
        }
_Main/BL/Type_MasterPlanReleaseWorkOrder/StaticMethod_GenerateAndDistributeWorkOrders1.qbl
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,41 @@
Quintiq file version 2.0
#parent: #root
StaticMethod GenerateAndDistributeWorkOrders1 (
  MacroPlan macroPlan
)
{
  TextBody:
  [*
    macroPlan.MasterPlanReleaseWorkOrder( relflush );
    newMasterPlanReleaseWorkOrder := macroPlan.MasterPlanReleaseWorkOrder( relnew, IsGenerateAndPublishWorkOrders := true );
    universalPrefixForWorkOrderNumber := [String]Date::ActualDate().Year() +
                                         ifexpr( ( [String]Date::ActualDate().Month() ).Length() = 1, "0" + [String]Date::ActualDate().Month(), [String]Date::ActualDate().Month() )                         +
                                         ifexpr( ( [String]Date::ActualDate().Day() ).Length() = 1, "0" + [String]Date::ActualDate().Day(), [String]Date::ActualDate().Day() )                               +
                                         ifexpr( ( [String]DateTime::ActualTime().HourOfDay() ).Length() = 1, "0" + [String]DateTime::ActualTime().HourOfDay(), [String]DateTime::ActualTime().HourOfDay() ) +
                                         ifexpr( ( [String]DateTime::ActualTime().MinuteOfHour() ).Length() = 1, "0" + [String]DateTime::ActualTime().MinuteOfHour(), [String]DateTime::ActualTime().MinuteOfHour() );
    orderNumber := 1;
    traverse ( macroPlan, Product_MP.ProductInStockingPoint_MP, pisp, pisp.IsLeaf()       and
                                                                      not pisp.IsSystem() ) {
      exists( macroPlan, Product_MP.ProductInStockingPoint_MP.ProcessInput.ProductInStockingPoint_MP, tempPISP,
                          tempPISP = pisp );
      traverse ( pisp, ProductInStockingPointInPeriodPlanning.astype( ProductInStockingPointInPeriodPlanningLeaf ), pispippl ) {
        plannedQuantity := sum( pispippl, NewSupply, ns, guard( not isnull( ns.Process_MP().astype( Operation ) ), false ), ns.Quantity() );
        if ( plannedQuantity > 0 ) {
          newMasterPlanReleaseWorkOrder.MasterPlanReleaseWorkOrderTabulation( relnew,
                                                                              ProductionWorkOrderNumber := universalPrefixForWorkOrderNumber + [String]orderNumber,
                                                                              ProductModel              := pisp.ProductID(),
                                                                              MaterialDescription       := pisp.ProductID(),
                                                                              StartDate                 := pispippl.Start().Date(),
                                                                              EndDate                   := pispippl.End().Date(),
                                                                              PlannedQuantity           := plannedQuantity
                                                                             );
          orderNumber++;
        }
      }
    }
  *]
}
_Main/BL/Type_MasterPlanReleaseWorkOrder/StaticMethod_ObtainOrganizationCode.qbl
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,19 @@
Quintiq file version 2.0
#parent: #root
StaticMethod ObtainOrganizationCode (
  Unit unit,
  Strings organCodes,
  output String organCode
)
{
  TextBody:
  [*
    if ( exists( organCodes, Elements, oc, oc = unit.ID() ) ) {
      organCode := unit.ID();
    } else {
      if ( not isnull( unit.Parent() ) ) {
        MasterPlanReleaseWorkOrder::ObtainOrganizationCode( unit.Parent(), organCodes, organCode );
      }
    }
  *]
}
_Main/BL/Type_MasterPlanReleaseWorkOrderTabulation/Attribute_OrganizationInfomation.qbl
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,8 @@
Quintiq file version 2.0
#parent: #root
Attribute OrganizationInfomation
{
  #keys: '3[414702.1.53467738][414702.1.53467737][414702.1.53467739]'
  Description: '组织信息'
  ValueType: String
}
_Main/BL/Type_PRData/Attribute_CreateBy.qbl
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,8 @@
Quintiq file version 2.0
#parent: #root
Attribute CreateBy
{
  #keys: '3[414384.0.789498519][414384.0.789498518][414384.0.789498520]'
  Description: '发送人'
  ValueType: String
}
_Main/BL/Type_PRData/Attribute_CreateTime.qbl
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,8 @@
Quintiq file version 2.0
#parent: #root
Attribute CreateTime
{
  #keys: '3[414384.0.789498516][414384.0.789498515][414384.0.789498517]'
  Description: '发送时间'
  ValueType: DateTime
}
_Main/BL/Type_PRData/Attribute_CreateTimeString.qbl
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,7 @@
Quintiq file version 2.0
#parent: #root
Attribute CreateTimeString
{
  #keys: '3[414384.0.847354596][414384.0.847354595][414384.0.847354597]'
  ValueType: String
}
_Main/BL/Type_PRData/Attribute_DeliveryDate.qbl
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,8 @@
Quintiq file version 2.0
#parent: #root
Attribute DeliveryDate
{
  #keys: '3[414384.0.957354843][414384.0.957354842][414384.0.957354844]'
  Description: '交货日期'
  ValueType: Date
}
_Main/BL/Type_PRData/Attribute_LineAttribute3.qbl
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,7 @@
Quintiq file version 2.0
#parent: #root
Attribute LineAttribute3
{
  #keys: '3[414384.0.953290077][414384.0.953290076][414384.0.953290078]'
  ValueType: String
}
_Main/BL/Type_PRData/Attribute_OrganName.qbl
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,8 @@
Quintiq file version 2.0
#parent: #root
Attribute OrganName
{
  #keys: '3[414384.0.953290043][414384.0.953290042][414384.0.953290044]'
  Description: '组织名称'
  ValueType: String
}
_Main/BL/Type_PRData/Attribute_PRReleaseStatus.qbl
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,8 @@
Quintiq file version 2.0
#parent: #root
Attribute PRReleaseStatus
{
  #keys: '3[414384.0.789498513][414384.0.789498512][414384.0.789498514]'
  Description: 'PR数据发送状态'
  ValueType: String
}
_Main/BL/Type_PRData/Attribute_PlannerCode.qbl
ÎļþÒÑɾ³ý
_Main/BL/Type_PRData/Attribute_ProduceRequiredDate.qbl
ÎļþÒÑɾ³ý
_Main/BL/Type_PRData/Attribute_SendBy.qbl
ÎļþÒÑɾ³ý
_Main/BL/Type_PRData/Attribute_SendStatus.qbl
ÎļþÒÑɾ³ý
_Main/BL/Type_PRData/Attribute_SendTIme.qbl
ÎļþÒÑɾ³ý
_Main/BL/Type_PRData/Attribute_SendTimeString.qbl
ÎļþÒÑɾ³ý
_Main/BL/Type_PRData/Function_CalcSendTimeString.qbl
@@ -6,13 +6,13 @@
  [*
    // yypsybs Sep-19-2023 (created)
    value := "";
    if( this.SendStatus() <> "" ) {
    if( this.PRReleaseStatus() <> "" ) {
      cnv := DateTimeToString::StandardConverter();
      cnv.SetCustomConversion();
      cnv.CustomFormatString( "yyyy/MM/dd H:mm:ss" );
      
      value := guard( cnv.Convert( this.SendTime() ), "" );
      value := guard( cnv.Convert( this.CreateTime() ), "" );
    }
    this.SendTimeString( value );
    this.CreateTimeString( value );
  *]
}
_Main/BL/Type_PRData/Method_DoCall.qbl
@@ -13,6 +13,7 @@
    
    // ç…§æ¬éƒ¨åˆ†
    result.AuthorizationStatus( this.AuthorizationStatus() );
    result.BusinessType( this.BusinessType() );
    result.DataID( this.DataID() );
    result.DeliverToRequestorId( this.DeliverToRequestorId() );
@@ -26,9 +27,8 @@
    result.MRPCalverNo( this.MRPCalverNo() );
    result.OrganCode( this.OrganCode() );
    result.OrgId( this.OrgId() );
    result.PlannerCode( this.PlannerCode() );
    result.PreparerId( this.PreparerId() );
    result.ProduceRequiredDate( this.ProduceRequiredDate() );
    result.PreparerID( this.PreparerId() );
    result.DeliveryDate( this.DeliveryDate() );
    result.ProductID( this.ProductID() );
    result.ProductName( this.ProductName() );
    result.ProviderCode( this.ProviderCode() );
@@ -52,9 +52,9 @@
    result.SendStatus( "已发送" );
    result.ReleaseBy( callBy );
    result.SendTime( DateTime::Now() );
    this.SendStatus( "已发送" );
    this.SendTime( DateTime::Now() );
    this.SendBy( callBy );
    this.PRReleaseStatus( "已发送" );
    this.CreateTime( DateTime::Now() );
    this.CreateBy( callBy );
    
    return result;
  *]
_Main/BL/Type_PRData/Method_PrintCall.qbl
@@ -25,9 +25,8 @@
    result.MRPCalverNo( this.MRPCalverNo() );
    result.OrganCode( this.OrganCode() );
    result.OrgId( this.OrgId() );
    result.PlannerCode( this.PlannerCode() );
    result.PreparerId( this.PreparerId() );
    result.ProduceRequiredDate( this.ProduceRequiredDate() );
    result.PreparerID( this.PreparerId() );
    result.DeliveryDate( this.DeliveryDate() );
    result.ProductID( this.ProductID() );
    result.ProductName( this.ProductName() );
    result.ProviderCode( this.ProviderCode() );
_Main/BL/Type_PRData/StaticMethod_CanCall.qbl
@@ -13,7 +13,7 @@
    if( toCalls.Size() = 0 ) {
      feedback_o := "No checked PR";
    } else {
      havaUnsent := exists( toCalls, Elements, toCall, toCall.SendStatus() = "" );
      havaUnsent := exists( toCalls, Elements, toCall, toCall.PRReleaseStatus() = "" );
      if( not havaUnsent ) {
        feedback_o := "No unsent PR";
      }
_Main/BL/Type_PRData/StaticMethod_DoCall.qbl
@@ -11,7 +11,7 @@
    // yypsybs Sep-12-2023 (created)
    info( "DoCall " + [String]toCalls.Size() + " PRs" );
    nowNo := 1;
    traverse( toCalls, Elements, toCall, toCall.SendStatus() = "" ) {
    traverse( toCalls, Elements, toCall, toCall.PRReleaseStatus() = "" ) {
      info ( "DoCall " + [String]nowNo + "/" + [String]toCalls.Size() + " PR" );
      toCall.DoCall( globalData, callBy );  
      nowNo := nowNo + 1;
_Main/BL/Type_PRData/StaticMethod_ExportTheFileStream.qbl
@@ -46,7 +46,7 @@
      PRData::GeneratesTheSpecifiedXMLColumn( xmlDOMDocument, tableElement, toExport.ProductID(), "物料编码" );
      PRData::GeneratesTheSpecifiedXMLColumn( xmlDOMDocument, tableElement, toExport.ProductName(), "物料名称" );
      PRData::GeneratesTheSpecifiedXMLColumn( xmlDOMDocument, tableElement, toExport.IsPanelMaterial(), "面板物料标识" );
      PRData::GeneratesTheSpecifiedXMLColumn( xmlDOMDocument, tableElement, ifexpr( toExport.ProduceRequiredDate() = Date::MinDate(), "", dateToString.Convert( toExport.ProduceRequiredDate() ) ), "交货日期" );
      PRData::GeneratesTheSpecifiedXMLColumn( xmlDOMDocument, tableElement, ifexpr( toExport.DeliveryDate() = Date::MinDate(), "", dateToString.Convert( toExport.DeliveryDate() ) ), "交货日期" );
      PRData::GeneratesTheSpecifiedXMLColumn( xmlDOMDocument, tableElement, ifexpr( toExport.PRSuggestionDate() = Date::MinDate(), "", dateToString.Convert( toExport.PRSuggestionDate() ) ), "PR建议日期" );
      PRData::GeneratesTheSpecifiedXMLColumn( xmlDOMDocument, tableElement, [String]toExport.Quantity(), "交货数量" );
      PRData::GeneratesTheSpecifiedXMLColumn( xmlDOMDocument, tableElement, toExport.MRPCalverNo(), "MRP计算版本号" );
@@ -60,9 +60,9 @@
      PRData::GeneratesTheSpecifiedXMLColumn( xmlDOMDocument, tableElement, toExport.ProviderName(), "供应商名称" );
      PRData::GeneratesTheSpecifiedXMLColumn( xmlDOMDocument, tableElement, toExport.StockingPointID(), "收货库存点" );
      PRData::GeneratesTheSpecifiedXMLColumn( xmlDOMDocument, tableElement, toExport.UnitOfMeasure(), "计量单位" );
      PRData::GeneratesTheSpecifiedXMLColumn( xmlDOMDocument, tableElement, toExport.SendStatus(), "PR数据发送状态" );
      PRData::GeneratesTheSpecifiedXMLColumn( xmlDOMDocument, tableElement, toExport.SendTimeString(), "发送时间" );
      PRData::GeneratesTheSpecifiedXMLColumn( xmlDOMDocument, tableElement, toExport.SendBy(), "发送人" );
      PRData::GeneratesTheSpecifiedXMLColumn( xmlDOMDocument, tableElement, toExport.PRReleaseStatus(), "PR数据发送状态" );
      PRData::GeneratesTheSpecifiedXMLColumn( xmlDOMDocument, tableElement, toExport.CreateTimeString(), "发送时间" );
      PRData::GeneratesTheSpecifiedXMLColumn( xmlDOMDocument, tableElement, toExport.CreateBy(), "发送人" );
    }
    
    xmlDOMSerializer := xmlDOMImplementation.CreateSerializer();
_Main/BL/Type_PRData/StaticMethod_FromSupplyPlanning#662.qbl
@@ -3,25 +3,26 @@
StaticMethod FromSupplyPlanning (
  GlobalOTDTable otdTable,
  MacroPlan macroPlan,
  MacroPlan mappingRoot,
  ProductInStockingPointInPeriod pispip
  ProductInStockingPointInPeriod pispip,
  String userId
) as PRData
{
  TextBody:
  [*
    // yypsybs Sep-12-2023 (created)
    result := macroPlan.PRData( relnew );
    result.InterfaceSourceCode( "Quintiq" );
    
    pisp := pispip.ProductInStockingPoint_MP();
    product := pisp.Product_MP();
    stockingPoint := pisp.StockingPoint_MP();
    period := pispip.Period_MP();
    mappingProduct := MappingProduct::GetByProductId( mappingRoot, product.ID() );
    // QID7
    mappingProduct := Global_MappingProduct_MP::GetByProductId( otdTable, product.ID() );
    // QID12
    mappingOperation := Global_MappingOperation::GetByProductId( otdTable, product.ID() );
    // QID15
    mappingProviderCapacity := Global_MappingProviderCapacity::GetByProductId( otdTable, product.ID() );
    matAttrSetting := MatAttrSettingAndPlanStrategy::GetExistByMatCode( otdTable, product.ID() );
    // æŽ¥å£/中间表暂无
    mappingProviderCapacity := "暂无";
    erpData := "暂无";
    
    // æ ¹æ®pispip
    result.MRPCalverNo( ifexpr( pispip.MRPCalverNo() = "", "暂无", pispip.MRPCalverNo() ) );
@@ -35,9 +36,9 @@
    result.StockingPointID( stockingPoint.ID() );
    
    // æ ¹æ®period
    result.ProduceRequiredDate( period.StartDate() );
    result.PRSuggestionDate( ifexpr( (result.ProduceRequiredDate() - Duration::Days( 7 )).Date() >= Date::Today(),
                                     Date::Today(), (result.ProduceRequiredDate() - Duration::Days( 7 )).Date() ) );
    result.DeliveryDate( period.StartDate() );
    result.PRSuggestionDate( ifexpr( (result.DeliveryDate() - Duration::Days( 7 )).Date() >= Date::Today(),
                                     Date::Today(), (result.DeliveryDate() - Duration::Days( 7 )).Date() ) );
    
    // æ ¹æ® ç‰©æ–™å±žæ€§æ ‡ç­¾è®¾å®š&物料计划策略
    result.IsPanelMaterial( "暂无" );
@@ -51,22 +52,39 @@
      result.MaterialMRPType( ifexpr( matAttrSetting.PlanningStrategyCustom() <> "", matAttrSetting.PlanningStrategyCustom(), matAttrSetting.PlanningStrategyAuto() ) );
    }
    
    // æ ¹æ®product中间表
    if( isnull( mappingProduct ) ) {
      result.BusinessType( "暂无" );
      result.OrganCode( "暂无" );
      result.UnitOfMeasure( "暂无" );
      result.BusinessType( "暂无" );
    } else {
      result.BusinessType( mappingProduct.BusinessType() );
      result.OrganCode( mappingProduct.OrgCode() );
      result.UnitOfMeasure( mappingProduct.UnitOfMeasureName() );
      result.BusinessType( mappingProduct.BusinessType() );
    }
    result.InterfaceSourceCode( "Quintiq_" + result.BusinessType() );
    // æ ¹æ®operation中间表
    if( isnull( mappingOperation ) ) {
      result.OrgId( "暂无" );
      result.OrganCode( "暂无" );
      result.OrganName( "暂无" );
      result.DestinationOrganizationID( "暂无" );
    } else {
      result.OrgId( mappingOperation.OrganId() );
      result.OrganCode( mappingOperation.OrganCode() );
      result.OrganName( mappingOperation.OrganName() );
      result.DestinationOrganizationID( mappingOperation.DestinationOrganizationId() );
    }
    
    // æ ¹æ®ä¾›åº”商能力中间表
    result.ProviderCode( mappingProviderCapacity );
    result.ProductName( mappingProviderCapacity );
    result.LeadTime( 0.0 );
    if( isnull( mappingProviderCapacity ) ) {
      result.ProviderCode( "暂无" );
      result.ProviderName( "暂无" );
      result.LeadTime( 0.0 );
      result.UnitOfMeasure( "暂无" );
    } else {
      result.ProviderCode( "暂无" );
      result.ProviderName( mappingProviderCapacity.ProviderName() );
      result.LeadTime( mappingProviderCapacity.LeadTime() );
      result.UnitOfMeasure( mappingProviderCapacity.UnitOfMeasureName() );
    }
    
    // æ ¹æ®erp接口 å›ºå®šå€¼
    result.RequisitionType( "PURCHASE" );
@@ -76,21 +94,25 @@
    result.LineTypeId( "1" );
    result.LineType( "货物" );
    // æ ¹æ®erp接口 todo
    result.PreparerId( erpData );
    result.HeaderDescription( erpData );
    result.DestinationOrganizationID( erpData );
    result.DeliverToRequestorId( erpData );
    result.LineAttribute1( erpData );
    result.LineAttribute6( erpData );
    result.OrgId( erpData );
    result.LineAttribute1( "" );
    result.LineAttribute3( "" );
    result.LineAttribute6( "" );
    
    // ç”Ÿæˆid todo
    result.DataID( [String]Number::Random( Number::MinNumber(), Number::MaxNumber() ) );
    // ç”¨æˆ·id/name
    result.PreparerId( userId );
    result.HeaderDescription( userId );
    result.DeliverToRequestorId( result.PreparerId() );
    // ç”Ÿæˆid
    cnv := DateTimeToString::StandardConverter();
    cnv.SetCustomConversion();
    cnv.CustomFormatString( "yyyyMMdd_H:mm:ss" );
    result.DataID( cnv.Convert( DateTime::ActualTime() ) + "_" + [String]Number::Random( Number::MinNumber(), Number::MaxNumber() ) );
    
    // å‘送信息
    result.SendStatus( "" );
    result.SendBy( "" );
    result.SendTime( DateTime::MinDateTime() );
    result.PRReleaseStatus( "" );
    result.CreateBy( "" );
    result.CreateTime( DateTime::MinDateTime() );
    
    return result;
  *]
_Main/BL/Type_PRData/StaticMethod_FromSupplyPlanning.qbl
@@ -3,15 +3,11 @@
StaticMethod FromSupplyPlanning (
  GlobalOTDTable otdTable,
  MacroPlan macroPlan,
  MacroPlan mappingRoot,
  String mrpCalverNo
  String mrpCalverNo,
  String userId
)
{
  Description:
  [*
    SupplyPlanning转PRData
    todo ä¿®æ”¹mappingRoot为MPSync
  *]
  Description: 'SupplyPlanning转PRData'
  TextBody:
  [*
    // yypsybs Sep-12-2023 (created)
@@ -21,7 +17,7 @@
    if( isnull( oldRecords ) or oldRecords.Size() = 0 ) {
      pispips := ProductInStockingPointInPeriod::GetByMRPCalverNo( macroPlan, mrpCalverNo );
      traverse( pispips, Elements, item, item.NewSupplyQuantity() > 0 ) {
        PRData::FromSupplyPlanning( otdTable, macroPlan, mappingRoot, item );
        PRData::FromSupplyPlanning( otdTable, macroPlan, item, userId );
      }
    }
  *]
_Main/BL/Type_PRData/StaticMethod_ProductIdOver14Days.qbl
@@ -10,7 +10,7 @@
    result := "";
    
    productIds := selectuniquevalues( toChecks, Elements, item, 
                                      (item.ProduceRequiredDate() - Duration::Days( 14 )).Date() > Date::Today() and item.SendStatus() = "",
                                      (item.DeliveryDate() - Duration::Days( 14 )).Date() > Date::Today() and item.PRReleaseStatus() = "",
                                      item.ProductID() ); 
    productIds := selectsortedset( productIds, Elements, item, item );
    
_Main/BL/Type_PRData/StaticMethod_TestData.qbl
@@ -6,23 +6,23 @@
{
  TextBody:
  [*
    // yypsybs Sep-12-2023 (created)
    if( selectset( macroPlan, PRData, item, true ).Size() = 0 ) {
      info( "======== Create PR Test Data ========" );
      for( i := 0; i < 100; i := i + 1 ) {
        macroPlan.PRData( relnew,
                          MRPCalverNo := [String]Number::Random( 1, Number::MaxNumber() ),
                          BusinessType := [String]Number::Random( 1, Number::MaxNumber() ),
                          OrganCode := [String]Number::Random( 1, Number::MaxNumber() ),
                          ProductID := [String]Number::Random( 1, Number::MaxNumber() ),
                          StockingPointID := [String]Number::Random( 1, Number::MaxNumber() ),
                          Quantity := Number::Random( 1, Number::MaxNumber() ),
                          ProduceRequiredDate := Date::Construct( 2023,
                                                                  Number::Random( 9, 12 ),
                                                                  Number::Random( 13, 28 ) ),
                          DataID := [String]Number::Random( 1, Number::MaxNumber() ),
                          SendStatus := ifexpr( Number::Random( 1, 5 ) = 1, "已发送", "" ) );
      }
    }
    //// yypsybs Sep-12-2023 (created)
    //if( selectset( macroPlan, PRData, item, true ).Size() = 0 ) {
    //  info( "======== Create PR Test Data ========" );
    //  for( i := 0; i < 100; i := i + 1 ) {
    //    macroPlan.PRData( relnew,
    //                      MRPCalverNo := [String]Number::Random( 1, Number::MaxNumber() ),
    //                      BusinessType := [String]Number::Random( 1, Number::MaxNumber() ),
    //                      OrganCode := [String]Number::Random( 1, Number::MaxNumber() ),
    //                      ProductID := [String]Number::Random( 1, Number::MaxNumber() ),
    //                      StockingPointID := [String]Number::Random( 1, Number::MaxNumber() ),
    //                      Quantity := Number::Random( 1, Number::MaxNumber() ),
    //                      DeliveryDate := Date::Construct( 2023,
    //                                                              Number::Random( 9, 12 ),
    //                                                              Number::Random( 13, 28 ) ),
    //                      DataID := [String]Number::Random( 1, Number::MaxNumber() ),
    //                      PRReleaseStatus := ifexpr( Number::Random( 1, 5 ) = 1, "已发送", "" ) );
    //  }
    //}
  *]
}
_Main/BL/Type_PRHistoryData/Attribute_DeliveryDate#168.qbl
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,8 @@
Quintiq file version 2.0
#parent: #root
Attribute DeliveryDate
{
  #keys: '3[414384.0.795671764][414384.0.795671763][414384.0.795671765]'
  Description: '需求日期/交货日期'
  ValueType: Date
}
_Main/BL/Type_PRHistoryData/Attribute_PreparerID.qbl
ÎļþÒÑɾ³ý
_Main/BL/Type_PRHistoryData/Attribute_PreparerId#603.qbl
@@ -1,6 +1,6 @@
Quintiq file version 2.0
#parent: #root
Attribute PreparerId
Attribute PreparerID
{
  #keys: '3[414384.0.795671570][414384.0.795671569][414384.0.795671571]'
  ValueType: String
_Main/BL/Type_PRHistoryData/Attribute_ProduceRequiredDate#168.qbl
ÎļþÒÑɾ³ý
_Main/BL/Type_PRHistoryData/StaticMethod_ExportTheFileStream.qbl
@@ -42,7 +42,7 @@
    traverse ( toExportList, Elements, toExport ) {
      PRHistoryData::GeneratesTheSpecifiedXMLColumn( xmlDOMDocument, tableElement, toExport.ProductID(), "零件号" );
      PRHistoryData::GeneratesTheSpecifiedXMLColumn( xmlDOMDocument, tableElement, toExport.ProductName(), "零件名称" );
      PRHistoryData::GeneratesTheSpecifiedXMLColumn( xmlDOMDocument, tableElement, ifexpr( toExport.ProduceRequiredDate() = Date::MinDate(), "", dateToString.Convert( toExport.ProduceRequiredDate() ) ), "交货日期" );
      PRHistoryData::GeneratesTheSpecifiedXMLColumn( xmlDOMDocument, tableElement, ifexpr( toExport.DeliveryDate() = Date::MinDate(), "", dateToString.Convert( toExport.DeliveryDate() ) ), "交货日期" );
      PRHistoryData::GeneratesTheSpecifiedXMLColumn( xmlDOMDocument, tableElement, [String]toExport.Quantity(), "需求数量" );
      PRHistoryData::GeneratesTheSpecifiedXMLColumn( xmlDOMDocument, tableElement, toExport.MRPCalverNo(), "MRP计算版本号" );
      PRHistoryData::GeneratesTheSpecifiedXMLColumn( xmlDOMDocument, tableElement, toExport.BusinessType(), "事业部" );
_Main/BL/Type_PRHistoryData/StaticMethod_ProductIdOver14Days.qbl
@@ -10,7 +10,7 @@
    result := "";
    
    productIds := selectuniquevalues( toChecks, Elements, item, 
                                      (item.ProduceRequiredDate() - Duration::Days( 14 )).Date() > Date::Today() and item.SendStatus() = "",
                                      (item.DeliveryDate() - Duration::Days( 14 )).Date() > Date::Today() and item.SendStatus() = "",
                                      item.ProductID() ); 
    productIds := selectsortedset( productIds, Elements, item, item );
    
_Main/BL/Type_ProductInStockingPointInPeriod/StaticMethod_GetByMRPCalverNo.qbl
@@ -12,14 +12,16 @@
    result := construct( ProductInStockingPointInPeriods );
    if( mrpCalverNo <> "" ) {
      result := selectset( parent, Product_MP.ProductInStockingPoint_MP.ProductInStockingPointInPeriod, pispip,
                         pispip.ProductInStockingPoint_MP().Product_MP().ID().StartsWith( "E" )
                         and pispip.MRPCalverNo() = mrpCalverNo
                           pispip.ProductInStockingPoint_MP().Product_MP().ID().StartsWith( "E" )
                           and pispip.MRPCalverNo() = mrpCalverNo
                           );
    } else {
      // æµ‹è¯•用逻辑,正常不应该走
      result := selectset( parent, Product_MP.ProductInStockingPoint_MP.ProductInStockingPointInPeriod, pispip,
                         true
                           true
                           );
    }
    info( "GetByMRPCalverNo : " + [String]result.Size() );
    return &result;
  *]
}
_Main/UI/MacroPlanner/Component_ApplicationLibMacroPlanner/Response_TIANMA_JITUAN_mbMainMenu_MenuDoSync_OnClick.def
@@ -5,7 +5,7 @@
  #keys: '[414384.0.605664178]'
  Body:
  [*
    MacroPlan::DoSync( MacroPlan,false,false);
    //MacroPlan::DoSync( MacroPlan,false,false);
  *]
  DefinitionID: 'Responsedef_Menu_OnClick'
  Precondition:
_Main/UI/MacroPlanner/Component_FormTestButtonCollection/Response_Button398_OnClick.def
@@ -5,7 +5,11 @@
  #keys: '[414702.0.340554926]'
  Body:
  [*
    CapacityAllocationResults::CreateDate( GlobalOTDTable, MacroPlan, SelectionScenario.Data() );
    //CapacityAllocationResults::CreateDate( GlobalOTDTable, MacroPlan, SelectionScenario.Data() );
    //CapacityAllocationResultsRuleConfiguration::AutomaticallyGenerateCapacityRules( GlobalOTDTable, MacroPlan );
    CapacityAllocationResults::Test( MacroPlan );
  *]
  CanBindMultiple: false
  DefinitionID: 'Responsedef_GUIButtonBase_OnClick'
_Main/UI/MacroPlanner/Component_FormTestButtonCollection/Response_Button884_OnClick.def
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,12 @@
Quintiq file version 2.0
#parent: Button884
Response OnClick () id:Response_FormTestButtonCollection_Button884_OnClick
{
  #keys: '[414702.1.33954101]'
  Body:
  [*
    CapacityAllocationResultsRuleConfiguration::Test( MacroPlan );
  *]
  CanBindMultiple: false
  DefinitionID: 'Responsedef_GUIButtonBase_OnClick'
}
_Main/UI/MacroPlanner/Component_FormTestButtonCollection/_ROOT_Component_FormTestButtonCollection.def
@@ -11,6 +11,7 @@
    Columns:
    [
      GBFlow.Column { grow: 0 id: 454 parent: 0 }
      GBFlow.Column { grow: 0 id: 968 parent: 0 }
    ]
    Elements:
    [
@@ -18,6 +19,11 @@
      {
        Component => Button398
        Position { startcolumn: 454 startrow: 649 endcolumn: 454 endrow: 649 }
      }
      GBElement
      {
        Component => Button884
        Position { startcolumn: 968 startrow: 649 endcolumn: 968 endrow: 649 }
      }
    ]
    Gaps: [ left: 5 right: 5 top: 5 bottom: 5 inner: 5 ]
@@ -35,7 +41,19 @@
      Properties:
      [
        Image: 'HARDHAT'
        LayoutGroup: 'Button'
        Text: '生成产能分配结果数据'
      ]
    }
    Component Button884
    {
      #keys: '[414702.1.33954049]'
      BaseType: 'Button'
      Properties:
      [
        Image: 'CAKE_SLICE'
        LayoutGroup: 'Button'
        Text: '根据成品生成物料'
      ]
    }
  ]
@@ -46,5 +64,10 @@
    IncludeInView: true
    Title: '功能测试按钮'
    Width: 535
    ModeledStringList ChildOrdering
    {
      c: Button398
      c: Button884
    }
  ]
}
_Main/UI/MacroPlannerWebApp/Component_ApplicationMacroPlanner/Component_ActionBarGroupInventoryViews#981.def
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,18 @@
Quintiq file version 2.0
Component ActionBarGroupInventoryViews #extension
{
  Children:
  [
    Component ButtonMaterialLabelingPlanningStrategy
    {
      #keys: '[414702.1.16631997]'
      BaseType: 'WebButton'
      Properties:
      [
        Image: 'FISH_BOWL'
        Label: '物料标签'
        Taborder: 4
      ]
    }
  ]
}
_Main/UI/MacroPlannerWebApp/Component_ApplicationMacroPlanner/Component_ActionBarGroupPlanViews.def
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,18 @@
Quintiq file version 2.0
Component ActionBarGroupPlanViews #extension
{
  Children:
  [
    Component ButtonOrderLockAndUnlock
    {
      #keys: '[414702.1.15778581]'
      BaseType: 'WebButton'
      Properties:
      [
        Image: 'DOCUMENT_LOCK'
        Label: '订单锁定&解锁'
        Taborder: 8
      ]
    }
  ]
}
_Main/UI/MacroPlannerWebApp/Component_ApplicationMacroPlanner/Component_ActionBarGroupSalesViews#633.def
@@ -7,10 +7,6 @@
    {
      #keys: '[414382.0.436830247]'
      BaseType: 'WebButton'
      Children:
      [
        #child: ContextMenuSalesFillingCapacity
      ]
      Properties:
      [
        Image: 'BLOT'
@@ -29,5 +25,16 @@
        Taborder: 4
      ]
    }
    Component ButtonOffsetting
    {
      #keys: '[414702.1.20970764]'
      BaseType: 'WebButton'
      Properties:
      [
        Image: 'PRICE_STICKER'
        Label: '冲减'
        Taborder: 5
      ]
    }
  ]
}
_Main/UI/MacroPlannerWebApp/Component_ApplicationMacroPlanner/Component_ActionBarPageInventory.def
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,8 @@
Quintiq file version 2.0
Component ActionBarPageInventory #extension
{
  Children:
  [
    #child: ActionBarGroupInventoryViews
  ]
}
_Main/UI/MacroPlannerWebApp/Component_ApplicationMacroPlanner/Component_ActionBarPagePlan.def
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,8 @@
Quintiq file version 2.0
Component ActionBarPagePlan #extension
{
  Children:
  [
    #child: ActionBarGroupPlanViews
  ]
}
_Main/UI/MacroPlannerWebApp/Component_ApplicationMacroPlanner/Component_ContextMenuSalesFillingCapacity.def
ÎļþÒÑɾ³ý
_Main/UI/MacroPlannerWebApp/Component_ApplicationMacroPlanner/Component_abgTest.def
@@ -5,13 +5,17 @@
  BaseType: 'WebActionBarGroup'
  Children:
  [
    Component btnTest
    Component btnTestAttempt
    {
      #keys: '[414702.0.358311907]'
      #keys: '[414502.0.409422371]'
      BaseType: 'WebButton'
      Children:
      [
        #child: cmTestAttempt
      ]
      Properties:
      [
        Image: 'WATER_FISH'
        Image: 'ANTENNA'
        Label: '测试视图'
        Taborder: 0
      ]
_Main/UI/MacroPlannerWebApp/Component_ApplicationMacroPlanner/Component_cmTestAttempt.def
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,78 @@
Quintiq file version 2.0
Component cmTestAttempt
{
  #keys: '[414502.0.409457922]'
  BaseType: 'WebContextMenu'
  Children:
  [
    Component mnCapacityAllocationAndProductionFilling
    {
      #keys: '[414502.0.409457923]'
      BaseType: 'WebMenu'
      Properties:
      [
        Image: 'WATER_FISH'
        Taborder: 0
        Title: '产能分配'
      ]
    }
    Component mnAnnualProductionAndSalesReview
    {
      #keys: '[414502.0.409488417]'
      BaseType: 'WebMenu'
      Properties:
      [
        Image: 'PIG'
        Taborder: 5
        Title: '年度产销复盘'
      ]
    }
    Component mnPanelPullingMaterialOperationsOfEachBusinessUnit
    {
      #keys: '[414702.1.5481991]'
      BaseType: 'WebMenu'
      Properties:
      [
        Image: 'BANANA'
        Taborder: 1
        Title: '面板拉料_事业部操作'
      ]
    }
    Component mnPanelPullingMaterialGroupOperations
    {
      #keys: '[414702.1.5522564]'
      BaseType: 'WebMenu'
      Properties:
      [
        Image: 'CLIENT_NETWORK'
        Taborder: 2
        Title: '面板拉料_集团操作'
      ]
    }
    Component mn224
    {
      #keys: '[414702.1.5593849]'
      BaseType: 'WebMenu'
      Properties:
      [
        Separator: true
        Taborder: 4
      ]
    }
    Component mnDockingERPForPRRelease
    {
      #keys: '[414702.1.5920760]'
      BaseType: 'WebMenu'
      Properties:
      [
        Image: 'BEER_GLASS'
        Taborder: 3
        Title: '对接ERP进行PR释放'
      ]
    }
  ]
  Properties:
  [
    Taborder: 0
  ]
}
_Main/UI/MacroPlannerWebApp/Component_ApplicationMacroPlanner/Response_TIANMA_JITUAN_ActionBarGroupInventoryViews_ButtonMaterialLabelingPl.def
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,16 @@
Quintiq file version 2.0
#parent: ActionBarGroupInventoryViews/ButtonMaterialLabelingPlanningStrategy
Response OnClick () id:Response_TIANMA_JITUAN_ActionBarGroupInventoryViews_ButtonMaterialLabelingPlanningStrategy_OnClick
{
  #keys: '[414702.1.19527712]'
  CanBindMultiple: false
  DefinitionID: 'Responsedef_WebButton_OnClick'
  GroupServerCalls: true
  QuillAction
  {
    Body:
    [*
      ApplicationScope.ViewManager().ResetUserViewById( "物料标签_计划策略", true );
    *]
  }
}
_Main/UI/MacroPlannerWebApp/Component_ApplicationMacroPlanner/Response_TIANMA_JITUAN_ActionBarGroupPlanViews_ButtonOrderLockAndUnlock_OnCl.def
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,16 @@
Quintiq file version 2.0
#parent: ActionBarGroupPlanViews/ButtonOrderLockAndUnlock
Response OnClick () id:Response_TIANMA_JITUAN_ActionBarGroupPlanViews_ButtonOrderLockAndUnlock_OnClick
{
  #keys: '[414702.1.14334079]'
  CanBindMultiple: false
  DefinitionID: 'Responsedef_WebButton_OnClick'
  GroupServerCalls: true
  QuillAction
  {
    Body:
    [*
      ApplicationScope.ViewManager().ResetUserViewById( "订单锁定_解锁", true );
    *]
  }
}
_Main/UI/MacroPlannerWebApp/Component_ApplicationMacroPlanner/Response_TIANMA_JITUAN_ActionBarGroupSalesViews_ButtonOffsetting_OnClick.def
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,16 @@
Quintiq file version 2.0
#parent: ActionBarGroupSalesViews/ButtonOffsetting
Response OnClick () id:Response_TIANMA_JITUAN_ActionBarGroupSalesViews_ButtonOffsetting_OnClick
{
  #keys: '[414702.1.22310683]'
  CanBindMultiple: false
  DefinitionID: 'Responsedef_WebButton_OnClick'
  GroupServerCalls: true
  QuillAction
  {
    Body:
    [*
      ApplicationScope.ViewManager().ResetUserViewById( "冲减", true );
    *]
  }
}
_Main/UI/MacroPlannerWebApp/Component_ApplicationMacroPlanner/Response_TIANMA_JITUAN_ActionBarGroupSalesViews_ButtonSalesFillingCapacity_O.def
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,16 @@
Quintiq file version 2.0
#parent: ActionBarGroupSalesViews/ButtonSalesFillingCapacity
Response OnClick () id:Response_TIANMA_JITUAN_ActionBarGroupSalesViews_ButtonSalesFillingCapacity_OnClick
{
  #keys: '[414702.1.55424758]'
  CanBindMultiple: false
  DefinitionID: 'Responsedef_WebButton_OnClick'
  GroupServerCalls: true
  QuillAction
  {
    Body:
    [*
      ApplicationScope.ViewManager().ResetUserViewById( "填产", true );
    *]
  }
}
_Main/UI/MacroPlannerWebApp/Component_ApplicationMacroPlanner/Response_TIANMA_JITUAN_ContextMenuSalesFillingCapacity_MenuSalesFillingCapac.def
ÎļþÒÑɾ³ý
_Main/UI/MacroPlannerWebApp/Component_ApplicationMacroPlanner/Response_TIANMA_JITUAN_ContextMenuSalesFillingCapacity_MenuSalesFillingS#360.def
ÎļþÒÑɾ³ý
_Main/UI/MacroPlannerWebApp/Component_ApplicationMacroPlanner/Response_TIANMA_JITUAN_ContextMenuSalesFillingCapacity_MenuSalesFillingSchem.def
ÎļþÒÑɾ³ý
_Main/UI/MacroPlannerWebApp/Component_ApplicationMacroPlanner/Response_TIANMA_JITUAN_abgTest_btnTest_OnClick.def
ÎļþÒÑɾ³ý
_Main/UI/MacroPlannerWebApp/Component_ApplicationMacroPlanner/Response_TIANMA_JITUAN_cmTestAttempt_mnAnnualProductionAndSalesReview_OnClic.def
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,16 @@
Quintiq file version 2.0
#parent: cmTestAttempt/mnAnnualProductionAndSalesReview
Response OnClick () id:Response_TIANMA_JITUAN_cmTestAttempt_mnAnnualProductionAndSalesReview_OnClick
{
  #keys: '[414502.0.409488583]'
  CanBindMultiple: false
  DefinitionID: 'Responsedef_WebMenu_OnClick'
  GroupServerCalls: true
  QuillAction
  {
    Body:
    [*
      ApplicationScope.ViewManager().ResetUserViewById( "年度产销复盘", true );
    *]
  }
}
_Main/UI/MacroPlannerWebApp/Component_ApplicationMacroPlanner/Response_TIANMA_JITUAN_cmTestAttempt_mnCapacityAllocationAndProductionFillin.def
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,16 @@
Quintiq file version 2.0
#parent: cmTestAttempt/mnCapacityAllocationAndProductionFilling
Response OnClick () id:Response_TIANMA_JITUAN_cmTestAttempt_mnCapacityAllocationAndProductionFilling_OnClick
{
  #keys: '[414502.0.409488282]'
  CanBindMultiple: false
  DefinitionID: 'Responsedef_WebMenu_OnClick'
  GroupServerCalls: true
  QuillAction
  {
    Body:
    [*
      ApplicationScope.ViewManager().ResetUserViewById( "Test", true );
    *]
  }
}
_Main/UI/MacroPlannerWebApp/Component_ApplicationMacroPlanner/Response_TIANMA_JITUAN_cmTestAttempt_mnDockingERPForPRRelease_OnClick.def
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,16 @@
Quintiq file version 2.0
#parent: cmTestAttempt/mnDockingERPForPRRelease
Response OnClick () id:Response_TIANMA_JITUAN_cmTestAttempt_mnDockingERPForPRRelease_OnClick
{
  #keys: '[414702.1.7136407]'
  CanBindMultiple: false
  DefinitionID: 'Responsedef_WebMenu_OnClick'
  GroupServerCalls: true
  QuillAction
  {
    Body:
    [*
      ApplicationScope.ViewManager().ResetUserViewById( "对接ERP进行PR释放", true );
    *]
  }
}
_Main/UI/MacroPlannerWebApp/Component_ApplicationMacroPlanner/Response_TIANMA_JITUAN_cmTestAttempt_mnPanelPullingMaterialGroupOperations_O.def
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,16 @@
Quintiq file version 2.0
#parent: cmTestAttempt/mnPanelPullingMaterialGroupOperations
Response OnClick () id:Response_TIANMA_JITUAN_cmTestAttempt_mnPanelPullingMaterialGroupOperations_OnClick
{
  #keys: '[414702.1.5773124]'
  CanBindMultiple: false
  DefinitionID: 'Responsedef_WebMenu_OnClick'
  GroupServerCalls: true
  QuillAction
  {
    Body:
    [*
      ApplicationScope.ViewManager().ResetUserViewById( "面板拉料_集团操作", true );
    *]
  }
}
_Main/UI/MacroPlannerWebApp/Component_ApplicationMacroPlanner/Response_TIANMA_JITUAN_cmTestAttempt_mnPanelPullingMaterialOperationsOfEachB.def
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,16 @@
Quintiq file version 2.0
#parent: cmTestAttempt/mnPanelPullingMaterialOperationsOfEachBusinessUnit
Response OnClick () id:Response_TIANMA_JITUAN_cmTestAttempt_mnPanelPullingMaterialOperationsOfEachBusinessUnit_OnClick
{
  #keys: '[414702.1.4243881]'
  CanBindMultiple: false
  DefinitionID: 'Responsedef_WebMenu_OnClick'
  GroupServerCalls: true
  QuillAction
  {
    Body:
    [*
      ApplicationScope.ViewManager().ResetUserViewById( "面板拉料_各事业部操作", true );
    *]
  }
}
_Main/UI/MacroPlannerWebApp/Component_ApplicationMacroPlanner/_ROOT_Component_ApplicationMacroPlanner.def
@@ -12,6 +12,8 @@
        #child: ActionBarPageData
        #child: ActionBarPageSales
        #child: applicationDevelopmentActionBarPageDef_1
        #child: ActionBarPagePlan
        #child: ActionBarPageInventory
      ]
    }
    Component DataHolderCapacityAndSaleBudgeFilterItem
_Main/UI/MacroPlannerWebApp/Component_DialogCreateEditScenario/Method_OnOk.def
@@ -117,6 +117,9 @@
        MacroPlan::DoSync( macroPlanNew, 
                           data.BusinessType(), data.IsKeyProduct(), data.CreatePurchaseSupplyMaterial() ,GlobalOTDTable);
    }
    macroPlanNew.BusinessType( businesstype );
    macroPlanNew.IsKeyProduct( data.IsKeyProduct() );
    macroPlanNew.CreatePurchaseSupplyMaterial( data.CreatePurchaseSupplyMaterial() );
    
    this.Close();
  *]
_Main/UI/MacroPlannerWebApp/Component_DialogFillingCapacityOrder/Component_pnlContent.def
@@ -277,6 +277,7 @@
      BaseType: 'WebEditField'
      Properties:
      [
        DataBinding: 'DataHolderFillingCapacityOrder.Data.CustomerID'
        Label: 'Customer ID'
        Taborder: 12
      ]
_Main/UI/MacroPlannerWebApp/Component_DialogFillingCapacityOrder/Response_pnlActions_btnOk_OnClick.def
@@ -30,6 +30,7 @@
                                        SalesSegmentName   := guard( ddlSalesSegment.Data().Name(), "null" ),
                                        StockingPointID    := guard( ddlStockingPoint_MP.Data().ID(), "null" ),
                                        Customer           := efCustomerName.Text(),
                                        CustomerID         := efCustomID.Text(),
                                        Quantity           := [Real]edtQuantity.Text(),
                                        UnitOfMeasureName  := ddlUnitOfMeasure_MP.Data().Name(),
                                        ForecastDemandDate := dsForecastDemandDate.Date(),
@@ -44,6 +45,7 @@
        data.SalesSegmentName( guard( ddlSalesSegment.Data().Name(), "null" ) );
        data.StockingPointID( guard( ddlStockingPoint_MP.Data().ID(), "null" ) );
        data.Customer( efCustomerName.Text() );
        data.CustomerID( efCustomID.Text() );
        data.Quantity( [Real]edtQuantity.Text() );
        data.UnitOfMeasureName( ddlUnitOfMeasure_MP.Data().Name() );
        data.ForecastDemandDate( dsForecastDemandDate.Date() );
_Main/UI/MacroPlannerWebApp/Component_Form633/Component_ListPRData#844.def
@@ -27,7 +27,7 @@
      ]
      Properties:
      [
        Columns: '[{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"ProductID","title":"ProductID","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"ProductID"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"ProductName","title":"ProductName","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"ProductName"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"IsPannelMaterial","title":"IsPannelMaterial","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"IsPannelMaterial"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"ProduceRequiredDate","title":"ProduceRequiredDate","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"ProduceRequiredDate"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"PRSuggestionDate","title":"PRSuggestionDate","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"PRSuggestionDate"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"Quantity","title":"Quantity","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"Quantity"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"MRPCalverNo","title":"MRPCalverNo","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"MRPCalverNo"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"BusinessType","title":"BusinessType","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"BusinessType"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"OrganCode","title":"OrganCode","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"OrganCode"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"IsLongLeadItem","title":"IsLongLeadItem","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"IsLongLeadItem"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"IsGenericMaterial","title":"IsGenericMaterial","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"IsGenericMaterial"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"MaterialMRPType","title":"MaterialMRPType","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"MaterialMRPType"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"LeadTime","title":"LeadTime","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"LeadTime"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"ProviderCode","title":"ProviderCode","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"ProviderCode"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"ProviderName","title":"ProviderName","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"ProviderName"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"StockingPointID","title":"StockingPointID","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"StockingPointID"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"UnitOfMeasure","title":"UnitOfMeasure","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"UnitOfMeasure"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"SendStatus","title":"SendStatus","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"SendStatus"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"SendTimeString","title":"SendTimeString","subtotals":"","tooltip":"","width":-1,"display":"shown","attribute":"SendTimeString"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"SendBy","title":"SendBy","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"SendBy"}}]'
        Columns: '[{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"ProductID","title":"ProductID","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"ProductID"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"ProductName","title":"ProductName","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"ProductName"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"DeliveryDate","title":"DeliveryDate","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"DeliveryDate"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"PRSuggestionDate","title":"PRSuggestionDate","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"PRSuggestionDate"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"Quantity","title":"Quantity","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"Quantity"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"MRPCalverNo","title":"MRPCalverNo","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"MRPCalverNo"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"BusinessType","title":"BusinessType","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"BusinessType"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"OrganCode","title":"OrganCode","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"OrganCode"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"IsLongLeadItem","title":"IsLongLeadItem","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"IsLongLeadItem"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"IsGenericMaterial","title":"IsGenericMaterial","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"IsGenericMaterial"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"MaterialMRPType","title":"MaterialMRPType","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"MaterialMRPType"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"LeadTime","title":"LeadTime","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"LeadTime"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"ProviderCode","title":"ProviderCode","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"ProviderCode"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"ProviderName","title":"ProviderName","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"ProviderName"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"StockingPointID","title":"StockingPointID","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"StockingPointID"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"UnitOfMeasure","title":"UnitOfMeasure","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"UnitOfMeasure"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"PRReleaseStatus","title":"PRReleaseStatus","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"PRReleaseStatus"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"CreateTimeString","title":"CreateTimeString","subtotals":"","tooltip":"","width":-1,"display":"shown","attribute":"CreateTimeString"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"CreateBy","title":"CreateBy","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"CreateBy"}}]'
        ContextMenu: 'listContextMenuPRData'
        SortCriteria: 'BusinessType;MRPCalverNo'
        Taborder: 1
_Main/UI/MacroPlannerWebApp/Component_Form633/Response_PanelPRDataButton_ButtonExportPR_OnClick.def
@@ -7,7 +7,7 @@
  DefinitionID: 'Responsedef_WebButton_OnClick'
  Precondition:
  [*
    return not isnull( GlobalOTDTable );
    return not isnull( GlobalOTDTable ) and not isnull( MacroPlan );
  *]
  QuillAction
  {
_Main/UI/MacroPlannerWebApp/Component_Form633/Response_PanelPRDataButton_ButtonLoad_OnClick.def
@@ -5,12 +5,16 @@
  #keys: '[414384.0.859141084]'
  CanBindMultiple: false
  DefinitionID: 'Responsedef_WebButton_OnClick'
  Precondition:
  [*
    return not isnull( MacroPlan );
  *]
  QuillAction
  {
    Body:
    [*
      MacroPlan.PRData( relflush );
      PRData::FromSupplyPlanning( GlobalOTDTable, MacroPlan, MacroPlan, "" );
      PRData::FromSupplyPlanning( GlobalOTDTable, MacroPlan, "", ApplicationMacroPlanner.GetUserName() );
    *]
    GroupServerCalls: false
  }
_Main/UI/MacroPlannerWebApp/Component_FormCapacityAllocationResultsRuleConfiguration/Component_PanelImportAndExport.def
@@ -27,6 +27,18 @@
        Taborder: 1
      ]
    }
    Component AutomaticallyGenerate
    {
      #keys: '[414702.1.14342122]'
      BaseType: 'WebButton'
      Properties:
      [
        Image: 'CAR_CYAN'
        Label: '自动生成规则'
        Taborder: 2
        Visible: false
      ]
    }
  ]
  Properties:
  [
_Main/UI/MacroPlannerWebApp/Component_FormCapacityAllocationResultsRuleConfiguration/Component_listContextMenuCapacityAllocationResultsRuleConfiguration.def
@@ -51,6 +51,27 @@
        Title: '全选'
      ]
    }
    Component Menu666
    {
      #keys: '[414702.1.55207187]'
      BaseType: 'WebMenu'
      Properties:
      [
        Separator: true
        Taborder: 7
      ]
    }
    Component MenuAutoCreate
    {
      #keys: '[414702.1.55207442]'
      BaseType: 'WebMenu'
      Properties:
      [
        Image: 'COMPONENT'
        Taborder: 8
        Title: '自动创建规则'
      ]
    }
  ]
  Properties:
  [
_Main/UI/MacroPlannerWebApp/Component_FormCapacityAllocationResultsRuleConfiguration/Response_PanelImportAndExport_AutomaticallyGenerate_OnClick.def
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,16 @@
Quintiq file version 2.0
#parent: PanelImportAndExport/AutomaticallyGenerate
Response OnClick () id:Response_PanelImportAndExport_AutomaticallyGenerate_OnClick
{
  #keys: '[414702.1.14304989]'
  CanBindMultiple: false
  DefinitionID: 'Responsedef_WebButton_OnClick'
  GroupServerCalls: true
  QuillAction
  {
    Body:
    [*
      CapacityAllocationResultsRuleConfiguration::AutomaticallyGenerateCapacityAllocationResults( GlobalOTDTable, MacroPlan );
    *]
  }
}
_Main/UI/MacroPlannerWebApp/Component_FormCapacityAllocationResultsRuleConfiguration/Response_listContextMenuCapacityAllocationResultsRuleConfiguration_MenuAutoC.def
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,20 @@
Quintiq file version 2.0
#parent: listContextMenuCapacityAllocationResultsRuleConfiguration/MenuAutoCreate
Response OnClick () id:Response_listContextMenuCapacityAllocationResultsRuleConfiguration_MenuAutoCreate_OnClick
{
  #keys: '[414702.1.55268133]'
  CanBindMultiple: false
  DefinitionID: 'Responsedef_WebMenu_OnClick'
  GroupServerCalls: true
  Precondition:
  [*
    return not isnull( MacroPlan ) and not isnull( GlobalOTDTable );
  *]
  QuillAction
  {
    Body:
    [*
      //CapacityAllocationResultsRuleConfiguration::AutomaticallyGenerateRule( MacroPlan, GlobalOTDTable );
    *]
  }
}
_Main/UI/MacroPlannerWebApp/Component_FormCapacityAndSaleBudge/Component_ListCapacityAndSaleBudge.def
@@ -11,11 +11,11 @@
      BaseType: 'WebDataExtractor'
      Properties:
      [
        DataType: 'MPSync'
        FixedFilter: 'object.YearNo() = Date::ActualDate().Year()'
        Source: 'MPSync'
        DataType: 'GlobalOTDTable'
        FixedFilter: '[Number]object.YearNo() = Date::ActualDate().Year()'
        Source: 'GlobalOTDTable'
        Taborder: 0
        Transformation: 'MappingCapacityAndSaleBudge'
        Transformation: 'Global_MappingAnnualBudgetData'
      ]
    }
    #child: listActionBarPageCapacityAndSaleBudge
@@ -29,9 +29,9 @@
      ]
      Properties:
      [
        Columns: '[{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"Deleted","title":"Deleted","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"Deleted"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"YearNo","title":"YearNo","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"YearNo"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"OrgCode","title":"OrgCode","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"OrgCode"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"DisplayTechnology","title":"DisplayTechnology","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"DisplayTechnology"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"BusinessType","title":"BusinessType","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"BusinessType"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"LineAndSpecification","title":"LineAndSpecification","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"LineAndSpecification"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"ProductCode","title":"ProductCode","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"ProductCode"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"PlaceOfProductionOfArray","title":"PlaceOfProductionOfArray","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"PlaceOfProductionOfArray"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"PlaceOfProductionOfEvaporation","title":"PlaceOfProductionOfEvaporation","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"PlaceOfProductionOfEvaporation"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"Resolution","title":"Resolution","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"Resolution"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"ShippingForm","title":"ShippingForm","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"ShippingForm"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"NumberOfCut","title":"NumberOfCut","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"NumberOfCut"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"CapacityEquivalent","title":"CapacityEquivalent","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"CapacityEquivalent"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"NumberOfMask","title":"NumberOfMask","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"NumberOfMask"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"CapacityInPCSInMonth1","title":"CapacityInPCSInMonth1","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"CapacityInPCSInMonth1"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"CapacityInPCSInMonth2","title":"CapacityInPCSInMonth2","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"CapacityInPCSInMonth2"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"CapacityInPCSInMonth3","title":"CapacityInPCSInMonth3","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"CapacityInPCSInMonth3"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"CapacityInPCSInMonth4","title":"CapacityInPCSInMonth4","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"CapacityInPCSInMonth4"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"CapacityInPCSInMonth5","title":"CapacityInPCSInMonth5","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"CapacityInPCSInMonth5"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"CapacityInPCSInMonth6","title":"CapacityInPCSInMonth6","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"CapacityInPCSInMonth6"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"CapacityInPCSInMonth7","title":"CapacityInPCSInMonth7","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"CapacityInPCSInMonth7"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"CapacityInPCSInMonth8","title":"CapacityInPCSInMonth8","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"CapacityInPCSInMonth8"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"CapacityInPCSInMonth9","title":"CapacityInPCSInMonth9","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"CapacityInPCSInMonth9"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"CapacityInPCSInMonth10","title":"CapacityInPCSInMonth10","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"CapacityInPCSInMonth10"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"CapacityInPCSInMonth11","title":"CapacityInPCSInMonth11","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"CapacityInPCSInMonth11"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"CapacityInPCSInMonth12","title":"CapacityInPCSInMonth12","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"CapacityInPCSInMonth12"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"CapacityInPCSTotal","title":"CapacityInPCSTotal","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"CapacityInPCSTotal"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"CapacityInSheetInMonth1","title":"CapacityInSheetInMonth1","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"CapacityInSheetInMonth1"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"CapacityInSheetInMonth2","title":"CapacityInSheetInMonth2","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"CapacityInSheetInMonth2"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"CapacityInSheetInMonth3","title":"CapacityInSheetInMonth3","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"CapacityInSheetInMonth3"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"CapacityInSheetInMonth4","title":"CapacityInSheetInMonth4","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"CapacityInSheetInMonth4"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"CapacityInSheetInMonth5","title":"CapacityInSheetInMonth5","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"CapacityInSheetInMonth5"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"CapacityInSheetInMonth6","title":"CapacityInSheetInMonth6","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"CapacityInSheetInMonth6"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"CapacityInSheetInMonth7","title":"CapacityInSheetInMonth7","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"CapacityInSheetInMonth7"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"CapacityInSheetInMonth8","title":"CapacityInSheetInMonth8","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"CapacityInSheetInMonth8"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"CapacityInSheetInMonth9","title":"CapacityInSheetInMonth9","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"CapacityInSheetInMonth9"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"CapacityInSheetInMonth10","title":"CapacityInSheetInMonth10","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"CapacityInSheetInMonth10"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"CapacityInSheetInMonth11","title":"CapacityInSheetInMonth11","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"CapacityInSheetInMonth11"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"CapacityInSheetInMonth12","title":"CapacityInSheetInMonth12","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"CapacityInSheetInMonth12"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"CapacityInSheetTotal","title":"CapacityInSheetTotal","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"CapacityInSheetTotal"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"SaleAmountInMonth1","title":"SaleAmountInMonth1","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"SaleAmountInMonth1"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"SaleAmountInMonth2","title":"SaleAmountInMonth2","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"SaleAmountInMonth2"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"SaleAmountInMonth3","title":"SaleAmountInMonth3","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"SaleAmountInMonth3"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"SaleAmountInMonth5","title":"SaleAmountInMonth5","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"SaleAmountInMonth5"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"SaleAmountInMonth4","title":"SaleAmountInMonth4","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"SaleAmountInMonth4"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"SaleAmountInMonth6","title":"SaleAmountInMonth6","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"SaleAmountInMonth6"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"SaleAmountInMonth7","title":"SaleAmountInMonth7","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"SaleAmountInMonth7"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"SaleAmountInMonth8","title":"SaleAmountInMonth8","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"SaleAmountInMonth8"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"SaleAmountInMonth9","title":"SaleAmountInMonth9","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"SaleAmountInMonth9"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"SaleAmountInMonth10","title":"SaleAmountInMonth10","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"SaleAmountInMonth10"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"SaleAmountInMonth11","title":"SaleAmountInMonth11","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"SaleAmountInMonth11"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"SaleAmountInMonth12","title":"SaleAmountInMonth12","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"SaleAmountInMonth12"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"SaleAmountTotal","title":"SaleAmountTotal","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"SaleAmountTotal"}}]'
        Columns: '[{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"YearNo","title":"YearNo","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"YearNo"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"BusinessType","title":"BusinessType","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"BusinessType"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"DisplayTechSort","title":"DisplayTechSort","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"DisplayTechSort"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"BusinessSort","title":"BusinessSort","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"BusinessSort"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"ProductLineAndSpecification","title":"ProductLineAndSpecification","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"ProductLineAndSpecification"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"ProductID","title":"ProductID","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"ProductID"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"OrgCodeFromBom","title":"OrgCodeFromBom","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"OrgCodeFromBom"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"ResolutionRatio","title":"ResolutionRatio","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"ResolutionRatio"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"ShippingForm","title":"ShippingForm","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"ShippingForm"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"CutsNumber","title":"CutsNumber","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"CutsNumber"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"CapacityEquivalent","title":"CapacityEquivalent","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"CapacityEquivalent"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"MaskNumber","title":"MaskNumber","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"MaskNumber"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"MonthlyModCapacity1","title":"MonthlyModCapacity1","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"MonthlyModCapacity1"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"MonthlyModCapacity2","title":"MonthlyModCapacity2","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"MonthlyModCapacity2"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"MonthlyModCapacity3","title":"MonthlyModCapacity3","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"MonthlyModCapacity3"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"MonthlyModCapacity4","title":"MonthlyModCapacity4","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"MonthlyModCapacity4"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"MonthlyModCapacity5","title":"MonthlyModCapacity5","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"MonthlyModCapacity5"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"MonthlyModCapacity6","title":"MonthlyModCapacity6","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"MonthlyModCapacity6"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"MonthlyModCapacity7","title":"MonthlyModCapacity7","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"MonthlyModCapacity7"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"MonthlyModCapacity8","title":"MonthlyModCapacity8","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"MonthlyModCapacity8"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"MonthlyModCapacity9","title":"MonthlyModCapacity9","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"MonthlyModCapacity9"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"MonthlyModCapacity10","title":"MonthlyModCapacity10","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"MonthlyModCapacity10"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"MonthlyModCapacity11","title":"MonthlyModCapacity11","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"MonthlyModCapacity11"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"MonthlyModCapacity12","title":"MonthlyModCapacity12","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"MonthlyModCapacity12"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"MonthlySheetCapacity1","title":"MonthlySheetCapacity1","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"MonthlySheetCapacity1"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"MonthlySheetCapacity2","title":"MonthlySheetCapacity2","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"MonthlySheetCapacity2"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"MonthlySheetCapacity3","title":"MonthlySheetCapacity3","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"MonthlySheetCapacity3"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"MonthlySheetCapacity4","title":"MonthlySheetCapacity4","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"MonthlySheetCapacity4"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"MonthlySheetCapacity5","title":"MonthlySheetCapacity5","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"MonthlySheetCapacity5"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"MonthlySheetCapacity6","title":"MonthlySheetCapacity6","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"MonthlySheetCapacity6"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"MonthlySheetCapacity7","title":"MonthlySheetCapacity7","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"MonthlySheetCapacity7"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"MonthlySheetCapacity8","title":"MonthlySheetCapacity8","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"MonthlySheetCapacity8"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"MonthlySheetCapacity9","title":"MonthlySheetCapacity9","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"MonthlySheetCapacity9"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"MonthlySheetCapacity10","title":"MonthlySheetCapacity10","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"MonthlySheetCapacity10"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"MonthlySheetCapacity11","title":"MonthlySheetCapacity11","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"MonthlySheetCapacity11"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"MonthlySheetCapacity12","title":"MonthlySheetCapacity12","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"MonthlySheetCapacity12"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"MonthlySales1","title":"MonthlySales1","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"MonthlySales1"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"MonthlySales2","title":"MonthlySales2","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"MonthlySales2"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"MonthlySales3","title":"MonthlySales3","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"MonthlySales3"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"MonthlySales4","title":"MonthlySales4","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"MonthlySales4"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"MonthlySales5","title":"MonthlySales5","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"MonthlySales5"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"MonthlySales6","title":"MonthlySales6","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"MonthlySales6"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"MonthlySales7","title":"MonthlySales7","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"MonthlySales7"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"MonthlySales8","title":"MonthlySales8","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"MonthlySales8"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"MonthlySales9","title":"MonthlySales9","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"MonthlySales9"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"MonthlySales10","title":"MonthlySales10","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"MonthlySales10"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"MonthlySales11","title":"MonthlySales11","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"MonthlySales11"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"MonthlySales12","title":"MonthlySales12","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"MonthlySales12"}}]'
        ContextMenu: 'listContextMenuCapacityAndSaleBudge'
        SortCriteria: 'BusinessType;OrgCode;ProductCode'
        SortCriteria: 'BusinessSort;OrganCode;ProductID'
        Taborder: 2
      ]
    }
_Main/UI/MacroPlannerWebApp/Component_FormCapacityAndSaleBudge/Response_ButtonExportDetail_OnClick.def
@@ -15,7 +15,7 @@
    [*
      //Application.Download( "年度产销预算详情.xlsx", MPSync.CapacityAndSaleBudgeExport().AsBinaryData() );
      
      base64 := MappingCapacityAndSaleBudge::Export( MPSync );
      base64 := Global_MappingAnnualBudgetData::Export( GlobalOTDTable );
      Application.Download( "年度产销预算详情.xlsx", base64 );
    *]
    GroupServerCalls: false
_Main/UI/MacroPlannerWebApp/Component_FormCapacityAndSaleBudge/Response_OnCreated.def
@@ -12,7 +12,9 @@
    [*
      MPSync::TestData( MPSync, MacroPlan );
      GlobalOTDTable.InitTestData();
      MPSync.RefreshCapacityAndSaleBudgeFilter( GlobalOTDTable );
      GlobalOTDTable.InitTestData( MacroPlan );
      Global_MappingAnnualBudgetData::SetOrgCodeFromForecast( GlobalOTDTable );
      GlobalOTDTable.RefreshCapacityAndSaleBudgeFilter( true );
    *]
  }
}
_Main/UI/MacroPlannerWebApp/Component_FormCapacityAndSaleBudgeChart/Response_ButtonCapacityAndSaleBudgeChartTest_OnClick.def
@@ -10,7 +10,7 @@
  {
    Body:
    [*
      CapacityAndSaleBudgeChartElement::TestData( GlobalOTDTable );
      //CapacityAndSaleBudgeChartElement::TestData( GlobalOTDTable );
      
      GlobalOTDTable.CapacityAndSaleBudgeChart( DataHolderMacroPlansForScenarioComparison.Data(), 
                                                DropDownSaleOrCapacity.Text(),
@@ -20,9 +20,7 @@
                                                DataHolderCapacityAndSaleBudgeFilterPlaceOfProductionOfArray.Data(),
                                                DataHolderCapacityAndSaleBudgeFilterYear.Data(),
                                                DataHolderCapacityAndSaleBudgeFilterMonth.Data(),
                                                MPSync,
                                                GlobalOTDTable,
                                                MacroPlan );
                                                GlobalOTDTable );
    *]
  }
}
_Main/UI/MacroPlannerWebApp/Component_FormCapacityAndSaleBudgeCompare/Response_ButtonCapacityAndSaleBudgeCompare_OnClick.def
@@ -18,9 +18,7 @@
                                                  DataHolderCapacityAndSaleBudgeFilterItem.Data(), 
                                                  DataHolderCapacityAndSaleBudgeFilterYear.Data(), 
                                                  DataHolderCapacityAndSaleBudgeFilterMonth.Data(),
                                                  MPSync,
                                                  GlobalOTDTable,
                                                  MacroPlan );
                                                  GlobalOTDTable );
    *]
  }
}
_Main/UI/MacroPlannerWebApp/Component_FormCapacityAndSaleBudgeFilterBusinessType/Response_listContextMenuCapacityAndSaleBudgeFilterYear_1_MenuRefresh_OnClick.def
@@ -10,7 +10,7 @@
  {
    Body:
    [*
      MPSync.RefreshCapacityAndSaleBudgeFilter( GlobalOTDTable );
      GlobalOTDTable.RefreshCapacityAndSaleBudgeFilter( true );
    *]
  }
}
_Main/UI/MacroPlannerWebApp/Component_FormCapacityAndSaleBudgeFilterPlaceOfProductionOfArray/Response_listContextMenuCapacityAndSaleBudgeFilterYear_1_MenuRefresh_OnC#663.def
@@ -10,7 +10,7 @@
  {
    Body:
    [*
      MPSync.RefreshCapacityAndSaleBudgeFilter( GlobalOTDTable );
      GlobalOTDTable.RefreshCapacityAndSaleBudgeFilter( true );
    *]
  }
}
_Main/UI/MacroPlannerWebApp/Component_FormFillingCapacityScheme/Response_PanelButton_ButtonTransform_OnClick.def
@@ -13,7 +13,14 @@
  {
    Body:
    [*
      CustomerAndForecastOrder::CreateData( MacroPlan );
      CustomerAndForecastOrder::CreateData( MacroPlan, DataHolderActiveScenario.Data() );
      message := "总订单个数:"                                                               +
                [String]counter( MacroPlan, SalesDemand.astype( CustomerOrder ), cs, true )  +
                 "    æˆåŠŸè½¬æ¢ä¸ªæ•°ï¼š"                                                         +
                 [String]counter( MacroPlan, SalesDemand.astype( CustomerOrder ), cs, true )
      WebMessageBox::Success( message, true );
    *]
    GroupServerCalls: false
  }
_Main/UI/MacroPlannerWebApp/Component_FormInterfaceTest/Component_PanelInterfaceOption1.def
@@ -1,13 +1,13 @@
Quintiq file version 2.0
Component PanelInterfaceOption1
{
  #keys: '[414702.0.459752107]'
  #keys: '[414702.1.37166701]'
  BaseType: 'WebPanel'
  Children:
  [
    Component CheckboxCustomOrder
    {
      #keys: '[414702.0.459786494]'
      #keys: '[414702.1.37166702]'
      BaseType: 'WebCheckbox'
      Properties:
      [
@@ -17,17 +17,17 @@
    }
    Component CheckboxForecast
    {
      #keys: '[414702.0.459501981]'
      #keys: '[414702.1.37166703]'
      BaseType: 'WebCheckbox'
      Properties:
      [
        Label: 'Forecast'
        Label: 'Forecast '
        Taborder: 1
      ]
    }
    Component CheckboxUnitOfMeasure_MP
    {
      #keys: '[414702.0.500042972]'
      #keys: '[414702.1.37166704]'
      BaseType: 'WebCheckbox'
      Properties:
      [
@@ -37,7 +37,7 @@
    }
    Component CheckboxSalesSegment_MP
    {
      #keys: '[414702.0.498882706]'
      #keys: '[414702.1.37166705]'
      BaseType: 'WebCheckbox'
      Properties:
      [
@@ -47,7 +47,7 @@
    }
    Component CheckboxProduct_MP
    {
      #keys: '[414702.0.500281942]'
      #keys: '[414702.1.37166706]'
      BaseType: 'WebCheckbox'
      Properties:
      [
_Main/UI/MacroPlannerWebApp/Component_FormInterfaceTest/Component_PanelInterfaceOption2#456.def
ÎļþÒÑɾ³ý
_Main/UI/MacroPlannerWebApp/Component_FormInterfaceTest/Component_PanelInterfaceOption2.def
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,65 @@
Quintiq file version 2.0
Component PanelInterfaceOption2
{
  #keys: '[414702.1.37166769]'
  BaseType: 'WebPanel'
  Children:
  [
    Component CheckboxConversionFactor
    {
      #keys: '[414702.1.37166770]'
      BaseType: 'WebCheckbox'
      Properties:
      [
        Label: 'ConversionFactor'
        Taborder: 0
      ]
    }
    Component CheckboxOperation
    {
      #keys: '[414702.1.37166771]'
      BaseType: 'WebCheckbox'
      Properties:
      [
        Label: 'Operation '
        Taborder: 1
      ]
    }
    Component CheckboxOperationBOM
    {
      #keys: '[414702.1.37166772]'
      BaseType: 'WebCheckbox'
      Properties:
      [
        Label: 'OperationBOM'
        Taborder: 2
      ]
    }
    Component CheckboxProductInLane
    {
      #keys: '[414702.1.37166773]'
      BaseType: 'WebCheckbox'
      Properties:
      [
        Label: 'ProductInLane'
        Taborder: 3
      ]
    }
    Component CheckboxAIPISPIP
    {
      #keys: '[414702.1.37166774]'
      BaseType: 'WebCheckbox'
      Properties:
      [
        Label: 'AIPISPIP'
        Taborder: 4
      ]
    }
  ]
  Properties:
  [
    FixedSize: true
    Orientation: 'horizontal'
    Taborder: 1
  ]
}
_Main/UI/MacroPlannerWebApp/Component_FormInterfaceTest/Component_PanelInterfaceOption3.def
@@ -1,13 +1,13 @@
Quintiq file version 2.0
Component PanelInterfaceOption3
{
  #keys: '[414702.0.501742781]'
  #keys: '[414702.1.37166837]'
  BaseType: 'WebPanel'
  Children:
  [
    Component CheckboxInventorySupply
    {
      #keys: '[414702.0.503576372]'
      #keys: '[414702.1.37166838]'
      BaseType: 'WebCheckbox'
      Properties:
      [
@@ -17,7 +17,7 @@
    }
    Component CheckboxStockingPointCost
    {
      #keys: '[414702.0.503748797]'
      #keys: '[414702.1.37166839]'
      BaseType: 'WebCheckbox'
      Properties:
      [
@@ -27,7 +27,7 @@
    }
    Component CheckboxOperationCost
    {
      #keys: '[414702.0.503158219]'
      #keys: '[414702.1.37166840]'
      BaseType: 'WebCheckbox'
      Properties:
      [
@@ -37,7 +37,7 @@
    }
    Component CheckboxDOI_DSI
    {
      #keys: '[414702.0.503158880]'
      #keys: '[414702.1.37166841]'
      BaseType: 'WebCheckbox'
      Properties:
      [
@@ -47,7 +47,7 @@
    }
    Component CheckboxCustomerGrade
    {
      #keys: '[414702.0.503159013]'
      #keys: '[414702.1.37166842]'
      BaseType: 'WebCheckbox'
      Properties:
      [
_Main/UI/MacroPlannerWebApp/Component_FormInterfaceTest/Component_PanelInterfaceOption4.def
@@ -1,13 +1,13 @@
Quintiq file version 2.0
Component PanelInterfaceOption4
{
  #keys: '[414702.0.504229568]'
  #keys: '[414702.1.37166905]'
  BaseType: 'WebPanel'
  Children:
  [
    Component CheckboxStockingPoint_MP
    {
      #keys: '[414702.0.501794917]'
      #keys: '[414702.1.37166906]'
      BaseType: 'WebCheckbox'
      Properties:
      [
@@ -17,7 +17,7 @@
    }
    Component CheckboxCurrency_MP
    {
      #keys: '[414702.0.504229987]'
      #keys: '[414702.1.37166907]'
      BaseType: 'WebCheckbox'
      Properties:
      [
@@ -27,7 +27,7 @@
    }
    Component CheckboxCurrencyRate_MP
    {
      #keys: '[414702.0.503787453]'
      #keys: '[414702.1.37166908]'
      BaseType: 'WebCheckbox'
      Properties:
      [
@@ -37,17 +37,17 @@
    }
    Component CheckboxLane
    {
      #keys: '[414702.0.503787560]'
      #keys: '[414702.1.37166909]'
      BaseType: 'WebCheckbox'
      Properties:
      [
        Label: 'Lane'
        Label: 'Lane '
        Taborder: 3
      ]
    }
    Component CheckboxLaneLeg
    {
      #keys: '[414702.0.503787710]'
      #keys: '[414702.1.37166910]'
      BaseType: 'WebCheckbox'
      Properties:
      [
_Main/UI/MacroPlannerWebApp/Component_FormInterfaceTest/Response_ListInterfaceTest_MenuCreateShowData_OnClick.def
@@ -10,23 +10,23 @@
  Initiator: 'MenuCreateShowData'
  Precondition:
  [*
    flag := selection.BrokerName() = "GlobalOTDTable_CustomOrder"
    if ( not flag ) {
      feedback := "暂不支持!!!";
    }
    return flag;
    //flag := selection.BrokerName() = "GlobalOTDTable_CustomOrder"
    //
    //if ( not flag ) {
    //  feedback := "暂不支持!!!";
    //}
    //
    //return flag;
  *]
  QuillAction
  {
    Body:
    [*
      GlobalOTDTable.Global_ShowRow( relflush );
      GlobalOTDTable.Global_ShowColumn( relflush );
      GlobalOTDTable.Global_ShowCell( relflush );
      Global_ShowCell::ShowData( GlobalOTDTable, selection );
      //GlobalOTDTable.Global_ShowRow( relflush );
      //GlobalOTDTable.Global_ShowColumn( relflush );
      //GlobalOTDTable.Global_ShowCell( relflush );
      //
      //Global_ShowCell::ShowData( GlobalOTDTable, selection );
    *]
    GroupServerCalls: false
  }
_Main/UI/MacroPlannerWebApp/Component_FormInterfaceTest/Response_PanelInterfaceTest_ButtonPullInterfaceDataToIntermediateTable_OnCli.def
@@ -7,7 +7,13 @@
  DefinitionID: 'Responsedef_WebButton_OnClick'
  Precondition:
  [*
    return not isnull( GlobalOTDTable );
    flag := not isnull( GlobalOTDTable );
    if ( not isnull( GlobalOTDTable ) ) {
    }
    return flag;
  *]
  QuillAction
  {
_Main/UI/MacroPlannerWebApp/Component_FormInterfaceTest/Response_PanelInterfaceTest_ButtonSynchronizeDataToMacroPlan_OnClick.def
@@ -16,7 +16,25 @@
      GlobalOTDTable.SynchronizeDataToMacroPlan( MacroPlan, 
                                                 ApplicationMacroPlanner.GetUserName(),
                                                 CheckboxUnitOfMeasure_MP.Checked(),
                                                 CheckboxCustomOrder.Checked()
                                                 CheckboxCustomOrder.Checked(),
                                                 CheckboxForecast.Checked(),
                                                 CheckboxSalesSegment_MP.Checked(),
                                                 CheckboxProduct_MP.Checked(),
                                                 CheckboxConversionFactor.Checked(),
                                                 CheckboxOperation.Checked(),
                                                 CheckboxOperationBOM.Checked(),
                                                 CheckboxProductInLane.Checked(),
                                                 CheckboxAIPISPIP.Checked(),
                                                 CheckboxInventorySupply.Checked(),
                                                 CheckboxStockingPointCost.Checked(),
                                                 CheckboxOperationCost.Checked(),
                                                 CheckboxDOI_DSI.Checked(),
                                                 CheckboxCustomerGrade.Checked(),
                                                 CheckboxStockingPoint_MP.Checked(),
                                                 CheckboxCurrency_MP.Checked(),
                                                 CheckboxCurrencyRate_MP.Checked(),
                                                 CheckboxLane.Checked(),
                                                 CheckboxLaneLeg.Checked()
                                                );
      
      WebMessageBox::Success( "同步成功!", true );
_Main/UI/MacroPlannerWebApp/Component_FormInterfaceTest/_ROOT_Component_FormInterfaceTest.def
@@ -7,12 +7,12 @@
  BaseType: 'WebForm'
  Children:
  [
    #child: PanelInterfaceOption1
    #child: PanelInterfaceTest
    #child: PanelInterfaceGlobal_BrokerExecuteLog
    #child: PanelInterfaceOption2
    #child: PanelInterfaceOption3
    #child: PanelInterfaceOption4
    #child: PanelInterfaceOption3
    #child: PanelInterfaceOption2
    #child: PanelInterfaceOption1
  ]
  Properties:
  [
_Main/UI/MacroPlannerWebApp/Component_FormIssueWorkOrder/Component_ListIssueWorkOrder.def
@@ -28,7 +28,7 @@
      ]
      Properties:
      [
        Columns: '[{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"ProductionWorkOrderNumber","title":"ProductionWorkOrderNumber","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"ProductionWorkOrderNumber"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"ProductModel","title":"Product ID","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"ProductModel"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"MaterialDescription","title":"MaterialDescription","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"MaterialDescription"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"StartDate","title":"StartDate","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"StartDate"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"EndDate","title":"EndDate","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"EndDate"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"PlannedQuantity","title":"PlannedQuantity","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"PlannedQuantity"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"WorkOrderType","title":"WorkOrderType","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"WorkOrderType"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"WorkOrderStatus","title":"WorkOrderStatus","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"WorkOrderStatus"}}]'
        Columns: '[{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"EndDate","title":"EndDate","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"EndDate"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"MaterialDescription","title":"MaterialDescription","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"MaterialDescription"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"OrganizationInfomation","title":"OrganizationInfomation","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"OrganizationInfomation"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"PlannedQuantity","title":"PlannedQuantity","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"PlannedQuantity"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"ProductionWorkOrderNumber","title":"ProductionWorkOrderNumber","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"ProductionWorkOrderNumber"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"ProductModel","title":"ProductModel","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"ProductModel"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"StartDate","title":"StartDate","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"StartDate"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"WorkOrderStatus","title":"ReleaseStatus","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"WorkOrderStatus"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"WorkOrderType","title":"WorkOrderType","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"WorkOrderType"}}]'
        ContextMenu: 'MenuIssueEdit'
        Taborder: 2
      ]
_Main/UI/MacroPlannerWebApp/Component_FormIssueWorkOrder/Response_PanelButton_ButtonGeneratePlannedData_OnClick#124.def
@@ -7,13 +7,13 @@
  DefinitionID: 'Responsedef_WebButton_OnClick'
  Precondition:
  [*
    return not isnull( MacroPlan );
    return not isnull( MacroPlan ) and not isnull( GlobalOTDTable );
  *]
  QuillAction
  {
    Body:
    [*
      MasterPlanReleaseWorkOrder::GenerateAndDistributeWorkOrders( MacroPlan );
      MasterPlanReleaseWorkOrder::GenerateAndDistributeWorkOrders( MacroPlan, GlobalOTDTable );
      
      WebMessageBox::Success( "生成成功!", true );
    *]
_Main/UI/MacroPlannerWebApp/Component_FormIssueWorkOrder/_ROOT_Component_FormIssueWorkOrder.def
@@ -22,7 +22,6 @@
  ]
  Properties:
  [
    Description: '下发工单'
    Image: 'TREE'
    Title: '下发工单'
  ]
_Main/UI/MacroPlannerWebApp/Component_FormMaterialLabelingAndPlanningStrategy/Component_listContextMenuMaterial455#1.def
@@ -22,7 +22,7 @@
      Properties:
      [
        Image: 'DELETE'
        Taborder: 3
        Taborder: 4
        Title: '删除'
      ]
    }
@@ -34,10 +34,22 @@
      [
        Image: 'PIG'
        Shortcut: 'Ctrl+A'
        Taborder: 4
        Taborder: 5
        Title: '全选'
      ]
    }
    Component MenuEdit
    {
      #keys: '[414702.1.37777729]'
      BaseType: 'WebMenu'
      Properties:
      [
        BindOnDoubleClick: true
        Image: 'NOTEBOOK_EDIT'
        Taborder: 3
        Title: '编辑'
      ]
    }
  ]
  Properties:
  [
_Main/UI/MacroPlannerWebApp/Component_FormMaterialLabelingAndPlanningStrategy/Response_ListMaterialMaterialLabelingAndPlanningStrategy_880_MenuEdit_OnClic.def
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,20 @@
Quintiq file version 2.0
#parent: ListMaterialMaterialLabelingAndPlanningStrategy_880
Response OnClick (
  MatAttrSettingAndPlanStrategy selection
) id:Response_ListMaterialMaterialLabelingAndPlanningStrategy_880_MenuEdit_OnClick
{
  #keys: '[414702.1.36602461]'
  CanBindMultiple: false
  DefinitionID => /ListMaterialMaterialLabelingAndPlanningStrategy_880/Responsedef_ListMaterialMaterialLabelingAndPlanningStrategy_880_WebMenu_OnClick
  Initiator: 'MenuEdit'
  QuillAction
  {
    Body:
    [*
      dlg := construct( DialogCreateEditMaterialLabelingAndPlanningStrategy );
      dlg.Edit( selection );
    *]
    GroupServerCalls: false
  }
}
_Main/UI/MacroPlannerWebApp/Component_FormMaterialLabelingAndPlanningStrategy/Response_ListMaterialMaterialLabelingAndPlanningStrategy_880_OnDoubleClick.def
ÎļþÒÑɾ³ý
_Main/UI/MacroPlannerWebApp/Component_FormOrderLock/Response_PanelOrderLockHeader_545_ButtonOrderLockHeaderFresh_OnClick.def
@@ -13,7 +13,8 @@
      macroplan := MacroPlan;
      global := GlobalOTDTable;
      businesstypes := DataHolderOrderLockGlobal.Data().BusinessType().Tokenize( ',' );
      CustomerOrder::DoSync( macroplan, businesstypes, global );
      organcodelist := selectvalues( global, BusinessType.OrganCode, organ, businesstypes.Find( organ.BusinessType().BusinessTypeName() ) <> -1, organ.OrganCodeName() );
      CustomerOrder::DoSync( macroplan, businesstypes, global, organcodelist );
    *]
  }
}
_Main/UI/MacroPlannerWebApp/Component_FormOrderLock/Response_PanelOrderLockHeader_545_ButtonOrderLockHeaderLock_OnClick.def
@@ -22,7 +22,7 @@
      pispips := construct( ProductInStockingPointInPeriods );
      macroplan := MacroPlan;
      traverse( checkorders, Elements, order ){
        pispips.Add( selectset( order, ProductInStockingPoint_MP.ProductInStockingPointInPeriod, pispip, true ) );
        pispips := pispips.Add( selectset( order, ProductInStockingPoint_MP.ProductInStockingPointInPeriod, pispip, pispip.SupplyQuantity() > 0 ) );
        }
      
      pispipLeafs := selectset( pispips, 
_Main/UI/MacroPlannerWebApp/Component_FormOrderLock/Response_PanelOrderLockHeader_545_ButtonOrderLockHeaderUnlock_OnClick.def
@@ -23,7 +23,7 @@
      pispips := construct( ProductInStockingPointInPeriods );
      macroplan := MacroPlan;
      traverse( checkorders, Elements, order ){
        pispips.Add( selectset( order, ProductInStockingPoint_MP.ProductInStockingPointInPeriod, pispip, true ) );
        pispips := pispips.Add( selectset( order, ProductInStockingPoint_MP.ProductInStockingPointInPeriod, pispip, pispip.SupplyQuantity() > 0 ) );
        }
      
      pispipLeafs := selectset( pispips, 
_Main/UI/MacroPlannerWebApp/Component_FormPRHistoryData/Component_ListPRHistoryData#844.def
@@ -27,7 +27,7 @@
      ]
      Properties:
      [
        Columns: '[{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"ProductID","title":"ProductID","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"ProductID"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"ProductName","title":"ProductName","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"ProductName"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"ProduceRequiredDate","title":"ProduceRequiredDate","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"ProduceRequiredDate"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"Quantity","title":"Quantity","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"Quantity"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"MRPCalverNo","title":"MRPCalverNo","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"MRPCalverNo"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"BusinessType","title":"BusinessType","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"BusinessType"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"OrganCode","title":"OrganCode","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"OrganCode"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"ProviderCode","title":"ProviderCode","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"ProviderCode"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"ProviderName","title":"ProviderName","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"ProviderName"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"StockingPointID","title":"StockingPointID","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"StockingPointID"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"UnitOfMeasure","title":"UnitOfMeasure","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"UnitOfMeasure"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"SendStatus","title":"SendStatus","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"SendStatus"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"SendTimeString","title":"SendTimeString","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"SendTimeString"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"ReleaseBy","title":"ReleaseBy","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"ReleaseBy"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"ReceiveTimeString","title":"ReceiveTimeString","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"ReceiveTimeString"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"ReceiveStatus","title":"ReceiveStatus","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"ReceiveStatus"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"ReceiveError","title":"ReceiveError","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"ReceiveError"}}]'
        Columns: '[{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"DataID","title":"DataID","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"DataID"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"ProductID","title":"ProductID","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"ProductID"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"ProductName","title":"ProductName","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"ProductName"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"DeliveryDate","title":"DeliveryDate","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"DeliveryDate"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"Quantity","title":"Quantity","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"Quantity"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"MRPCalverNo","title":"MRPCalverNo","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"MRPCalverNo"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"BusinessType","title":"BusinessType","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"BusinessType"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"OrganCode","title":"OrganCode","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"OrganCode"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"ProviderCode","title":"ProviderCode","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"ProviderCode"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"ProviderName","title":"ProviderName","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"ProviderName"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"StockingPointID","title":"StockingPointID","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"StockingPointID"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"UnitOfMeasure","title":"UnitOfMeasure","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"UnitOfMeasure"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"PreparerID","title":"PreparerID","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"PreparerID"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"SendStatus","title":"SendStatus","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"SendStatus"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"SendTimeString","title":"SendTimeString","subtotals":"","tooltip":"","width":-1,"display":"shown","attribute":"SendTimeString"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"ReleaseBy","title":"ReleaseBy","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"ReleaseBy"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"ReceiveStatus","title":"ReceiveStatus","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"ReceiveStatus"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"ReceiveTimeString","title":"ReceiveTimeString","subtotals":"","tooltip":"","width":-1,"display":"shown","attribute":"ReceiveTimeString"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"ReceiveError","title":"ReceiveError","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"ReceiveError"}}]'
        ContextMenu: 'listContextMenuPRHistoryData'
        SortCriteria: 'BusinessType;MRPCalverNo'
        Taborder: 1
_Main/UI/MacroPlannerWebApp/Component_FormPanelMaterialSpecializedDisplay/_ROOT_Component_FormPanelMaterialSpecializedDisplay.def
@@ -32,7 +32,6 @@
  ]
  Properties:
  [
    Description: '专显'
    Image: 'LAPTOP2'
    Title: '专显'
  ]
_Main/UI/MacroPlannerWebApp/Component_FormProducts/Component_ListProduct#844.def
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,14 @@
Quintiq file version 2.0
Component ListProduct id:ListProduct_844 #extension
{
  Children:
  [
    Component DataSetLevelRootProduct #extension
    {
      Children:
      [
        #child: listContextMenuProduct_1
      ]
    }
  ]
}
_Main/UI/MacroPlannerWebApp/Component_FormProducts/Component_PanelList.def
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,8 @@
Quintiq file version 2.0
Component PanelList #extension
{
  Children:
  [
    #child: ListProduct_844
  ]
}
_Main/UI/MacroPlannerWebApp/Component_FormProducts/Component_listContextMenuProduct#1.def
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,28 @@
Quintiq file version 2.0
Component listContextMenuProduct id:listContextMenuProduct_1 #extension
{
  Children:
  [
    Component MenuMarkingPanelMaterial
    {
      #keys: '[414502.0.406261865]'
      BaseType: 'WebMenu'
      Properties:
      [
        Image: 'EARTH2'
        Taborder: 11
        Title: '标记面板物料'
      ]
    }
    Component Menu860
    {
      #keys: '[414502.0.406252405]'
      BaseType: 'WebMenu'
      Properties:
      [
        Separator: true
        Taborder: 10
      ]
    }
  ]
}
_Main/UI/MacroPlannerWebApp/Component_FormProducts/Response_TIANMA_JITUAN_ListProduct_844_MenuMarkingPanelMaterial_OnClick.def
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,19 @@
Quintiq file version 2.0
#parent: ListProduct_844
Response OnClick (
  Product_MP selection
) id:Response_ListProduct_844_MenuMarkingPanelMaterial_OnClick
{
  #keys: '[414502.0.406201138]'
  CanBindMultiple: false
  DefinitionID => /ListProduct_844/Responsedef_ListProduct_844_WebMenu_OnClick
  Initiator: 'MenuMarkingPanelMaterial'
  QuillAction
  {
    Body:
    [*
      selection.IsPanelMaterial( not selection.IsPanelMaterial() );
    *]
    GroupServerCalls: false
  }
}
_Main/UI/MacroPlannerWebApp/Component_FormProducts/_ROOT_Component_FormProducts.def
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,10 @@
Quintiq file version 2.0
#root
#parent: LibMacroPlannerWebUI
OrphanComponent FormProducts #extension
{
  Children:
  [
    #child: PanelList
  ]
}
_Main/UI/MacroPlannerWebApp/Component_FormShowInterfaceData/Component_ListConversionFactor.def
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,41 @@
Quintiq file version 2.0
Component ListConversionFactor
{
  #keys: '[414702.1.37735952]'
  BaseType: 'WebList'
  Children:
  [
    Component DataExtractorConversionFactor
    {
      #keys: '[414702.1.37735953]'
      BaseType: 'WebDataExtractor'
      Properties:
      [
        DataType: 'GlobalOTDTable'
        Source: 'GlobalOTDTable'
        Taborder: 0
        Transformation: 'Global_MappingConversionFactor'
      ]
    }
    #child: listActionBarPageConversionFactor
    Component DataSetLevelConversionFactor
    {
      #keys: '[414702.1.37735958]'
      BaseType: 'WebDataSetLevel'
      Children:
      [
        #child: listContextMenuConversionFactor
      ]
      Properties:
      [
        Columns: '[{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"Factor","title":"Factor","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"Factor"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"IsEnabled","title":"IsEnabled","subtotals":"","tooltip":"","width":-1,"display":"shown","attribute":"IsEnabled"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"ProductID","title":"ProductID","subtotals":"","tooltip":"","width":-1,"display":"shown","attribute":"ProductID"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"SourceUnitOfMeasureName","title":"SourceUnitOfMeasureName","subtotals":"","tooltip":"","width":-1,"display":"shown","attribute":"SourceUnitOfMeasureName"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"TargetUnitOfMeasureName","title":"TargetUnitOfMeasureName","subtotals":"","tooltip":"","width":-1,"display":"shown","attribute":"TargetUnitOfMeasureName"}}]'
        ContextMenu: 'listContextMenuConversionFactor'
        Taborder: 2
      ]
    }
  ]
  Properties:
  [
    Taborder: 0
  ]
}
_Main/UI/MacroPlannerWebApp/Component_FormShowInterfaceData/Component_ListCustomOrder.def
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,41 @@
Quintiq file version 2.0
Component ListCustomOrder
{
  #keys: '[414502.0.410384594]'
  BaseType: 'WebList'
  Children:
  [
    Component DataExtractorCustomOrder
    {
      #keys: '[414502.0.410384595]'
      BaseType: 'WebDataExtractor'
      Properties:
      [
        DataType: 'GlobalOTDTable'
        Source: 'GlobalOTDTable'
        Taborder: 0
        Transformation: 'Global_MappingCustomOrder'
      ]
    }
    #child: listActionBarPageCustomOrder
    Component DataSetLevelCustomOrder
    {
      #keys: '[414502.0.410384600]'
      BaseType: 'WebDataSetLevel'
      Children:
      [
        #child: listContextMenuCustomOrder
      ]
      Properties:
      [
        Columns: '[{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"BusinessType","title":"BusinessType","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"BusinessType"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"CurrencyID","title":"CurrencyID","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"CurrencyID"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"Customer","title":"Customer","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"Customer"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"CustomerID","title":"CustomerID","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"CustomerID"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"ID","title":"ID","subtotals":"","tooltip":"","width":-1,"display":"shown","attribute":"ID"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"IsAvailable","title":"IsAvailable","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"IsAvailable"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"OrderDate","title":"OrderDate","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"OrderDate"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"OrderID","title":"OrderID","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"OrderID"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"OrderLineID","title":"OrderLineID","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"OrderLineID"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"OrderTime","title":"OrderTime","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"OrderTime"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"OrderType","title":"OrderType","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"OrderType"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"Price","title":"Price","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"Price"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"PriorityName","title":"PriorityName","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"PriorityName"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"ProductGrade","title":"ProductGrade","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"ProductGrade"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"ProductID","title":"ProductID","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"ProductID"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"Quantity","title":"Quantity","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"Quantity"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"SalesSegmentName","title":"SalesSegmentName","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"SalesSegmentName"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"SegmentPriority","title":"SegmentPriority","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"SegmentPriority"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"SheetProfitability","title":"SheetProfitability","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"SheetProfitability"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"StockingPointID","title":"StockingPointID","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"StockingPointID"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"UnitOfMeasureName","title":"UnitOfMeasureName","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"UnitOfMeasureName"}}]'
        ContextMenu: 'listContextMenuCustomOrder'
        Taborder: 2
      ]
    }
  ]
  Properties:
  [
    Taborder: 0
  ]
}
_Main/UI/MacroPlannerWebApp/Component_FormShowInterfaceData/Component_ListForecast.def
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,41 @@
Quintiq file version 2.0
Component ListForecast
{
  #keys: '[414502.0.410501478]'
  BaseType: 'WebList'
  Children:
  [
    Component DataExtractorForecast
    {
      #keys: '[414502.0.410501479]'
      BaseType: 'WebDataExtractor'
      Properties:
      [
        DataType: 'GlobalOTDTable'
        Source: 'GlobalOTDTable'
        Taborder: 0
        Transformation: 'Global_MappingForecast'
      ]
    }
    #child: listActionBarPageForecast
    Component DataSetLevelForecast
    {
      #keys: '[414502.0.410501484]'
      BaseType: 'WebDataSetLevel'
      Children:
      [
        #child: listContextMenuForecast
      ]
      Properties:
      [
        Columns: '[{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"BusinessType","title":"BusinessType","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"BusinessType"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"CurrencyID","title":"CurrencyID","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"CurrencyID"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"EndDate","title":"EndDate","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"EndDate"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"ID","title":"ID","subtotals":"","tooltip":"","width":-1,"display":"shown","attribute":"ID"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"Price","title":"Price","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"Price"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"PriorityName","title":"PriorityName","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"PriorityName"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"ProductID","title":"ProductID","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"ProductID"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"Quantity","title":"Quantity","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"Quantity"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"SalesSegmentName","title":"SalesSegmentName","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"SalesSegmentName"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"StartDate","title":"StartDate","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"StartDate"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"StockingPointID","title":"StockingPointID","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"StockingPointID"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"UnitOfMeasureName","title":"UnitOfMeasureName","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"UnitOfMeasureName"}}]'
        ContextMenu: 'listContextMenuForecast'
        Taborder: 2
      ]
    }
  ]
  Properties:
  [
    Taborder: 0
  ]
}
_Main/UI/MacroPlannerWebApp/Component_FormShowInterfaceData/Component_ListInterfaceDataDisplayContent.def
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,41 @@
Quintiq file version 2.0
Component ListInterfaceDataDisplayContent
{
  #keys: '[414702.1.37424868]'
  BaseType: 'WebList'
  Children:
  [
    Component DataExtractorInterfaceDataDisplayContent
    {
      #keys: '[414702.1.37424869]'
      BaseType: 'WebDataExtractor'
      Properties:
      [
        DataType: 'GlobalOTDTable'
        Source: 'GlobalOTDTable'
        Taborder: 0
        Transformation: 'Global_MappingSalesSegment_MP'
      ]
    }
    #child: listActionBarPageInterfaceDataDisplayContent
    Component DataSetLevelInterfaceDataDisplayContent
    {
      #keys: '[414702.1.37424874]'
      BaseType: 'WebDataSetLevel'
      Children:
      [
        #child: listContextMenuInterfaceDataDisplayContent
      ]
      Properties:
      [
        Columns: '[{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"BusinessType","title":"BusinessType","subtotals":"","tooltip":"","width":-1,"display":"shown","attribute":"BusinessType"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"DisplayIndex","title":"DisplayIndex","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"DisplayIndex"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"Name","title":"Name","subtotals":"","tooltip":"","width":-1,"display":"shown","attribute":"Name"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"ParentName","title":"ParentName","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"ParentName"}}]'
        ContextMenu: 'listContextMenuInterfaceDataDisplayContent'
        Taborder: 2
      ]
    }
  ]
  Properties:
  [
    Taborder: 0
  ]
}
_Main/UI/MacroPlannerWebApp/Component_FormShowInterfaceData/Component_ListOperation.def
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,41 @@
Quintiq file version 2.0
Component ListOperation
{
  #keys: '[414702.1.37777280]'
  BaseType: 'WebList'
  Children:
  [
    Component DataExtractorOperation
    {
      #keys: '[414702.1.37777281]'
      BaseType: 'WebDataExtractor'
      Properties:
      [
        DataType: 'GlobalOTDTable'
        Source: 'GlobalOTDTable'
        Taborder: 0
        Transformation: 'Global_MappingOperation'
      ]
    }
    #child: listActionBarPageOperation
    Component DataSetLevelOperation
    {
      #keys: '[414702.1.37777286]'
      BaseType: 'WebDataSetLevel'
      Children:
      [
        #child: listContextMenuOperation
      ]
      Properties:
      [
        Columns: '[{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"ActualCapacity","title":"ActualCapacity","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"ActualCapacity"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"BusinessType","title":"BusinessType","subtotals":"","tooltip":"","width":-1,"display":"shown","attribute":"BusinessType"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"DestinationOrganizationId","title":"DestinationOrganizationId","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"DestinationOrganizationId"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"IsLinkedWithFinishedGood","title":"IsLinkedWithFinishedGood","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"IsLinkedWithFinishedGood"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"Line","title":"Line","subtotals":"","tooltip":"","width":-1,"display":"shown","attribute":"Line"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"MaximumQuantity","title":"MaximumQuantity","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"MaximumQuantity"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"MinimumQuantity","title":"MinimumQuantity","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"MinimumQuantity"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"OrganCode","title":"OrganCode","subtotals":"","tooltip":"","width":-1,"display":"shown","attribute":"OrganCode"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"OrganId","title":"OrganId","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"OrganId"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"OrganName","title":"OrganName","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"OrganName"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"PlantName","title":"PlantName","subtotals":"","tooltip":"","width":-1,"display":"shown","attribute":"PlantName"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"ProcessSection","title":"ProcessSection","subtotals":"","tooltip":"","width":-1,"display":"shown","attribute":"ProcessSection"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"ProductID","title":"ProductID","subtotals":"","tooltip":"","width":-1,"display":"shown","attribute":"ProductID"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"SequenceNumber","title":"SequenceNumber","subtotals":"","tooltip":"","width":-1,"display":"shown","attribute":"SequenceNumber"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"UnitOfMeasureName","title":"UnitOfMeasureName","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"UnitOfMeasureName"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"UserLeadTime","title":"UserLeadTime","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"UserLeadTime"}}]'
        ContextMenu: 'listContextMenuOperation'
        Taborder: 2
      ]
    }
  ]
  Properties:
  [
    Taborder: 0
  ]
}
_Main/UI/MacroPlannerWebApp/Component_FormShowInterfaceData/Component_ListOperationBOM.def
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,41 @@
Quintiq file version 2.0
Component ListOperationBOM
{
  #keys: '[414702.1.37625082]'
  BaseType: 'WebList'
  Children:
  [
    Component DataExtractorOperationBOM
    {
      #keys: '[414702.1.37625083]'
      BaseType: 'WebDataExtractor'
      Properties:
      [
        DataType: 'GlobalOTDTable'
        Source: 'GlobalOTDTable'
        Taborder: 0
        Transformation: 'Global_MappingOperationBOM'
      ]
    }
    #child: listActionBarPageOperationBOM
    Component DataSetLevelOperationBOM
    {
      #keys: '[414702.1.37625088]'
      BaseType: 'WebDataSetLevel'
      Children:
      [
        #child: listContextMenuOperationBOM
      ]
      Properties:
      [
        Columns: '[{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"AlternativeMaterialCode","title":"AlternativeMaterialCode","subtotals":"","tooltip":"","width":-1,"display":"shown","attribute":"AlternativeMaterialCode"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"AlternativeMaterialType","title":"AlternativeMaterialType","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"AlternativeMaterialType"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"AlternativeMaterialUnit","title":"AlternativeMaterialUnit","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"AlternativeMaterialUnit"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"AlternativeRate","title":"AlternativeRate","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"AlternativeRate"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"BusinessType","title":"BusinessType","subtotals":"","tooltip":"","width":-1,"display":"shown","attribute":"BusinessType"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"ComponentCode","title":"ComponentCode","subtotals":"","tooltip":"","width":-1,"display":"shown","attribute":"ComponentCode"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"ComponentDescription","title":"ComponentDescription","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"ComponentDescription"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"ComponentOutputRate","title":"ComponentOutputRate","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"ComponentOutputRate"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"ComponentType","title":"ComponentType","subtotals":"","tooltip":"","width":-1,"display":"shown","attribute":"ComponentType"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"ComponentUnit","title":"ComponentUnit","subtotals":"","tooltip":"","width":-1,"display":"shown","attribute":"ComponentUnit"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"ComponentUnitDescription","title":"ComponentUnitDescription","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"ComponentUnitDescription"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"DescriptionOfAlternativeMaterial","title":"DescriptionOfAlternativeMaterial","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"DescriptionOfAlternativeMaterial"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"DescriptionOfAlternativeMaterialUnits","title":"DescriptionOfAlternativeMaterialUnits","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"DescriptionOfAlternativeMaterialUnits"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"IsLinkedWithFinishedGood","title":"IsLinkedWithFinishedGood","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"IsLinkedWithFinishedGood"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"MaterialSystem","title":"MaterialSystem","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"MaterialSystem"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"OrganCode","title":"OrganCode","subtotals":"","tooltip":"","width":-1,"display":"shown","attribute":"OrganCode"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"ProcessSection","title":"ProcessSection","subtotals":"","tooltip":"","width":-1,"display":"shown","attribute":"ProcessSection"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"ProductCode","title":"ProductCode","subtotals":"","tooltip":"","width":-1,"display":"shown","attribute":"ProductCode"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"ProductDescribe","title":"ProductDescribe","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"ProductDescribe"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"ProductType","title":"ProductType","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"ProductType"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"ProductUnitDescription","title":"ProductUnitDescription","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"ProductUnitDescription"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"SubstitutionRelationship","title":"SubstitutionRelationship","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"SubstitutionRelationship"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"UnitOfMeasureName","title":"UnitOfMeasureName","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"UnitOfMeasureName"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"UnitUsageOfComponents","title":"UnitUsageOfComponents","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"UnitUsageOfComponents"}}]'
        ContextMenu: 'listContextMenuOperationBOM'
        Taborder: 2
      ]
    }
  ]
  Properties:
  [
    Taborder: 0
  ]
}
_Main/UI/MacroPlannerWebApp/Component_FormShowInterfaceData/Component_ListProduct_MP.def
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,41 @@
Quintiq file version 2.0
Component ListProduct_MP
{
  #keys: '[414702.1.36601467]'
  BaseType: 'WebList'
  Children:
  [
    Component DataExtractorProduct_MP
    {
      #keys: '[414702.1.36601468]'
      BaseType: 'WebDataExtractor'
      Properties:
      [
        DataType: 'GlobalOTDTable'
        Source: 'GlobalOTDTable'
        Taborder: 0
        Transformation: 'Global_MappingProduct_MP'
      ]
    }
    #child: listActionBarPageProduct_MP
    Component DataSetLevelProduct_MP
    {
      #keys: '[414702.1.36601473]'
      BaseType: 'WebDataSetLevel'
      Children:
      [
        #child: listContextMenuProduct_MP
      ]
      Properties:
      [
        Columns: '[{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"BOMCount","title":"BOMCount","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"BOMCount"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"BusinessType","title":"BusinessType","subtotals":"","tooltip":"","width":-1,"display":"shown","attribute":"BusinessType"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"CommonBusiness","title":"CommonBusiness","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"CommonBusiness"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"EndDate","title":"EndDate","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"EndDate"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"ID","title":"ID","subtotals":"","tooltip":"","width":-1,"display":"shown","attribute":"ID"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"IsCommon","title":"IsCommon","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"IsCommon"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"IsLinkedWithFinishedGood","title":"IsLinkedWithFinishedGood","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"IsLinkedWithFinishedGood"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"KeyProduct","title":"KeyProduct","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"KeyProduct"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"Name","title":"Name","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"Name"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"Notes","title":"Notes","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"Notes"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"ProductMajorType","title":"ProductMajorType","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"ProductMajorType"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"ProductSubclassType","title":"ProductSubclassType","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"ProductSubclassType"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"ShelfLife","title":"ShelfLife","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"ShelfLife"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"UnitOfMeasureName","title":"UnitOfMeasureName","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"UnitOfMeasureName"}}]'
        ContextMenu: 'listContextMenuProduct_MP'
        Taborder: 2
      ]
    }
  ]
  Properties:
  [
    Taborder: 0
  ]
}
_Main/UI/MacroPlannerWebApp/Component_FormShowInterfaceData/Component_ListUnitOfMeasure_MP.def
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,41 @@
Quintiq file version 2.0
Component ListUnitOfMeasure_MP
{
  #keys: '[414502.0.410391545]'
  BaseType: 'WebList'
  Children:
  [
    Component DataExtractorUnitOfMeasure_MP
    {
      #keys: '[414502.0.410391546]'
      BaseType: 'WebDataExtractor'
      Properties:
      [
        DataType: 'GlobalOTDTable'
        Source: 'GlobalOTDTable'
        Taborder: 0
        Transformation: 'Global_MappingUnitOfMeasure_MP'
      ]
    }
    #child: listActionBarPageUnitOfMeasure_MP
    Component DataSetLevelUnitOfMeasure_MP
    {
      #keys: '[414502.0.410391551]'
      BaseType: 'WebDataSetLevel'
      Children:
      [
        #child: listContextMenuUnitOfMeasure_MP
      ]
      Properties:
      [
        Columns: '[{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"IsDefault","title":"IsDefault","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"IsDefault"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"Name","title":"Name","subtotals":"","tooltip":"","width":-1,"display":"shown","attribute":"Name"}}]'
        ContextMenu: 'listContextMenuUnitOfMeasure_MP'
        Taborder: 2
      ]
    }
  ]
  Properties:
  [
    Taborder: 0
  ]
}
_Main/UI/MacroPlannerWebApp/Component_FormShowInterfaceData/Component_MatrixEditorShowInterfaceData.def
@@ -93,5 +93,6 @@
    ContextMenu: 'matrixeditorContextMenuShowInterfaceData'
    Rows: 'MatrixEditorRowsShowInterfaceData'
    Taborder: 0
    Visible: false
  ]
}
_Main/UI/MacroPlannerWebApp/Component_FormShowInterfaceData/Component_PanelConversionFactor.def
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,15 @@
Quintiq file version 2.0
Component PanelConversionFactor
{
  #keys: '[414702.1.37735912]'
  BaseType: 'WebPanel'
  Children:
  [
    #child: ListConversionFactor
  ]
  Properties:
  [
    Taborder: 5
    Title: 'ConversionFactor'
  ]
}
_Main/UI/MacroPlannerWebApp/Component_FormShowInterfaceData/Component_PanelCustomOrder#682.def
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,15 @@
Quintiq file version 2.0
Component PanelCustomOrder
{
  #keys: '[414502.0.409352936]'
  BaseType: 'WebPanel'
  Children:
  [
    #child: ListCustomOrder
  ]
  Properties:
  [
    Taborder: 0
    Title: 'CustomOrder'
  ]
}
_Main/UI/MacroPlannerWebApp/Component_FormShowInterfaceData/Component_PanelForecast.def
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,15 @@
Quintiq file version 2.0
Component PanelForecast
{
  #keys: '[414502.0.409524617]'
  BaseType: 'WebPanel'
  Children:
  [
    #child: ListForecast
  ]
  Properties:
  [
    Taborder: 1
    Title: 'Forecast '
  ]
}
_Main/UI/MacroPlannerWebApp/Component_FormShowInterfaceData/Component_PanelInterfaceDataDisplayContent.def
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,22 @@
Quintiq file version 2.0
Component PanelInterfaceDataDisplayContent
{
  #keys: '[414502.0.409352883]'
  BaseType: 'WebPanel'
  Children:
  [
    #child: PanelCustomOrder
    #child: PanelForecast
    #child: PanelUnitOfMeasure_MP
    #child: PanelSalesSegment_MP
    #child: PanelProduct_MP
    #child: PanelConversionFactor
    #child: PanelOperation
    #child: PanelOperationBOM
  ]
  Properties:
  [
    Orientation: 'accordeon'
    Taborder: 1
  ]
}
_Main/UI/MacroPlannerWebApp/Component_FormShowInterfaceData/Component_PanelOperation.def
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,15 @@
Quintiq file version 2.0
Component PanelOperation
{
  #keys: '[414702.1.37777246]'
  BaseType: 'WebPanel'
  Children:
  [
    #child: ListOperation
  ]
  Properties:
  [
    Taborder: 6
    Title: 'Operation'
  ]
}
_Main/UI/MacroPlannerWebApp/Component_FormShowInterfaceData/Component_PanelOperationBOM.def
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,15 @@
Quintiq file version 2.0
Component PanelOperationBOM
{
  #keys: '[414702.1.37625047]'
  BaseType: 'WebPanel'
  Children:
  [
    #child: ListOperationBOM
  ]
  Properties:
  [
    Taborder: 7
    Title: 'OperationBOM'
  ]
}
_Main/UI/MacroPlannerWebApp/Component_FormShowInterfaceData/Component_PanelProduct_MP.def
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,15 @@
Quintiq file version 2.0
Component PanelProduct_MP
{
  #keys: '[414702.1.37314548]'
  BaseType: 'WebPanel'
  Children:
  [
    #child: ListProduct_MP
  ]
  Properties:
  [
    Taborder: 4
    Title: 'Product_MP'
  ]
}
_Main/UI/MacroPlannerWebApp/Component_FormShowInterfaceData/Component_PanelSalesSegment_MP#154.def
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,15 @@
Quintiq file version 2.0
Component PanelSalesSegment_MP
{
  #keys: '[414702.1.37488443]'
  BaseType: 'WebPanel'
  Children:
  [
    #child: ListInterfaceDataDisplayContent
  ]
  Properties:
  [
    Taborder: 3
    Title: 'SalesSegment_MP'
  ]
}
_Main/UI/MacroPlannerWebApp/Component_FormShowInterfaceData/Component_PanelUnitOfMeasure_MP.def
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,15 @@
Quintiq file version 2.0
Component PanelUnitOfMeasure_MP
{
  #keys: '[414502.0.410390401]'
  BaseType: 'WebPanel'
  Children:
  [
    #child: ListUnitOfMeasure_MP
  ]
  Properties:
  [
    Taborder: 2
    Title: 'UnitOfMeasure_MP'
  ]
}
_Main/UI/MacroPlannerWebApp/Component_FormShowInterfaceData/Component_listActionBarPageConversionFactor.def
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,10 @@
Quintiq file version 2.0
Component listActionBarPageConversionFactor
{
  #keys: '[414702.1.37735955]'
  BaseType: 'listActionBarPage'
  Properties:
  [
    Taborder: 1
  ]
}
_Main/UI/MacroPlannerWebApp/Component_FormShowInterfaceData/Component_listActionBarPageCustomOrder.def
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,10 @@
Quintiq file version 2.0
Component listActionBarPageCustomOrder
{
  #keys: '[414502.0.410384597]'
  BaseType: 'listActionBarPage'
  Properties:
  [
    Taborder: 1
  ]
}
_Main/UI/MacroPlannerWebApp/Component_FormShowInterfaceData/Component_listActionBarPageForecast.def
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,10 @@
Quintiq file version 2.0
Component listActionBarPageForecast
{
  #keys: '[414502.0.410501481]'
  BaseType: 'listActionBarPage'
  Properties:
  [
    Taborder: 1
  ]
}
_Main/UI/MacroPlannerWebApp/Component_FormShowInterfaceData/Component_listActionBarPageInterfaceDataDisplayContent.def
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,10 @@
Quintiq file version 2.0
Component listActionBarPageInterfaceDataDisplayContent
{
  #keys: '[414702.1.37424871]'
  BaseType: 'listActionBarPage'
  Properties:
  [
    Taborder: 1
  ]
}
_Main/UI/MacroPlannerWebApp/Component_FormShowInterfaceData/Component_listActionBarPageOperation.def
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,10 @@
Quintiq file version 2.0
Component listActionBarPageOperation
{
  #keys: '[414702.1.37777283]'
  BaseType: 'listActionBarPage'
  Properties:
  [
    Taborder: 1
  ]
}
_Main/UI/MacroPlannerWebApp/Component_FormShowInterfaceData/Component_listActionBarPageOperationBOM.def
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,10 @@
Quintiq file version 2.0
Component listActionBarPageOperationBOM
{
  #keys: '[414702.1.37625085]'
  BaseType: 'listActionBarPage'
  Properties:
  [
    Taborder: 1
  ]
}
_Main/UI/MacroPlannerWebApp/Component_FormShowInterfaceData/Component_listActionBarPageProduct_MP.def
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,10 @@
Quintiq file version 2.0
Component listActionBarPageProduct_MP
{
  #keys: '[414702.1.36601470]'
  BaseType: 'listActionBarPage'
  Properties:
  [
    Taborder: 1
  ]
}
_Main/UI/MacroPlannerWebApp/Component_FormShowInterfaceData/Component_listActionBarPageUnitOfMeasure_MP.def
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,10 @@
Quintiq file version 2.0
Component listActionBarPageUnitOfMeasure_MP
{
  #keys: '[414502.0.410391548]'
  BaseType: 'listActionBarPage'
  Properties:
  [
    Taborder: 1
  ]
}
_Main/UI/MacroPlannerWebApp/Component_FormShowInterfaceData/Component_listContextMenuConversionFactor.def
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,10 @@
Quintiq file version 2.0
Component listContextMenuConversionFactor
{
  #keys: '[414702.1.37735960]'
  BaseType: 'listContextMenu'
  Properties:
  [
    Taborder: 0
  ]
}
_Main/UI/MacroPlannerWebApp/Component_FormShowInterfaceData/Component_listContextMenuCustomOrder.def
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,10 @@
Quintiq file version 2.0
Component listContextMenuCustomOrder
{
  #keys: '[414502.0.410384602]'
  BaseType: 'listContextMenu'
  Properties:
  [
    Taborder: 0
  ]
}
_Main/UI/MacroPlannerWebApp/Component_FormShowInterfaceData/Component_listContextMenuForecast.def
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,10 @@
Quintiq file version 2.0
Component listContextMenuForecast
{
  #keys: '[414502.0.410501486]'
  BaseType: 'listContextMenu'
  Properties:
  [
    Taborder: 0
  ]
}
_Main/UI/MacroPlannerWebApp/Component_FormShowInterfaceData/Component_listContextMenuInterfaceDataDisplayContent.def
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,10 @@
Quintiq file version 2.0
Component listContextMenuInterfaceDataDisplayContent
{
  #keys: '[414702.1.37424876]'
  BaseType: 'listContextMenu'
  Properties:
  [
    Taborder: 0
  ]
}
_Main/UI/MacroPlannerWebApp/Component_FormShowInterfaceData/Component_listContextMenuOperation.def
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,10 @@
Quintiq file version 2.0
Component listContextMenuOperation
{
  #keys: '[414702.1.37777288]'
  BaseType: 'listContextMenu'
  Properties:
  [
    Taborder: 0
  ]
}
_Main/UI/MacroPlannerWebApp/Component_FormShowInterfaceData/Component_listContextMenuOperationBOM.def
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,10 @@
Quintiq file version 2.0
Component listContextMenuOperationBOM
{
  #keys: '[414702.1.37625090]'
  BaseType: 'listContextMenu'
  Properties:
  [
    Taborder: 0
  ]
}
_Main/UI/MacroPlannerWebApp/Component_FormShowInterfaceData/Component_listContextMenuProduct_MP.def
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,10 @@
Quintiq file version 2.0
Component listContextMenuProduct_MP
{
  #keys: '[414702.1.36601475]'
  BaseType: 'listContextMenu'
  Properties:
  [
    Taborder: 0
  ]
}
_Main/UI/MacroPlannerWebApp/Component_FormShowInterfaceData/Component_listContextMenuUnitOfMeasure_MP.def
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,10 @@
Quintiq file version 2.0
Component listContextMenuUnitOfMeasure_MP
{
  #keys: '[414502.0.410391553]'
  BaseType: 'listContextMenu'
  Properties:
  [
    Taborder: 0
  ]
}
_Main/UI/MacroPlannerWebApp/Component_FormShowInterfaceData/_ROOT_Component_FormShowInterfaceData.def
@@ -8,10 +8,11 @@
  Children:
  [
    #child: MatrixEditorShowInterfaceData
    #child: PanelInterfaceDataDisplayContent
  ]
  Properties:
  [
    Image: 'PROJECTOR'
    Image: 'VIEW'
    Title: '接口数据显示'
  ]
}
_Main/UI/MacroPlannerWebApp/Views/Capacity___sale_budge.vw
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,16 @@
Quintiq file version 2.0
{
  viewcontents
  {
    image: 'CHART_HI_LO'
    page: 'ActionBarPageScenarioComparison'
    group: ''
    index: 0
    description: ''
  }
  formatversion: 2
  id: 'Capacity___sale_budge'
  name: 'Capacity & sale budge'
  isglobal: false
  isroot: true
}
_Main/UI/MacroPlannerWebApp/Views/Test.vw
@@ -159,287 +159,6 @@
          }
        }
      }
      form_FormCustomerAndForecastOrder
      {
        title: 'QTIANMA_JITUAN::FormCustomerAndForecastOrder'
        shown: true
        componentID: 'QTIANMA_JITUAN::FormCustomerAndForecastOrder'
        layout
        {
          mode: 'open'
          rowPosition: 16
          rowSpan: 16
          columnPosition: 1
          columnSpan: 4
        }
        components
        {
          FormCustomerAndForecastOrder_PanelButton
          {
            sizeRatio: 1
          }
          FormCustomerAndForecastOrder_ListCustomerAndFillingCapacityOrder
          {
          }
          FormCustomerAndForecastOrder_DataSetLevelCustomerAndFillingCapacityOrder
          {
            groupDepth: -1
            column_VerNo
            {
              columnId: 'VerNo'
              dataPath: 'VerNo'
              dataType: 'string'
              index: 0
              subtotals: ''
              width: 150
            }
            column_OrderID
            {
              columnId: 'OrderID'
              dataPath: 'OrderID'
              dataType: 'string'
              index: 1
              subtotals: ''
              width: 150
            }
            column_ProductID
            {
              columnId: 'ProductID'
              dataPath: 'ProductID'
              dataType: 'string'
              index: 2
              subtotals: ''
              width: 150
            }
            column_BusinessType
            {
              columnId: 'BusinessType'
              dataPath: 'BusinessType'
              dataType: 'string'
              index: 3
              subtotals: ''
              width: 150
            }
            column_Customer
            {
              columnId: 'Customer'
              dataPath: 'Customer'
              dataType: 'string'
              index: 4
              subtotals: ''
              width: 150
            }
            column_ServiceType
            {
              columnId: 'ServiceType'
              dataPath: 'ServiceType'
              dataType: 'string'
              index: 5
              subtotals: ''
              width: 150
            }
            column_Quantity
            {
              columnId: 'Quantity'
              dataPath: 'Quantity'
              dataType: 'real'
              index: 6
              subtotals: ''
              width: 150
            }
            column_UnitOfMeasureName
            {
              columnId: 'UnitOfMeasureName'
              dataPath: 'UnitOfMeasureName'
              dataType: 'string'
              index: 7
              subtotals: ''
              width: 150
            }
            column_PanelBigSheetQuantity
            {
              columnId: 'PanelBigSheetQuantity'
              dataPath: 'PanelBigSheetQuantity'
              dataType: 'real'
              index: 8
              subtotals: ''
              width: 150
            }
            column_SalesAmount
            {
              columnId: 'SalesAmount'
              dataPath: 'SalesAmount'
              dataType: 'number'
              index: 9
              subtotals: ''
              width: 150
            }
            column_ForecastDemandDate
            {
              columnId: 'ForecastDemandDate'
              dataPath: 'ForecastDemandDate'
              dataType: 'date'
              index: 10
              subtotals: ''
              width: 150
            }
            column_DemandDate
            {
              columnId: 'DemandDate'
              dataPath: 'DemandDate'
              dataType: 'date'
              index: 11
              subtotals: ''
              width: 150
            }
          }
        }
      }
      form_FormFillingCapacityOrder
      {
        title: 'QTIANMA_JITUAN::FormFillingCapacityOrder'
        shown: true
        componentID: 'QTIANMA_JITUAN::FormFillingCapacityOrder'
        layout
        {
          mode: 'open'
          rowPosition: 16
          rowSpan: 16
          columnPosition: 5
          columnSpan: 8
        }
        components
        {
          FormFillingCapacityOrder_PanelFillingCapacityOrder
          {
            sizeRatio: 1
          }
          FormFillingCapacityOrder_ListFillingCapacityOrder
          {
          }
          FormFillingCapacityOrder_DataSetLevelFillingCapacityOrder
          {
            groupDepth: -1
            column_VerNo
            {
              columnId: 'VerNo'
              dataPath: 'VerNo'
              dataType: 'string'
              index: 0
              subtotals: ''
              width: 150
            }
            column_ProductID
            {
              columnId: 'ProductID'
              dataPath: 'ProductID'
              dataType: 'string'
              index: 1
              subtotals: ''
              width: 150
            }
            column_BusinessType
            {
              columnId: 'BusinessType'
              dataPath: 'BusinessType'
              dataType: 'string'
              index: 2
              subtotals: ''
              width: 150
            }
            column_SalesSegmentName
            {
              columnId: 'SalesSegmentName'
              dataPath: 'SalesSegmentName'
              dataType: 'string'
              index: 3
              subtotals: ''
              width: 150
            }
            column_StockingPointID
            {
              columnId: 'StockingPointID'
              dataPath: 'StockingPointID'
              dataType: 'string'
              index: 4
              subtotals: ''
              width: 150
            }
            column_Customer
            {
              columnId: 'Customer'
              dataPath: 'Customer'
              dataType: 'string'
              index: 5
              subtotals: ''
              width: 150
            }
            column_Quantity
            {
              columnId: 'Quantity'
              dataPath: 'Quantity'
              dataType: 'real'
              index: 6
              subtotals: ''
              width: 150
            }
            column_UnitOfMeasureName
            {
              columnId: 'UnitOfMeasureName'
              dataPath: 'UnitOfMeasureName'
              dataType: 'string'
              index: 7
              subtotals: ''
              width: 150
            }
            column_PanelBigSheetQuantity
            {
              columnId: 'PanelBigSheetQuantity'
              dataPath: 'PanelBigSheetQuantity'
              dataType: 'real'
              index: 8
              subtotals: ''
              width: 150
            }
            column_SalesAmount
            {
              columnId: 'SalesAmount'
              dataPath: 'SalesAmount'
              dataType: 'number'
              index: 9
              subtotals: ''
              width: 150
            }
            column_ForecastDemandDate
            {
              columnId: 'ForecastDemandDate'
              dataPath: 'ForecastDemandDate'
              dataType: 'date'
              index: 10
              subtotals: ''
              width: 150
            }
            column_DemandDate
            {
              columnId: 'DemandDate'
              dataPath: 'DemandDate'
              dataType: 'date'
              index: 11
              subtotals: ''
              width: 150
            }
            column_OrderType
            {
              columnId: 'OrderType'
              dataPath: 'OrderType'
              dataType: 'string'
              index: 12
              subtotals: ''
              width: 150
            }
          }
        }
      }
    }
    userconfigurableinformation
    {
@@ -452,7 +171,7 @@
  }
  formatversion: 2
  id: 'Test'
  name: 'Test'
  name: '产能分配'
  isglobal: false
  isroot: true
}
_Main/UI/MacroPlannerWebApp/Views/³å¼õ.vw
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,900 @@
Quintiq file version 2.0
{
  viewcontents
  {
    forms
    {
      form_FrmOrderForecast
      {
        title: 'QTIANMA_JITUAN::FrmOrderForecast'
        shown: true
        componentID: 'QTIANMA_JITUAN::FrmOrderForecast'
        layout
        {
          mode: 'open'
          rowPosition: 1
          rowSpan: 15
          columnPosition: 1
          columnSpan: 5
        }
        components
        {
          FrmOrderForecast_Panel961
          {
            sizeRatio: 1
          }
          FrmOrderForecast_Panel351
          {
            sizeRatio: 1
          }
          FrmOrderForecast_liH_Forecast
          {
          }
          FrmOrderForecast_DataSetLevel204
          {
            groupDepth: -1
            column_Month
            {
              columnId: 'Month'
              dataPath: 'Month'
              dataType: 'date'
              index: 0
              subtotals: ''
              width: 150
            }
            column_CustomName
            {
              columnId: 'CustomName'
              dataPath: 'CustomName'
              dataType: 'string'
              index: 1
              subtotals: ''
              width: 150
            }
            column_SKU
            {
              columnId: 'SKU'
              dataPath: 'SKU'
              dataType: 'string'
              index: 2
              subtotals: ''
              width: 150
            }
            column_ForecatsRealQty
            {
              columnId: 'ForecatsRealQty'
              dataPath: 'ForecatsRealQty'
              dataType: 'number'
              index: 3
              subtotals: ''
              width: 150
            }
            column_Unit
            {
              columnId: 'Unit'
              dataPath: 'Unit'
              dataType: 'string'
              index: 4
              subtotals: ''
              width: 150
            }
            column_Department
            {
              columnId: 'Department'
              dataPath: 'Department'
              dataType: 'string'
              index: 5
              subtotals: ''
              width: 150
            }
          }
        }
      }
      form_FrmOrderResult
      {
        title: 'QTIANMA_JITUAN::FrmOrderResult'
        shown: true
        componentID: 'QTIANMA_JITUAN::FrmOrderResult'
        layout
        {
          mode: 'open'
          rowPosition: 1
          rowSpan: 15
          columnPosition: 6
          columnSpan: 7
        }
        components
        {
          FrmOrderResult_Panel576
          {
            sizeRatio: 1
          }
          FrmOrderResult_Panel445
          {
            sizeRatio: 1
          }
          FrmOrderResult_List782
          {
          }
          FrmOrderResult_DataSetLevel473
          {
            groupDepth: -1
            column_OrderCode
            {
              columnId: 'OrderCode'
              dataPath: 'OrderCode'
              dataType: 'string'
              index: 0
              subtotals: ''
              width: 150
            }
            column_SKU
            {
              columnId: 'SKU'
              dataPath: 'SKU'
              dataType: 'string'
              index: 1
              subtotals: ''
              width: 150
            }
            column_OrderQty
            {
              columnId: 'OrderQty'
              dataPath: 'OrderQty'
              dataType: 'number'
              index: 2
              subtotals: ''
              width: 150
            }
            column_ReverseQty
            {
              columnId: 'ReverseQty'
              dataPath: 'ReverseQty'
              dataType: 'number'
              index: 3
              subtotals: ''
              width: 150
            }
            column_AuthorizeQty
            {
              columnId: 'AuthorizeQty'
              dataPath: 'AuthorizeQty'
              dataType: 'number'
              index: 4
              subtotals: ''
              width: 150
            }
            column_ForecastQty
            {
              columnId: 'ForecastQty'
              dataPath: 'ForecastQty'
              dataType: 'number'
              index: 5
              subtotals: ''
              width: 150
            }
            column_ForecastHitQty
            {
              columnId: 'ForecastHitQty'
              dataPath: 'ForecastHitQty'
              dataType: 'number'
              index: 6
              subtotals: ''
              width: 150
            }
            column_ForecastNoHitQty
            {
              columnId: 'ForecastNoHitQty'
              dataPath: 'ForecastNoHitQty'
              dataType: 'number'
              index: 7
              subtotals: ''
              width: 150
            }
            column_CustomerName
            {
              columnId: 'CustomerName'
              dataPath: 'CustomerName'
              dataType: 'string'
              index: 8
              subtotals: ''
              width: 150
            }
          }
        }
      }
      form_FrmOrderResultEx
      {
        title: 'QTIANMA_JITUAN::FrmOrderResultEx'
        shown: true
        componentID: 'QTIANMA_JITUAN::FrmOrderResultEx'
        layout
        {
          mode: 'open'
          rowPosition: 16
          rowSpan: 16
          columnPosition: 1
          columnSpan: 5
        }
        components
        {
          FrmOrderResultEx_Panel650
          {
            sizeRatio: 1
          }
          FrmOrderResultEx_Panel570
          {
            sizeRatio: 1
          }
          FrmOrderResultEx_List174
          {
          }
          FrmOrderResultEx_DataSetLevel386
          {
            groupDepth: -1
            column_OrderCode
            {
              columnId: 'OrderCode'
              dataPath: 'OrderCode'
              dataType: 'string'
              index: 0
              subtotals: ''
              width: 150
            }
            column_SKU
            {
              columnId: 'SKU'
              dataPath: 'SKU'
              dataType: 'string'
              index: 1
              subtotals: ''
              width: 150
            }
            column_OrderQty
            {
              columnId: 'OrderQty'
              dataPath: 'OrderQty'
              dataType: 'number'
              index: 2
              subtotals: ''
              width: 150
            }
            column_OrderDateTime
            {
              columnId: 'OrderDateTime'
              dataPath: 'OrderDateTime'
              dataType: 'date'
              index: 3
              subtotals: ''
              width: 150
            }
            column_ForecastHitQty
            {
              columnId: 'ForecastHitQty'
              dataPath: 'ForecastHitQty'
              dataType: 'number'
              index: 4
              subtotals: ''
              width: 150
            }
            column_ForecastNoHitQty
            {
              columnId: 'ForecastNoHitQty'
              dataPath: 'ForecastNoHitQty'
              dataType: 'number'
              index: 5
              subtotals: ''
              width: 150
            }
            column_Unit
            {
              columnId: 'Unit'
              dataPath: 'Unit'
              dataType: 'string'
              index: 6
              subtotals: ''
              width: 150
            }
            column_CustomerName
            {
              columnId: 'CustomerName'
              dataPath: 'CustomerName'
              dataType: 'string'
              index: 7
              subtotals: ''
              width: 150
            }
          }
        }
      }
      form_FormHedgingOfLog
      {
        title: 'QTIANMA_JITUAN::FormHedgingOfLog'
        shown: true
        componentID: 'QTIANMA_JITUAN::FormHedgingOfLog'
        layout
        {
          mode: 'open'
          rowPosition: 16
          rowSpan: 8
          columnPosition: 6
          columnSpan: 7
        }
        components
        {
          FormHedgingOfLog_PanelHedgingOfLog221
          {
            sizeRatio: 1
          }
          FormHedgingOfLog_PanelHedgingOfLog593
          {
            sizeRatio: 1
          }
          FormHedgingOfLog_PanelHedgingOfLog
          {
            sizeRatio: 1
          }
          FormHedgingOfLog_ListHedgingOfLog
          {
          }
          FormHedgingOfLog_DataSetLevelHedgingOfLog
          {
            groupDepth: -1
            column_Serial
            {
              columnId: 'Serial'
              dataPath: 'Serial'
              dataType: 'number'
              index: 0
              subtotals: ''
              width: 150
            }
            column_SKU
            {
              columnId: 'SKU'
              dataPath: 'SKU'
              dataType: 'string'
              index: 1
              subtotals: ''
              width: 150
            }
            column_ForecastQty
            {
              columnId: 'ForecastQty'
              dataPath: 'ForecastQty'
              dataType: 'number'
              index: 2
              subtotals: ''
              width: 150
            }
            column_ReverseQty
            {
              columnId: 'ReverseQty'
              dataPath: 'ReverseQty'
              dataType: 'number'
              index: 3
              subtotals: ''
              width: 150
            }
            column_AuthorizeQty
            {
              columnId: 'AuthorizeQty'
              dataPath: 'AuthorizeQty'
              dataType: 'number'
              index: 4
              subtotals: ''
              width: 150
            }
            column_OperateQty
            {
              columnId: 'OperateQty'
              dataPath: 'OperateQty'
              dataType: 'number'
              index: 5
              subtotals: ''
              width: 150
            }
            column_OperateType
            {
              columnId: 'OperateType'
              dataPath: 'OperateType'
              dataType: 'string'
              index: 6
              subtotals: ''
              width: 150
            }
            column_Operator
            {
              columnId: 'Operator'
              dataPath: 'Operator'
              dataType: 'string'
              index: 7
              subtotals: ''
              width: 150
            }
            column_OperateTime
            {
              columnId: 'OperateTime'
              dataPath: 'OperateTime'
              dataType: 'datetime'
              index: 8
              subtotals: ''
              width: 150
            }
          }
        }
      }
      form_FrmRAShow
      {
        title: 'QTIANMA_JITUAN::FrmRAShow'
        shown: true
        componentID: 'QTIANMA_JITUAN::FrmRAShow'
        layout
        {
          mode: 'open'
          rowPosition: 24
          rowSpan: 8
          columnPosition: 6
          columnSpan: 7
        }
        components
        {
          FrmRAShow_Panel950
          {
            sizeRatio: 1
          }
          FrmRAShow_Panel224
          {
            sizeRatio: 1
          }
          FrmRAShow_List696
          {
          }
          FrmRAShow_DataSetLevel187
          {
            groupDepth: -1
            column_SKU
            {
              columnId: 'SKU'
              dataPath: 'SKU'
              dataType: 'string'
              index: 0
              subtotals: ''
              width: 150
            }
            column_MType
            {
              columnId: 'MType'
              dataPath: 'MType'
              dataType: 'string'
              index: 1
              subtotals: ''
              width: 150
            }
            column_ReverseQty
            {
              columnId: 'ReverseQty'
              dataPath: 'ReverseQty'
              dataType: 'number'
              index: 2
              subtotals: ''
              width: 150
            }
            column_AuthorizeQty
            {
              columnId: 'AuthorizeQty'
              dataPath: 'AuthorizeQty'
              dataType: 'number'
              index: 3
              subtotals: ''
              width: 150
            }
            column_Unit
            {
              columnId: 'Unit'
              dataPath: 'Unit'
              dataType: 'string'
              index: 4
              subtotals: ''
              width: 150
            }
            column_CustomerName
            {
              columnId: 'CustomerName'
              dataPath: 'CustomerName'
              dataType: 'string'
              index: 5
              subtotals: ''
              width: 150
            }
          }
        }
      }
      form_FormReleaseRecord
      {
        title: 'QTIANMA_JITUAN::FormReleaseRecord'
        shown: true
        componentID: 'QTIANMA_JITUAN::FormReleaseRecord'
        layout
        {
          mode: 'open'
          rowPosition: 32
          rowSpan: 9
          columnPosition: 1
          columnSpan: 12
        }
        components
        {
          FormReleaseRecord_PanelReleaseRecord423
          {
            sizeRatio: 1
          }
          FormReleaseRecord_PanelReleaseRecord
          {
            sizeRatio: 1
          }
          FormReleaseRecord_PanelReleaseRecord108
          {
            sizeRatio: 1
          }
          FormReleaseRecord_ListReleaseRecord
          {
          }
          FormReleaseRecord_DataSetLevelReleaseRecord
          {
            groupDepth: -1
            column_Serial
            {
              columnId: 'Serial'
              dataPath: 'Serial'
              dataType: 'number'
              index: 0
              subtotals: ''
              width: 150
            }
            column_IssuingDate
            {
              columnId: 'IssuingDate'
              dataPath: 'IssuingDate'
              dataType: 'datetime'
              index: 1
              subtotals: ''
              width: 150
            }
            column_FinishDate
            {
              columnId: 'FinishDate'
              dataPath: 'FinishDate'
              dataType: 'string'
              index: 2
              subtotals: ''
              width: 150
            }
            column_Issuer
            {
              columnId: 'Issuer'
              dataPath: 'Issuer'
              dataType: 'string'
              index: 3
              subtotals: ''
              width: 150
            }
            column_Status
            {
              columnId: 'Status'
              dataPath: 'Status'
              dataType: 'string'
              index: 4
              subtotals: ''
              width: 150
            }
          }
          FormReleaseRecord_PanelReleaseRecord527
          {
            sizeRatio: 1
          }
          FormReleaseRecord_ListReleaseRecord243
          {
          }
          FormReleaseRecord_DataSetLevelReleaseRecord707
          {
            groupDepth: -1
            column_SKU
            {
              columnId: 'SKU'
              dataPath: 'SKU'
              dataType: 'string'
              index: 0
              subtotals: ''
              width: 150
            }
            column_ProductSubclassType
            {
              columnId: 'ProductSubclassType'
              dataPath: 'ProductSubclassType'
              dataType: 'string'
              index: 1
              subtotals: ''
              width: 150
            }
            column_Qty
            {
              columnId: 'Qty'
              dataPath: 'Qty'
              dataType: 'number'
              index: 2
              subtotals: ''
              width: 150
            }
            column_Unit
            {
              columnId: 'Unit'
              dataPath: 'Unit'
              dataType: 'string'
              index: 3
              subtotals: ''
              width: 150
            }
            column_OrgCode
            {
              columnId: 'OrgCode'
              dataPath: 'OrgCode'
              dataType: 'string'
              index: 4
              subtotals: ''
              width: 150
            }
            column_WarehouseCode
            {
              columnId: 'WarehouseCode'
              dataPath: 'WarehouseCode'
              dataType: 'string'
              index: 5
              subtotals: ''
              width: 150
            }
            column_DemandTime
            {
              columnId: 'DemandTime'
              dataPath: 'DemandTime'
              dataType: 'datetime'
              index: 6
              subtotals: ''
              width: 150
            }
            column_IssuingDate
            {
              columnId: 'IssuingDate'
              dataPath: 'IssuingDate'
              dataType: 'datetime'
              index: 7
              subtotals: ''
              width: 150
            }
          }
        }
      }
      form_FormMaterialPurchase
      {
        title: 'QTIANMA_JITUAN::FormMaterialPurchase'
        shown: true
        componentID: 'QTIANMA_JITUAN::FormMaterialPurchase'
        layout
        {
          mode: 'open'
          rowPosition: 41
          rowSpan: 9
          columnPosition: 1
          columnSpan: 12
        }
        components
        {
          FormMaterialPurchase_PanelMaterialPurchase354
          {
            sizeRatio: 1
          }
          FormMaterialPurchase_PanelMaterialPurchase
          {
            sizeRatio: 1
          }
          FormMaterialPurchase_PanelMaterialPurchase613
          {
            sizeRatio: 1
          }
          FormMaterialPurchase_ListMaterialPurchase
          {
          }
          FormMaterialPurchase_DataSetLevelMaterialPurchase
          {
            groupDepth: -1
            column_SKU
            {
              columnId: 'SKU'
              dataPath: 'SKU'
              dataType: 'string'
              index: 0
              subtotals: ''
              width: 150
            }
            column_ProductSubclassType
            {
              columnId: 'ProductSubclassType'
              dataPath: 'ProductSubclassType'
              dataType: 'string'
              index: 1
              subtotals: ''
              width: 150
            }
            column_Qty
            {
              columnId: 'Qty'
              dataPath: 'Qty'
              dataType: 'number'
              index: 2
              subtotals: ''
              width: 150
            }
            column_Unit
            {
              columnId: 'Unit'
              dataPath: 'Unit'
              dataType: 'string'
              index: 3
              subtotals: ''
              width: 150
            }
            column_OrgCode
            {
              columnId: 'OrgCode'
              dataPath: 'OrgCode'
              dataType: 'string'
              index: 4
              subtotals: ''
              width: 150
            }
            column_WarehouseCode
            {
              columnId: 'WarehouseCode'
              dataPath: 'WarehouseCode'
              dataType: 'string'
              index: 5
              subtotals: ''
              width: 150
            }
            column_DemandTime
            {
              columnId: 'DemandTime'
              dataPath: 'DemandTime'
              dataType: 'datetime'
              index: 6
              subtotals: ''
              width: 150
            }
          }
        }
      }
      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: '名称'
              index: 1
              subtotals: ''
              width: 109
            }
            column_Description
            {
              columnId: 'Description'
              dataPath: 'Description'
              dataType: 'string'
              title: '描述'
              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: '名称'
              index: 1
              subtotals: ''
              width: 200
            }
          }
        }
      }
    }
    userconfigurableinformation
    {
    }
    page: ''
    group: ''
    index: 0
    image: 'CHART_DONUT'
    description: ''
  }
  formatversion: 2
  id: '冲减'
  name: '冲减'
  isglobal: false
  isroot: true
}
_Main/UI/MacroPlannerWebApp/Views/Ìî²ú.vw
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,607 @@
Quintiq file version 2.0
{
  viewcontents
  {
    forms
    {
      form_FormCustomerAndForecastOrder
      {
        title: 'QTIANMA_JITUAN::FormCustomerAndForecastOrder'
        shown: true
        componentID: 'QTIANMA_JITUAN::FormCustomerAndForecastOrder'
        layout
        {
          mode: 'open'
          rowPosition: 1
          rowSpan: 16
          columnPosition: 1
          columnSpan: 4
        }
        components
        {
          FormCustomerAndForecastOrder_PanelButton
          {
            sizeRatio: 1
          }
          FormCustomerAndForecastOrder_ListCustomerAndFillingCapacityOrder
          {
          }
          FormCustomerAndForecastOrder_DataSetLevelCustomerAndFillingCapacityOrder
          {
            groupDepth: -1
            column_VerNo
            {
              columnId: 'VerNo'
              dataPath: 'VerNo'
              dataType: 'string'
              index: 0
              subtotals: ''
              width: 150
            }
            column_OrderID
            {
              columnId: 'OrderID'
              dataPath: 'OrderID'
              dataType: 'string'
              index: 1
              subtotals: ''
              width: 150
            }
            column_ProductID
            {
              columnId: 'ProductID'
              dataPath: 'ProductID'
              dataType: 'string'
              index: 2
              subtotals: ''
              width: 150
            }
            column_BusinessType
            {
              columnId: 'BusinessType'
              dataPath: 'BusinessType'
              dataType: 'string'
              index: 3
              subtotals: ''
              width: 150
            }
            column_Customer
            {
              columnId: 'Customer'
              dataPath: 'Customer'
              dataType: 'string'
              index: 4
              subtotals: ''
              width: 150
            }
            column_ServiceType
            {
              columnId: 'ServiceType'
              dataPath: 'ServiceType'
              dataType: 'string'
              index: 5
              subtotals: ''
              width: 150
            }
            column_Quantity
            {
              columnId: 'Quantity'
              dataPath: 'Quantity'
              dataType: 'real'
              index: 6
              subtotals: ''
              width: 150
            }
            column_UnitOfMeasureName
            {
              columnId: 'UnitOfMeasureName'
              dataPath: 'UnitOfMeasureName'
              dataType: 'string'
              index: 7
              subtotals: ''
              width: 150
            }
            column_PanelBigSheetQuantity
            {
              columnId: 'PanelBigSheetQuantity'
              dataPath: 'PanelBigSheetQuantity'
              dataType: 'real'
              index: 8
              subtotals: ''
              width: 150
            }
            column_SalesAmount
            {
              columnId: 'SalesAmount'
              dataPath: 'SalesAmount'
              dataType: 'number'
              index: 9
              subtotals: ''
              width: 150
            }
            column_ForecastDemandDate
            {
              columnId: 'ForecastDemandDate'
              dataPath: 'ForecastDemandDate'
              dataType: 'date'
              index: 10
              subtotals: ''
              width: 150
            }
            column_DemandDate
            {
              columnId: 'DemandDate'
              dataPath: 'DemandDate'
              dataType: 'date'
              index: 11
              subtotals: ''
              width: 150
            }
          }
        }
      }
      form_FormFillingCapacityOrder
      {
        title: 'QTIANMA_JITUAN::FormFillingCapacityOrder'
        shown: true
        componentID: 'QTIANMA_JITUAN::FormFillingCapacityOrder'
        layout
        {
          mode: 'open'
          rowPosition: 1
          rowSpan: 16
          columnPosition: 5
          columnSpan: 8
        }
        components
        {
          FormFillingCapacityOrder_PanelFillingCapacityOrder
          {
            sizeRatio: 1
          }
          FormFillingCapacityOrder_ListFillingCapacityOrder
          {
          }
          FormFillingCapacityOrder_DataSetLevelFillingCapacityOrder
          {
            groupDepth: -1
            column_VerNo
            {
              columnId: 'VerNo'
              dataPath: 'VerNo'
              dataType: 'string'
              index: 0
              subtotals: ''
              width: 150
            }
            column_ProductID
            {
              columnId: 'ProductID'
              dataPath: 'ProductID'
              dataType: 'string'
              index: 1
              subtotals: ''
              width: 150
            }
            column_BusinessType
            {
              columnId: 'BusinessType'
              dataPath: 'BusinessType'
              dataType: 'string'
              index: 2
              subtotals: ''
              width: 150
            }
            column_SalesSegmentName
            {
              columnId: 'SalesSegmentName'
              dataPath: 'SalesSegmentName'
              dataType: 'string'
              index: 3
              subtotals: ''
              width: 150
            }
            column_StockingPointID
            {
              columnId: 'StockingPointID'
              dataPath: 'StockingPointID'
              dataType: 'string'
              index: 4
              subtotals: ''
              width: 150
            }
            column_Customer
            {
              columnId: 'Customer'
              dataPath: 'Customer'
              dataType: 'string'
              index: 5
              subtotals: ''
              width: 150
            }
            column_Quantity
            {
              columnId: 'Quantity'
              dataPath: 'Quantity'
              dataType: 'real'
              index: 6
              subtotals: ''
              width: 150
            }
            column_UnitOfMeasureName
            {
              columnId: 'UnitOfMeasureName'
              dataPath: 'UnitOfMeasureName'
              dataType: 'string'
              index: 7
              subtotals: ''
              width: 150
            }
            column_PanelBigSheetQuantity
            {
              columnId: 'PanelBigSheetQuantity'
              dataPath: 'PanelBigSheetQuantity'
              dataType: 'real'
              index: 8
              subtotals: ''
              width: 150
            }
            column_SalesAmount
            {
              columnId: 'SalesAmount'
              dataPath: 'SalesAmount'
              dataType: 'number'
              index: 9
              subtotals: ''
              width: 150
            }
            column_ForecastDemandDate
            {
              columnId: 'ForecastDemandDate'
              dataPath: 'ForecastDemandDate'
              dataType: 'date'
              index: 10
              subtotals: ''
              width: 150
            }
            column_DemandDate
            {
              columnId: 'DemandDate'
              dataPath: 'DemandDate'
              dataType: 'date'
              index: 11
              subtotals: ''
              width: 150
            }
            column_OrderType
            {
              columnId: 'OrderType'
              dataPath: 'OrderType'
              dataType: 'string'
              index: 12
              subtotals: ''
              width: 150
            }
          }
        }
      }
      form_FormCustomerOrders
      {
        title: 'QLibMacroPlannerWebUI::FormCustomerOrders'
        shown: true
        componentID: 'QLibMacroPlannerWebUI::FormCustomerOrders'
        layout
        {
          mode: 'open'
          rowPosition: 17
          rowSpan: 17
          columnPosition: 1
          columnSpan: 12
        }
        components
        {
          FormCustomerOrders_PanelSalesDemands
          {
            sizeRatio: 1
          }
          FormCustomerOrders_PanelAllSalesDemands
          {
            sizeRatio: 2
          }
          FormCustomerOrders_ListSalesDemands
          {
          }
          FormCustomerOrders_DataSetLevelSalesDemands
          {
            groupDepth: -1
            column_All_constraints
            {
              columnId: 'All constraints'
              dataPath: 'All constraints'
              dataType: 'string'
              index: 0
              subtotals: ''
              width: 32
            }
            column_StockingPoint_MP_ID
            {
              columnId: 'StockingPoint_MP.ID'
              dataPath: 'StockingPoint_MP.ID'
              dataType: 'string'
              index: 1
              subtotals: ''
              width: 150
            }
            column_SalesSegment_MP_Name
            {
              columnId: 'SalesSegment_MP.Name'
              dataPath: 'SalesSegment_MP.Name'
              dataType: 'string'
              index: 2
              subtotals: ''
              width: 150
            }
            column_CustomerName
            {
              columnId: 'CustomerName'
              dataPath: 'CustomerName'
              dataType: 'string'
              index: 3
              subtotals: ''
              width: 150
            }
            column_CustomerID
            {
              columnId: 'CustomerID'
              dataPath: 'CustomerID'
              dataType: 'string'
              index: 4
              subtotals: ''
              width: 150
            }
            column_OrderID
            {
              columnId: 'OrderID'
              dataPath: 'OrderID'
              dataType: 'string'
              index: 5
              subtotals: ''
              width: 150
            }
            column_OrderLineID
            {
              columnId: 'OrderLineID'
              dataPath: 'OrderLineID'
              dataType: 'string'
              index: 6
              subtotals: ''
              width: 150
            }
            column_StartDate
            {
              columnId: 'StartDate'
              dataPath: 'StartDate'
              dataType: 'date'
              index: 7
              subtotals: ''
              width: 150
            }
            column_Product_MP_ID
            {
              columnId: 'Product_MP.ID'
              dataPath: 'Product_MP.ID'
              dataType: 'string'
              index: 8
              subtotals: ''
              width: 150
            }
            column_UnitOfMeasure_MP_Name
            {
              columnId: 'UnitOfMeasure_MP.Name'
              dataPath: 'UnitOfMeasure_MP.Name'
              dataType: 'string'
              index: 9
              subtotals: ''
              width: 150
            }
            column_Quantity
            {
              columnId: 'Quantity'
              dataPath: 'Quantity'
              dataType: 'real'
              index: 10
              subtotals: ''
              width: 150
            }
            column_FulfilledQuantity
            {
              columnId: 'FulfilledQuantity'
              dataPath: 'FulfilledQuantity'
              dataType: 'real'
              index: 11
              subtotals: ''
              width: 150
            }
            column_Fulfillment
            {
              columnId: 'Fulfillment'
              dataPath: 'Fulfillment'
              dataType: 'string'
              index: 12
              subtotals: ''
              width: 150
            }
            column_IsFirmed
            {
              columnId: 'IsFirmed'
              dataPath: 'IsFirmed'
              dataType: 'boolean'
              index: 13
              subtotals: ''
              width: 150
            }
            column_IsEligibleForNetting
            {
              columnId: 'IsEligibleForNetting'
              dataPath: 'IsEligibleForNetting'
              dataType: 'boolean'
              index: 14
              subtotals: ''
              width: 150
            }
            column_Price
            {
              columnId: 'Price'
              dataPath: 'Price'
              dataType: 'real'
              index: 15
              subtotals: ''
              width: 150
            }
            column_PriceUoM
            {
              columnId: 'PriceUoM'
              dataPath: 'PriceUoM'
              dataType: 'string'
              index: 16
              subtotals: ''
              width: 150
            }
            column_OrderTag
            {
              columnId: 'OrderTag'
              dataPath: 'OrderTag'
              dataType: 'string'
              index: 17
              subtotals: ''
              width: 150
            }
          }
          FormCustomerOrders_PanelSDIP
          {
            sizeRatio: 1
          }
          FormCustomerOrders_ListSDIP
          {
          }
          FormCustomerOrders_DataSetLevelSDIP
          {
            groupDepth: -1
            column_All_constraints
            {
              columnId: 'All constraints'
              dataPath: 'All constraints'
              dataType: 'string'
              index: 0
              subtotals: ''
              width: 32
            }
            column_ImgIsRestricted
            {
              columnId: 'ImgIsRestricted'
              dataPath: 'ImgIsRestricted'
              dataType: 'string'
              index: 1
              subtotals: ''
              width: 150
            }
            column_SalesSegmentName
            {
              columnId: 'SalesSegmentName'
              dataPath: 'SalesSegmentName'
              dataType: 'string'
              index: 2
              subtotals: ''
              width: 150
            }
            column_ProductID
            {
              columnId: 'ProductID'
              dataPath: 'ProductID'
              dataType: 'string'
              index: 3
              subtotals: ''
              width: 150
            }
            column_StockingPointID
            {
              columnId: 'StockingPointID'
              dataPath: 'StockingPointID'
              dataType: 'string'
              index: 4
              subtotals: ''
              width: 150
            }
            column_StartDate
            {
              columnId: 'StartDate'
              dataPath: 'StartDate'
              dataType: 'date'
              index: 5
              subtotals: ''
              width: 150
            }
            column_EndDate
            {
              columnId: 'EndDate'
              dataPath: 'EndDate'
              dataType: 'date'
              index: 6
              subtotals: ''
              width: 150
            }
            column_MasterSalesDemand_UnitOfMeasureName
            {
              columnId: 'MasterSalesDemand.UnitOfMeasureName'
              dataPath: 'MasterSalesDemand.UnitOfMeasureName'
              dataType: 'string'
              index: 7
              subtotals: ''
              width: 150
            }
            column_QuantityInSalesDemandUOM
            {
              columnId: 'QuantityInSalesDemandUOM'
              dataPath: 'QuantityInSalesDemandUOM'
              dataType: 'real'
              index: 8
              subtotals: ''
              width: 150
            }
            column_FulfilledQuantityInSalesDemandUOM
            {
              columnId: 'FulfilledQuantityInSalesDemandUOM'
              dataPath: 'FulfilledQuantityInSalesDemandUOM'
              dataType: 'real'
              index: 9
              subtotals: ''
              width: 150
            }
            column_Fulfillment
            {
              columnId: 'Fulfillment'
              dataPath: 'Fulfillment'
              dataType: 'string'
              index: 10
              subtotals: ''
              width: 150
            }
          }
        }
      }
    }
    userconfigurableinformation
    {
    }
    image: 'BOOK_BLUE_VIEW'
    page: ''
    group: ''
    index: 0
    description: ''
  }
  formatversion: 2
  id: '填产'
  name: '填产'
  isglobal: false
  isroot: true
}
_Main/UI/MacroPlannerWebApp/Views/¶Ô½ÓERP½øÐÐPRÊÍ·Å.vw
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,177 @@
Quintiq file version 2.0
{
  viewcontents
  {
    forms
    {
      form_FormWorkOrderType
      {
        title: 'QTIANMA_JITUAN::FormWorkOrderType'
        shown: true
        componentID: 'QTIANMA_JITUAN::FormWorkOrderType'
        layout
        {
          mode: 'open'
          rowPosition: 1
          rowSpan: 16
          columnPosition: 1
          columnSpan: 3
        }
        components
        {
          FormWorkOrderType_ListWorkOrderType
          {
          }
          FormWorkOrderType_DataSetLevelWorkOrderType
          {
            groupDepth: -1
            column_ID
            {
              columnId: 'ID'
              dataPath: 'ID'
              dataType: 'string'
              index: 0
              subtotals: ''
              width: 150
            }
            column_TypeName
            {
              columnId: 'TypeName'
              dataPath: 'TypeName'
              dataType: 'string'
              index: 1
              subtotals: ''
              width: 150
            }
          }
        }
      }
      form_FormIssueWorkOrder
      {
        title: 'QTIANMA_JITUAN::FormIssueWorkOrder'
        shown: true
        componentID: 'QTIANMA_JITUAN::FormIssueWorkOrder'
        layout
        {
          mode: 'open'
          rowPosition: 1
          rowSpan: 16
          columnPosition: 4
          columnSpan: 9
        }
        components
        {
          FormIssueWorkOrder_PanelButton
          {
            sizeRatio: 1
          }
          FormIssueWorkOrder_PanelIssueWorkOrder
          {
            sizeRatio: 1
          }
          FormIssueWorkOrder_ListIssueWorkOrder
          {
          }
          FormIssueWorkOrder_DataSetLevelIssueWorkOrder
          {
            groupDepth: -1
            column_EndDate
            {
              columnId: 'EndDate'
              dataPath: 'EndDate'
              dataType: 'date'
              index: 0
              subtotals: ''
              width: 150
            }
            column_MaterialDescription
            {
              columnId: 'MaterialDescription'
              dataPath: 'MaterialDescription'
              dataType: 'string'
              index: 1
              subtotals: ''
              width: 150
            }
            column_OrganizationInfomation
            {
              columnId: 'OrganizationInfomation'
              dataPath: 'OrganizationInfomation'
              dataType: 'string'
              index: 2
              subtotals: ''
              width: 150
            }
            column_PlannedQuantity
            {
              columnId: 'PlannedQuantity'
              dataPath: 'PlannedQuantity'
              dataType: 'real'
              index: 3
              subtotals: ''
              width: 150
            }
            column_ProductionWorkOrderNumber
            {
              columnId: 'ProductionWorkOrderNumber'
              dataPath: 'ProductionWorkOrderNumber'
              dataType: 'string'
              index: 4
              subtotals: ''
              width: 150
            }
            column_ProductModel
            {
              columnId: 'ProductModel'
              dataPath: 'ProductModel'
              dataType: 'string'
              index: 5
              subtotals: ''
              width: 150
            }
            column_StartDate
            {
              columnId: 'StartDate'
              dataPath: 'StartDate'
              dataType: 'date'
              index: 6
              subtotals: ''
              width: 150
            }
            column_WorkOrderStatus
            {
              columnId: 'WorkOrderStatus'
              dataPath: 'WorkOrderStatus'
              dataType: 'string'
              index: 7
              subtotals: ''
              width: 150
            }
            column_WorkOrderType
            {
              columnId: 'WorkOrderType'
              dataPath: 'WorkOrderType'
              dataType: 'string'
              index: 8
              subtotals: ''
              width: 150
            }
          }
        }
      }
    }
    userconfigurableinformation
    {
    }
    page: ''
    group: ''
    index: 0
    image: 'INDUSTRIAL_ROBOT'
    description: ''
  }
  formatversion: 2
  id: '对接ERP进行PR释放'
  name: '对接ERP进行PR释放'
  isglobal: false
  isroot: true
}
_Main/UI/MacroPlannerWebApp/Views/Äê¶È²úÏú¸´ÅÌ.vw
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,777 @@
Quintiq file version 2.0
{
  viewcontents
  {
    forms
    {
      form_FormCapacityAndSaleBudge
      {
        title: 'QTIANMA_JITUAN::FormCapacityAndSaleBudge'
        shown: true
        componentID: 'QTIANMA_JITUAN::FormCapacityAndSaleBudge'
        layout
        {
          mode: 'open'
          rowPosition: 1
          rowSpan: 4
          columnPosition: 1
          columnSpan: 2
        }
        components
        {
          FormCapacityAndSaleBudge_ListCapacityAndSaleBudge
          {
          }
          FormCapacityAndSaleBudge_DataSetLevelCapacityAndSaleBudge
          {
            groupDepth: -1
            column_Deleted
            {
              columnId: 'Deleted'
              dataPath: 'Deleted'
              dataType: 'boolean'
              index: 0
              subtotals: ''
              width: 150
            }
            column_YearNo
            {
              columnId: 'YearNo'
              dataPath: 'YearNo'
              dataType: 'number'
              index: 1
              subtotals: ''
              width: 150
            }
            column_OrgCode
            {
              columnId: 'OrgCode'
              dataPath: 'OrgCode'
              dataType: 'string'
              index: 2
              subtotals: ''
              width: 150
            }
            column_DisplayTechnology
            {
              columnId: 'DisplayTechnology'
              dataPath: 'DisplayTechnology'
              dataType: 'string'
              index: 3
              subtotals: ''
              width: 150
            }
            column_BusinessType
            {
              columnId: 'BusinessType'
              dataPath: 'BusinessType'
              dataType: 'string'
              index: 4
              subtotals: ''
              width: 150
            }
            column_LineAndSpecification
            {
              columnId: 'LineAndSpecification'
              dataPath: 'LineAndSpecification'
              dataType: 'string'
              index: 5
              subtotals: ''
              width: 150
            }
            column_ProductCode
            {
              columnId: 'ProductCode'
              dataPath: 'ProductCode'
              dataType: 'string'
              index: 6
              subtotals: ''
              width: 150
            }
            column_PlaceOfProductionOfArray
            {
              columnId: 'PlaceOfProductionOfArray'
              dataPath: 'PlaceOfProductionOfArray'
              dataType: 'string'
              index: 7
              subtotals: ''
              width: 150
            }
            column_PlaceOfProductionOfEvaporation
            {
              columnId: 'PlaceOfProductionOfEvaporation'
              dataPath: 'PlaceOfProductionOfEvaporation'
              dataType: 'string'
              index: 8
              subtotals: ''
              width: 150
            }
            column_Resolution
            {
              columnId: 'Resolution'
              dataPath: 'Resolution'
              dataType: 'string'
              index: 9
              subtotals: ''
              width: 150
            }
            column_ShippingForm
            {
              columnId: 'ShippingForm'
              dataPath: 'ShippingForm'
              dataType: 'string'
              index: 10
              subtotals: ''
              width: 150
            }
            column_NumberOfCut
            {
              columnId: 'NumberOfCut'
              dataPath: 'NumberOfCut'
              dataType: 'string'
              index: 11
              subtotals: ''
              width: 150
            }
            column_CapacityEquivalent
            {
              columnId: 'CapacityEquivalent'
              dataPath: 'CapacityEquivalent'
              dataType: 'string'
              index: 12
              subtotals: ''
              width: 150
            }
            column_NumberOfMask
            {
              columnId: 'NumberOfMask'
              dataPath: 'NumberOfMask'
              dataType: 'string'
              index: 13
              subtotals: ''
              width: 150
            }
            column_CapacityInPCSInMonth1
            {
              columnId: 'CapacityInPCSInMonth1'
              dataPath: 'CapacityInPCSInMonth1'
              dataType: 'real'
              index: 14
              subtotals: ''
              width: 150
            }
            column_CapacityInPCSInMonth2
            {
              columnId: 'CapacityInPCSInMonth2'
              dataPath: 'CapacityInPCSInMonth2'
              dataType: 'real'
              index: 15
              subtotals: ''
              width: 150
            }
            column_CapacityInPCSInMonth3
            {
              columnId: 'CapacityInPCSInMonth3'
              dataPath: 'CapacityInPCSInMonth3'
              dataType: 'real'
              index: 16
              subtotals: ''
              width: 150
            }
            column_CapacityInPCSInMonth4
            {
              columnId: 'CapacityInPCSInMonth4'
              dataPath: 'CapacityInPCSInMonth4'
              dataType: 'real'
              index: 17
              subtotals: ''
              width: 150
            }
            column_CapacityInPCSInMonth5
            {
              columnId: 'CapacityInPCSInMonth5'
              dataPath: 'CapacityInPCSInMonth5'
              dataType: 'real'
              index: 18
              subtotals: ''
              width: 150
            }
            column_CapacityInPCSInMonth6
            {
              columnId: 'CapacityInPCSInMonth6'
              dataPath: 'CapacityInPCSInMonth6'
              dataType: 'real'
              index: 19
              subtotals: ''
              width: 150
            }
            column_CapacityInPCSInMonth7
            {
              columnId: 'CapacityInPCSInMonth7'
              dataPath: 'CapacityInPCSInMonth7'
              dataType: 'real'
              index: 20
              subtotals: ''
              width: 150
            }
            column_CapacityInPCSInMonth8
            {
              columnId: 'CapacityInPCSInMonth8'
              dataPath: 'CapacityInPCSInMonth8'
              dataType: 'real'
              index: 21
              subtotals: ''
              width: 150
            }
            column_CapacityInPCSInMonth9
            {
              columnId: 'CapacityInPCSInMonth9'
              dataPath: 'CapacityInPCSInMonth9'
              dataType: 'real'
              index: 22
              subtotals: ''
              width: 150
            }
            column_CapacityInPCSInMonth10
            {
              columnId: 'CapacityInPCSInMonth10'
              dataPath: 'CapacityInPCSInMonth10'
              dataType: 'real'
              index: 23
              subtotals: ''
              width: 150
            }
            column_CapacityInPCSInMonth11
            {
              columnId: 'CapacityInPCSInMonth11'
              dataPath: 'CapacityInPCSInMonth11'
              dataType: 'real'
              index: 24
              subtotals: ''
              width: 150
            }
            column_CapacityInPCSInMonth12
            {
              columnId: 'CapacityInPCSInMonth12'
              dataPath: 'CapacityInPCSInMonth12'
              dataType: 'real'
              index: 25
              subtotals: ''
              width: 150
            }
            column_CapacityInPCSTotal
            {
              columnId: 'CapacityInPCSTotal'
              dataPath: 'CapacityInPCSTotal'
              dataType: 'real'
              index: 26
              subtotals: ''
              width: 150
            }
            column_CapacityInSheetInMonth1
            {
              columnId: 'CapacityInSheetInMonth1'
              dataPath: 'CapacityInSheetInMonth1'
              dataType: 'real'
              index: 27
              subtotals: ''
              width: 150
            }
            column_CapacityInSheetInMonth2
            {
              columnId: 'CapacityInSheetInMonth2'
              dataPath: 'CapacityInSheetInMonth2'
              dataType: 'real'
              index: 28
              subtotals: ''
              width: 150
            }
            column_CapacityInSheetInMonth3
            {
              columnId: 'CapacityInSheetInMonth3'
              dataPath: 'CapacityInSheetInMonth3'
              dataType: 'real'
              index: 29
              subtotals: ''
              width: 150
            }
            column_CapacityInSheetInMonth4
            {
              columnId: 'CapacityInSheetInMonth4'
              dataPath: 'CapacityInSheetInMonth4'
              dataType: 'real'
              index: 30
              subtotals: ''
              width: 150
            }
            column_CapacityInSheetInMonth5
            {
              columnId: 'CapacityInSheetInMonth5'
              dataPath: 'CapacityInSheetInMonth5'
              dataType: 'real'
              index: 31
              subtotals: ''
              width: 150
            }
            column_CapacityInSheetInMonth6
            {
              columnId: 'CapacityInSheetInMonth6'
              dataPath: 'CapacityInSheetInMonth6'
              dataType: 'real'
              index: 32
              subtotals: ''
              width: 150
            }
            column_CapacityInSheetInMonth7
            {
              columnId: 'CapacityInSheetInMonth7'
              dataPath: 'CapacityInSheetInMonth7'
              dataType: 'real'
              index: 33
              subtotals: ''
              width: 150
            }
            column_CapacityInSheetInMonth8
            {
              columnId: 'CapacityInSheetInMonth8'
              dataPath: 'CapacityInSheetInMonth8'
              dataType: 'real'
              index: 34
              subtotals: ''
              width: 150
            }
            column_CapacityInSheetInMonth9
            {
              columnId: 'CapacityInSheetInMonth9'
              dataPath: 'CapacityInSheetInMonth9'
              dataType: 'real'
              index: 35
              subtotals: ''
              width: 150
            }
            column_CapacityInSheetInMonth10
            {
              columnId: 'CapacityInSheetInMonth10'
              dataPath: 'CapacityInSheetInMonth10'
              dataType: 'real'
              index: 36
              subtotals: ''
              width: 150
            }
            column_CapacityInSheetInMonth11
            {
              columnId: 'CapacityInSheetInMonth11'
              dataPath: 'CapacityInSheetInMonth11'
              dataType: 'real'
              index: 37
              subtotals: ''
              width: 150
            }
            column_CapacityInSheetInMonth12
            {
              columnId: 'CapacityInSheetInMonth12'
              dataPath: 'CapacityInSheetInMonth12'
              dataType: 'real'
              index: 38
              subtotals: ''
              width: 150
            }
            column_CapacityInSheetTotal
            {
              columnId: 'CapacityInSheetTotal'
              dataPath: 'CapacityInSheetTotal'
              dataType: 'real'
              index: 39
              subtotals: ''
              width: 150
            }
            column_SaleAmountInMonth1
            {
              columnId: 'SaleAmountInMonth1'
              dataPath: 'SaleAmountInMonth1'
              dataType: 'real'
              index: 40
              subtotals: ''
              width: 150
            }
            column_SaleAmountInMonth2
            {
              columnId: 'SaleAmountInMonth2'
              dataPath: 'SaleAmountInMonth2'
              dataType: 'real'
              index: 41
              subtotals: ''
              width: 150
            }
            column_SaleAmountInMonth3
            {
              columnId: 'SaleAmountInMonth3'
              dataPath: 'SaleAmountInMonth3'
              dataType: 'real'
              index: 42
              subtotals: ''
              width: 150
            }
            column_SaleAmountInMonth5
            {
              columnId: 'SaleAmountInMonth5'
              dataPath: 'SaleAmountInMonth5'
              dataType: 'real'
              index: 43
              subtotals: ''
              width: 150
            }
            column_SaleAmountInMonth4
            {
              columnId: 'SaleAmountInMonth4'
              dataPath: 'SaleAmountInMonth4'
              dataType: 'real'
              index: 44
              subtotals: ''
              width: 150
            }
            column_SaleAmountInMonth6
            {
              columnId: 'SaleAmountInMonth6'
              dataPath: 'SaleAmountInMonth6'
              dataType: 'real'
              index: 45
              subtotals: ''
              width: 150
            }
            column_SaleAmountInMonth7
            {
              columnId: 'SaleAmountInMonth7'
              dataPath: 'SaleAmountInMonth7'
              dataType: 'real'
              index: 46
              subtotals: ''
              width: 150
            }
            column_SaleAmountInMonth8
            {
              columnId: 'SaleAmountInMonth8'
              dataPath: 'SaleAmountInMonth8'
              dataType: 'real'
              index: 47
              subtotals: ''
              width: 150
            }
            column_SaleAmountInMonth9
            {
              columnId: 'SaleAmountInMonth9'
              dataPath: 'SaleAmountInMonth9'
              dataType: 'real'
              index: 48
              subtotals: ''
              width: 150
            }
            column_SaleAmountInMonth10
            {
              columnId: 'SaleAmountInMonth10'
              dataPath: 'SaleAmountInMonth10'
              dataType: 'real'
              index: 49
              subtotals: ''
              width: 150
            }
            column_SaleAmountInMonth11
            {
              columnId: 'SaleAmountInMonth11'
              dataPath: 'SaleAmountInMonth11'
              dataType: 'real'
              index: 50
              subtotals: ''
              width: 150
            }
            column_SaleAmountInMonth12
            {
              columnId: 'SaleAmountInMonth12'
              dataPath: 'SaleAmountInMonth12'
              dataType: 'real'
              index: 51
              subtotals: ''
              width: 150
            }
            column_SaleAmountTotal
            {
              columnId: 'SaleAmountTotal'
              dataPath: 'SaleAmountTotal'
              dataType: 'real'
              index: 52
              subtotals: ''
              width: 150
            }
          }
        }
      }
      form_FormCapacityAndSaleBudgeCompare
      {
        title: 'QTIANMA_JITUAN::FormCapacityAndSaleBudgeCompare'
        shown: true
        componentID: 'QTIANMA_JITUAN::FormCapacityAndSaleBudgeCompare'
        layout
        {
          mode: 'open'
          rowPosition: 5
          rowSpan: 10
          columnPosition: 5
          columnSpan: 8
        }
        components
        {
          FormCapacityAndSaleBudgeCompare_MatrixEditorCapacityAndSaleBudgeCompare
          {
            gridColor: '#c4c4c4'
            totalHeaderWidth: 200
            attributeHeaderWidthRatio: 0.6
            nameHeaderWidthRatio: 0.4
            columnWidth: 100
            horizontalGrid: true
            verticalGrid: true
            backendState
            {
              componentId: 'QTIANMA_JITUAN::FormCapacityAndSaleBudgeCompare.MatrixEditorCapacityAndSaleBudgeCompare'
              state
              {
                cells
                {
                  attributes
                  {
                    attribute_CellContent
                    {
                      type: 'MatrixEditorWebApiCellDataModelInterest'
                      index: 0
                      rowsubtotal: ''
                      columnsubtotal: ''
                      attribute: 'CellContent'
                    }
                  }
                }
                columns
                {
                  sorting
                  {
                    criteria: "datamember:'ColumnNo'"
                  }
                }
                rows
                {
                  sorting
                  {
                    criteria: "datamember:'RowNo'"
                  }
                }
              }
            }
          }
        }
      }
      form_FormCapacityAndSaleBudgeFilterItem
      {
        title: 'QTIANMA_JITUAN::FormCapacityAndSaleBudgeFilterItem'
        shown: true
        componentID: 'QTIANMA_JITUAN::FormCapacityAndSaleBudgeFilterItem'
        layout
        {
          mode: 'open'
          rowPosition: 1
          rowSpan: 4
          columnPosition: 3
          columnSpan: 2
        }
        components
        {
          FormCapacityAndSaleBudgeFilterItem_ListCapacityAndSaleBudgeFilterItem
          {
          }
          FormCapacityAndSaleBudgeFilterItem_DataSetLevelCapacityAndSaleBudgeFilterItem
          {
            groupDepth: -1
            column_ItemName
            {
              columnId: 'ItemName'
              dataPath: 'ItemName'
              dataType: 'string'
              index: 0
              subtotals: ''
              width: 150
            }
          }
        }
      }
      form_FormCapacityAndSaleBudgeChart
      {
        title: 'QTIANMA_JITUAN::FormCapacityAndSaleBudgeChart'
        shown: true
        componentID: 'QTIANMA_JITUAN::FormCapacityAndSaleBudgeChart'
        layout
        {
          mode: 'open'
          rowPosition: 5
          rowSpan: 11
          columnPosition: 1
          columnSpan: 4
        }
        components
        {
          FormCapacityAndSaleBudgeChart_ChartCapacityAndSaleBudgeChart
          {
            SynchronizationGroup: ''
          }
          FormCapacityAndSaleBudgeChart_ChartCapacityAndSaleBudgeChart_legend
          {
            LegendItems:
            [
            ]
          }
        }
      }
      form_FormCapacityAndSaleBudgeFilterPlaceOfProductionOfArray
      {
        title: 'QTIANMA_JITUAN::FormCapacityAndSaleBudgeFilterPlaceOfProductionOfArray'
        shown: true
        componentID: 'QTIANMA_JITUAN::FormCapacityAndSaleBudgeFilterPlaceOfProductionOfArray'
        layout
        {
          mode: 'open'
          rowPosition: 1
          rowSpan: 4
          columnPosition: 5
          columnSpan: 2
        }
        components
        {
          FormCapacityAndSaleBudgeFilterPlaceOfProductionOfArray_ListCapacityAndSaleBudgeFilterPlaceOfProductionOfArray
          {
          }
          FormCapacityAndSaleBudgeFilterPlaceOfProductionOfArray_DataSetLevelCapacityAndSaleBudgeFilterPlaceOfProductionOfArray
          {
            groupDepth: -1
            column_PlaceOfProductionOfArray
            {
              columnId: 'PlaceOfProductionOfArray'
              dataPath: 'PlaceOfProductionOfArray'
              dataType: 'string'
              index: 0
              subtotals: ''
              width: 150
            }
          }
        }
      }
      form_FormCapacityAndSaleBudgeFilterYear
      {
        title: 'QTIANMA_JITUAN::FormCapacityAndSaleBudgeFilterYear'
        shown: true
        componentID: 'QTIANMA_JITUAN::FormCapacityAndSaleBudgeFilterYear'
        layout
        {
          mode: 'open'
          rowPosition: 1
          rowSpan: 4
          columnPosition: 7
          columnSpan: 2
        }
        components
        {
          FormCapacityAndSaleBudgeFilterYear_ListCapacityAndSaleBudgeFilterYear
          {
          }
          FormCapacityAndSaleBudgeFilterYear_DataSetLevelCapacityAndSaleBudgeFilterYear
          {
            groupDepth: -1
            column_YearNo
            {
              columnId: 'YearNo'
              dataPath: 'YearNo'
              dataType: 'number'
              index: 0
              subtotals: ''
              width: 150
            }
          }
        }
      }
      form_FormCapacityAndSaleBudgeFilterBusinessType
      {
        title: 'QTIANMA_JITUAN::FormCapacityAndSaleBudgeFilterBusinessType'
        shown: true
        componentID: 'QTIANMA_JITUAN::FormCapacityAndSaleBudgeFilterBusinessType'
        layout
        {
          mode: 'open'
          rowPosition: 1
          rowSpan: 4
          columnPosition: 11
          columnSpan: 2
        }
        components
        {
          FormCapacityAndSaleBudgeFilterBusinessType_ListCapacityAndSaleBudgeFilterBusinessType
          {
          }
          FormCapacityAndSaleBudgeFilterBusinessType_DataSetLevelCapacityAndSaleBudgeFilterBusinessType
          {
            groupDepth: -1
            column_BusinessType
            {
              columnId: 'BusinessType'
              dataPath: 'BusinessType'
              dataType: 'string'
              index: 0
              subtotals: ''
              width: 150
            }
          }
        }
      }
      form_FormCapacityAndSaleBudgeFilterMonth
      {
        title: 'QTIANMA_JITUAN::FormCapacityAndSaleBudgeFilterMonth'
        shown: true
        componentID: 'QTIANMA_JITUAN::FormCapacityAndSaleBudgeFilterMonth'
        layout
        {
          mode: 'open'
          rowPosition: 1
          rowSpan: 4
          columnPosition: 9
          columnSpan: 2
        }
        components
        {
          FormCapacityAndSaleBudgeFilterMonth_ListCapacityAndSaleBudgeFilterMonth
          {
          }
          FormCapacityAndSaleBudgeFilterMonth_DataSetLevelCapacityAndSaleBudgeFilterMonth
          {
            groupDepth: -1
            column_MonthNo
            {
              columnId: 'MonthNo'
              dataPath: 'MonthNo'
              dataType: 'number'
              index: 0
              subtotals: ''
              width: 150
            }
          }
        }
      }
    }
    userconfigurableinformation
    {
    }
    image: 'PIG'
    page: ''
    group: ''
    index: 0
    description: ''
  }
  formatversion: 2
  id: '年度产销复盘'
  name: '年度产销复盘'
  isglobal: false
  isroot: true
}
_Main/UI/MacroPlannerWebApp/Views/½Ó¿Ú²âÊÔ.vw
@@ -152,7 +152,7 @@
        {
          mode: 'open'
          rowPosition: 1
          rowSpan: 16
          rowSpan: 23
          columnPosition: 7
          columnSpan: 6
        }
@@ -203,16 +203,991 @@
              }
            }
          }
          FormShowInterfaceData_PanelInterfaceDataDisplayContent
          {
            sizeRatio: 1
            activeChild: 'PanelCustomOrder'
          }
          FormShowInterfaceData_PanelCustomOrder
          {
            sizeRatio: 1
          }
          FormShowInterfaceData_ListCustomOrder
          {
          }
          FormShowInterfaceData_DataSetLevelCustomOrder
          {
            groupDepth: -1
            column_BusinessType
            {
              columnId: 'BusinessType'
              dataPath: 'BusinessType'
              dataType: 'string'
              index: 0
              subtotals: ''
              width: 150
            }
            column_CurrencyID
            {
              columnId: 'CurrencyID'
              dataPath: 'CurrencyID'
              dataType: 'string'
              index: 1
              subtotals: ''
              width: 150
            }
            column_Customer
            {
              columnId: 'Customer'
              dataPath: 'Customer'
              dataType: 'string'
              index: 2
              subtotals: ''
              width: 150
            }
            column_CustomerID
            {
              columnId: 'CustomerID'
              dataPath: 'CustomerID'
              dataType: 'string'
              index: 3
              subtotals: ''
              width: 150
            }
            column_ID
            {
              columnId: 'ID'
              dataPath: 'ID'
              dataType: 'string'
              index: 4
              subtotals: ''
              width: 150
            }
            column_IsAvailable
            {
              columnId: 'IsAvailable'
              dataPath: 'IsAvailable'
              dataType: 'boolean'
              index: 5
              subtotals: ''
              width: 150
            }
            column_OrderDate
            {
              columnId: 'OrderDate'
              dataPath: 'OrderDate'
              dataType: 'date'
              index: 6
              subtotals: ''
              width: 150
            }
            column_OrderID
            {
              columnId: 'OrderID'
              dataPath: 'OrderID'
              dataType: 'string'
              index: 7
              subtotals: ''
              width: 150
            }
            column_OrderLineID
            {
              columnId: 'OrderLineID'
              dataPath: 'OrderLineID'
              dataType: 'string'
              index: 8
              subtotals: ''
              width: 150
            }
            column_OrderTime
            {
              columnId: 'OrderTime'
              dataPath: 'OrderTime'
              dataType: 'date'
              index: 9
              subtotals: ''
              width: 150
            }
            column_OrderType
            {
              columnId: 'OrderType'
              dataPath: 'OrderType'
              dataType: 'string'
              index: 10
              subtotals: ''
              width: 150
            }
            column_Price
            {
              columnId: 'Price'
              dataPath: 'Price'
              dataType: 'real'
              index: 11
              subtotals: ''
              width: 150
            }
            column_PriorityName
            {
              columnId: 'PriorityName'
              dataPath: 'PriorityName'
              dataType: 'string'
              index: 12
              subtotals: ''
              width: 150
            }
            column_ProductGrade
            {
              columnId: 'ProductGrade'
              dataPath: 'ProductGrade'
              dataType: 'string'
              index: 13
              subtotals: ''
              width: 150
            }
            column_ProductID
            {
              columnId: 'ProductID'
              dataPath: 'ProductID'
              dataType: 'string'
              index: 14
              subtotals: ''
              width: 150
            }
            column_Quantity
            {
              columnId: 'Quantity'
              dataPath: 'Quantity'
              dataType: 'real'
              index: 15
              subtotals: ''
              width: 150
            }
            column_SalesSegmentName
            {
              columnId: 'SalesSegmentName'
              dataPath: 'SalesSegmentName'
              dataType: 'string'
              index: 16
              subtotals: ''
              width: 150
            }
            column_SegmentPriority
            {
              columnId: 'SegmentPriority'
              dataPath: 'SegmentPriority'
              dataType: 'string'
              index: 17
              subtotals: ''
              width: 150
            }
            column_SheetProfitability
            {
              columnId: 'SheetProfitability'
              dataPath: 'SheetProfitability'
              dataType: 'string'
              index: 18
              subtotals: ''
              width: 150
            }
            column_StockingPointID
            {
              columnId: 'StockingPointID'
              dataPath: 'StockingPointID'
              dataType: 'string'
              index: 19
              subtotals: ''
              width: 150
            }
            column_UnitOfMeasureName
            {
              columnId: 'UnitOfMeasureName'
              dataPath: 'UnitOfMeasureName'
              dataType: 'string'
              index: 20
              subtotals: ''
              width: 150
            }
          }
          FormShowInterfaceData_PanelForecast
          {
            sizeRatio: 1
          }
          FormShowInterfaceData_ListForecast
          {
          }
          FormShowInterfaceData_DataSetLevelForecast
          {
            groupDepth: -1
            column_BusinessType
            {
              columnId: 'BusinessType'
              dataPath: 'BusinessType'
              dataType: 'string'
              index: 0
              subtotals: ''
              width: 150
            }
            column_CurrencyID
            {
              columnId: 'CurrencyID'
              dataPath: 'CurrencyID'
              dataType: 'string'
              index: 1
              subtotals: ''
              width: 150
            }
            column_EndDate
            {
              columnId: 'EndDate'
              dataPath: 'EndDate'
              dataType: 'date'
              index: 2
              subtotals: ''
              width: 150
            }
            column_ID
            {
              columnId: 'ID'
              dataPath: 'ID'
              dataType: 'string'
              index: 3
              subtotals: ''
              width: 150
            }
            column_Price
            {
              columnId: 'Price'
              dataPath: 'Price'
              dataType: 'real'
              index: 4
              subtotals: ''
              width: 150
            }
            column_PriorityName
            {
              columnId: 'PriorityName'
              dataPath: 'PriorityName'
              dataType: 'string'
              index: 5
              subtotals: ''
              width: 150
            }
            column_ProductID
            {
              columnId: 'ProductID'
              dataPath: 'ProductID'
              dataType: 'string'
              index: 6
              subtotals: ''
              width: 150
            }
            column_Quantity
            {
              columnId: 'Quantity'
              dataPath: 'Quantity'
              dataType: 'real'
              index: 7
              subtotals: ''
              width: 150
            }
            column_SalesSegmentName
            {
              columnId: 'SalesSegmentName'
              dataPath: 'SalesSegmentName'
              dataType: 'string'
              index: 8
              subtotals: ''
              width: 150
            }
            column_StartDate
            {
              columnId: 'StartDate'
              dataPath: 'StartDate'
              dataType: 'date'
              index: 9
              subtotals: ''
              width: 150
            }
            column_StockingPointID
            {
              columnId: 'StockingPointID'
              dataPath: 'StockingPointID'
              dataType: 'string'
              index: 10
              subtotals: ''
              width: 150
            }
            column_UnitOfMeasureName
            {
              columnId: 'UnitOfMeasureName'
              dataPath: 'UnitOfMeasureName'
              dataType: 'string'
              index: 11
              subtotals: ''
              width: 150
            }
          }
          FormShowInterfaceData_PanelUnitOfMeasure_MP
          {
            sizeRatio: 1
          }
          FormShowInterfaceData_ListUnitOfMeasure_MP
          {
          }
          FormShowInterfaceData_DataSetLevelUnitOfMeasure_MP
          {
            groupDepth: -1
            column_IsDefault
            {
              columnId: 'IsDefault'
              dataPath: 'IsDefault'
              dataType: 'boolean'
              index: 0
              subtotals: ''
              width: 150
            }
            column_Name
            {
              columnId: 'Name'
              dataPath: 'Name'
              dataType: 'string'
              index: 1
              subtotals: ''
              width: 150
            }
          }
          FormShowInterfaceData_PanelSalesSegment_MP
          {
            sizeRatio: 1
          }
          FormShowInterfaceData_ListInterfaceDataDisplayContent
          {
          }
          FormShowInterfaceData_DataSetLevelInterfaceDataDisplayContent
          {
            groupDepth: -1
            column_BusinessType
            {
              columnId: 'BusinessType'
              dataPath: 'BusinessType'
              dataType: 'string'
              index: 0
              subtotals: ''
              width: 150
            }
            column_DisplayIndex
            {
              columnId: 'DisplayIndex'
              dataPath: 'DisplayIndex'
              dataType: 'number'
              index: 1
              subtotals: ''
              width: 150
            }
            column_Name
            {
              columnId: 'Name'
              dataPath: 'Name'
              dataType: 'string'
              index: 2
              subtotals: ''
              width: 150
            }
            column_ParentName
            {
              columnId: 'ParentName'
              dataPath: 'ParentName'
              dataType: 'string'
              index: 3
              subtotals: ''
              width: 150
            }
          }
          FormShowInterfaceData_PanelProduct_MP
          {
            sizeRatio: 1
          }
          FormShowInterfaceData_ListProduct_MP
          {
          }
          FormShowInterfaceData_DataSetLevelProduct_MP
          {
            groupDepth: -1
            column_BOMCount
            {
              columnId: 'BOMCount'
              dataPath: 'BOMCount'
              dataType: 'number'
              index: 0
              subtotals: ''
              width: 150
            }
            column_BusinessType
            {
              columnId: 'BusinessType'
              dataPath: 'BusinessType'
              dataType: 'string'
              index: 1
              subtotals: ''
              width: 150
            }
            column_CommonBusiness
            {
              columnId: 'CommonBusiness'
              dataPath: 'CommonBusiness'
              dataType: 'string'
              index: 2
              subtotals: ''
              width: 150
            }
            column_EndDate
            {
              columnId: 'EndDate'
              dataPath: 'EndDate'
              dataType: 'date'
              index: 3
              subtotals: ''
              width: 150
            }
            column_ID
            {
              columnId: 'ID'
              dataPath: 'ID'
              dataType: 'string'
              index: 4
              subtotals: ''
              width: 150
            }
            column_IsCommon
            {
              columnId: 'IsCommon'
              dataPath: 'IsCommon'
              dataType: 'boolean'
              index: 5
              subtotals: ''
              width: 150
            }
            column_IsLinkedWithFinishedGood
            {
              columnId: 'IsLinkedWithFinishedGood'
              dataPath: 'IsLinkedWithFinishedGood'
              dataType: 'boolean'
              index: 6
              subtotals: ''
              width: 150
            }
            column_KeyProduct
            {
              columnId: 'KeyProduct'
              dataPath: 'KeyProduct'
              dataType: 'boolean'
              index: 7
              subtotals: ''
              width: 150
            }
            column_Name
            {
              columnId: 'Name'
              dataPath: 'Name'
              dataType: 'string'
              index: 8
              subtotals: ''
              width: 150
            }
            column_Notes
            {
              columnId: 'Notes'
              dataPath: 'Notes'
              dataType: 'string'
              index: 9
              subtotals: ''
              width: 150
            }
            column_ProductMajorType
            {
              columnId: 'ProductMajorType'
              dataPath: 'ProductMajorType'
              dataType: 'string'
              index: 10
              subtotals: ''
              width: 150
            }
            column_ProductSubclassType
            {
              columnId: 'ProductSubclassType'
              dataPath: 'ProductSubclassType'
              dataType: 'string'
              index: 11
              subtotals: ''
              width: 150
            }
            column_ShelfLife
            {
              columnId: 'ShelfLife'
              dataPath: 'ShelfLife'
              dataType: 'real'
              index: 12
              subtotals: ''
              width: 150
            }
            column_UnitOfMeasureName
            {
              columnId: 'UnitOfMeasureName'
              dataPath: 'UnitOfMeasureName'
              dataType: 'string'
              index: 13
              subtotals: ''
              width: 150
            }
          }
          FormShowInterfaceData_PanelConversionFactor
          {
            sizeRatio: 1
          }
          FormShowInterfaceData_ListConversionFactor
          {
          }
          FormShowInterfaceData_DataSetLevelConversionFactor
          {
            groupDepth: -1
            column_Factor
            {
              columnId: 'Factor'
              dataPath: 'Factor'
              dataType: 'real'
              index: 0
              subtotals: ''
              width: 150
            }
            column_IsEnabled
            {
              columnId: 'IsEnabled'
              dataPath: 'IsEnabled'
              dataType: 'boolean'
              index: 1
              subtotals: ''
              width: 150
            }
            column_ProductID
            {
              columnId: 'ProductID'
              dataPath: 'ProductID'
              dataType: 'string'
              index: 2
              subtotals: ''
              width: 150
            }
            column_SourceUnitOfMeasureName
            {
              columnId: 'SourceUnitOfMeasureName'
              dataPath: 'SourceUnitOfMeasureName'
              dataType: 'string'
              index: 3
              subtotals: ''
              width: 150
            }
            column_TargetUnitOfMeasureName
            {
              columnId: 'TargetUnitOfMeasureName'
              dataPath: 'TargetUnitOfMeasureName'
              dataType: 'string'
              index: 4
              subtotals: ''
              width: 150
            }
          }
          FormShowInterfaceData_PanelOperation
          {
            sizeRatio: 1
          }
          FormShowInterfaceData_ListOperation
          {
          }
          FormShowInterfaceData_DataSetLevelOperation
          {
            groupDepth: -1
            column_ActualCapacity
            {
              columnId: 'ActualCapacity'
              dataPath: 'ActualCapacity'
              dataType: 'real'
              index: 0
              subtotals: ''
              width: 150
            }
            column_BusinessType
            {
              columnId: 'BusinessType'
              dataPath: 'BusinessType'
              dataType: 'string'
              index: 1
              subtotals: ''
              width: 150
            }
            column_DestinationOrganizationId
            {
              columnId: 'DestinationOrganizationId'
              dataPath: 'DestinationOrganizationId'
              dataType: 'string'
              index: 2
              subtotals: ''
              width: 150
            }
            column_IsLinkedWithFinishedGood
            {
              columnId: 'IsLinkedWithFinishedGood'
              dataPath: 'IsLinkedWithFinishedGood'
              dataType: 'boolean'
              index: 3
              subtotals: ''
              width: 150
            }
            column_Line
            {
              columnId: 'Line'
              dataPath: 'Line'
              dataType: 'string'
              index: 4
              subtotals: ''
              width: 150
            }
            column_MaximumQuantity
            {
              columnId: 'MaximumQuantity'
              dataPath: 'MaximumQuantity'
              dataType: 'number'
              index: 5
              subtotals: ''
              width: 150
            }
            column_MinimumQuantity
            {
              columnId: 'MinimumQuantity'
              dataPath: 'MinimumQuantity'
              dataType: 'number'
              index: 6
              subtotals: ''
              width: 150
            }
            column_OrganCode
            {
              columnId: 'OrganCode'
              dataPath: 'OrganCode'
              dataType: 'string'
              index: 7
              subtotals: ''
              width: 150
            }
            column_OrganId
            {
              columnId: 'OrganId'
              dataPath: 'OrganId'
              dataType: 'string'
              index: 8
              subtotals: ''
              width: 150
            }
            column_OrganName
            {
              columnId: 'OrganName'
              dataPath: 'OrganName'
              dataType: 'string'
              index: 9
              subtotals: ''
              width: 150
            }
            column_PlantName
            {
              columnId: 'PlantName'
              dataPath: 'PlantName'
              dataType: 'string'
              index: 10
              subtotals: ''
              width: 150
            }
            column_ProcessSection
            {
              columnId: 'ProcessSection'
              dataPath: 'ProcessSection'
              dataType: 'string'
              index: 11
              subtotals: ''
              width: 150
            }
            column_ProductID
            {
              columnId: 'ProductID'
              dataPath: 'ProductID'
              dataType: 'string'
              index: 12
              subtotals: ''
              width: 150
            }
            column_SequenceNumber
            {
              columnId: 'SequenceNumber'
              dataPath: 'SequenceNumber'
              dataType: 'number'
              index: 13
              subtotals: ''
              width: 150
            }
            column_UnitOfMeasureName
            {
              columnId: 'UnitOfMeasureName'
              dataPath: 'UnitOfMeasureName'
              dataType: 'string'
              index: 14
              subtotals: ''
              width: 150
            }
            column_UserLeadTime
            {
              columnId: 'UserLeadTime'
              dataPath: 'UserLeadTime'
              dataType: 'real'
              index: 15
              subtotals: ''
              width: 150
            }
          }
          FormShowInterfaceData_PanelOperationBOM
          {
            sizeRatio: 1
          }
          FormShowInterfaceData_ListOperationBOM
          {
          }
          FormShowInterfaceData_DataSetLevelOperationBOM
          {
            groupDepth: -1
            column_AlternativeMaterialCode
            {
              columnId: 'AlternativeMaterialCode'
              dataPath: 'AlternativeMaterialCode'
              dataType: 'string'
              index: 0
              subtotals: ''
              width: 150
            }
            column_AlternativeMaterialType
            {
              columnId: 'AlternativeMaterialType'
              dataPath: 'AlternativeMaterialType'
              dataType: 'string'
              index: 1
              subtotals: ''
              width: 150
            }
            column_AlternativeMaterialUnit
            {
              columnId: 'AlternativeMaterialUnit'
              dataPath: 'AlternativeMaterialUnit'
              dataType: 'string'
              index: 2
              subtotals: ''
              width: 150
            }
            column_AlternativeRate
            {
              columnId: 'AlternativeRate'
              dataPath: 'AlternativeRate'
              dataType: 'real'
              index: 3
              subtotals: ''
              width: 150
            }
            column_BusinessType
            {
              columnId: 'BusinessType'
              dataPath: 'BusinessType'
              dataType: 'string'
              index: 4
              subtotals: ''
              width: 150
            }
            column_ComponentCode
            {
              columnId: 'ComponentCode'
              dataPath: 'ComponentCode'
              dataType: 'string'
              index: 5
              subtotals: ''
              width: 150
            }
            column_ComponentDescription
            {
              columnId: 'ComponentDescription'
              dataPath: 'ComponentDescription'
              dataType: 'string'
              index: 6
              subtotals: ''
              width: 150
            }
            column_ComponentOutputRate
            {
              columnId: 'ComponentOutputRate'
              dataPath: 'ComponentOutputRate'
              dataType: 'real'
              index: 7
              subtotals: ''
              width: 150
            }
            column_ComponentType
            {
              columnId: 'ComponentType'
              dataPath: 'ComponentType'
              dataType: 'string'
              index: 8
              subtotals: ''
              width: 150
            }
            column_ComponentUnit
            {
              columnId: 'ComponentUnit'
              dataPath: 'ComponentUnit'
              dataType: 'string'
              index: 9
              subtotals: ''
              width: 150
            }
            column_ComponentUnitDescription
            {
              columnId: 'ComponentUnitDescription'
              dataPath: 'ComponentUnitDescription'
              dataType: 'string'
              index: 10
              subtotals: ''
              width: 150
            }
            column_DescriptionOfAlternativeMaterial
            {
              columnId: 'DescriptionOfAlternativeMaterial'
              dataPath: 'DescriptionOfAlternativeMaterial'
              dataType: 'string'
              index: 11
              subtotals: ''
              width: 150
            }
            column_DescriptionOfAlternativeMaterialUnits
            {
              columnId: 'DescriptionOfAlternativeMaterialUnits'
              dataPath: 'DescriptionOfAlternativeMaterialUnits'
              dataType: 'string'
              index: 12
              subtotals: ''
              width: 150
            }
            column_IsLinkedWithFinishedGood
            {
              columnId: 'IsLinkedWithFinishedGood'
              dataPath: 'IsLinkedWithFinishedGood'
              dataType: 'boolean'
              index: 13
              subtotals: ''
              width: 150
            }
            column_MaterialSystem
            {
              columnId: 'MaterialSystem'
              dataPath: 'MaterialSystem'
              dataType: 'string'
              index: 14
              subtotals: ''
              width: 150
            }
            column_OrganCode
            {
              columnId: 'OrganCode'
              dataPath: 'OrganCode'
              dataType: 'string'
              index: 15
              subtotals: ''
              width: 150
            }
            column_ProcessSection
            {
              columnId: 'ProcessSection'
              dataPath: 'ProcessSection'
              dataType: 'string'
              index: 16
              subtotals: ''
              width: 150
            }
            column_ProductCode
            {
              columnId: 'ProductCode'
              dataPath: 'ProductCode'
              dataType: 'string'
              index: 17
              subtotals: ''
              width: 150
            }
            column_ProductDescribe
            {
              columnId: 'ProductDescribe'
              dataPath: 'ProductDescribe'
              dataType: 'string'
              index: 18
              subtotals: ''
              width: 150
            }
            column_ProductType
            {
              columnId: 'ProductType'
              dataPath: 'ProductType'
              dataType: 'string'
              index: 19
              subtotals: ''
              width: 150
            }
            column_ProductUnitDescription
            {
              columnId: 'ProductUnitDescription'
              dataPath: 'ProductUnitDescription'
              dataType: 'string'
              index: 20
              subtotals: ''
              width: 150
            }
            column_SubstitutionRelationship
            {
              columnId: 'SubstitutionRelationship'
              dataPath: 'SubstitutionRelationship'
              dataType: 'string'
              index: 21
              subtotals: ''
              width: 150
            }
            column_UnitOfMeasureName
            {
              columnId: 'UnitOfMeasureName'
              dataPath: 'UnitOfMeasureName'
              dataType: 'string'
              index: 22
              subtotals: ''
              width: 150
            }
            column_UnitUsageOfComponents
            {
              columnId: 'UnitUsageOfComponents'
              dataPath: 'UnitUsageOfComponents'
              dataType: 'real'
              index: 23
              subtotals: ''
              width: 150
            }
          }
        }
      }
    }
    userconfigurableinformation
    {
    }
    image: 'SKIN_TIGER'
    page: ''
    group: ''
    index: 0
    image: 'SKIN_TIGER'
    description: ''
  }
  formatversion: 2
_Main/UI/MacroPlannerWebApp/Views/ÎïÁϱêÇ©_¼Æ»®²ßÂÔ.vw
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,262 @@
Quintiq file version 2.0
{
  viewcontents
  {
    forms
    {
      form_FormMaterialLabelingAndPlanningStrategy
      {
        title: 'QTIANMA_JITUAN::FormMaterialLabelingAndPlanningStrategy'
        shown: true
        componentID: 'QTIANMA_JITUAN::FormMaterialLabelingAndPlanningStrategy'
        layout
        {
          mode: 'open'
          rowPosition: 1
          rowSpan: 15
          columnPosition: 1
          columnSpan: 12
        }
        components
        {
          FormMaterialLabelingAndPlanningStrategy_PanelMaterialLabelingAndPlanningStrategy
          {
            sizeRatio: 1
          }
          FormMaterialLabelingAndPlanningStrategy_PanelMaterial
          {
            sizeRatio: 1
          }
          FormMaterialLabelingAndPlanningStrategy_PanelMaterialOperationButton
          {
            sizeRatio: 1
          }
          FormMaterialLabelingAndPlanningStrategy_PanelMaterialExportAndImport
          {
            sizeRatio: 1
          }
          FormMaterialLabelingAndPlanningStrategy_ListMaterialMaterialLabelingAndPlanningStrategy
          {
          }
          FormMaterialLabelingAndPlanningStrategy_DataSetLevelMaterial679
          {
            groupDepth: -1
            column_SerialNumber
            {
              columnId: 'SerialNumber'
              dataPath: 'SerialNumber'
              dataType: 'number'
              index: 0
              subtotals: ''
              width: 150
            }
            column_BusinessType
            {
              columnId: 'BusinessType'
              dataPath: 'BusinessType'
              dataType: 'string'
              index: 1
              subtotals: ''
              width: 150
            }
            column_MatCode
            {
              columnId: 'MatCode'
              dataPath: 'MatCode'
              dataType: 'string'
              index: 2
              subtotals: ''
              width: 150
            }
            column_MatName
            {
              columnId: 'MatName'
              dataPath: 'MatName'
              dataType: 'string'
              index: 3
              subtotals: ''
              width: 150
            }
            column_MatType
            {
              columnId: 'MatType'
              dataPath: 'MatType'
              dataType: 'string'
              index: 4
              subtotals: ''
              width: 150
            }
            column_MatArrivalLT
            {
              columnId: 'MatArrivalLT'
              dataPath: 'MatArrivalLT'
              dataType: 'real'
              index: 5
              subtotals: ''
              width: 150
            }
            column_ProductCount
            {
              columnId: 'ProductCount'
              dataPath: 'ProductCount'
              dataType: 'number'
              index: 6
              subtotals: ''
              width: 150
            }
            column_MinProdDeliverLT
            {
              columnId: 'MinProdDeliverLT'
              dataPath: 'MinProdDeliverLT'
              dataType: 'real'
              index: 7
              subtotals: ''
              width: 150
            }
            column_FlagLongTerm
            {
              columnId: 'FlagLongTerm'
              dataPath: 'FlagLongTerm'
              dataType: 'string'
              index: 8
              subtotals: ''
              width: 150
            }
            column_FlagGeneric
            {
              columnId: 'FlagGeneric'
              dataPath: 'FlagGeneric'
              dataType: 'string'
              index: 9
              subtotals: ''
              width: 150
            }
            column_PlanningStrategyAuto
            {
              columnId: 'PlanningStrategyAuto'
              dataPath: 'PlanningStrategyAuto'
              dataType: 'string'
              index: 10
              subtotals: ''
              width: 150
            }
            column_PlanningStrategyCustom
            {
              columnId: 'PlanningStrategyCustom'
              dataPath: 'PlanningStrategyCustom'
              dataType: 'string'
              index: 11
              subtotals: ''
              width: 150
            }
            column_UpdateBy
            {
              columnId: 'UpdateBy'
              dataPath: 'UpdateBy'
              dataType: 'string'
              index: 12
              subtotals: ''
              width: 150
            }
            column_UpdateTime
            {
              columnId: 'UpdateTime'
              dataPath: 'UpdateTime'
              dataType: 'datetime'
              index: 13
              subtotals: ''
              width: 150
            }
            column_MinimumNumberOfDaysInStock
            {
              columnId: 'MinimumNumberOfDaysInStock'
              dataPath: 'MinimumNumberOfDaysInStock'
              dataType: 'number'
              index: 14
              subtotals: ''
              width: 150
            }
            column_MaximumNumberOfDaysInInventory
            {
              columnId: 'MaximumNumberOfDaysInInventory'
              dataPath: 'MaximumNumberOfDaysInInventory'
              dataType: 'number'
              index: 15
              subtotals: ''
              width: 150
            }
          }
          FormMaterialLabelingAndPlanningStrategy_PanelChildMaterial
          {
            sizeRatio: 1
          }
          FormMaterialLabelingAndPlanningStrategy_ListChildMaterial
          {
          }
          FormMaterialLabelingAndPlanningStrategy_DataSetLevelChildMaterial
          {
            groupDepth: -1
            column_MatCode
            {
              columnId: 'MatCode'
              dataPath: 'MatCode'
              dataType: 'string'
              index: 0
              subtotals: ''
              width: 150
            }
            column_ProductCode
            {
              columnId: 'ProductCode'
              dataPath: 'ProductCode'
              dataType: 'string'
              index: 1
              subtotals: ''
              width: 150
            }
            column_StandardLT
            {
              columnId: 'StandardLT'
              dataPath: 'StandardLT'
              dataType: 'real'
              index: 2
              subtotals: ''
              width: 150
            }
            column_ProductDesc
            {
              columnId: 'ProductDesc'
              dataPath: 'ProductDesc'
              dataType: 'string'
              index: 3
              subtotals: ''
              width: 150
            }
            column_Comment
            {
              columnId: 'Comment'
              dataPath: 'Comment'
              dataType: 'string'
              index: 4
              subtotals: ''
              width: 150
            }
          }
        }
      }
    }
    userconfigurableinformation
    {
    }
    image: 'GOLDFISH'
    page: ''
    group: ''
    index: 0
    description: ''
  }
  formatversion: 2
  id: '物料标签_计划策略'
  name: '物料标签&计划策略'
  isglobal: false
  isroot: true
}
_Main/UI/MacroPlannerWebApp/Views/¶©µ¥Ëø¶¨_½âËø.vw
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,414 @@
Quintiq file version 2.0
{
  viewcontents
  {
    forms
    {
      form_FormOrderLock
      {
        title: 'QTIANMA_JITUAN::FormOrderLock'
        shown: true
        componentID: 'QTIANMA_JITUAN::FormOrderLock'
        layout
        {
          mode: 'open'
          rowPosition: 1
          rowSpan: 8
          columnPosition: 1
          columnSpan: 12
        }
        components
        {
          FormOrderLock_PanelOrderLock
          {
            sizeRatio: 1
          }
          FormOrderLock_PanelOrderLockHeader
          {
            sizeRatio: 1
          }
          FormOrderLock_PanelOrderLockOrder
          {
            sizeRatio: 1
          }
          FormOrderLock_ListOrderLock
          {
          }
          FormOrderLock_DataSetLevelOrderLock
          {
            groupDepth: -1
            column_OrderID
            {
              columnId: 'OrderID'
              dataPath: 'OrderID'
              dataType: 'string'
              index: 0
              subtotals: ''
              width: 150
            }
            column_ProductID
            {
              columnId: 'ProductID'
              dataPath: 'ProductID'
              dataType: 'string'
              index: 1
              subtotals: ''
              width: 150
            }
            column_SalesSegmentName
            {
              columnId: 'SalesSegmentName'
              dataPath: 'SalesSegmentName'
              dataType: 'string'
              index: 2
              subtotals: ''
              width: 150
            }
            column_StockingPointID
            {
              columnId: 'StockingPointID'
              dataPath: 'StockingPointID'
              dataType: 'string'
              index: 3
              subtotals: ''
              width: 150
            }
            column_CustomerName
            {
              columnId: 'CustomerName'
              dataPath: 'CustomerName'
              dataType: 'string'
              index: 4
              subtotals: ''
              width: 150
            }
            column_Quantity
            {
              columnId: 'Quantity'
              dataPath: 'Quantity'
              dataType: 'real'
              index: 5
              subtotals: ''
              width: 150
            }
            column_UnitOfMeasureName
            {
              columnId: 'UnitOfMeasureName'
              dataPath: 'UnitOfMeasureName'
              dataType: 'string'
              index: 6
              subtotals: ''
              width: 150
            }
            column_Price
            {
              columnId: 'Price'
              dataPath: 'Price'
              dataType: 'real'
              index: 7
              subtotals: ''
              width: 150
            }
            column_StartDate
            {
              columnId: 'StartDate'
              dataPath: 'StartDate'
              dataType: 'date'
              index: 8
              subtotals: ''
              width: 150
            }
            column_IsLocked
            {
              columnId: 'IsLocked'
              dataPath: 'IsLocked'
              dataType: 'boolean'
              index: 9
              subtotals: ''
              width: 150
            }
            column_First_AsPlanningBaseSalesDemandInPeriod_End
            {
              columnId: 'First.AsPlanningBaseSalesDemandInPeriod.End'
              dataPath: 'First.AsPlanningBaseSalesDemandInPeriod.End'
              dataType: 'datetime'
              index: 10
              subtotals: ''
              width: 150
            }
            column_LastModify
            {
              columnId: 'LastModify'
              dataPath: 'LastModify'
              dataType: 'string'
              index: 11
              subtotals: ''
              width: 150
            }
            column_LastModifyTime
            {
              columnId: 'LastModifyTime'
              dataPath: 'LastModifyTime'
              dataType: 'datetime'
              index: 12
              subtotals: ''
              width: 150
            }
          }
          FormOrderLock_PanelOrderLockPlanning
          {
            sizeRatio: 1
          }
          FormOrderLock_PanelMatrix
          {
            sizeRatio: 1
          }
          FormOrderLock_MatrixEditorProductPlanning
          {
            gridColor: '#c4c4c4'
            totalHeaderWidth: 200
            attributeHeaderWidthRatio: 0.6
            nameHeaderWidthRatio: 0.4
            columnWidth: 100
            horizontalGrid: true
            verticalGrid: true
            backendState
            {
              componentId: 'QTIANMA_JITUAN::FormOrderLock.MatrixEditorProductPlanning'
              state
              {
                cells
                {
                  attributes
                  {
                    attribute_DisplaySupplyQuantity
                    {
                      type: 'MatrixEditorWebApiCellDataModelInterest'
                      index: 0
                      rowsubtotal: ''
                      columnsubtotal: ''
                      attribute: 'DisplaySupplyQuantity'
                    }
                    attribute_DependentDemandAndSalesDemandQuantity
                    {
                      type: 'MatrixEditorWebApiCellDataModelInterest'
                      index: 1
                      rowsubtotal: ''
                      columnsubtotal: ''
                      attribute: 'DependentDemandAndSalesDemandQuantity'
                    }
                    attribute_TargetInventoryLevel
                    {
                      type: 'MatrixEditorWebApiCellDataModelInterest'
                      index: 2
                      rowsubtotal: ''
                      columnsubtotal: ''
                      attribute: 'TargetInventoryLevel'
                    }
                    attribute_InventoryLevelEnd
                    {
                      type: 'MatrixEditorWebApiCellDataModelInterest'
                      index: 3
                      rowsubtotal: ''
                      columnsubtotal: ''
                      attribute: 'InventoryLevelEnd'
                    }
                    attribute_StockLevelInDays
                    {
                      type: 'MatrixEditorWebApiCellDataModelInterest'
                      index: 4
                      rowsubtotal: ''
                      columnsubtotal: ''
                      attribute: 'StockLevelInDays'
                    }
                  }
                }
                columns
                {
                  sorting
                  {
                    criteria: "datamember:'Start'"
                  }
                }
                rows
                {
                  sorting
                  {
                    criteria: "datamember:'Product_MP.DisplayIndex';datamember:'Name'"
                  }
                }
              }
            }
          }
        }
      }
      form_FormOrderLockLog
      {
        title: 'QTIANMA_JITUAN::FormOrderLockLog'
        shown: true
        componentID: 'QTIANMA_JITUAN::FormOrderLockLog'
        layout
        {
          mode: 'open'
          rowPosition: 9
          rowSpan: 8
          columnPosition: 1
          columnSpan: 12
        }
        components
        {
          FormOrderLockLog_PanelOrderLockLog
          {
            sizeRatio: 1
          }
          FormOrderLockLog_ListOrderLockLog
          {
          }
          FormOrderLockLog_DataSetLevelOrderLockLog
          {
            groupDepth: -1
            column_OrderID
            {
              columnId: 'OrderID'
              dataPath: 'OrderID'
              dataType: 'string'
              index: 0
              subtotals: ''
              width: 150
            }
            column_ProductID
            {
              columnId: 'ProductID'
              dataPath: 'ProductID'
              dataType: 'string'
              index: 1
              subtotals: ''
              width: 150
            }
            column_SalesSegmentName
            {
              columnId: 'SalesSegmentName'
              dataPath: 'SalesSegmentName'
              dataType: 'string'
              index: 2
              subtotals: ''
              width: 150
            }
            column_StockingPointID
            {
              columnId: 'StockingPointID'
              dataPath: 'StockingPointID'
              dataType: 'string'
              index: 3
              subtotals: ''
              width: 150
            }
            column_CustomerName
            {
              columnId: 'CustomerName'
              dataPath: 'CustomerName'
              dataType: 'string'
              index: 4
              subtotals: ''
              width: 150
            }
            column_Quantity
            {
              columnId: 'Quantity'
              dataPath: 'Quantity'
              dataType: 'real'
              index: 5
              subtotals: ''
              width: 150
            }
            column_UnitOfMeasureName
            {
              columnId: 'UnitOfMeasureName'
              dataPath: 'UnitOfMeasureName'
              dataType: 'string'
              index: 6
              subtotals: ''
              width: 150
            }
            column_Price
            {
              columnId: 'Price'
              dataPath: 'Price'
              dataType: 'real'
              index: 7
              subtotals: ''
              width: 150
            }
            column_EndDate
            {
              columnId: 'EndDate'
              dataPath: 'EndDate'
              dataType: 'date'
              index: 8
              subtotals: ''
              width: 150
            }
            column_IsLocked
            {
              columnId: 'IsLocked'
              dataPath: 'IsLocked'
              dataType: 'boolean'
              index: 9
              subtotals: ''
              width: 150
            }
            column_End
            {
              columnId: 'End'
              dataPath: 'End'
              dataType: 'date'
              index: 10
              subtotals: ''
              width: 150
            }
            column_LastModify
            {
              columnId: 'LastModify'
              dataPath: 'LastModify'
              dataType: 'string'
              index: 11
              subtotals: ''
              width: 150
            }
            column_LastModifyTime
            {
              columnId: 'LastModifyTime'
              dataPath: 'LastModifyTime'
              dataType: 'datetime'
              index: 12
              subtotals: ''
              width: 150
            }
            column_Notes
            {
              columnId: 'Notes'
              dataPath: 'Notes'
              dataType: 'string'
              index: 13
              subtotals: ''
              width: 150
            }
          }
        }
      }
    }
    userconfigurableinformation
    {
    }
    page: ''
    group: ''
    index: 0
    image: 'TEXT_LOCK'
    description: ''
  }
  formatversion: 2
  id: '订单锁定_解锁'
  name: '订单锁定&解锁'
  isglobal: false
  isroot: true
}
_Main/UI/MacroPlannerWebApp/Views/Ãæ°åÀ­ÁÏ_¸÷ÊÂÒµ²¿²Ù×÷.vw
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,94 @@
Quintiq file version 2.0
{
  viewcontents
  {
    forms
    {
      form_FormPanelPullPlanReport
      {
        title: 'QTIANMA_JITUAN::FormPanelPullPlanReport'
        shown: true
        componentID: 'QTIANMA_JITUAN::FormPanelPullPlanReport'
        layout
        {
          mode: 'open'
          rowPosition: 1
          rowSpan: 16
          columnPosition: 1
          columnSpan: 12
        }
        components
        {
          FormPanelPullPlanReport_PanelPanelPullPlanReport
          {
            sizeRatio: 1
          }
          FormPanelPullPlanReport_PanelFunctionButtons
          {
            sizeRatio: 1
          }
          FormPanelPullPlanReport_PanelData
          {
            sizeRatio: 1
          }
          FormPanelPullPlanReport_ListData
          {
          }
          FormPanelPullPlanReport_DataSetLevelData
          {
            groupDepth: -1
            column_PanelModel
            {
              columnId: 'PanelModel'
              dataPath: 'PanelModel'
              dataType: 'string'
              index: 0
              subtotals: ''
              width: 150
            }
            column_MaterialDescription
            {
              columnId: 'MaterialDescription'
              dataPath: 'MaterialDescription'
              dataType: 'string'
              index: 1
              subtotals: ''
              width: 150
            }
            column_StartDate
            {
              columnId: 'StartDate'
              dataPath: 'StartDate'
              dataType: 'date'
              index: 2
              subtotals: ''
              width: 150
            }
            column_DemandQuantity
            {
              columnId: 'DemandQuantity'
              dataPath: 'DemandQuantity'
              dataType: 'real'
              index: 3
              subtotals: ''
              width: 150
            }
          }
        }
      }
    }
    userconfigurableinformation
    {
    }
    image: 'BARREL'
    page: ''
    group: ''
    index: 0
    description: ''
  }
  formatversion: 2
  id: '面板拉料_各事业部操作'
  name: '面板拉料_各事业部操作'
  isglobal: false
  isroot: true
}
_Main/UI/MacroPlannerWebApp/Views/Ãæ°åÀ­ÁÏ_¼¯ÍŲÙ×÷.vw
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,1471 @@
Quintiq file version 2.0
{
  viewcontents
  {
    forms
    {
      form_FormPanelMaterialSpecializedDisplay
      {
        title: 'QTIANMA_JITUAN::FormPanelMaterialSpecializedDisplay'
        shown: true
        componentID: 'QTIANMA_JITUAN::FormPanelMaterialSpecializedDisplay'
        layout
        {
          mode: 'open'
          rowPosition: 1
          rowSpan: 6
          columnPosition: 1
          columnSpan: 4
        }
        components
        {
          FormPanelMaterialSpecializedDisplay_ListPanelMaterialSpecializedDisplay
          {
          }
          FormPanelMaterialSpecializedDisplay_DataSetLevelPanelMaterialSpecializedDisplay
          {
            groupDepth: -1
            column_CurrencyID
            {
              columnId: 'CurrencyID'
              dataPath: 'CurrencyID'
              dataType: 'string'
              index: 0
              subtotals: ''
              width: 150
            }
            column_Customer
            {
              columnId: 'Customer'
              dataPath: 'Customer'
              dataType: 'string'
              index: 1
              subtotals: ''
              width: 150
            }
            column_CustomerID
            {
              columnId: 'CustomerID'
              dataPath: 'CustomerID'
              dataType: 'string'
              index: 2
              subtotals: ''
              width: 150
            }
            column_ID
            {
              columnId: 'ID'
              dataPath: 'ID'
              dataType: 'string'
              index: 3
              subtotals: ''
              width: 150
            }
            column_IsEligibleForNetting
            {
              columnId: 'IsEligibleForNetting'
              dataPath: 'IsEligibleForNetting'
              dataType: 'boolean'
              index: 4
              subtotals: ''
              width: 150
            }
            column_IsExcludedFromFulfillmentKPIUser
            {
              columnId: 'IsExcludedFromFulfillmentKPIUser'
              dataPath: 'IsExcludedFromFulfillmentKPIUser'
              dataType: 'boolean'
              index: 5
              subtotals: ''
              width: 150
            }
            column_IsFirmed
            {
              columnId: 'IsFirmed'
              dataPath: 'IsFirmed'
              dataType: 'boolean'
              index: 6
              subtotals: ''
              width: 150
            }
            column_OrderDate
            {
              columnId: 'OrderDate'
              dataPath: 'OrderDate'
              dataType: 'date'
              index: 7
              subtotals: ''
              width: 150
            }
            column_OrderID
            {
              columnId: 'OrderID'
              dataPath: 'OrderID'
              dataType: 'string'
              index: 8
              subtotals: ''
              width: 150
            }
            column_OrderLineID
            {
              columnId: 'OrderLineID'
              dataPath: 'OrderLineID'
              dataType: 'string'
              index: 9
              subtotals: ''
              width: 150
            }
            column_Price
            {
              columnId: 'Price'
              dataPath: 'Price'
              dataType: 'real'
              index: 10
              subtotals: ''
              width: 150
            }
            column_PriorityName
            {
              columnId: 'PriorityName'
              dataPath: 'PriorityName'
              dataType: 'string'
              index: 11
              subtotals: ''
              width: 150
            }
            column_ProductID
            {
              columnId: 'ProductID'
              dataPath: 'ProductID'
              dataType: 'string'
              index: 12
              subtotals: ''
              width: 150
            }
            column_Quantity
            {
              columnId: 'Quantity'
              dataPath: 'Quantity'
              dataType: 'string'
              index: 13
              subtotals: ''
              width: 150
            }
            column_SalesSegmentName
            {
              columnId: 'SalesSegmentName'
              dataPath: 'SalesSegmentName'
              dataType: 'string'
              index: 14
              subtotals: ''
              width: 150
            }
            column_StockingPointID
            {
              columnId: 'StockingPointID'
              dataPath: 'StockingPointID'
              dataType: 'string'
              index: 15
              subtotals: ''
              width: 150
            }
            column_UnitOfMeasureName
            {
              columnId: 'UnitOfMeasureName'
              dataPath: 'UnitOfMeasureName'
              dataType: 'string'
              index: 16
              subtotals: ''
              width: 150
            }
          }
        }
      }
      form_FormPanelMaterialSportsHealth
      {
        title: 'QTIANMA_JITUAN::FormPanelMaterialSportsHealth'
        shown: true
        componentID: 'QTIANMA_JITUAN::FormPanelMaterialSportsHealth'
        layout
        {
          mode: 'open'
          rowPosition: 1
          rowSpan: 6
          columnPosition: 5
          columnSpan: 4
        }
        components
        {
          FormPanelMaterialSportsHealth_ListPanelMaterialSportsHealth
          {
          }
          FormPanelMaterialSportsHealth_DataSetLevelPanelMaterialSportsHealth
          {
            groupDepth: -1
            column_CurrencyID
            {
              columnId: 'CurrencyID'
              dataPath: 'CurrencyID'
              dataType: 'string'
              index: 0
              subtotals: ''
              width: 150
            }
            column_Customer
            {
              columnId: 'Customer'
              dataPath: 'Customer'
              dataType: 'string'
              index: 1
              subtotals: ''
              width: 150
            }
            column_CustomerID
            {
              columnId: 'CustomerID'
              dataPath: 'CustomerID'
              dataType: 'string'
              index: 2
              subtotals: ''
              width: 150
            }
            column_ID
            {
              columnId: 'ID'
              dataPath: 'ID'
              dataType: 'string'
              index: 3
              subtotals: ''
              width: 150
            }
            column_IsEligibleForNetting
            {
              columnId: 'IsEligibleForNetting'
              dataPath: 'IsEligibleForNetting'
              dataType: 'boolean'
              index: 4
              subtotals: ''
              width: 150
            }
            column_IsExcludedFromFulfillmentKPIUser
            {
              columnId: 'IsExcludedFromFulfillmentKPIUser'
              dataPath: 'IsExcludedFromFulfillmentKPIUser'
              dataType: 'boolean'
              index: 5
              subtotals: ''
              width: 150
            }
            column_IsFirmed
            {
              columnId: 'IsFirmed'
              dataPath: 'IsFirmed'
              dataType: 'boolean'
              index: 6
              subtotals: ''
              width: 150
            }
            column_OrderDate
            {
              columnId: 'OrderDate'
              dataPath: 'OrderDate'
              dataType: 'date'
              index: 7
              subtotals: ''
              width: 150
            }
            column_OrderID
            {
              columnId: 'OrderID'
              dataPath: 'OrderID'
              dataType: 'string'
              index: 8
              subtotals: ''
              width: 150
            }
            column_OrderLineID
            {
              columnId: 'OrderLineID'
              dataPath: 'OrderLineID'
              dataType: 'string'
              index: 9
              subtotals: ''
              width: 150
            }
            column_Price
            {
              columnId: 'Price'
              dataPath: 'Price'
              dataType: 'real'
              index: 10
              subtotals: ''
              width: 150
            }
            column_PriorityName
            {
              columnId: 'PriorityName'
              dataPath: 'PriorityName'
              dataType: 'string'
              index: 11
              subtotals: ''
              width: 150
            }
            column_ProductID
            {
              columnId: 'ProductID'
              dataPath: 'ProductID'
              dataType: 'string'
              index: 12
              subtotals: ''
              width: 150
            }
            column_Quantity
            {
              columnId: 'Quantity'
              dataPath: 'Quantity'
              dataType: 'string'
              index: 13
              subtotals: ''
              width: 150
            }
            column_SalesSegmentName
            {
              columnId: 'SalesSegmentName'
              dataPath: 'SalesSegmentName'
              dataType: 'string'
              index: 14
              subtotals: ''
              width: 150
            }
            column_StockingPointID
            {
              columnId: 'StockingPointID'
              dataPath: 'StockingPointID'
              dataType: 'string'
              index: 15
              subtotals: ''
              width: 150
            }
            column_UnitOfMeasureName
            {
              columnId: 'UnitOfMeasureName'
              dataPath: 'UnitOfMeasureName'
              dataType: 'string'
              index: 16
              subtotals: ''
              width: 150
            }
          }
        }
      }
      form_FormPanelMaterialTM17
      {
        title: 'QTIANMA_JITUAN::FormPanelMaterialTM17'
        shown: true
        componentID: 'QTIANMA_JITUAN::FormPanelMaterialTM17'
        layout
        {
          mode: 'open'
          rowPosition: 1
          rowSpan: 6
          columnPosition: 9
          columnSpan: 4
        }
        components
        {
          FormPanelMaterialTM17_ListPanelMaterialTM
          {
          }
          FormPanelMaterialTM17_DataSetLevelPanelMaterialTM
          {
            groupDepth: -1
            column_CurrencyID
            {
              columnId: 'CurrencyID'
              dataPath: 'CurrencyID'
              dataType: 'string'
              index: 0
              subtotals: ''
              width: 150
            }
            column_Customer
            {
              columnId: 'Customer'
              dataPath: 'Customer'
              dataType: 'string'
              index: 1
              subtotals: ''
              width: 150
            }
            column_CustomerID
            {
              columnId: 'CustomerID'
              dataPath: 'CustomerID'
              dataType: 'string'
              index: 2
              subtotals: ''
              width: 150
            }
            column_ID
            {
              columnId: 'ID'
              dataPath: 'ID'
              dataType: 'string'
              index: 3
              subtotals: ''
              width: 150
            }
            column_IsEligibleForNetting
            {
              columnId: 'IsEligibleForNetting'
              dataPath: 'IsEligibleForNetting'
              dataType: 'boolean'
              index: 4
              subtotals: ''
              width: 150
            }
            column_IsExcludedFromFulfillmentKPIUser
            {
              columnId: 'IsExcludedFromFulfillmentKPIUser'
              dataPath: 'IsExcludedFromFulfillmentKPIUser'
              dataType: 'boolean'
              index: 5
              subtotals: ''
              width: 150
            }
            column_IsFirmed
            {
              columnId: 'IsFirmed'
              dataPath: 'IsFirmed'
              dataType: 'boolean'
              index: 6
              subtotals: ''
              width: 150
            }
            column_OrderDate
            {
              columnId: 'OrderDate'
              dataPath: 'OrderDate'
              dataType: 'date'
              index: 7
              subtotals: ''
              width: 150
            }
            column_OrderID
            {
              columnId: 'OrderID'
              dataPath: 'OrderID'
              dataType: 'string'
              index: 8
              subtotals: ''
              width: 150
            }
            column_OrderLineID
            {
              columnId: 'OrderLineID'
              dataPath: 'OrderLineID'
              dataType: 'string'
              index: 9
              subtotals: ''
              width: 150
            }
            column_Price
            {
              columnId: 'Price'
              dataPath: 'Price'
              dataType: 'real'
              index: 10
              subtotals: ''
              width: 150
            }
            column_PriorityName
            {
              columnId: 'PriorityName'
              dataPath: 'PriorityName'
              dataType: 'string'
              index: 11
              subtotals: ''
              width: 150
            }
            column_ProductID
            {
              columnId: 'ProductID'
              dataPath: 'ProductID'
              dataType: 'string'
              index: 12
              subtotals: ''
              width: 150
            }
            column_Quantity
            {
              columnId: 'Quantity'
              dataPath: 'Quantity'
              dataType: 'string'
              index: 13
              subtotals: ''
              width: 150
            }
            column_SalesSegmentName
            {
              columnId: 'SalesSegmentName'
              dataPath: 'SalesSegmentName'
              dataType: 'string'
              index: 14
              subtotals: ''
              width: 150
            }
            column_StockingPointID
            {
              columnId: 'StockingPointID'
              dataPath: 'StockingPointID'
              dataType: 'string'
              index: 15
              subtotals: ''
              width: 150
            }
            column_UnitOfMeasureName
            {
              columnId: 'UnitOfMeasureName'
              dataPath: 'UnitOfMeasureName'
              dataType: 'string'
              index: 16
              subtotals: ''
              width: 150
            }
          }
        }
      }
      form_FormPanelMaterialTM18
      {
        title: 'QTIANMA_JITUAN::FormPanelMaterialTM18'
        shown: true
        componentID: 'QTIANMA_JITUAN::FormPanelMaterialTM18'
        layout
        {
          mode: 'open'
          rowPosition: 7
          rowSpan: 6
          columnPosition: 1
          columnSpan: 4
        }
        components
        {
          FormPanelMaterialTM18_ListPanelMaterialTM
          {
          }
          FormPanelMaterialTM18_DataSetLevelPanelMaterialTM
          {
            groupDepth: -1
            column_CurrencyID
            {
              columnId: 'CurrencyID'
              dataPath: 'CurrencyID'
              dataType: 'string'
              index: 0
              subtotals: ''
              width: 150
            }
            column_Customer
            {
              columnId: 'Customer'
              dataPath: 'Customer'
              dataType: 'string'
              index: 1
              subtotals: ''
              width: 150
            }
            column_CustomerID
            {
              columnId: 'CustomerID'
              dataPath: 'CustomerID'
              dataType: 'string'
              index: 2
              subtotals: ''
              width: 150
            }
            column_ID
            {
              columnId: 'ID'
              dataPath: 'ID'
              dataType: 'string'
              index: 3
              subtotals: ''
              width: 150
            }
            column_IsEligibleForNetting
            {
              columnId: 'IsEligibleForNetting'
              dataPath: 'IsEligibleForNetting'
              dataType: 'boolean'
              index: 4
              subtotals: ''
              width: 150
            }
            column_IsExcludedFromFulfillmentKPIUser
            {
              columnId: 'IsExcludedFromFulfillmentKPIUser'
              dataPath: 'IsExcludedFromFulfillmentKPIUser'
              dataType: 'boolean'
              index: 5
              subtotals: ''
              width: 150
            }
            column_IsFirmed
            {
              columnId: 'IsFirmed'
              dataPath: 'IsFirmed'
              dataType: 'boolean'
              index: 6
              subtotals: ''
              width: 150
            }
            column_OrderDate
            {
              columnId: 'OrderDate'
              dataPath: 'OrderDate'
              dataType: 'date'
              index: 7
              subtotals: ''
              width: 150
            }
            column_OrderID
            {
              columnId: 'OrderID'
              dataPath: 'OrderID'
              dataType: 'string'
              index: 8
              subtotals: ''
              width: 150
            }
            column_OrderLineID
            {
              columnId: 'OrderLineID'
              dataPath: 'OrderLineID'
              dataType: 'string'
              index: 9
              subtotals: ''
              width: 150
            }
            column_Price
            {
              columnId: 'Price'
              dataPath: 'Price'
              dataType: 'real'
              index: 10
              subtotals: ''
              width: 150
            }
            column_PriorityName
            {
              columnId: 'PriorityName'
              dataPath: 'PriorityName'
              dataType: 'string'
              index: 11
              subtotals: ''
              width: 150
            }
            column_ProductID
            {
              columnId: 'ProductID'
              dataPath: 'ProductID'
              dataType: 'string'
              index: 12
              subtotals: ''
              width: 150
            }
            column_Quantity
            {
              columnId: 'Quantity'
              dataPath: 'Quantity'
              dataType: 'string'
              index: 13
              subtotals: ''
              width: 150
            }
            column_SalesSegmentName
            {
              columnId: 'SalesSegmentName'
              dataPath: 'SalesSegmentName'
              dataType: 'string'
              index: 14
              subtotals: ''
              width: 150
            }
            column_StockingPointID
            {
              columnId: 'StockingPointID'
              dataPath: 'StockingPointID'
              dataType: 'string'
              index: 15
              subtotals: ''
              width: 150
            }
            column_UnitOfMeasureName
            {
              columnId: 'UnitOfMeasureName'
              dataPath: 'UnitOfMeasureName'
              dataType: 'string'
              index: 16
              subtotals: ''
              width: 150
            }
          }
        }
      }
      form_FormPanelMaterialIT
      {
        title: 'QTIANMA_JITUAN::FormPanelMaterialIT'
        shown: true
        componentID: 'QTIANMA_JITUAN::FormPanelMaterialIT'
        layout
        {
          mode: 'open'
          rowPosition: 7
          rowSpan: 6
          columnPosition: 5
          columnSpan: 4
        }
        components
        {
          FormPanelMaterialIT_ListPanelMaterialIT
          {
          }
          FormPanelMaterialIT_DataSetLevelPanelMaterialIT
          {
            groupDepth: -1
            column_CurrencyID
            {
              columnId: 'CurrencyID'
              dataPath: 'CurrencyID'
              dataType: 'string'
              index: 0
              subtotals: ''
              width: 150
            }
            column_Customer
            {
              columnId: 'Customer'
              dataPath: 'Customer'
              dataType: 'string'
              index: 1
              subtotals: ''
              width: 150
            }
            column_CustomerID
            {
              columnId: 'CustomerID'
              dataPath: 'CustomerID'
              dataType: 'string'
              index: 2
              subtotals: ''
              width: 150
            }
            column_ID
            {
              columnId: 'ID'
              dataPath: 'ID'
              dataType: 'string'
              index: 3
              subtotals: ''
              width: 150
            }
            column_IsEligibleForNetting
            {
              columnId: 'IsEligibleForNetting'
              dataPath: 'IsEligibleForNetting'
              dataType: 'boolean'
              index: 4
              subtotals: ''
              width: 150
            }
            column_IsExcludedFromFulfillmentKPIUser
            {
              columnId: 'IsExcludedFromFulfillmentKPIUser'
              dataPath: 'IsExcludedFromFulfillmentKPIUser'
              dataType: 'boolean'
              index: 5
              subtotals: ''
              width: 150
            }
            column_IsFirmed
            {
              columnId: 'IsFirmed'
              dataPath: 'IsFirmed'
              dataType: 'boolean'
              index: 6
              subtotals: ''
              width: 150
            }
            column_OrderDate
            {
              columnId: 'OrderDate'
              dataPath: 'OrderDate'
              dataType: 'date'
              index: 7
              subtotals: ''
              width: 150
            }
            column_OrderID
            {
              columnId: 'OrderID'
              dataPath: 'OrderID'
              dataType: 'string'
              index: 8
              subtotals: ''
              width: 150
            }
            column_OrderLineID
            {
              columnId: 'OrderLineID'
              dataPath: 'OrderLineID'
              dataType: 'string'
              index: 9
              subtotals: ''
              width: 150
            }
            column_Price
            {
              columnId: 'Price'
              dataPath: 'Price'
              dataType: 'real'
              index: 10
              subtotals: ''
              width: 150
            }
            column_PriorityName
            {
              columnId: 'PriorityName'
              dataPath: 'PriorityName'
              dataType: 'string'
              index: 11
              subtotals: ''
              width: 150
            }
            column_ProductID
            {
              columnId: 'ProductID'
              dataPath: 'ProductID'
              dataType: 'string'
              index: 12
              subtotals: ''
              width: 150
            }
            column_Quantity
            {
              columnId: 'Quantity'
              dataPath: 'Quantity'
              dataType: 'string'
              index: 13
              subtotals: ''
              width: 150
            }
            column_SalesSegmentName
            {
              columnId: 'SalesSegmentName'
              dataPath: 'SalesSegmentName'
              dataType: 'string'
              index: 14
              subtotals: ''
              width: 150
            }
            column_StockingPointID
            {
              columnId: 'StockingPointID'
              dataPath: 'StockingPointID'
              dataType: 'string'
              index: 15
              subtotals: ''
              width: 150
            }
            column_UnitOfMeasureName
            {
              columnId: 'UnitOfMeasureName'
              dataPath: 'UnitOfMeasureName'
              dataType: 'string'
              index: 16
              subtotals: ''
              width: 150
            }
          }
        }
      }
      form_FormPanelMaterialTianHua
      {
        title: 'QTIANMA_JITUAN::FormPanelMaterialTianHua'
        shown: true
        componentID: 'QTIANMA_JITUAN::FormPanelMaterialTianHua'
        layout
        {
          mode: 'open'
          rowPosition: 7
          rowSpan: 6
          columnPosition: 9
          columnSpan: 4
        }
        components
        {
          FormPanelMaterialTianHua_ListPanelMaterialTianHua
          {
          }
          FormPanelMaterialTianHua_DataSetLevelPanelMaterialTianHua
          {
            groupDepth: -1
            column_CurrencyID
            {
              columnId: 'CurrencyID'
              dataPath: 'CurrencyID'
              dataType: 'string'
              index: 0
              subtotals: ''
              width: 150
            }
            column_Customer
            {
              columnId: 'Customer'
              dataPath: 'Customer'
              dataType: 'string'
              index: 1
              subtotals: ''
              width: 150
            }
            column_CustomerID
            {
              columnId: 'CustomerID'
              dataPath: 'CustomerID'
              dataType: 'string'
              index: 2
              subtotals: ''
              width: 150
            }
            column_ID
            {
              columnId: 'ID'
              dataPath: 'ID'
              dataType: 'string'
              index: 3
              subtotals: ''
              width: 150
            }
            column_IsEligibleForNetting
            {
              columnId: 'IsEligibleForNetting'
              dataPath: 'IsEligibleForNetting'
              dataType: 'boolean'
              index: 4
              subtotals: ''
              width: 150
            }
            column_IsExcludedFromFulfillmentKPIUser
            {
              columnId: 'IsExcludedFromFulfillmentKPIUser'
              dataPath: 'IsExcludedFromFulfillmentKPIUser'
              dataType: 'boolean'
              index: 5
              subtotals: ''
              width: 150
            }
            column_IsFirmed
            {
              columnId: 'IsFirmed'
              dataPath: 'IsFirmed'
              dataType: 'boolean'
              index: 6
              subtotals: ''
              width: 150
            }
            column_OrderDate
            {
              columnId: 'OrderDate'
              dataPath: 'OrderDate'
              dataType: 'date'
              index: 7
              subtotals: ''
              width: 150
            }
            column_OrderID
            {
              columnId: 'OrderID'
              dataPath: 'OrderID'
              dataType: 'string'
              index: 8
              subtotals: ''
              width: 150
            }
            column_OrderLineID
            {
              columnId: 'OrderLineID'
              dataPath: 'OrderLineID'
              dataType: 'string'
              index: 9
              subtotals: ''
              width: 150
            }
            column_Price
            {
              columnId: 'Price'
              dataPath: 'Price'
              dataType: 'real'
              index: 10
              subtotals: ''
              width: 150
            }
            column_PriorityName
            {
              columnId: 'PriorityName'
              dataPath: 'PriorityName'
              dataType: 'string'
              index: 11
              subtotals: ''
              width: 150
            }
            column_ProductID
            {
              columnId: 'ProductID'
              dataPath: 'ProductID'
              dataType: 'string'
              index: 12
              subtotals: ''
              width: 150
            }
            column_Quantity
            {
              columnId: 'Quantity'
              dataPath: 'Quantity'
              dataType: 'string'
              index: 13
              subtotals: ''
              width: 150
            }
            column_SalesSegmentName
            {
              columnId: 'SalesSegmentName'
              dataPath: 'SalesSegmentName'
              dataType: 'string'
              index: 14
              subtotals: ''
              width: 150
            }
            column_StockingPointID
            {
              columnId: 'StockingPointID'
              dataPath: 'StockingPointID'
              dataType: 'string'
              index: 15
              subtotals: ''
              width: 150
            }
            column_UnitOfMeasureName
            {
              columnId: 'UnitOfMeasureName'
              dataPath: 'UnitOfMeasureName'
              dataType: 'string'
              index: 16
              subtotals: ''
              width: 150
            }
          }
        }
      }
      form_FormPanelMaterialAutomotiveElectronics
      {
        title: 'QTIANMA_JITUAN::FormPanelMaterialAutomotiveElectronics'
        shown: true
        componentID: 'QTIANMA_JITUAN::FormPanelMaterialAutomotiveElectronics'
        layout
        {
          mode: 'open'
          rowPosition: 13
          rowSpan: 6
          columnPosition: 1
          columnSpan: 4
        }
        components
        {
          FormPanelMaterialAutomotiveElectronics_ListPanelMaterialAutomotiveElectronics
          {
          }
          FormPanelMaterialAutomotiveElectronics_DataSetLevelPanelMaterialAutomotiveElectronics
          {
            groupDepth: -1
            column_CurrencyID
            {
              columnId: 'CurrencyID'
              dataPath: 'CurrencyID'
              dataType: 'string'
              index: 0
              subtotals: ''
              width: 150
            }
            column_Customer
            {
              columnId: 'Customer'
              dataPath: 'Customer'
              dataType: 'string'
              index: 1
              subtotals: ''
              width: 150
            }
            column_CustomerID
            {
              columnId: 'CustomerID'
              dataPath: 'CustomerID'
              dataType: 'string'
              index: 2
              subtotals: ''
              width: 150
            }
            column_ID
            {
              columnId: 'ID'
              dataPath: 'ID'
              dataType: 'string'
              index: 3
              subtotals: ''
              width: 150
            }
            column_IsEligibleForNetting
            {
              columnId: 'IsEligibleForNetting'
              dataPath: 'IsEligibleForNetting'
              dataType: 'boolean'
              index: 4
              subtotals: ''
              width: 150
            }
            column_IsExcludedFromFulfillmentKPIUser
            {
              columnId: 'IsExcludedFromFulfillmentKPIUser'
              dataPath: 'IsExcludedFromFulfillmentKPIUser'
              dataType: 'boolean'
              index: 5
              subtotals: ''
              width: 150
            }
            column_IsFirmed
            {
              columnId: 'IsFirmed'
              dataPath: 'IsFirmed'
              dataType: 'boolean'
              index: 6
              subtotals: ''
              width: 150
            }
            column_OrderDate
            {
              columnId: 'OrderDate'
              dataPath: 'OrderDate'
              dataType: 'date'
              index: 7
              subtotals: ''
              width: 150
            }
            column_OrderID
            {
              columnId: 'OrderID'
              dataPath: 'OrderID'
              dataType: 'string'
              index: 8
              subtotals: ''
              width: 150
            }
            column_OrderLineID
            {
              columnId: 'OrderLineID'
              dataPath: 'OrderLineID'
              dataType: 'string'
              index: 9
              subtotals: ''
              width: 150
            }
            column_Price
            {
              columnId: 'Price'
              dataPath: 'Price'
              dataType: 'real'
              index: 10
              subtotals: ''
              width: 150
            }
            column_PriorityName
            {
              columnId: 'PriorityName'
              dataPath: 'PriorityName'
              dataType: 'string'
              index: 11
              subtotals: ''
              width: 150
            }
            column_ProductID
            {
              columnId: 'ProductID'
              dataPath: 'ProductID'
              dataType: 'string'
              index: 12
              subtotals: ''
              width: 150
            }
            column_Quantity
            {
              columnId: 'Quantity'
              dataPath: 'Quantity'
              dataType: 'string'
              index: 13
              subtotals: ''
              width: 150
            }
            column_SalesSegmentName
            {
              columnId: 'SalesSegmentName'
              dataPath: 'SalesSegmentName'
              dataType: 'string'
              index: 14
              subtotals: ''
              width: 150
            }
            column_StockingPointID
            {
              columnId: 'StockingPointID'
              dataPath: 'StockingPointID'
              dataType: 'string'
              index: 15
              subtotals: ''
              width: 150
            }
            column_UnitOfMeasureName
            {
              columnId: 'UnitOfMeasureName'
              dataPath: 'UnitOfMeasureName'
              dataType: 'string'
              index: 16
              subtotals: ''
              width: 150
            }
          }
        }
      }
      form_FormPanelMaterialVehicle
      {
        title: 'QTIANMA_JITUAN::FormPanelMaterialVehicle'
        shown: true
        componentID: 'QTIANMA_JITUAN::FormPanelMaterialVehicle'
        layout
        {
          mode: 'open'
          rowPosition: 13
          rowSpan: 6
          columnPosition: 5
          columnSpan: 4
        }
        components
        {
          FormPanelMaterialVehicle_ListPanelMaterialVehicle
          {
          }
          FormPanelMaterialVehicle_DataSetLevelPanelMaterialVehicle
          {
            groupDepth: -1
            column_CurrencyID
            {
              columnId: 'CurrencyID'
              dataPath: 'CurrencyID'
              dataType: 'string'
              index: 0
              subtotals: ''
              width: 150
            }
            column_Customer
            {
              columnId: 'Customer'
              dataPath: 'Customer'
              dataType: 'string'
              index: 1
              subtotals: ''
              width: 150
            }
            column_CustomerID
            {
              columnId: 'CustomerID'
              dataPath: 'CustomerID'
              dataType: 'string'
              index: 2
              subtotals: ''
              width: 150
            }
            column_ID
            {
              columnId: 'ID'
              dataPath: 'ID'
              dataType: 'string'
              index: 3
              subtotals: ''
              width: 150
            }
            column_IsEligibleForNetting
            {
              columnId: 'IsEligibleForNetting'
              dataPath: 'IsEligibleForNetting'
              dataType: 'boolean'
              index: 4
              subtotals: ''
              width: 150
            }
            column_IsExcludedFromFulfillmentKPIUser
            {
              columnId: 'IsExcludedFromFulfillmentKPIUser'
              dataPath: 'IsExcludedFromFulfillmentKPIUser'
              dataType: 'boolean'
              index: 5
              subtotals: ''
              width: 150
            }
            column_IsFirmed
            {
              columnId: 'IsFirmed'
              dataPath: 'IsFirmed'
              dataType: 'boolean'
              index: 6
              subtotals: ''
              width: 150
            }
            column_OrderDate
            {
              columnId: 'OrderDate'
              dataPath: 'OrderDate'
              dataType: 'date'
              index: 7
              subtotals: ''
              width: 150
            }
            column_OrderID
            {
              columnId: 'OrderID'
              dataPath: 'OrderID'
              dataType: 'string'
              index: 8
              subtotals: ''
              width: 150
            }
            column_OrderLineID
            {
              columnId: 'OrderLineID'
              dataPath: 'OrderLineID'
              dataType: 'string'
              index: 9
              subtotals: ''
              width: 150
            }
            column_Price
            {
              columnId: 'Price'
              dataPath: 'Price'
              dataType: 'real'
              index: 10
              subtotals: ''
              width: 150
            }
            column_PriorityName
            {
              columnId: 'PriorityName'
              dataPath: 'PriorityName'
              dataType: 'string'
              index: 11
              subtotals: ''
              width: 150
            }
            column_ProductID
            {
              columnId: 'ProductID'
              dataPath: 'ProductID'
              dataType: 'string'
              index: 12
              subtotals: ''
              width: 150
            }
            column_Quantity
            {
              columnId: 'Quantity'
              dataPath: 'Quantity'
              dataType: 'string'
              index: 13
              subtotals: ''
              width: 150
            }
            column_SalesSegmentName
            {
              columnId: 'SalesSegmentName'
              dataPath: 'SalesSegmentName'
              dataType: 'string'
              index: 14
              subtotals: ''
              width: 150
            }
            column_StockingPointID
            {
              columnId: 'StockingPointID'
              dataPath: 'StockingPointID'
              dataType: 'string'
              index: 15
              subtotals: ''
              width: 150
            }
            column_UnitOfMeasureName
            {
              columnId: 'UnitOfMeasureName'
              dataPath: 'UnitOfMeasureName'
              dataType: 'string'
              index: 16
              subtotals: ''
              width: 150
            }
          }
        }
      }
      form_DialogFusionData
      {
        title: 'QTIANMA_JITUAN::DialogFusionData'
        shown: true
        componentID: 'QTIANMA_JITUAN::DialogFusionData'
        layout
        {
          mode: 'open'
          rowPosition: 13
          rowSpan: 6
          columnPosition: 9
          columnSpan: 4
        }
        components
        {
          DialogFusionData_pnlContent
          {
            sizeRatio: 1
          }
          DialogFusionData_pnlReceiveDatas
          {
            sizeRatio: 1
          }
          DialogFusionData_pnlSelectVersion
          {
            sizeRatio: 1
          }
          DialogFusionData_pnlActions
          {
            sizeRatio: 1
          }
        }
      }
    }
    userconfigurableinformation
    {
    }
    image: 'WATER_FISH'
    page: ''
    group: ''
    index: 0
    description: ''
  }
  formatversion: 2
  id: '面板拉料_集团操作'
  name: '面板拉料_集团操作'
  isglobal: false
  isroot: true
}
_var/_Main/ModelSettings/Common/Dev-21/_ROOT_Role_Dev-21.properties
@@ -501,7 +501,7 @@
domainmodel.mdsstoragedefinitionmanager=template:domainmodel.mdsstoragedefinitionmanager
domainmodel.mdsstoragedefinitionmanager.audittrailenabled=false
domainmodel.mdsstoragedefinitionmanager.audittraillocation=
domainmodel.mdsstoragedefinitionmanager.databaseenabled=false
domainmodel.mdsstoragedefinitionmanager.databaseenabled=true
domainmodel.mdsstoragedefinitionmanager.datasetstoredatasource=MacroPlanner
domainmodel.mdsstoragedefinitionmanager.datasetstoreenabled=false
domainmodel.mdsstoragedefinitionmanager.datasetstoreislocal=false
_var/_Main/ProjSettings/MacroPlanner/Views/X_·ÖÎöÊÓͼ_[414702.1.50321581].vw
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,2370 @@
# Quintiq GUI View File
# Version 3.0
PROPERTIES
{
  KEY := [414702.1.50321581]
  NAME := '9.分析视图'
  HELPPAGE := ''
  PARENTKEY := [119650.0.1615272249]
  FOCUSED := [514.0.2180]
  MUSTREADMDSSETTINGS := false
  ISPERSONAL false
  OWNERNAME 'quintiq/hongjli'
  ICONIMAGE 'WINDOWS'
  CREATIONDATETIME '2023-10-12T10:00:44'
  CREATIONUSER 'quintiq/hongjli'
  UPDATEDATETIME '2023-10-12T10:18:13'
  UPDATEUSER 'quintiq/hongjli'
  LASTACCESSDATE '2023-10-12'
  VIEWSCOPE 0
}
AUTHORIZATIONS
{
  OPEN
  {
    AUTHORIZATIONS
    {
    }
  }
  EDIT
  {
    AUTHORIZATIONS
    {
    }
  }
}
MDSINFO
{
  LOCAL ''
  GLOBAL ''
}
INFOOBJECT
{
  KEY [626.0.4514905]
  OBJECTTYPE Application // ApplicationLibMacroPlanner
  BASEINFOOBJECTS
  {
   BASEINFOOBJECT
   {
    KEY [626.0.4514905]
    OBJECTTYPE GUIComponent // ApplicationLibMacroPlanner
    CONTENTS
    {
     SETTINGS_MDS_WITH_FOLDER
     {
       [414702.1.52504981]:LibInt_IntegratorProxy:/root:LibInt_IntegratorProxy
       [414702.1.52533373]:SWF_CommunicationDataset:/root:SWF_CommunicationDataset
       [414702.1.52528776]:SWF_WorkflowDataset:/root:SWF_WorkflowDataset
       [414702.1.52500409]:LibDEF_DataBroker:/root:LibDEF_DataBroker
       [414702.1.50285849]:LibDEF_DataRepository:/root:LibDEF_DataRepository
       [414702.1.50276708]:DMF_ConvertorDataset:/root:DMF_ConvertorDataset
       [414702.1.52542521]:LibMon_Monitor:/root:LibMon_Monitor
       [414702.1.52537950]:LibUTF:/root:UTF
       [414702.1.52550001]:Lib3DS_RootDataset:/root:Lib3DS_RootDataset
       [414702.1.52580001]:KpiTracker:/root:KpiTracker
       [414702.1.50281280]:MPDomainHandler:/root:MPDomainHandler
       [414702.1.52560001]:MPSync:/root:MPSync
       [414702.1.52509550]:ScenarioManager:/root:ScenarioManager
       [414702.1.52570001]:LibSCIIntegrationInterface:/root:LibSCIIntegrationInterface
       [414702.1.52519619]:GlobalOTDTable:/root:GlobalOTDTable
       [414702.1.52585361]:MacroPlan:/root:MacroPlan
     }
    }
   }
  }
  INFOOBJECTS
  {
   INFOOBJECT
   {
    KEY [514.0.2180]
    OBJECTTYPE Frame // Frame
    CONTENTS
    {
     State := maximized
     (200,0,1536,809)
     WorkspaceLocation :=
    }
    INFOOBJECTS
    {
     INFOOBJECT
     {
      KEY [113694.2.1024236755]
      OBJECTTYPE ValueHolder // ValueHolderViewLayout
      CONTENTS
      {
       Value ''
      }
     }
     INFOOBJECT
     {
      KEY [127710.1.721401771]
      OBJECTTYPE ValueHolder // ValueHolderActiveMacroPlan
      CONTENTS
      {
       Value '[414702.1.52620491]'
      }
     }
     INFOOBJECT
     {
      KEY [132448.0.224582518]
      OBJECTTYPE ValueHolder // ValueHolderSetMPDefaultViewForFirstLogin
      CONTENTS
      {
       Value 'false'
      }
     }
     INFOOBJECT
     {
      KEY [146450.2.1404665746]
      OBJECTTYPE ValueHolder // vhConfiguration
      CONTENTS
      {
       Value 'false'
      }
     }
     INFOOBJECT
     {
      KEY [146874.1.233869144]
      OBJECTTYPE ValueHolder // vhConfigurationMatrix
      CONTENTS
      {
       Value 'false'
      }
     }
     INFOOBJECT
     {
      KEY [132894.0.1007052496]
      OBJECTTYPE ValueHolder // ValueHolderSetDataHolderSelectedPISPIPExtractor
      CONTENTS
      {
       Value 'false'
      }
     }
     INFOOBJECT
     {
      KEY [108684.0.1782661552]
      OBJECTTYPE ValueHolder // ValueHolderLastSelected3DDriveDirectory
      CONTENTS
      {
       Value ''
      }
     }
     INFOOBJECT
     {
      KEY [107654.0.557163713]
      OBJECTTYPE ValueHolder // ValueHolderUserGroup
      CONTENTS
      {
       Value ';Administrator;Developer;AggregatedPlanning;Blending;CampaignPlanning;CapacitySmoothing;DatabaseIntegration;Development;Feedback;Groups;InventoryMixBalancing;InventorySpecifications;InventorySupplies;LotSizes;OptimizerBenchmarking;Pegging;ProductPlanningGanttChart;SafetyStockCalculation;SalesDemandPostponement;ShelfLife;SupplyChainMap;SupplySpecifications;TransportationPlanning;Workflow;Functionalities;Software;SOP;Cloud;OnPremise;SupplyChainDirector;SupplyPlanner;DemandPlanner;CollaborativeForecasting;SOAPServerUserGroup;Web_SupplyPlanning;Web_SupplyChainData;Web_CampaignPlanning;Web_Sales;Web_Development;Web;Web_ScenariosAndSettings;Web_Blending;Web_DemandPostponement;Web_Allocation;Web_Financials;Web_Feedbacks;Web_InventoryMixBalancing;Web_SafetyStockCalculation;Web_WorkFlowConfiguration;Web_MyActivities;Web_Integration;Web_OptimizerBenchmarking;Web_SupplyDashboard;Web_Optimizer;Web_LotSizes;Web_ShelfLife;Web_CapacitySmoothing;Web_Inventory;Web_SafetyStock;KpiTrackerAdmin;Web_ProductionPlan;Web_PurchasingPlan;Web_TripPlan;Web_Plan;Web_BlendingPlan;BusinessUnitOM;ProductionPlan;MRPPlanning;AppConfigurators;Implementors'
      }
     }
     INFOOBJECT
     {
      KEY [113694.1.227882923]
      OBJECTTYPE ValueHolder // ValueHolderShowSanityCheck
      CONTENTS
      {
       Value ''
      }
     }
     INFOOBJECT
     {
      KEY [126224.0.581715]
      OBJECTTYPE ValueHolder // ValueHolder
      CONTENTS
      {
       Value 'Feasible'
      }
     }
     INFOOBJECT
     {
      KEY [132894.0.388222255]
      OBJECTTYPE ValueHolder // ValueHolderImportProfileMessage
      CONTENTS
      {
       Value ''
      }
     }
     INFOOBJECT
     {
      KEY [127238.1.80067038]
      OBJECTTYPE ValueHolder // ValueHolderSizing
      CONTENTS
      {
       Value 'true'
      }
     }
     INFOOBJECT
     {
      KEY [122192.0.103731718]
      OBJECTTYPE ValueHolder // ValueHolderSanityCheckHighestSeverityMsgCount
      CONTENTS
      {
       Value '39'
      }
     }
     INFOOBJECT
     {
      KEY [113694.2.1085093394]
      OBJECTTYPE ValueHolder // ValueHolderIsImportSucceed
      CONTENTS
      {
       Value 'true'
      }
     }
     INFOOBJECT
     {
      KEY [132448.0.331221783]
      OBJECTTYPE ValueHolder // ValueHolderScenarioMPSize
      CONTENTS
      {
       Value '1'
      }
     }
     INFOOBJECT
     {
      KEY [127238.1.502176570]
      OBJECTTYPE ValueHolder // ValueHolderPeriodRollStatus
      CONTENTS
      {
       Value 'false'
      }
     }
     INFOOBJECT
     {
      KEY [112884.1.706803944]
      OBJECTTYPE ValueHolder // ValueHolderSanityCheckHighestSeverity
      CONTENTS
      {
       Value '2'
      }
     }
     INFOOBJECT
     {
      KEY [132448.0.662420775]
      OBJECTTYPE GUIDataSetLevel // GUIDataSetLevel
      CONTENTS
      {
       Columns
       {
         Definition := [11122.0.37341573]
         {
           [132448.0.662420039]
         }
         SubTotals := true
         Visible
         {
           Column internal[DataSetDataColumn] [132448.0.662420039]
           {
             Header := 'Name'
             Width := 100
             Subtotals := false
             Specific
             {
               DataPath := 'DisplayNameForSelection [132448.0.661217036]'
             }
           }
           Column internal[DataSetImageColumn] [110880.7.47894550]
           {
             Header := 'Optimizer status'
             Width := 100
             Subtotals := false
             Specific
             {
               DataPath := 'ImgOptimizerStatus [137862.0.1442841447]'
             }
           }
         }
       }
       DataMemberSort 'Name [11660.0.899152500]' true true
      }
     }
     INFOOBJECT
     {
      KEY [136682.0.314428046]
      OBJECTTYPE GUIComponent // PTFPanelTestController
      INFOOBJECTS
      {
       INFOOBJECT
       {
        KEY [105690.0.246954464]
        OBJECTTYPE ValueHolder // vhLogging
        CONTENTS
        {
         Value ''
        }
       }
       INFOOBJECT
       {
        KEY [104342.0.773994982]
        OBJECTTYPE ValueHolder // vhDoActionInfoReturn
        CONTENTS
        {
         Value ''
        }
       }
       INFOOBJECT
       {
        KEY [104342.0.867521338]
        OBJECTTYPE ValueHolder // vhPendingActions
        CONTENTS
        {
         Value ''
        }
       }
       INFOOBJECT
       {
        KEY [104342.0.867524820]
        OBJECTTYPE ValueHolder // vhSharedRepository
        CONTENTS
        {
         Value '\\\\CNLEN1845000693\\PTF_Repository\\'
        }
       }
       INFOOBJECT
       {
        KEY [105690.0.892938783]
        OBJECTTYPE ValueHolder // vhAsyncActionStatus
        CONTENTS
        {
         Value ''
        }
       }
       INFOOBJECT
       {
        KEY [105690.0.247211998]
        OBJECTTYPE ValueHolder // vhResultLogPath
        CONTENTS
        {
         Value ''
        }
       }
       INFOOBJECT
       {
        KEY [105690.0.892939622]
        OBJECTTYPE ValueHolder // vhPTFExecutionStatus
        CONTENTS
        {
         Value 'Inactive'
        }
       }
       INFOOBJECT
       {
        KEY [103546.0.81355542]
        OBJECTTYPE ValueHolder // vhAutoClose
        CONTENTS
        {
         Value ''
        }
       }
       INFOOBJECT
       {
        KEY [103546.0.54652306]
        OBJECTTYPE ValueHolder // vhLogStart
        CONTENTS
        {
         Value ''
        }
       }
      }
     }
     INFOOBJECT
     {
      KEY [113694.2.1146370710]
      OBJECTTYPE Toolbar // ToolbarWorkflow
      CONTENTS
      {
       'vertical' '50' '0'
      }
      INFOOBJECTS
      {
       INFOOBJECT
       {
        KEY [113694.2.1146375645]
        OBJECTTYPE CustomDrawComponent // SWF_MP_CustomDrawComponentProcessDashboard
        BASEINFOOBJECTS
        {
        }
        INFOOBJECTS
        {
         INFOOBJECT
         {
          KEY [132478.0.288924864]
          OBJECTTYPE ValueHolder // ValueHolderLastSyncDateTime
          CONTENTS
          {
           Value '12-10-2023, 10:01:17'
          }
         }
        }
       }
      }
     }
     INFOOBJECT
     {
      KEY [11660.0.360702312]
      OBJECTTYPE Toolbar // ToolbarSupplyChainPanel
      CONTENTS
      {
       'horizontal' '50' '336'
      }
      INFOOBJECTS
      {
       INFOOBJECT
       {
        KEY [113694.2.1070869880]
        OBJECTTYPE ValueHolder // ValueHolderNavigationPanelState
        CONTENTS
        {
         Value 'true'
        }
       }
       INFOOBJECT
       {
        KEY [113694.2.1070870209]
        OBJECTTYPE ValueHolder // ValueHolderNavigationPanelSize
        CONTENTS
        {
         Value '336'
        }
       }
       INFOOBJECT
       {
        KEY [113694.2.1033284312]
        OBJECTTYPE SplitterWnd // SplitterWnd
        INFOOBJECTS
        {
         INFOOBJECT
         {
          KEY [113694.2.1033284313]
          OBJECTTYPE SplitterPane // SplitterPane
          CONTENTS
          {
           VISIBLE true
          }
          INFOOBJECTS
          {
           INFOOBJECT
           {
            KEY [127238.0.1883499282]
            OBJECTTYPE TabComponent // TabComponent
            CONTENTS
            {
             ActivePageIndex 0
            }
            INFOOBJECTS
            {
             INFOOBJECT
             {
              KEY [132448.0.71838188]
              OBJECTTYPE List // ListNavigationPanelSelection
              CONTENTS
              {
               Quantorrow := false
              }
              INFOOBJECTS
              {
               INFOOBJECT
               {
                KEY [127238.0.1883514459]
                OBJECTTYPE ValueHolder // ValueHolderListSelections
                CONTENTS
                {
                 Value 'Stocking points and units'
                }
               }
               INFOOBJECT
               {
                KEY [127238.0.1883514458]
                OBJECTTYPE GUIDataSetLevel // GUIDataSetLevel288
                CONTENTS
                {
                 Columns
                 {
                   Definition := [113694.2.1025339746]
                   {
                     [113694.2.1025342095]
                   }
                   SubTotals := true
                   Visible
                   {
                     Column internal[DataSetDataColumn] [113694.2.1025342095]
                     {
                       Width := 100
                       Subtotals := false
                       Specific
                       {
                         DataPath := 'Name [113694.2.1025096770]'
                       }
                     }
                   }
                 }
                 DataMemberSort 'SequenceNr [113694.2.1025096776]' true true
                }
               }
              }
             }
             INFOOBJECT
             {
              KEY [127238.0.1883516525]
              OBJECTTYPE SplitterWnd // SplitterWnd516
              INFOOBJECTS
              {
               INFOOBJECT
               {
                KEY [127238.0.1883516526]
                OBJECTTYPE SplitterPane // SplitterPaneEntities
                CONTENTS
                {
                 Size 100
                 VISIBLE true
                }
                INFOOBJECTS
                {
                 INFOOBJECT
                 {
                  KEY [127238.0.1883516528]
                  OBJECTTYPE List // ListEntityTreeInPanel
                  CONTENTS
                  {
                   Quantorrow := false
                  }
                  BASEINFOOBJECTS
                  {
                  }
                  INFOOBJECTS
                  {
                   INFOOBJECT
                   {
                    KEY [113694.2.1026852831]
                    OBJECTTYPE GUIDataSetLevel // GUIDataSetLevelUnit
                    CONTENTS
                    {
                     Columns
                     {
                       Definition := [127710.1.1014097713]
                       {
                         [127710.1.1014102531]
                       }
                       SubTotals := true
                       Visible
                       {
                         Column internal[DataSetDataColumn] [127710.1.1014102531]
                         {
                           Header := 'Name'
                           Width := 100
                           Subtotals := false
                           Specific
                           {
                             DataPath := 'DisplayName [127710.1.1013707791]'
                           }
                         }
                       }
                     }
                     DataMemberSort 'DefinitionName [1.2.1944]' true true
                     DataMemberSort 'DisplayIndex [127710.1.1014879496]' true true
                    }
                   }
                  }
                 }
                }
               }
               INFOOBJECT
               {
                KEY [127238.0.1883516541]
                OBJECTTYPE SplitterPane // SplitterPaneProducts
                CONTENTS
                {
                 Size 0
                 VISIBLE true
                }
                INFOOBJECTS
                {
                 INFOOBJECT
                 {
                  KEY [127238.0.1883516544]
                  OBJECTTYPE List // ListProductInPanel
                  CONTENTS
                  {
                   Quantorrow := false
                  }
                  BASEINFOOBJECTS
                  {
                  }
                  INFOOBJECTS
                  {
                   INFOOBJECT
                   {
                    KEY [113694.2.1025678105]
                    OBJECTTYPE GUIDataSetLevel // GUIDataSetLevelProducts
                    CONTENTS
                    {
                     Columns
                     {
                       Definition := [113694.2.1026639210]
                       {
                         [113694.2.1026641039]
                       }
                       SubTotals := true
                       Visible
                       {
                         Column internal[DataSetDataColumn] [127710.1.791646005]
                         {
                           Width := 43
                           Subtotals := false
                           Specific
                           {
                             DataPath := 'Name [101472.1.1551142288]'
                           }
                         }
                       }
                     }
                     DataMemberSort 'DisplayIndex [101472.1.1550630686]' true true
                    }
                   }
                  }
                 }
                }
               }
               INFOOBJECT
               {
                KEY [127238.0.1883516552]
                OBJECTTYPE SplitterPane // SplitterPaneSalesSegment
                CONTENTS
                {
                 Size 0
                 VISIBLE true
                }
                INFOOBJECTS
                {
                 INFOOBJECT
                 {
                  KEY [127238.0.1883516554]
                  OBJECTTYPE List // ListSalesSegmentInPanel
                  CONTENTS
                  {
                   Quantorrow := false
                  }
                  BASEINFOOBJECTS
                  {
                  }
                  INFOOBJECTS
                  {
                   INFOOBJECT
                   {
                    KEY [11660.0.1616690288]
                    OBJECTTYPE GUIDataSetLevel // GUIDataSetLevelSalesSegment
                    CONTENTS
                    {
                     Columns
                     {
                       Definition := [113694.2.1026633433]
                       {
                         [113694.2.1026637315]
                       }
                       SubTotals := true
                       Visible
                       {
                         Column internal[DataSetDataColumn] [127710.1.791646006]
                         {
                           Width := 100
                           Subtotals := false
                           Specific
                           {
                             DataPath := 'Name [101472.1.1552565832]'
                           }
                         }
                       }
                     }
                     DataMemberSort 'DisplayIndex [101472.1.1552054710]' true true
                    }
                   }
                  }
                 }
                }
               }
               INFOOBJECT
               {
                KEY [131438.0.356639347]
                OBJECTTYPE SplitterPane // SplitterPanePeriods
                CONTENTS
                {
                 Size 0
                 VISIBLE true
                }
                INFOOBJECTS
                {
                 INFOOBJECT
                 {
                  KEY [131438.0.353247249]
                  OBJECTTYPE List // ListPeriodSpecificationInPanel
                  CONTENTS
                  {
                   Quantorrow := false
                  }
                  INFOOBJECTS
                  {
                   INFOOBJECT
                   {
                    KEY [131438.0.371333408]
                    OBJECTTYPE GUIDataSetLevel // GUIDataSetLevelPeriodSpecifications
                    CONTENTS
                    {
                     Columns
                     {
                       Definition := [131438.0.360617528]
                       {
                         [131438.0.360619967]
                       }
                       SubTotals := true
                       Visible
                       {
                         Column internal[DataSetDataColumn] [131438.0.360619967]
                         {
                           Header := 'Name'
                           Width := 100
                           Subtotals := false
                           Specific
                           {
                             DataPath := 'ID [112884.1.819834135]'
                           }
                         }
                       }
                     }
                     DataMemberSort 'TimeUnitLevel [110702.1.442080356]' true true
                     DataMemberSort 'NrOfTimeUnit [113694.2.259953597]' true true
                    }
                    INFOOBJECTS
                    {
                     INFOOBJECT
                     {
                      KEY [131438.0.402834330]
                      OBJECTTYPE GUIDataSetLevel // GUIDataSetLevelPeriods
                      CONTENTS
                      {
                       Columns
                       {
                         Definition := [131438.0.360619043]
                         {
                           [131438.0.373648709]
                           [131438.0.373648710]
                         }
                         SubTotals := true
                         Visible
                         {
                           Column internal[DataSetDataColumn] [131438.0.373648709]
                           {
                             Header := 'Start'
                             Width := 100
                             Subtotals := false
                             Specific
                             {
                               DataPath := 'Period_MP [133004.0.129306565]|StartDate [11660.0.1924712308]'
                             }
                           }
                           Column internal[DataSetDataColumn] [131438.0.373648710]
                           {
                             Header := 'End'
                             Width := 100
                             Subtotals := false
                             Specific
                             {
                               DataPath := 'Period_MP [133004.0.129306565]|EndDate [11660.0.1924712413]'
                             }
                           }
                         }
                       }
                       ColumnSort [131438.0.373648709] true false
                      }
                     }
                    }
                   }
                  }
                 }
                }
               }
              }
             }
             INFOOBJECT
             {
              KEY [127238.0.1884468404]
              OBJECTTYPE SplitterWnd // SplitterWnd466
              INFOOBJECTS
              {
               INFOOBJECT
               {
                KEY [127238.0.1884468405]
                OBJECTTYPE SplitterPane // SplitterPane252
                CONTENTS
                {
                 VISIBLE true
                }
                INFOOBJECTS
                {
                 INFOOBJECT
                 {
                  KEY [127238.0.1884468597]
                  OBJECTTYPE List // ListBookmarks
                  CONTENTS
                  {
                   Quantorrow := false
                  }
                  INFOOBJECTS
                  {
                   INFOOBJECT
                   {
                    KEY [130238.0.368320209]
                    OBJECTTYPE GUIDataSetLevel // GUIDataSetLevelBookmarks
                    CONTENTS
                    {
                     Columns
                     {
                       Definition := [121072.0.291112455]
                       {
                         [121072.0.291113667]
                       }
                       SubTotals := true
                       Visible
                       {
                         Column internal[DataSetDataColumn] [121072.0.291113667]
                         {
                           Width := 100
                           Subtotals := false
                           Specific
                           {
                             DataPath := 'Name [121072.0.290461471]'
                           }
                         }
                       }
                     }
                     DataMemberSort 'IsFolder [127238.0.1889576073]' false true
                     ColumnSort [121072.0.291113667] true false
                    }
                    INFOOBJECTS
                    {
                     INFOOBJECT
                     {
                      KEY [130238.0.368320210]
                      OBJECTTYPE GUIDataSetLevel // GUIDataSetLevelBookmarkChildren
                      CONTENTS
                      {
                       Columns
                       {
                         Definition := [121072.0.291112455]
                         {
                           [121072.0.291113667]
                         }
                         SubTotals := true
                         Visible
                         {
                           Column internal[DataSetDataColumn] [121072.0.291113667]
                           {
                             Width := 100
                             Subtotals := false
                             Specific
                             {
                               DataPath := 'Name [121072.0.290461471]'
                             }
                           }
                         }
                       }
                       DataMemberSort 'IsFolder [127238.0.1889576073]' false true
                       ColumnSort [121072.0.291113667] true false
                      }
                     }
                    }
                   }
                  }
                 }
                }
               }
              }
             }
            }
           }
          }
         }
        }
       }
      }
     }
     INFOOBJECT
     {
      KEY [108486.1.1170974339]
      SINGLEINSTANCE false
      ID 'Pegging'
      PARENTKEY [514.0.2180]
      OBJECTTYPE Form // FormPegging
      CREATETYPE FormPegging
      CONTENTS
      {
       State := normal
       (354,421,990,664)
       DockableLocation := Station[MAIN]State[NORM]TreePath[B0.5507;]TabIdx[1]Selection[FRONT]
      }
      BASEINFOOBJECTS
      {
      }
      INFOOBJECTS
      {
       INFOOBJECT
       {
        KEY [108486.1.1171911809]
        OBJECTTYPE SplitterWnd // SplitterWnd1
        INFOOBJECTS
        {
         INFOOBJECT
         {
          KEY [108486.1.1171911810]
          OBJECTTYPE SplitterPane // SplitterPane
          CONTENTS
          {
           Size 50.132802124834
           VISIBLE true
          }
          INFOOBJECTS
          {
           INFOOBJECT
           {
            KEY [108486.1.1171921411]
            OBJECTTYPE SplitterWnd // SplitterWndDemand_MP_Pegging
            INFOOBJECTS
            {
             INFOOBJECT
             {
              KEY [108486.1.1171921412]
              OBJECTTYPE SplitterPane // SplitterPane2
              CONTENTS
              {
               Size 52.6515151515151
               VISIBLE true
              }
              INFOOBJECTS
              {
               INFOOBJECT
               {
                KEY [108486.1.1171921414]
                OBJECTTYPE List // ListDemand
                CONTENTS
                {
                 Quantorrow := false
                }
                INFOOBJECTS
                {
                 INFOOBJECT
                 {
                  KEY [108486.1.1171924299]
                  OBJECTTYPE GUIDataSetLevel // GUIDataSetLevelDemand_MP
                  CONTENTS
                  {
                   Columns
                   {
                     Definition := [11766.0.1025088210]
                     {
                       [11766.1.490215920]
                     }
                     SubTotals := true
                     Visible
                     {
                       Column internal[DataSetImageColumn] [108486.1.2111697545]
                       {
                         Width := 19
                         SizedByUser := true
                         Subtotals := false
                         Specific
                         {
                           DataPath := 'DemandType [11660.0.340434965]'
                         }
                       }
                       Column internal[DataSetImageColumn] [108486.2.15728337]
                       {
                         Header := 'HasValidPeggedQuantity'
                         Width := 21
                         SizedByUser := true
                         Subtotals := false
                         Specific
                         {
                           DataPath := 'ImgHasValidPeggedQuantity [108486.2.15494714]'
                         }
                       }
                       Column internal[DataSetDataColumn] [127710.1.1139010297]
                       {
                         Header := 'Stocking point'
                         Width := 137
                         Subtotals := false
                         Specific
                         {
                           DataPath := 'ProductInStockingPointInPeriodPlanning [134266.1.219045427]|AsPlanningProductInStockingPoint [134266.1.8545642]|StockingPoint_MP [11660.0.488414369]|Name [101472.1.1554218718]'
                         }
                       }
                       Column internal[DataSetDataColumn] [108486.1.2110122000]
                       {
                         Header := 'Product'
                         Width := 184
                         SizedByUser := true
                         Subtotals := false
                         Specific
                         {
                           DataPath := 'ProductInStockingPointInPeriodPlanning [134266.1.219045427]|ProductInStockingPoint_MP [134266.1.5798354]|Product_MP [11660.0.486228287]|Name [101472.1.1551142288]'
                         }
                       }
                       Column internal[DataSetConfigurableColumn] [108486.1.2112140291]
                       {
                         Header := 'Period start'
                         Width := 115
                         Subtotals := false
                         Specific
                         {
                           Text := 'VALUE( object.GetPeriodStart() )'
                           Alignment := ''
                         }
                       }
                       Column internal[DataSetDataColumn] [11766.1.490215920]
                       {
                         Width := 80
                         SizedByUser := true
                         Subtotals := false
                         Specific
                         {
                           DataPath := 'Quantity [101320.0.110374989]'
                         }
                       }
                       Column internal[DataSetDataColumn] [108486.1.2110122001]
                       {
                         Header := 'Fulfilled'
                         Width := 82
                         SizedByUser := true
                         Subtotals := false
                         Specific
                         {
                           DataPath := 'FulfilledQuantity [11660.0.157649047]'
                         }
                       }
                       Column internal[DataSetConfigurableColumn] [110880.2.1142677800]
                       {
                         Header := 'Available'
                         Width := 79
                         Subtotals := false
                         Specific
                         {
                           Text := 'VALUE( object.GetAvailableQuantityForPegging() )'
                           Alignment := ''
                         }
                       }
                       Column internal[DataSetChartColumn] [108486.1.2112734746]
                       {
                         Header := 'Fulfillment'
                         Width := 104
                         SizedByUser := true
                         Subtotals := false
                         Specific
                         {
                           Type := 'Stacked Bar'
                           Relative := true
                           Points
                           {
                             PointDefinition
                             {
                               Text := 'minvalue( object.GetPeggedQuantity(), object.FulfilledQuantity() )'
                               Color := 'Green'
                               NegativeColor := 'Red'
                               Description := 'Fulfilled pegged quantity'
                             }
                             PointDefinition
                             {
                               Text := 'maxvalue( object.FulfilledQuantity() - object.GetPeggedQuantity(), 0 )'
                               Color := '$FF9900'
                               NegativeColor := 'Red'
                               Description := 'Unpegged quantity'
                             }
                             PointDefinition
                             {
                               Text := 'maxvalue( object.GetPeggedQuantity() - object.FulfilledQuantity(), 0 )'
                               Color := 'Red'
                               NegativeColor := 'Red'
                               Description := 'Overpegged quantity'
                             }
                           }
                         }
                       }
                     }
                   }
                   ColumnSort [108486.1.2112140291] true false
                  }
                 }
                }
               }
              }
             }
             INFOOBJECT
             {
              KEY [108486.1.1171921413]
              OBJECTTYPE SplitterPane // SplitterPane3
              CONTENTS
              {
               Size 47.3484848484849
               VISIBLE true
              }
              INFOOBJECTS
              {
               INFOOBJECT
               {
                KEY [113694.0.1490022148]
                OBJECTTYPE List // ListDemandPegging
                CONTENTS
                {
                 Quantorrow := false
                }
                INFOOBJECTS
                {
                 INFOOBJECT
                 {
                  KEY [113694.0.1490022154]
                  OBJECTTYPE GUIDataSetLevel // GUIDataSetLevel2
                  CONTENTS
                  {
                   Columns
                   {
                     Definition := [108486.1.1171928381]
                     {
                       [108486.1.1171960868]
                       [108486.1.1320715923]
                     }
                     SubTotals := true
                     Visible
                     {
                       Column internal[DataSetImageColumn] [135072.0.40676723]
                       {
                         Width := 22
                         SizedByUser := true
                         Subtotals := false
                         Specific
                         {
                           DataPath := 'Supply_MP [134266.1.11843917]|SupplyType [108486.1.1185051348]'
                         }
                       }
                       Column internal[DataSetImageColumn] [110880.9.1181376772]
                       {
                         Header := 'HasUserQuantity'
                         Width := 23
                         SizedByUser := true
                         Subtotals := false
                         Specific
                         {
                           DataPath := 'ImgHasUserQuantity [108486.1.1707654857]'
                         }
                       }
                       Column internal[DataSetImageColumn] [113694.0.1490534244]
                       {
                         Width := 21
                         SizedByUser := true
                         Subtotals := false
                         Specific
                         {
                           DataPath := 'ImgHasSupply [108486.2.16148330]'
                         }
                       }
                       Column internal[DataSetConfigurableColumn] [113694.0.1490809329]
                       {
                         Header := 'Period start'
                         Width := 115
                         Subtotals := false
                         Specific
                         {
                           Text := 'VALUE( object.Supply_MP().GetPeriodStart() )'
                           Alignment := 'Default'
                         }
                       }
                       Column internal[DataSetDataColumn] [113694.0.1490521540]
                       {
                         Width := 100
                         Subtotals := false
                         Quantor
                         {
                           Simple := 'sum' DataMemberString := 'Quantity [134266.1.8545959]'
                         }
                         Specific
                         {
                           DataPath := 'Quantity [134266.1.8545959]'
                         }
                       }
                       Column internal[DataSetConfigurableColumn] [112884.0.2032524903]
                       {
                         Header := 'Cost'
                         Width := 100
                         Subtotals := false
                         Quantor
                         {
                           Expression := 'sum' 'object.Supply_MP().GetBaseCostPerQuantity() * object.Quantity()'
                         }
                         Specific
                         {
                           Text := 'VALUE( object.Supply_MP().GetBaseCostPerQuantity() * object.Quantity() )'
                           Alignment := 'Default'
                         }
                       }
                     }
                   }
                   Filter := '<?xml version="1.0" encoding="UTF-16"?>\n<GEBObjectsFilter xmlns="http://www.quintiq.com/GEB/GEBObjectsFilter" Key="@1" CurrentFilter="@Default_Filter1" TargetType="Fulfillment Q134266_1_8545931">\n  <GEBFiltering Key="@Default_Filter1" TargetType="Fulfillment Q134266_1_8545931">\n    <CurrentFilter>true</CurrentFilter>\n    <Name>Default Filter</Name>\n    <Active>true</Active>\n    <IsFavorite>false</IsFavorite>\n    <SortIndex>0</SortIndex>\n    <GEBFilteringData Key="@2">\n      <DefaultColumnPrefix></DefaultColumnPrefix>\n      <ColumnPostfix></ColumnPostfix>\n      <GEBSelectColumn Key="@Quantity1" ElementType="Fulfillment Q134266_1_8545931" ValueType="Real">\n        <ColumnID>[112610.0.1005221707]</ColumnID>\n        <BaseName>Quantity</BaseName>\n        <Name>Quantity</Name>\n        <Title>Quantity</Title>\n        <IsTarget>false</IsTarget>\n        <NameHasBeenSet>false</NameHasBeenSet>\n        <ColumnFinal>Fail</ColumnFinal>\n        <AttributePathText>Quantity</AttributePathText>\n        <AttributePathIdentifier>\n        </AttributePathIdentifier>\n      </GEBSelectColumn>\n      <GEBFilter Key="@3">\n        <FreeFilterEnabled>true</FreeFilterEnabled>\n        <GEBFilterColumn Key="@4" Column="@Quantity1">\n          <ColumnID>[112610.0.1005221707]</ColumnID>\n        </GEBFilterColumn>\n        <GEBFreeFilterBody Key="@5">\n          <ExpressionText></ExpressionText>\n          <Converter>\n          </Converter>\n        </GEBFreeFilterBody>\n      </GEBFilter>\n    </GEBFilteringData>\n  </GEBFiltering>\n</GEBObjectsFilter>\n'
                   ColumnSort [113694.0.1490809329] true false
                   ColumnSort [113694.0.1490521540] true false
                  }
                 }
                }
               }
              }
             }
            }
           }
          }
         }
         INFOOBJECT
         {
          KEY [108486.1.1171911811]
          OBJECTTYPE SplitterPane // SplitterPane1
          CONTENTS
          {
           Size 49.867197875166
           VISIBLE true
          }
          INFOOBJECTS
          {
           INFOOBJECT
           {
            KEY [108486.1.1175693802]
            OBJECTTYPE SplitterWnd // SplitterWndSupply_MP_Pegging
            INFOOBJECTS
            {
             INFOOBJECT
             {
              KEY [108486.1.1175693803]
              OBJECTTYPE SplitterPane // SplitterPane4
              CONTENTS
              {
               Size 52.6315789473684
               VISIBLE true
              }
              INFOOBJECTS
              {
               INFOOBJECT
               {
                KEY [108486.1.1175693804]
                OBJECTTYPE List // ListSupply
                CONTENTS
                {
                 Quantorrow := false
                }
                INFOOBJECTS
                {
                 INFOOBJECT
                 {
                  KEY [108486.1.1175693807]
                  OBJECTTYPE GUIDataSetLevel // GUIDataSetLevelSupply_MP
                  CONTENTS
                  {
                   Columns
                   {
                     Definition := [108486.1.1175456932]
                     {
                       [108486.1.1175896212]
                     }
                     SubTotals := true
                     Visible
                     {
                       Column internal[DataSetImageColumn] [108486.1.2113319927]
                       {
                         Width := 23
                         SizedByUser := true
                         Subtotals := false
                         Specific
                         {
                           DataPath := 'SupplyType [108486.1.1185051348]'
                         }
                       }
                       Column internal[DataSetImageColumn] [108486.2.521730743]
                       {
                         Header := 'HasValidPegging'
                         Width := 21
                         SizedByUser := true
                         Subtotals := false
                         Specific
                         {
                           DataPath := 'ImgHasValidPegging [108486.2.479981617]'
                         }
                       }
                       Column internal[DataSetImageColumn] [108486.2.14534947]
                       {
                         Header := 'HasValidPeggedQuantity'
                         Width := 23
                         SizedByUser := true
                         Subtotals := false
                         Specific
                         {
                           DataPath := 'ImgHasValidPeggedQuantity [108486.1.2146810434]'
                         }
                       }
                       Column internal[DataSetConfigurableColumn] [108486.1.2113344305]
                       {
                         Header := 'Period start'
                         Width := 115
                         Subtotals := false
                         Specific
                         {
                           Text := 'VALUE( object.GetPeriodStart() )'
                           Alignment := ''
                         }
                       }
                       Column internal[DataSetDataColumn] [108486.1.2110122007]
                       {
                         Width := 116
                         SizedByUser := true
                         Subtotals := false
                         Specific
                         {
                           DataPath := 'Quantity [112884.1.1160030032]'
                         }
                       }
                       Column internal[DataSetChartColumn] [108486.1.2113393570]
                       {
                         Header := 'Supply'
                         Width := 72
                         SizedByUser := true
                         Subtotals := false
                         Specific
                         {
                           Type := 'Stacked Bar'
                           Relative := true
                           Points
                           {
                             PointDefinition
                             {
                               Text := 'minvalue( object.GetPeggedQuantity(), object.Quantity() )'
                               Color := '$CCCCCC'
                               NegativeColor := 'Red'
                               Description := 'Used quantity for pegging'
                             }
                             PointDefinition
                             {
                               Text := 'object.GetAvailableQuantityForPegging()'
                               Color := 'Green'
                               NegativeColor := 'Red'
                               Description := 'Available quantity for pegging'
                             }
                             PointDefinition
                             {
                               Text := 'maxvalue( object.GetPeggedQuantity() - object.Quantity(), 0 )'
                               Color := 'Red'
                               NegativeColor := 'Red'
                               Description := 'Overused quantity'
                             }
                           }
                         }
                       }
                       Column internal[DataSetConfigurableColumn] [110880.2.1142925855]
                       {
                         Header := 'Available'
                         Width := 79
                         Subtotals := false
                         Specific
                         {
                           Text := 'VALUE( object.GetAvailableQuantityForPegging() )'
                           Alignment := ''
                         }
                       }
                     }
                   }
                   ColumnSort [108486.1.2113344305] true false
                  }
                 }
                }
               }
              }
             }
             INFOOBJECT
             {
              KEY [108486.1.1175693810]
              OBJECTTYPE SplitterPane // SplitterPane5
              CONTENTS
              {
               Size 47.3684210526316
               VISIBLE true
              }
              INFOOBJECTS
              {
               INFOOBJECT
               {
                KEY [108486.1.1175693811]
                OBJECTTYPE List // ListSupplyPegging
                CONTENTS
                {
                 Quantorrow := false
                }
                INFOOBJECTS
                {
                 INFOOBJECT
                 {
                  KEY [108486.1.1175693814]
                  OBJECTTYPE GUIDataSetLevel // GUIDataSetLevel4
                  CONTENTS
                  {
                   Columns
                   {
                     Definition := [108486.1.1175456935]
                     {
                       [108486.1.1175896215]
                       [108486.1.1320715924]
                     }
                     SubTotals := true
                     Visible
                     {
                       Column internal[DataSetImageColumn] [108486.1.2113733284]
                       {
                         Header := 'DemandType'
                         Width := 23
                         SizedByUser := true
                         Subtotals := false
                         Specific
                         {
                           DataPath := 'Demand_MP [134266.1.16794407]|DemandType [11660.0.340434965]'
                         }
                       }
                       Column internal[DataSetImageColumn] [110880.9.1181425511]
                       {
                         Header := 'HasUserQuantity'
                         Width := 25
                         SizedByUser := true
                         Subtotals := false
                         Specific
                         {
                           DataPath := 'ImgHasUserQuantity [108486.1.1707654857]'
                         }
                       }
                       Column internal[DataSetImageColumn] [113694.0.1488690244]
                       {
                         Width := 21
                         SizedByUser := true
                         Subtotals := false
                         Specific
                         {
                           DataPath := 'ImgHasDemand [113694.0.1488476421]'
                         }
                       }
                       Column internal[DataSetConfigurableColumn] [108486.1.2113843687]
                       {
                         Header := 'Period start'
                         Width := 115
                         Subtotals := false
                         Specific
                         {
                           Text := 'VALUE( object.Demand_MP().GetPeriodStart() )'
                           Alignment := ''
                         }
                       }
                       Column internal[DataSetDataColumn] [108486.1.2110122012]
                       {
                         Width := 100
                         Subtotals := false
                         Quantor
                         {
                           Simple := 'sum' DataMemberString := 'Quantity [134266.1.8545959]'
                         }
                         Specific
                         {
                           DataPath := 'Quantity [134266.1.8545959]'
                         }
                       }
                       Column internal[DataSetDataColumn] [108486.1.2110122013]
                       {
                         Header := 'Cost'
                         Width := 100
                         Subtotals := false
                         Quantor
                         {
                           Simple := 'sum' DataMemberString := 'BaseCost [134266.1.8545935]'
                         }
                         Specific
                         {
                           DataPath := 'BaseCost [134266.1.8545935]'
                         }
                       }
                     }
                   }
                   ColumnSort [108486.1.2113843687] true false
                  }
                 }
                }
               }
              }
             }
            }
           }
          }
         }
        }
       }
      }
     }
     INFOOBJECT
     {
      KEY [127710.1.818301225]
      SINGLEINSTANCE false
      ID '产品规划数据矩阵'
      PARENTKEY [514.0.2180]
      OBJECTTYPE Form // FormProductPlanningMatrix
      CREATETYPE FormProductPlanningMatrix
      CONTENTS
      {
       State := normal
       (0,0,0,0)
       DockableLocation := Station[MAIN]State[NORM]TreePath[T0.4493;]TabIdx[0]Selection[NONE]
      }
      BASEINFOOBJECTS
      {
      }
      INFOOBJECTS
      {
       INFOOBJECT
       {
        KEY [127710.1.821866707]
        OBJECTTYPE CheckBox // CheckBoxFilterByProductLevel
        CONTENTS
        {
         Checkstate 1
        }
       }
       INFOOBJECT
       {
        KEY [127710.1.821866918]
        OBJECTTYPE StringSelection // StringSelectionProductLevel
        CONTENTS
        {
         BoundValue '[Leaf product]'
        }
        INFOOBJECTS
        {
        }
       }
       INFOOBJECT
       {
        KEY [127710.1.818312567]
        OBJECTTYPE MatrixEditor // MatrixEditorProductPlanning
        CONTENTS
        {
         RowHeight 29
         ColumnWidth 82
         FirstColumnWidth 433
         Attributes 'SupplyQuantity;DependentDemandAndSalesDemandQuantity;TargetInventoryLevel;InventoryLevelEnd;StockLevelInDays'
        }
        INFOOBJECTS
        {
         INFOOBJECT
         {
          KEY [127710.1.819572713]
          OBJECTTYPE GUIScaleView // MatrixEditorColumns
          INFOOBJECTS
          {
           INFOOBJECT
           {
            KEY [127710.1.820829335]
            OBJECTTYPE UserConfigurableInformation // UserConfigurableInformationPeriod
            CONTENTS
            {
             ObjectText 'VALUE(object.Start())'
            }
           }
          }
         }
         INFOOBJECT
         {
          KEY [127710.1.819572710]
          OBJECTTYPE GUIScaleView // MatrixEditorRows
          INFOOBJECTS
          {
           INFOOBJECT
           {
            KEY [127710.1.820300549]
            OBJECTTYPE UserConfigurableInformation // UserConfigurableInformationPISP
            CONTENTS
            {
             ObjectText 'VALUE( object.Name() ) (VALUE( object.UnitOfMeasureName() ))'
            }
           }
          }
         }
        }
       }
      }
     }
     INFOOBJECT
     {
      KEY [107654.0.139602704]
      SINGLEINSTANCE false
      ID '销售需求'
      PARENTKEY [514.0.2180]
      OBJECTTYPE Form // FormSalesDemands
      CREATETYPE FormSalesDemands
      CONTENTS
      {
       State := normal
       (1344,0,192,928)
       DockableLocation := Station[MAIN]State[NORM]TreePath[T0.4493;]TabIdx[1]Selection[FOCUS]
      }
      BASEINFOOBJECTS
      {
      }
      INFOOBJECTS
      {
       INFOOBJECT
       {
        KEY [124112.0.87054864]
        OBJECTTYPE SplitterWnd // SplitterWnd1
        INFOOBJECTS
        {
         INFOOBJECT
         {
          KEY [124112.0.87054865]
          OBJECTTYPE SplitterPane // SplitterPaneSalesDemand
          CONTENTS
          {
           Size 72.2642807983482
           VISIBLE true
          }
          INFOOBJECTS
          {
           INFOOBJECT
           {
            KEY [124112.0.87250426]
            OBJECTTYPE List // ListSalesDemand
            CONTENTS
            {
             Quantorrow := false
            }
            INFOOBJECTS
            {
             INFOOBJECT
             {
              KEY [124112.0.87253131]
              OBJECTTYPE GUIDataSetLevel // GUIDataSetLevelSalesDemand
              CONTENTS
              {
               Columns
               {
                 SubTotals := true
                 Visible
                 {
                   Column internal[DataSetDataColumn] [414702.1.48371364]
                   {
                     Width := 155
                     SizedByUser := true
                     Subtotals := false
                     Specific
                     {
                       DataPath := 'StartDate [151892.1.1091152440]'
                       AttributePathIdentifier := "StartType('external[Forecast]')
                       Attribute([151892.1.1091152440])"
                     }
                   }
                   Column internal[DataSetImageColumn] [124112.0.127773359]
                   {
                     Width := 46
                     SizedByUser := true
                     Subtotals := false
                     Specific
                     {
                       DataPath := 'ImgNotLinkedToPeriod [11766.1.1447220213]'
                     }
                   }
                   Column internal[DataSetImageColumn] [124112.0.127773360]
                   {
                     Width := 20
                     SizedByUser := true
                     Subtotals := false
                     Specific
                     {
                       DataPath := 'ImgIsPostponed [101472.1.1295487708]'
                     }
                   }
                   Column internal[DataSetDataColumn] [124112.0.127773361]
                   {
                     Header := 'Sales segment'
                     Width := 136
                     Subtotals := true
                     Specific
                     {
                       DataPath := 'SalesSegment_MP [124112.0.66357172]|Name [101472.1.1552565832]'
                     }
                   }
                   Column internal[DataSetDataColumn] [124112.0.127773362]
                   {
                     Header := 'Product'
                     Width := 171
                     SizedByUser := true
                     Subtotals := false
                     Specific
                     {
                       DataPath := 'ProductInStockingPoint_MP [124112.0.61687182]|Product_MP [11660.0.486228287]|Name [101472.1.1551142288]'
                     }
                   }
                   Column internal[DataSetDataColumn] [124112.0.127773363]
                   {
                     Header := 'Stocking point'
                     Width := 182
                     SizedByUser := true
                     Subtotals := false
                     Specific
                     {
                       DataPath := 'ProductInStockingPoint_MP [124112.0.61687182]|StockingPoint_MP [11660.0.488414369]|Name [101472.1.1554218718]'
                     }
                   }
                   Column internal[DataSetDataColumn] [112610.0.1212432722]
                   {
                     Width := 93
                     Subtotals := false
                     Quantor
                     {
                       Simple := 'sum' DataMemberString := 'Quantity [151892.1.1091152476]'
                     }
                     Specific
                     {
                       DataPath := 'Quantity [151892.1.1091152476]'
                     }
                   }
                   Column internal[DataSetChartColumn] [112610.0.1108107591]
                   {
                     Header := 'Fulfillment'
                     Width := 100
                     Subtotals := false
                     Specific
                     {
                       Type := 'Stacked Bar'
                       Relative := false
                       Points
                       {
                         PointDefinition
                         {
                           Text := 'object.FulfilledQuantity() * object.DefaultUOMConversionFactor()'
                           Color := 'Green'
                           NegativeColor := 'Red'
                           Description := ''
                         }
                         PointDefinition
                         {
                           Text := 'sum( object, SalesDemandInPeriod, sdip, sdip.UnfulfilledQuantity() * object.DefaultUOMConversionFactor() )'
                           Color := '$FFA300'
                           NegativeColor := 'Green'
                           Description := ''
                         }
                       }
                     }
                   }
                   Column internal[DataSetDataColumn] [124112.0.127773364]
                   {
                     Width := 56
                     Subtotals := false
                     Specific
                     {
                       DataPath := 'Price [151892.1.1091152449]'
                     }
                   }
                 }
               }
               Filter := '<?xml version="1.0" encoding="UTF-16"?>\n<GEBObjectsFilter xmlns="http://www.quintiq.com/GEB/GEBObjectsFilter" Key="@1" CurrentFilter="@Default_Filter1" TargetType="Forecast Q124112_0_61686821">\n  <GEBFiltering Key="@Default_Filter1" TargetType="Forecast Q124112_0_61686821">\n    <CurrentFilter>true</CurrentFilter>\n    <Name>Default Filter</Name>\n    <Active>true</Active>\n    <IsFavorite>false</IsFavorite>\n    <SortIndex>0</SortIndex>\n    <GEBFilteringData Key="@2">\n      <DefaultColumnPrefix></DefaultColumnPrefix>\n      <ColumnPostfix></ColumnPostfix>\n      <GEBSelectColumn Key="@Quantity1" ElementType="Forecast Q124112_0_61686821" ValueType="Real">\n        <ColumnID>[112610.0.1212345820]</ColumnID>\n        <BaseName>Quantity</BaseName>\n        <Name>Quantity</Name>\n        <Title>Quantity</Title>\n        <IsTarget>false</IsTarget>\n        <NameHasBeenSet>false</NameHasBeenSet>\n        <ColumnFinal>Fail</ColumnFinal>\n        <AttributePathText>Quantity</AttributePathText>\n        <AttributePathIdentifier>\n        </AttributePathIdentifier>\n      </GEBSelectColumn>\n      <GEBSelectColumn Key="@FulfilledQuantity1" ElementType="Forecast Q124112_0_61686821" ValueType="Real">\n        <ColumnID>[112610.0.1212349003]</ColumnID>\n        <BaseName>FulfilledQuantity</BaseName>\n        <Name>FulfilledQuantity</Name>\n        <Title>FulfilledQuantity</Title>\n        <IsTarget>false</IsTarget>\n        <NameHasBeenSet>false</NameHasBeenSet>\n        <ColumnFinal>Fail</ColumnFinal>\n        <AttributePathText>FulfilledQuantity</AttributePathText>\n        <AttributePathIdentifier>\n        </AttributePathIdentifier>\n      </GEBSelectColumn>\n      <GEBFilter Key="@3">\n        <FreeFilterEnabled>true</FreeFilterEnabled>\n        <GEBFilterColumn Key="@4" Column="@Quantity1">\n          <ColumnID>[112610.0.1212345820]</ColumnID>\n        </GEBFilterColumn>\n        <GEBFilterColumn Key="@5" Column="@FulfilledQuantity1">\n          <ColumnID>[112610.0.1212349003]</ColumnID>\n        </GEBFilterColumn>\n        <GEBFreeFilterBody Key="@6">\n          <ExpressionText></ExpressionText>\n          <Converter>\n          </Converter>\n        </GEBFreeFilterBody>\n      </GEBFilter>\n    </GEBFilteringData>\n  </GEBFiltering>\n</GEBObjectsFilter>\n'
               ColumnSort [414702.1.48371364] true false
              }
             }
            }
           }
          }
         }
         INFOOBJECT
         {
          KEY [124112.0.87054866]
          OBJECTTYPE SplitterPane // SplitterPaneSalesDemandInPeriod
          CONTENTS
          {
           Size 27.7357192016518
           VISIBLE true
          }
          INFOOBJECTS
          {
           INFOOBJECT
           {
            KEY [116826.1.6886965]
            OBJECTTYPE SplitterWnd // SplitterWnd
            INFOOBJECTS
            {
             INFOOBJECT
             {
              KEY [116826.1.6886966]
              OBJECTTYPE SplitterPane // SplitterPane
              CONTENTS
              {
               VISIBLE true
              }
              INFOOBJECTS
              {
               INFOOBJECT
               {
                KEY [116826.1.6887229]
                OBJECTTYPE List // ListAggregatedSalesDemandInPeriod
                CONTENTS
                {
                 Quantorrow := false
                }
                INFOOBJECTS
                {
                 INFOOBJECT
                 {
                  KEY [116826.1.6887235]
                  OBJECTTYPE GUIDataSetLevel // GUIDataSetLevelSalesDemandInPeriod
                  CONTENTS
                  {
                   Columns
                   {
                     Definition := [11766.0.1025088210]
                     {
                       [11766.1.490215920]
                     }
                     SubTotals := true
                     Visible
                     {
                       Column internal[DataSetDataColumn] [127710.1.899918256]
                       {
                         Header := 'Sales segment'
                         Width := 120
                         Subtotals := false
                         Specific
                         {
                           DataPath := 'SalesSegmentName [123718.0.362599768]'
                         }
                       }
                       Column internal[DataSetDataColumn] [127710.1.899918258]
                       {
                         Header := 'Product'
                         Width := 103
                         Subtotals := false
                         Specific
                         {
                           DataPath := 'ProductID [123718.0.362599725]'
                         }
                       }
                       Column internal[DataSetDataColumn] [127710.1.899918257]
                       {
                         Header := 'Stocking point'
                         Width := 121
                         Subtotals := false
                         Specific
                         {
                           DataPath := 'StockingPointID [123718.0.362599783]'
                         }
                       }
                       Column internal[DataSetDataColumn] [127710.1.899918259]
                       {
                         Header := 'Start'
                         Width := 96
                         Subtotals := false
                         Specific
                         {
                           DataPath := 'StartDate [123718.0.362599776]'
                         }
                       }
                       Column internal[DataSetDataColumn] [127710.1.899918260]
                       {
                         Header := 'End'
                         Width := 98
                         Subtotals := false
                         Specific
                         {
                           DataPath := 'EndDate [123718.0.362599633]'
                         }
                       }
                       Column internal[DataSetDataColumn] [127710.1.899918261]
                       {
                         Width := 77
                         Subtotals := false
                         Specific
                         {
                           DataPath := 'Quantity [101320.0.110374989]'
                         }
                       }
                       Column internal[DataSetDataColumn] [127710.1.899918262]
                       {
                         Header := 'Fulfilled'
                         Width := 69
                         Subtotals := false
                         Specific
                         {
                           DataPath := 'FulfilledQuantity [11660.0.157649047]'
                         }
                       }
                     }
                   }
                   ColumnSort [127710.1.899918259] true false
                  }
                 }
                }
               }
              }
             }
             INFOOBJECT
             {
              KEY [116826.1.6886967]
              OBJECTTYPE SplitterPane // SplitterPane552
              CONTENTS
              {
               VISIBLE true
              }
              INFOOBJECTS
              {
               INFOOBJECT
               {
                KEY [116826.1.6889558]
                OBJECTTYPE List // ListDisaggregatedSalesDemandInPeriod
                CONTENTS
                {
                 Quantorrow := false
                }
                INFOOBJECTS
                {
                 INFOOBJECT
                 {
                  KEY [116826.1.6889563]
                  OBJECTTYPE GUIDataSetLevel // GUIDataSetLevel
                  CONTENTS
                  {
                   Columns
                   {
                     Definition := [11766.0.1025088210]
                     {
                       [11766.1.490215920]
                     }
                     SubTotals := true
                     Visible
                     {
                       Column internal[DataSetDataColumn] [127710.1.899918256]
                       {
                         Header := 'Sales segment'
                         Width := 212
                         Subtotals := true
                         Specific
                         {
                           DataPath := 'SalesSegmentName [123718.0.362599768]'
                         }
                       }
                       Column internal[DataSetDataColumn] [127710.1.899918258]
                       {
                         Header := 'Product'
                         Width := 118
                         Subtotals := false
                         Specific
                         {
                           DataPath := 'ProductID [123718.0.362599725]'
                         }
                       }
                       Column internal[DataSetDataColumn] [127710.1.899918257]
                       {
                         Header := 'Stocking point'
                         Width := 124
                         Subtotals := false
                         Specific
                         {
                           DataPath := 'StockingPointID [123718.0.362599783]'
                         }
                       }
                       Column internal[DataSetDataColumn] [127710.1.899918259]
                       {
                         Header := 'Start'
                         Width := 103
                         Subtotals := false
                         Specific
                         {
                           DataPath := 'StartDate [123718.0.362599776]'
                         }
                       }
                       Column internal[DataSetDataColumn] [127710.1.899918260]
                       {
                         Header := 'End'
                         Width := 103
                         Subtotals := false
                         Specific
                         {
                           DataPath := 'EndDate [123718.0.362599633]'
                         }
                       }
                       Column internal[DataSetDataColumn] [127710.1.899918261]
                       {
                         Width := 77
                         Subtotals := false
                         Specific
                         {
                           DataPath := 'Quantity [101320.0.110374989]'
                         }
                       }
                       Column internal[DataSetDataColumn] [127710.1.899918262]
                       {
                         Header := 'Fulfilled'
                         Width := 69
                         Subtotals := false
                         Specific
                         {
                           DataPath := 'FulfilledQuantity [11660.0.157649047]'
                         }
                       }
                     }
                   }
                   DataMemberSort 'ProductInStockingPoint_MP [123718.0.362599994]|Product_MP [11660.0.486228287]|Name [101472.1.1551142288]' true true
                   DataMemberSort 'ProductInStockingPoint_MP [123718.0.362599994]|StockingPoint_MP [11660.0.488414369]|Name [101472.1.1554218718]' true true
                  }
                 }
                }
               }
              }
             }
            }
           }
          }
         }
        }
       }
      }
     }
     INFOOBJECT
     {
      KEY [136682.0.365472357]
      SINGLEINSTANCE false
      ID '加工路径'
      PARENTKEY [514.0.2180]
      OBJECTTYPE Form // FormRoutings
      CREATETYPE FormRoutings
      CONTENTS
      {
       State := normal
       (0,0,0,0)
       DockableLocation := Station[MAIN]State[NORM]TreePath[B0.5507;]TabIdx[0]Selection[NONE]
      }
      BASEINFOOBJECTS
      {
      }
      INFOOBJECTS
      {
       INFOOBJECT
       {
        KEY [136682.0.365497231]
        OBJECTTYPE SplitterWnd // SplitterWnd1
        INFOOBJECTS
        {
         INFOOBJECT
         {
          KEY [136682.0.365497232]
          OBJECTTYPE SplitterPane // SplitterPane
          CONTENTS
          {
           VISIBLE true
          }
          INFOOBJECTS
          {
           INFOOBJECT
           {
            KEY [136682.0.365497233]
            OBJECTTYPE List // ListRouting
            CONTENTS
            {
             Quantorrow := false
            }
            INFOOBJECTS
            {
             INFOOBJECT
             {
              KEY [136682.0.365497235]
              OBJECTTYPE GUIDataSetLevel // GUIDataSetLevelRouting
              CONTENTS
              {
               Columns
               {
                 SubTotals := true
                 Visible
                 {
                   Column internal[DataSetDataColumn] [414702.1.14320987]
                   {
                     Width := 100
                     Subtotals := false
                     Specific
                     {
                       DataPath := 'AllowWIPInventory [127238.0.1952375105]'
                     }
                   }
                   Column internal[DataSetDataColumn] [414702.1.14320988]
                   {
                     Width := 100
                     Subtotals := false
                     Specific
                     {
                       DataPath := 'BackgroundRegionHeight [110994.0.1957900049]'
                     }
                   }
                   Column internal[DataSetDataColumn] [414702.1.14320989]
                   {
                     Width := 100
                     Subtotals := false
                     Specific
                     {
                       DataPath := 'BackgroundRegionWidth [110994.0.1957900066]'
                     }
                   }
                   Column internal[DataSetDataColumn] [414702.1.14320990]
                   {
                     Width := 100
                     Subtotals := false
                     Specific
                     {
                       DataPath := 'CopyHelper [145808.0.1360181115]'
                     }
                   }
                   Column internal[DataSetDataColumn] [414702.1.14320991]
                   {
                     Width := 100
                     Subtotals := false
                     Specific
                     {
                       DataPath := 'End [113694.1.1906651480]'
                     }
                   }
                   Column internal[DataSetDataColumn] [414702.1.14320992]
                   {
                     Width := 100
                     Subtotals := false
                     Specific
                     {
                       DataPath := 'HasInputOrOutput [127710.1.662345328]'
                     }
                   }
                   Column internal[DataSetDataColumn] [414702.1.14320993]
                   {
                     Width := 100
                     Subtotals := false
                     Specific
                     {
                       DataPath := 'HasNonSystemInputOrOutput [158636.0.308982340]'
                     }
                   }
                   Column internal[DataSetDataColumn] [414702.1.14320994]
                   {
                     Width := 100
                     Subtotals := false
                     Specific
                     {
                       DataPath := 'HasStep [127710.1.661407939]'
                     }
                   }
                   Column internal[DataSetDataColumn] [414702.1.14320995]
                   {
                     Width := 100
                     Subtotals := false
                     Specific
                     {
                       DataPath := 'ID [113694.1.1906651466]'
                     }
                   }
                   Column internal[DataSetDataColumn] [414702.1.14320996]
                   {
                     Width := 100
                     Subtotals := false
                     Specific
                     {
                       DataPath := 'IsEnabled [113694.1.1929700744]'
                     }
                   }
                   Column internal[DataSetDataColumn] [414702.1.14320997]
                   {
                     Width := 100
                     Subtotals := false
                     Specific
                     {
                       DataPath := 'IsManuallyConfigured [129442.0.45566327]'
                     }
                   }
                   Column internal[DataSetDataColumn] [414702.1.14320998]
                   {
                     Width := 100
                     Subtotals := false
                     Specific
                     {
                       DataPath := 'IsSoftDeleted [124808.0.1333363657]'
                     }
                   }
                   Column internal[DataSetDataColumn] [414702.1.14320999]
                   {
                     Width := 100
                     Subtotals := false
                     Specific
                     {
                       DataPath := 'IsValidData [124808.0.1255490063]'
                     }
                   }
                   Column internal[DataSetDataColumn] [414702.1.14321000]
                   {
                     Width := 100
                     Subtotals := false
                     Specific
                     {
                       DataPath := 'LeftRegionHeight [110994.0.1930836805]'
                     }
                   }
                   Column internal[DataSetDataColumn] [414702.1.14321001]
                   {
                     Width := 100
                     Subtotals := false
                     Specific
                     {
                       DataPath := 'LeftRegionWidth [110994.0.1921226998]'
                     }
                   }
                   Column internal[DataSetDataColumn] [414702.1.14321002]
                   {
                     Width := 100
                     Subtotals := false
                     Specific
                     {
                       DataPath := 'MaxNrOfOperations [110994.0.1912206775]'
                     }
                   }
                   Column internal[DataSetDataColumn] [414702.1.14321003]
                   {
                     Width := 100
                     Subtotals := false
                     Specific
                     {
                       DataPath := 'MinXOutputPISP [113694.1.1978168643]'
                     }
                   }
                   Column internal[DataSetDataColumn] [414702.1.14321004]
                   {
                     Width := 376
                     SizedByUser := true
                     Subtotals := false
                     Specific
                     {
                       DataPath := 'Name [113694.1.1906651470]'
                     }
                   }
                   Column internal[DataSetDataColumn] [414702.1.14321005]
                   {
                     Width := 100
                     Subtotals := false
                     Specific
                     {
                       DataPath := 'SanityCheckDataMostSevere [122192.0.113673777]'
                     }
                   }
                   Column internal[DataSetDataColumn] [414702.1.14321006]
                   {
                     Width := 100
                     Subtotals := false
                     Specific
                     {
                       DataPath := 'SanityCheckDataMostSevereCount [122192.0.113673781]'
                     }
                   }
                   Column internal[DataSetDataColumn] [414702.1.14321007]
                   {
                     Width := 100
                     Subtotals := false
                     Specific
                     {
                       DataPath := 'SanityCheckDataTotalViolationCount [122192.0.170828320]'
                     }
                   }
                   Column internal[DataSetDataColumn] [414702.1.14321008]
                   {
                     Width := 100
                     Subtotals := false
                     Specific
                     {
                       DataPath := 'Start [113694.1.1906651474]'
                     }
                   }
                   Column internal[DataSetDataColumn] [414702.1.14321009]
                   {
                     Width := 100
                     Subtotals := false
                     Specific
                     {
                       DataPath := 'TopRegionHeight [110994.0.1930538690]'
                     }
                   }
                   Column internal[DataSetDataColumn] [414702.1.14321010]
                   {
                     Width := 100
                     Subtotals := false
                     Specific
                     {
                       DataPath := 'TopRegionWidth [110994.0.1921955322]'
                     }
                   }
                   Column internal[DataSetImageColumn] [414702.1.14321011]
                   {
                     Width := 100
                     Subtotals := false
                     Specific
                     {
                       DataPath := 'ImgIsEnabled [113694.1.1934081987]'
                     }
                   }
                 }
               }
              }
             }
            }
           }
          }
         }
         INFOOBJECT
         {
          KEY [136682.0.365497250]
          OBJECTTYPE SplitterPane // SplitterPane1
          CONTENTS
          {
           VISIBLE true
          }
          INFOOBJECTS
          {
           INFOOBJECT
           {
            KEY [136682.0.365497251]
            OBJECTTYPE SplitterWnd // SplitterWnd2
            INFOOBJECTS
            {
             INFOOBJECT
             {
              KEY [136682.0.365497252]
              OBJECTTYPE SplitterPane // SplitterPane2
              CONTENTS
              {
               VISIBLE true
              }
              INFOOBJECTS
              {
              }
             }
            }
           }
          }
         }
        }
       }
       INFOOBJECT
       {
        KEY [136682.0.365502343]
        OBJECTTYPE CheckBox // CheckBoxFilterProduct
        CONTENTS
        {
         Checkstate 1
        }
       }
      }
     }
    }
   }
  }
}
_var/_Main/ProjSettings/MacroPlannerWebApp/Views/Capacity___sale_budge.vw
@@ -191,10 +191,10 @@
    userconfigurableinformation
    {
    }
    index: 0
    image: 'CHART_HI_LO'
    page: 'ActionBarPageScenarioComparison'
    group: ''
    index: 0
    description: ''
  }
  formatversion: 2
_var/_Main/ProjSettings/MacroPlannerWebApp/Views/PR_DATA.vw
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,428 @@
Quintiq file version 2.0
{
  viewcontents
  {
    forms
    {
      form_legacy_1
      {
        title: 'Scenario manager'
        shown: true
        componentID: 'FormScenarioManager'
        layout
        {
          mode: 'open'
          rowPosition: 1
          rowSpan: 8
          columnPosition: 1
          columnSpan: 5
        }
        components
        {
          FormScenarioManager_ListScenario
          {
          }
          FormScenarioManager_DataSetLevelScenario
          {
            groupDepth: -1
            column_All_constraints
            {
              columnId: 'All constraints'
              dataPath: 'All constraints'
              dataType: 'string'
              title: 'All constraints'
              index: 0
              subtotals: ''
              width: 100
            }
            column_Name
            {
              columnId: 'Name'
              dataPath: 'Name'
              dataType: 'string'
              title: '名称'
              index: 1
              subtotals: ''
              width: 233
            }
            column_ChangedBy
            {
              columnId: 'ChangedBy'
              dataPath: 'ChangedBy'
              dataType: 'string'
              title: 'Changed by'
              index: 2
              subtotals: ''
              width: 86
            }
            column_ChangedOn
            {
              columnId: 'ChangedOn'
              dataPath: 'ChangedOn'
              dataType: 'datetime'
              title: 'Changed on'
              index: 3
              subtotals: ''
              width: 150
            }
            column_StorageMode
            {
              columnId: 'StorageMode'
              dataPath: 'StorageMode'
              dataType: 'string'
              title: 'StorageMode'
              index: 4
              subtotals: ''
              width: 40
            }
          }
        }
      }
      form_legacy_2
      {
        title: 'Assumptions'
        shown: true
        componentID: 'FormAssumptions'
        layout
        {
          mode: 'open'
          rowPosition: 9
          rowSpan: 8
          columnPosition: 1
          columnSpan: 5
        }
        components
        {
          FormAssumptions_ListAssumptions
          {
          }
          FormAssumptions_DataSetLevelAssumptions
          {
            groupDepth: -1
            column_All_constraints
            {
              columnId: 'All constraints'
              dataPath: 'All constraints'
              dataType: 'string'
              title: 'All constraints'
              index: 0
              subtotals: ''
              width: 32
            }
            column_Category
            {
              columnId: 'Category'
              dataPath: 'Category'
              dataType: 'string'
              title: '类别'
              index: 1
              subtotals: ''
              width: 162
            }
            column_Importance
            {
              columnId: 'Importance'
              dataPath: 'Importance'
              dataType: 'string'
              title: '重要性'
              index: 2
              subtotals: ''
              width: 104
            }
            column_Title
            {
              columnId: 'Title'
              dataPath: 'Title'
              dataType: 'string'
              title: '标题'
              index: 3
              subtotals: ''
              width: 150
            }
            column_ChangedBy
            {
              columnId: 'ChangedBy'
              dataPath: 'ChangedBy'
              dataType: 'string'
              title: 'Changed by'
              index: 4
              subtotals: ''
              width: 92
            }
            column_CreatedOn
            {
              columnId: 'CreatedOn'
              dataPath: 'CreatedOn'
              dataType: 'datetime'
              title: 'Created on'
              index: 5
              subtotals: ''
              width: 150
            }
          }
        }
      }
      form_legacy_4
      {
        title: 'Supply chain overview'
        shown: true
        componentID: 'FormSupplyChainOverview'
        layout
        {
          mode: 'open'
          rowPosition: 1
          rowSpan: 16
          columnPosition: 6
          columnSpan: 7
        }
        components
        {
          FormSupplyChainOverview_PanelToolbar
          {
            sizeRatio: 1
          }
          FormSupplyChainOverview_PanelSCO
          {
            sizeRatio: 1
          }
          FormSupplyChainOverview_CustomDrawSCO
          {
            forceFitY: false
            zoomX: 1
            zoomY: 1
            forceFitX: false
            backendState
            {
              componentId: 'QLibMacroPlannerWebUI::FormSupplyChainOverview.CustomDrawSCO'
              state
              {
              }
            }
          }
        }
      }
      form_FormPRHistoryData
      {
        title: 'QTIANMA_JITUAN::FormPRHistoryData'
        shown: true
        componentID: 'QTIANMA_JITUAN::FormPRHistoryData'
        layout
        {
          mode: 'open'
          rowPosition: 17
          rowSpan: 6
          columnPosition: 5
          columnSpan: 7
        }
        components
        {
          FormPRHistoryData_PanelPRHistoryButton
          {
            sizeRatio: 1
          }
          FormPRHistoryData_ListPRHistoryData
          {
          }
          FormPRHistoryData_DataSetLevelPRHistoryData
          {
            groupDepth: -1
            column_BusinessType
            {
              columnId: 'BusinessType'
              dataPath: 'BusinessType'
              dataType: 'string'
              index: 0
              subtotals: ''
              width: 150
            }
            column_MRPCalverNo
            {
              columnId: 'MRPCalverNo'
              dataPath: 'MRPCalverNo'
              dataType: 'string'
              index: 1
              subtotals: ''
              width: 150
            }
            column_OrganCode
            {
              columnId: 'OrganCode'
              dataPath: 'OrganCode'
              dataType: 'string'
              index: 2
              subtotals: ''
              width: 150
            }
            column_ProductID
            {
              columnId: 'ProductID'
              dataPath: 'ProductID'
              dataType: 'string'
              index: 3
              subtotals: ''
              width: 150
            }
            column_StockingPointID
            {
              columnId: 'StockingPointID'
              dataPath: 'StockingPointID'
              dataType: 'string'
              index: 4
              subtotals: ''
              width: 150
            }
            column_Quantity
            {
              columnId: 'Quantity'
              dataPath: 'Quantity'
              dataType: 'real'
              index: 5
              subtotals: ''
              width: 150
            }
            column_SendStatus
            {
              columnId: 'SendStatus'
              dataPath: 'SendStatus'
              dataType: 'string'
              index: 6
              subtotals: ''
              width: 150
            }
            column_ReleaseBy
            {
              columnId: 'ReleaseBy'
              dataPath: 'ReleaseBy'
              dataType: 'string'
              index: 7
              subtotals: ''
              width: 150
            }
            column_ReceiveStatus
            {
              columnId: 'ReceiveStatus'
              dataPath: 'ReceiveStatus'
              dataType: 'string'
              index: 8
              subtotals: ''
              width: 150
            }
            column_ReceiveError
            {
              columnId: 'ReceiveError'
              dataPath: 'ReceiveError'
              dataType: 'string'
              index: 9
              subtotals: ''
              width: 150
            }
          }
        }
      }
      form_FormPRData
      {
        title: 'QTIANMA_JITUAN::FormPRData'
        shown: true
        componentID: 'QTIANMA_JITUAN::FormPRData'
        layout
        {
          mode: 'open'
          rowPosition: 17
          rowSpan: 6
          columnPosition: 1
          columnSpan: 4
        }
        components
        {
          FormPRData_PanelPRDataButton
          {
            sizeRatio: 1
          }
          FormPRData_ListPRData
          {
          }
          FormPRData_DataSetLevelPRData
          {
            groupDepth: -1
            column_MRPCalverNo
            {
              columnId: 'MRPCalverNo'
              dataPath: 'MRPCalverNo'
              dataType: 'string'
              index: 0
              subtotals: ''
              width: 150
            }
            column_ProductID
            {
              columnId: 'ProductID'
              dataPath: 'ProductID'
              dataType: 'string'
              index: 1
              subtotals: ''
              width: 150
            }
            column_StockingPointID
            {
              columnId: 'StockingPointID'
              dataPath: 'StockingPointID'
              dataType: 'string'
              index: 2
              subtotals: ''
              width: 150
            }
            column_ProduceRequiredDate
            {
              columnId: 'ProduceRequiredDate'
              dataPath: 'ProduceRequiredDate'
              dataType: 'date'
              index: 3
              subtotals: ''
              width: 150
            }
            column_Quantity
            {
              columnId: 'Quantity'
              dataPath: 'Quantity'
              dataType: 'real'
              index: 4
              subtotals: ''
              width: 150
            }
            column_SendStatus
            {
              columnId: 'SendStatus'
              dataPath: 'SendStatus'
              dataType: 'string'
              index: 5
              subtotals: ''
              width: 150
            }
            column_SendBy
            {
              columnId: 'SendBy'
              dataPath: 'SendBy'
              dataType: 'string'
              index: 6
              subtotals: ''
              width: 150
            }
          }
        }
      }
    }
    userconfigurableinformation
    {
    }
    image: 'WORM'
    page: 'ActionBarPageData'
    group: ''
    index: 0
    description: 'PR申请'
  }
  formatversion: 2
  id: 'PR_DATA'
  name: 'PR_DATA'
  isglobal: false
  isroot: true
}