From 30c02e0c981b16be0918483543f4b812956c45d4 Mon Sep 17 00:00:00 2001
From: Lai,Risheng <risheng.lai@capgemini.com>
Date: 星期四, 02 十一月 2023 10:50:51 +0800
Subject: [PATCH] Merge remote-tracking branch 'refs/remotes/origin/dev'
---
_Main/BL/Type_ProductInLane/StaticMethod_FindById.qbl | 16
_Main/BL/Type_Global_MappingUnitOfMeasure_MP/StaticMethod_SynchronizeMacroPlanData.qbl | 24
_Main/BL/Type_PeggingResult/StaticMethod_SetParentChildRelationship.qbl | 14
_Main/BL/Type_LaneLeg/StaticMethod_CreateLaneLegFromJson.qbl | 3
_Main/UI/MacroPlannerWebApp/Component_ApplicationMacroPlanner/Response_TIANMA_JITUAN_cmTestAttempt_mnPeggingAnalyse_OnClick.def | 16
_Main/UI/MacroPlannerWebApp/Component_FormPeggingProduct_MP/Component_pButton.def | 37
_Main/BL/Type_CapacityAndSaleBudgeCompareItemCell/StaticMethod_CreatePanelAllocationBudget.qbl | 28
_Main/BL/Type_Global_MappingCurrency_MP/StaticMethod_SynchronizeMacroPlanData.qbl | 20
_Main/BL/Type_MacroPlan/Method_ApiLaneLegsData.qbl | 3
_Main/UI/MacroPlannerWebApp/Component_FormPeggingAllResult/_ROOT_Component_FormPeggingAllResult.def | 17
_Main/BL/Type_Currency_MP/StaticMethod_CreateFromMapping.qbl | 27
_Main/BL/Type_Global_MappingStockingPoint_MP/StaticMethod_SynchronizeMacroPlanData.qbl | 20
_Main/UI/MacroPlannerWebApp/Component_FormPeggingAllResult/Component_listContextMenuPeggingAllResult.def | 25
_Main/BL/Type_StockingPoint_MP/StaticMethod_CreateFromMapping.qbl | 28
_Main/UI/MacroPlanner/Component_FormPeggingResult/_ROOT_Component_FormPeggingResult.def | 41
_Main/BL/Type_PeggingResult/StaticMethod_GenerateInventorySupply.qbl | 31
_Main/UI/MacroPlannerWebApp/Component_FormPeggingProductInSalesDemandBase/_ROOT_Component_FormPeggingProductInSalesDemandBase.def | 17
_Main/UI/MacroPlanner/Component_FormPeggingResult/Component_ListPeggingProductInSalesDemandBase.def | 117 +
_Main/BL/Relations/Relation_PeggingResult_PeggingProductInSalesDemandBase_PeggingProductInSales.qbl | 23
_Main/BL/Type_Global_MappingProductInLane/StaticMethod_SynchronizeMacroPlanData.qbl | 6
_Main/BL/Type_MacroPlan/Method_DoASyncMappingExternalSupplyData.qbl | 2
_Main/BL/Type_MacroPlan/StaticMethod_DoSync0.qbl | 4
_Main/BL/Relations/Relation_PeggingResult_AllChild_PeggingResult_AllParent.qbl | 23
_Main/BL/Type_Global_MappingForecast/StaticMethod_SynchronizeMacroPlanData.qbl | 5
_Main/UI/MacroPlannerWebApp/Component_FormPeggingResult/_ROOT_Component_FormPeggingResult.def | 17
_Main/BL/Type_Lane/StaticMethod_FindById.qbl | 15
_Main/BL/Type_Lane/StaticMethod_CreateLane.qbl | 3
_Main/UI/MacroPlannerWebApp/Component_FormPeggingResult/Response_ListPeggingResult_MenuSelectionAll_OnClick.def | 17
_Main/BL/Type_CurrencyRate_MP/StaticMethod_FindByIdAndStart.qbl | 17
_Main/BL/Type_ProductInLane/StaticMethod_CreateOrUpdate.qbl | 6
_Main/BL/Type_PeggingResult/Attribute_UnitOfMeasurementName.qbl | 7
_Main/UI/MacroPlannerWebApp/Component_FormPeggingProductInSalesDemandBase/Component_listActionBarPagePeggingProductInSalesDemandBase.def | 10
_Main/BL/Type_Global_MappingCustomOrder/StaticMethod_SynchronizeMacroPlanData.qbl | 7
_Main/BL/Type_PeggingResult/StaticMethod_Create.qbl | 31
_Main/BL/Type_Global_MappingOperation/StaticMethod_SynchronizeMacroPlanData.qbl | 5
_Main/BL/Type_Global_MappingConversionFactor/StaticMethod_SynchronizeMacroPlanData.qbl | 5
_Main/UI/MacroPlannerWebApp/Views/Pegging分析.vw | 332 +++
_Main/BL/Type_InventoryValueAndCost/StaticMethod_CreateOrUpdate.qbl | 8
_Main/BL/Type_PeggingResult/StaticMethod_CreateAllChildRelation.qbl | 17
_Main/UI/MacroPlannerWebApp/Component_FormPeggingProductInSalesDemandBase/Response_ListPeggingProductInSalesDemandBase_MenuSelectionAll_OnClick.def | 17
_Main/BL/Type_PeggingProduct_MP/Attribute_ProductID.qbl | 7
_Main/BL/Type_MacroPlan/Method_DoASyncMappingCustomerOrderData.qbl | 2
_Main/BL/Type_PeggingResult/_ROOT_Type_PeggingResult.qbl | 9
_Main/UI/MacroPlannerWebApp/Component_FormInterfaceTest/_ROOT_Component_FormInterfaceTest.def | 10
_Main/BL/Type_PeggingProductInSalesDemandBase/Attribute_Quantity.qbl | 7
_Main/BL/Type_LaneLeg/StaticMethod_FindByIdAndLane.qbl | 17
_Main/BL/Type_PeggingResult/StaticMethod_CreateAllGroupChildRelation.qbl | 7
_Main/BL/Type_Global_MappingLane/StaticMethod_SynchronizeMacroPlanData.qbl | 52
_Main/UI/MacroPlannerWebApp/Component_FormPeggingProductInSalesDemandBase/Component_listContextMenuPeggingProductInSalesDemandBase.def | 36
_Main/BL/Type_Currency_MP/StaticMethod_CreateCurrency.qbl | 2
_Main/BL/Type_LaneLeg/StaticMethod_CreateFromMapping.qbl | 42
_Main/UI/MacroPlannerWebApp/Component_FormPeggingProduct_MP/_ROOT_Component_FormPeggingProduct_MP.def | 18
_Main/BL/Type_GlobalOTDSOP/Method_CapacityAndSaleBudgeCompare.qbl | 243 -
_Main/BL/Type_PeggingProductInSalesDemandBase/Attribute_StartDate.qbl | 7
_Main/UI/MacroPlannerWebApp/Component_FormPeggingProduct_MP/Response_pButton_bRunPeggingAlgorithm_OnClick.def | 22
_Main/BL/Type_Global_MappingCurrencyRate_MP/StaticMethod_SynchronizeMacroPlanData.qbl | 20
_Main/BL/Type_Global_MappingInventorySupply/StaticMethod_SynchronizeMacroPlanData.qbl | 5
_var/_Main/ProjSettings/MacroPlanner/Views/X_分析视图_[414702.1.50321581].vw | 3645 +++++++++++++++++++++++++-------
_Main/BL/Relations/Relation_PeggingProductInSalesDemandBase_PeggingProduct_MP_PeggingProduct_MP.qbl | 23
_Main/BL/Type_CurrencyRate_MP/StaticMethod_CreateFromMapping.qbl | 27
_Main/UI/MacroPlannerWebApp/Component_FormCapacityAllocationResults/Response_PanelCapacityAllocationResults_Export_OnClick.def | 6
_Main/BL/Relations/Relation_PeggingResult_AllGroupChild_PeggingResult_AllGroupParent.qbl | 23
_Main/BL/Type_BaseConversionFactor/StaticMethod_CreateOrUpdate.qbl | 14
_Main/BL/Type_Global_MappingLaneLeg/StaticMethod_SynchronizeMacroPlanData.qbl | 35
_Main/UI/MacroPlannerWebApp/Component_FormPeggingProduct_MP/Component_listContextMenuPeggingProduct_MP.def | 25
_Main/BL/Type_CapacityAndSaleBudgeCompareItemCell/StaticMethod_CreatePanelAllocationByScenario.qbl | 30
_Main/BL/EDI/Broker_GlobalOTDTable_CAR_Export.qbl | 2
_Main/BL/Type_PeggingResult/Attribute_FulfillmentQuantity.qbl | 8
_Main/BL/Type_PeggingResult/StaticMethod_GeneratePeggingResult.qbl | 25
_Main/BL/Type_Global_MappingOperationBOM/StaticMethod_SynchronizeMacroPlanData.qbl | 5
_Main/BL/Type_PeggingResult/StaticMethod_SetAllChildRelation.qbl | 20
_Main/UI/MacroPlanner/Component_ApplicationLibMacroPlanner/Component_mbMainMenu.def | 4
_Main/BL/Type_PeggingResult/Attribute_NumberOfPlies.qbl | 7
_Main/BL/Type_PeggingResult/Attribute_ProductID.qbl | 7
_Main/BL/Type_StockingPoint_MP/StaticMethod_CreateStockingpoint.qbl | 2
_Main/UI/MacroPlanner/Component_FormPeggingResult/Response_ListPeggingProductInSalesDemandBase_MenuGeneratePeggingResult_OnCli.def | 15
_Main/BL/Type_CapacityAllocationResults/StaticMethod_Export.qbl | 4
_Main/BL/Type_CurrencyRate_MP/StaticMethod_CreateCurrencyRate.qbl | 5
_Main/BL/Type_Global_MappingStockingPointCost/StaticMethod_SynchronizeMacroPlanData.qbl | 6
_Main/UI/MacroPlanner/Component_FormPeggingResult/Component_ColumnTitles552.def | 18
_Main/BL/Type_Global_MappingUnitCost/StaticMethod_SynchronizeMacroPlanData.qbl | 5
_Main/BL/Type_PeggingResult/Attribute_StockingPointID.qbl | 7
_Main/BL/Type_PeggingResult/Attribute_SupplyQuantity.qbl | 7
_Main/BL/Type_PeggingProductInSalesDemandBase/Attribute_StockingPointID.qbl | 7
_Main/BL/Type_LaneLeg/StaticMethod_CreateLaneleg.qbl | 7
_Main/UI/MacroPlannerWebApp/Component_FormPeggingProduct_MP/Response_ListPeggingProduct_MP_MenuSelectionAll_OnClick.def | 17
_Main/UI/MacroPlannerWebApp/Component_FormPeggingProductInSalesDemandBase/Component_ListPeggingProductInSalesDemandBase.def | 60
_Main/UI/MacroPlannerWebApp/Component_FormPeggingResult/Component_ListPeggingResult.def | 63
_Main/UI/MacroPlannerWebApp/Component_ApplicationMacroPlanner/Component_cmTestAttempt.def | 24
_Main/BL/Type_PeggingProductInSalesDemandBase/Attribute_SalesDemandBaseID.qbl | 7
_Main/BL/Type_PeggingProduct_MP/StaticMethod_Create.qbl | 25
_Main/UI/MacroPlannerWebApp/Component_FormPeggingProduct_MP/Component_listActionBarPagePeggingProduct_MP.def | 10
_Main/UI/MacroPlannerWebApp/Component_FormPeggingResult/Component_listContextMenuPeggingResult.def | 25
_Main/UI/MacroPlannerWebApp/Component_FormPeggingProduct_MP/Component_ListPeggingProduct_MP.def | 59
_Main/UI/MacroPlannerWebApp/Component_FormPeggingProductInSalesDemandBase/Response_ListPeggingProductInSalesDemandBase_mGeneratePeggingResult_OnClick.def | 23
_Main/BL/Relations/Relation_PeggingResult_Child_PeggingResult_Parent.qbl | 23
_Main/BL/Type_Global_MappingSalesSegment_MP/StaticMethod_SynchronizeMacroPlanData.qbl | 5
_Main/BL/Type_Forecast/StaticMethod_GetFulfilledBalanceByMonth.qbl | 10
_Main/BL/Type_PeggingResult/StaticMethod_GenerateNewSupply.qbl | 66
_Main/BL/Type_PeggingResultGroup/_ROOT_Type_PeggingResultGroup.qbl | 9
_Main/BL/Type_MacroPlan/StaticMethod_DoASync#253.qbl | 59
_Main/BL/Type_PeggingResult/Attribute_ActualFulfillmentQuantity.qbl | 8
_Main/BL/Relations/Relation_PeggingProduct_MP_GlobalOTDSOP_GlobalOTDSOP_PeggingProduct_MP.qbl | 23
_Main/UI/MacroPlannerWebApp/Component_FormPeggingAllResult/Component_listActionBarPagePeggingAllResult.def | 10
_Main/BL/Type_Global_MappingProduct_MP/StaticMethod_SynchronizeMacroPlanData.qbl | 5
_Main/BL/Type_InventoryValueAndCost/StaticMethod_FindById.qbl | 3
_Main/UI/MacroPlannerWebApp/Component_FormPeggingAllResult/Response_ListPeggingAllResult_MenuSelectAll_OnClick.def | 17
_Main/BL/Type_Global_MappingActualProductInStockingPointInPeriod/StaticMethod_SynchronizeMacroPlanData.qbl | 5
_Main/BL/Type_CurrencyRate_MP/StaticMethod_CreateCurrencyRateFromJson.qbl | 3
_Main/BL/Type_MacroPlan/Method_ApiCurencyRatesData.qbl | 3
_Main/BL/Type_PeggingProduct_MP/_ROOT_Type_PeggingProduct_MP.qbl | 9
_Main/BL/Type_CapacityAndSaleBudgeCompareItemCell/StaticMethod_CreateSalesVolumeByScenario.qbl | 30
_Main/BL/Type_Lane/StaticMethod_CreateLaneFromJson.qbl | 2
_Main/UI/MacroPlannerWebApp/Component_FormPeggingResult/Component_listActionBarPagePeggingResult.def | 10
_Main/BL/Type_Lane/StaticMethod_FindByIdAndUnit.qbl | 16
_Main/BL/Type_PeggingResult/Attribute_SupplyType.qbl | 7
_Main/UI/MacroPlannerWebApp/Component_FormPeggingProduct_MP/Response_pButton_bCreate_OnClick.def | 23
_Main/UI/MacroPlannerWebApp/Component_FormPeggingAllResult/Component_ListPeggingAllResult.def | 60
_Main/BL/Type_PeggingProductInSalesDemandBase/_ROOT_Type_PeggingProductInSalesDemandBase.qbl | 9
_Main/BL/Type_PeggingResult/StaticMethod_CreateData.qbl | 28
/dev/null | 6
_Main/BL/Type_PeggingResult/Attribute_StartDate.qbl | 7
_Main/BL/Type_CapacityAndSaleBudgeCompareItemCell/StaticMethod_CreateSalesVolume.qbl | 28
_Main/BL/Type_GlobalDTOTable/Method_SynchronizeDataToMacroPlan#127.qbl | 8
_Main/BL/Type_Lane/StaticMethod_CreasteFromMapping.qbl | 59
_Main/BL/Type_CapacityAndSaleBudgeCompareItemCell/StaticMethod_CreateData.qbl | 25
126 files changed, 5,137 insertions(+), 1,308 deletions(-)
diff --git a/_Main/BL/EDI/Broker_GlobalOTDTable_CAR_Export.qbl b/_Main/BL/EDI/Broker_GlobalOTDTable_CAR_Export.qbl
index 571fce9..f201682 100644
--- a/_Main/BL/EDI/Broker_GlobalOTDTable_CAR_Export.qbl
+++ b/_Main/BL/EDI/Broker_GlobalOTDTable_CAR_Export.qbl
@@ -2,7 +2,7 @@
#parent: #root
EDIBroker GlobalOTDTable_CAR_Export
{
- MDSDefinition: GlobalOTDTable
+ MDSDefinition: GlobalOTDSOP
TimeZone: 'ACT'
UseOSTimeZone: false
EDIModelLink.Source Source13
diff --git a/_Main/BL/Relations/Relation_PeggingProductInSalesDemandBase_PeggingProduct_MP_PeggingProduct_MP.qbl b/_Main/BL/Relations/Relation_PeggingProductInSalesDemandBase_PeggingProduct_MP_PeggingProduct_MP.qbl
new file mode 100644
index 0000000..aabfffd
--- /dev/null
+++ b/_Main/BL/Relations/Relation_PeggingProductInSalesDemandBase_PeggingProduct_MP_PeggingProduct_MP.qbl
@@ -0,0 +1,23 @@
+Quintiq file version 2.0
+#parent: #root
+Relation PeggingProductInSalesDemandBase_PeggingProduct_MP_PeggingProduct_MP_PeggingProductInSalesDemandBase
+{
+ #keys: '1[414702.1.290710058]'
+ DefaultRelationStrategy
+ {
+ }
+ RelationSide.LeftSide PeggingProduct_MP
+ {
+ #keys: '3[414702.1.290710060][414702.1.290710059][414702.1.290710061]'
+ Cardinality: '0to1'
+ ObjectDefinition: PeggingProductInSalesDemandBase
+ OwningSide: 'Reference'
+ }
+ RelationSide.RightSide PeggingProductInSalesDemandBase
+ {
+ #keys: '3[414702.1.290710063][414702.1.290710062][414702.1.290710064]'
+ Cardinality: '1toN'
+ ObjectDefinition: PeggingProduct_MP
+ OwningSide: 'Owned'
+ }
+}
diff --git a/_Main/BL/Relations/Relation_PeggingProduct_MP_GlobalOTDSOP_GlobalOTDSOP_PeggingProduct_MP.qbl b/_Main/BL/Relations/Relation_PeggingProduct_MP_GlobalOTDSOP_GlobalOTDSOP_PeggingProduct_MP.qbl
new file mode 100644
index 0000000..17eff95
--- /dev/null
+++ b/_Main/BL/Relations/Relation_PeggingProduct_MP_GlobalOTDSOP_GlobalOTDSOP_PeggingProduct_MP.qbl
@@ -0,0 +1,23 @@
+Quintiq file version 2.0
+#parent: #root
+Relation PeggingProduct_MP_GlobalOTDSOP_GlobalOTDSOP_PeggingProduct_MP
+{
+ #keys: '1[414702.1.290710038]'
+ DefaultRelationStrategy
+ {
+ }
+ RelationSide.LeftSide GlobalOTDSOP
+ {
+ #keys: '3[414702.1.290710040][414702.1.290710039][414702.1.290710041]'
+ Cardinality: '0to1'
+ ObjectDefinition: PeggingProduct_MP
+ OwningSide: 'Reference'
+ }
+ RelationSide.RightSide PeggingProduct_MP
+ {
+ #keys: '3[414702.1.290710043][414702.1.290710042][414702.1.290710044]'
+ Cardinality: '1toN'
+ ObjectDefinition: GlobalOTDSOP
+ OwningSide: 'Owned'
+ }
+}
diff --git a/_Main/BL/Relations/Relation_PeggingResult_AllChild_PeggingResult_AllParent.qbl b/_Main/BL/Relations/Relation_PeggingResult_AllChild_PeggingResult_AllParent.qbl
new file mode 100644
index 0000000..485b308
--- /dev/null
+++ b/_Main/BL/Relations/Relation_PeggingResult_AllChild_PeggingResult_AllParent.qbl
@@ -0,0 +1,23 @@
+Quintiq file version 2.0
+#parent: #root
+Relation PeggingResult_AllChild_PeggingResult_AllParent
+{
+ #keys: '1[414702.1.294852003]'
+ DefaultRelationStrategy
+ {
+ }
+ RelationSide.LeftSide AllChild
+ {
+ #keys: '3[414702.1.294852005][414702.1.294852004][414702.1.294852006]'
+ Cardinality: '1toN'
+ ObjectDefinition: PeggingResult
+ OwningSide: 'Reference'
+ }
+ RelationSide.RightSide AllParent
+ {
+ #keys: '3[414702.1.294852008][414702.1.294852007][414702.1.294852009]'
+ Cardinality: '0to1'
+ ObjectDefinition: PeggingResult
+ OwningSide: 'Reference'
+ }
+}
diff --git a/_Main/BL/Relations/Relation_PeggingResult_AllGroupChild_PeggingResult_AllGroupParent.qbl b/_Main/BL/Relations/Relation_PeggingResult_AllGroupChild_PeggingResult_AllGroupParent.qbl
new file mode 100644
index 0000000..edc59bb
--- /dev/null
+++ b/_Main/BL/Relations/Relation_PeggingResult_AllGroupChild_PeggingResult_AllGroupParent.qbl
@@ -0,0 +1,23 @@
+Quintiq file version 2.0
+#parent: #root
+Relation PeggingResult_AllGroupChild_PeggingResult_AllGroupParent
+{
+ #keys: '1[414702.1.320753677]'
+ DefaultRelationStrategy
+ {
+ }
+ RelationSide.LeftSide AllGroupChild
+ {
+ #keys: '3[414702.1.320753679][414702.1.320753678][414702.1.320753680]'
+ Cardinality: '1toN'
+ ObjectDefinition: PeggingResult
+ OwningSide: 'Reference'
+ }
+ RelationSide.RightSide AllGroupParent
+ {
+ #keys: '3[414702.1.320753682][414702.1.320753681][414702.1.320753683]'
+ Cardinality: '0to1'
+ ObjectDefinition: PeggingResult
+ OwningSide: 'Reference'
+ }
+}
diff --git a/_Main/BL/Relations/Relation_PeggingResult_Child_PeggingResult_Parent.qbl b/_Main/BL/Relations/Relation_PeggingResult_Child_PeggingResult_Parent.qbl
new file mode 100644
index 0000000..c36e77b
--- /dev/null
+++ b/_Main/BL/Relations/Relation_PeggingResult_Child_PeggingResult_Parent.qbl
@@ -0,0 +1,23 @@
+Quintiq file version 2.0
+#parent: #root
+Relation PeggingResult_Child_PeggingResult_Parent
+{
+ #keys: '1[414702.1.290710113]'
+ DefaultRelationStrategy
+ {
+ }
+ RelationSide.LeftSide Child
+ {
+ #keys: '3[414702.1.290710115][414702.1.290710114][414702.1.290710116]'
+ Cardinality: '1toN'
+ ObjectDefinition: PeggingResult
+ OwningSide: 'Reference'
+ }
+ RelationSide.RightSide Parent
+ {
+ #keys: '3[414702.1.290710118][414702.1.290710117][414702.1.290710119]'
+ Cardinality: '0to1'
+ ObjectDefinition: PeggingResult
+ OwningSide: 'Reference'
+ }
+}
diff --git a/_Main/BL/Relations/Relation_PeggingResult_PeggingProductInSalesDemandBase_PeggingProductInSales.qbl b/_Main/BL/Relations/Relation_PeggingResult_PeggingProductInSalesDemandBase_PeggingProductInSales.qbl
new file mode 100644
index 0000000..b399e75
--- /dev/null
+++ b/_Main/BL/Relations/Relation_PeggingResult_PeggingProductInSalesDemandBase_PeggingProductInSales.qbl
@@ -0,0 +1,23 @@
+Quintiq file version 2.0
+#parent: #root
+Relation PeggingResult_PeggingProductInSalesDemandBase_PeggingProductInSalesDemandBase_PeggingResult
+{
+ #keys: '1[414702.1.290710098]'
+ DefaultRelationStrategy
+ {
+ }
+ RelationSide.LeftSide PeggingProductInSalesDemandBase
+ {
+ #keys: '3[414702.1.290710100][414702.1.290710099][414702.1.290710101]'
+ Cardinality: '0to1'
+ ObjectDefinition: PeggingResult
+ OwningSide: 'Reference'
+ }
+ RelationSide.RightSide PeggingResult
+ {
+ #keys: '3[414702.1.290710103][414702.1.290710102][414702.1.290710104]'
+ Cardinality: '1toN'
+ ObjectDefinition: PeggingProductInSalesDemandBase
+ OwningSide: 'Owned'
+ }
+}
diff --git a/_Main/BL/Type_BaseConversionFactor/StaticMethod_CreateOrUpdate.qbl b/_Main/BL/Type_BaseConversionFactor/StaticMethod_CreateOrUpdate.qbl
index cd44e09..2e4ee74 100644
--- a/_Main/BL/Type_BaseConversionFactor/StaticMethod_CreateOrUpdate.qbl
+++ b/_Main/BL/Type_BaseConversionFactor/StaticMethod_CreateOrUpdate.qbl
@@ -26,6 +26,20 @@
if( productId <> "" ) {
product := Product_MP::FindById( macroPlan, productId );
}else{
+ // info( productId );
+ // cf := select( source,
+ // AsSourceUnitOfMeasure,
+ // cf,
+ // ( cf.TargetUnitOfMeasure() = target
+ // or cf.TargetUnitOfMeasure() = source )
+ // and cf.Product_MP() = product
+ // );
+ // info( isnull( cf ) );
+ // info( "sourceuomname: " + cf.astype( BaseConversionFactor ).SourceUnitOfMeasureName() );
+ // info( "targetuomname: " + target.Name() );
+ // info( "cf.targetuomname: " + cf.astype( BaseConversionFactor ).TargetUnitOfMeasureName() );
+ // info( "productid: " + guard( product.ID(), "" ) );
+ // info( "cf.product: " + cf.astype( BaseConversionFactor ).ProductID() );
result := BaseConversionFactor::CreateUpdate( source, target, factor, product, isEnable )
}
diff --git a/_Main/BL/Type_CapacityAllocationResults/StaticMethod_Export.qbl b/_Main/BL/Type_CapacityAllocationResults/StaticMethod_Export.qbl
index 14045dd..1b8028f 100644
--- a/_Main/BL/Type_CapacityAllocationResults/StaticMethod_Export.qbl
+++ b/_Main/BL/Type_CapacityAllocationResults/StaticMethod_Export.qbl
@@ -1,12 +1,12 @@
Quintiq file version 2.0
#parent: #root
StaticMethod Export (
- GlobalOTDTable globalOTDTable
+ GlobalOTDSOP globalOTDSOP
) as BinaryValue
{
TextBody:
[*
- binaryData := globalOTDTable.GlobalOTDTable_CAR_Export().ExecuteToXLS( true );
+ binaryData := globalOTDSOP.GlobalOTDTable_CAR_Export().ExecuteToXLS( true );
return binaryData.AsBinaryValue();
*]
diff --git a/_Main/BL/Type_CapacityAndSaleBudgeCompareItemCell/StaticMethod_CreateData.qbl b/_Main/BL/Type_CapacityAndSaleBudgeCompareItemCell/StaticMethod_CreateData.qbl
new file mode 100644
index 0000000..51e9eb4
--- /dev/null
+++ b/_Main/BL/Type_CapacityAndSaleBudgeCompareItemCell/StaticMethod_CreateData.qbl
@@ -0,0 +1,25 @@
+Quintiq file version 2.0
+#parent: #root
+StaticMethod CreateData (
+ const GlobalOTDTable globalOTDTable,
+ GlobalOTDSOP this
+)
+{
+ TextBody:
+ [*
+ traverse ( globalOTDTable, Global_MappingAnnualBudgetData, gmabd ) {
+ productCode := gmabd.ProductID();
+ row := CapacityAndSaleBudgeCompareItemRow::CreateIfNotExist( this, gmabd.BusinessType(), gmabd.OrganCode() );
+ CapacityAndSaleBudgeCompareItemRowProduct::CreateIfNotExist( row, productCode );
+ }
+
+ columnBusinessType := CapacityAndSaleBudgeCompareItemColumn::CreateIfNotExist( this, "浜嬩笟閮�" );
+ columnPlaceOfProductionOfArray := CapacityAndSaleBudgeCompareItemColumn::CreateIfNotExist( this, "闈㈡澘鍩哄湴" );
+ traverse( this, CapacityAndSaleBudgeCompareItemRow, row ) {
+ cell := columnBusinessType.CapacityAndSaleBudgeCompareItemCell( relnew, CellContent := row.BusinessType() );
+ cell.CapacityAndSaleBudgeCompareItemRow( relset, row );
+ cell := columnPlaceOfProductionOfArray.CapacityAndSaleBudgeCompareItemCell( relnew, CellContent := row.PlaceOfProductionOfArray() );
+ cell.CapacityAndSaleBudgeCompareItemRow( relset, row );
+ }
+ *]
+}
diff --git a/_Main/BL/Type_CapacityAndSaleBudgeCompareItemCell/StaticMethod_CreatePanelAllocationBudget.qbl b/_Main/BL/Type_CapacityAndSaleBudgeCompareItemCell/StaticMethod_CreatePanelAllocationBudget.qbl
new file mode 100644
index 0000000..da29213
--- /dev/null
+++ b/_Main/BL/Type_CapacityAndSaleBudgeCompareItemCell/StaticMethod_CreatePanelAllocationBudget.qbl
@@ -0,0 +1,28 @@
+Quintiq file version 2.0
+#parent: #root
+StaticMethod CreatePanelAllocationBudget (
+ GlobalOTDSOP this,
+ CapacityAndSaleBudgeFilterMonths months,
+ CapacityAndSaleBudgeFilterYear year,
+ const GlobalOTDTable globalOTDTable
+)
+{
+ TextBody:
+ [*
+ traverse ( this, CapacityAndSaleBudgeCompareItemRow, casbcir ) {
+ total := 0.0;
+ traverse ( months, Elements, m ) {
+ columnName := "闈㈡澘鍒嗛厤閲�-" + [String]year.YearNo() + "骞�-" + [String]m.MonthNo() + "鏈�-骞村害棰勭畻";
+ columnMonth := CapacityAndSaleBudgeCompareItemColumn::CreateIfNotExist( this, columnName );
+ cellReal := Global_MappingForecast::GetQuantityByMonth( casbcir.GetProductCodes(), globalOTDTable, DateTime::Now().Year(), m.MonthNo() );
+ cell := columnMonth.CapacityAndSaleBudgeCompareItemCell( relnew, CellContent := [String]cellReal );
+ total := total + cellReal;
+ cell.CapacityAndSaleBudgeCompareItemRow( relset, casbcir );
+ }
+ columnYear := CapacityAndSaleBudgeCompareItemColumn::CreateIfNotExist( this, "闈㈡澘鍒嗛厤閲�-" + [String]year.YearNo() + "骞�-total-骞村害棰勭畻" );
+ cell := columnYear.CapacityAndSaleBudgeCompareItemCell( relnew, CellContent := [String]total );
+ columnYear.TotalIdentification( year.YearNo() );
+ cell.CapacityAndSaleBudgeCompareItemRow( relset, casbcir );
+ }
+ *]
+}
diff --git a/_Main/BL/Type_CapacityAndSaleBudgeCompareItemCell/StaticMethod_CreatePanelAllocationByScenario.qbl b/_Main/BL/Type_CapacityAndSaleBudgeCompareItemCell/StaticMethod_CreatePanelAllocationByScenario.qbl
new file mode 100644
index 0000000..4cf1bf3
--- /dev/null
+++ b/_Main/BL/Type_CapacityAndSaleBudgeCompareItemCell/StaticMethod_CreatePanelAllocationByScenario.qbl
@@ -0,0 +1,30 @@
+Quintiq file version 2.0
+#parent: #root
+StaticMethod CreatePanelAllocationByScenario (
+ MacroPlans macroPlans,
+ GlobalOTDSOP this,
+ CapacityAndSaleBudgeFilterMonths months,
+ CapacityAndSaleBudgeFilterYear year
+)
+{
+ TextBody:
+ [*
+ traverse ( macroPlans, Elements, mp ) {
+ traverse ( this, CapacityAndSaleBudgeCompareItemRow, casbcir ) {
+ total := 0.0;
+ traverse ( months, Elements, m ) {
+ columnName := "闈㈡澘鍒嗛厤閲�-" + [String]year.YearNo() + "骞�-" + [String]m.MonthNo() + "鏈�-" + mp.ScenarioName();
+ columnMonth := CapacityAndSaleBudgeCompareItemColumn::CreateIfNotExist( this, columnName );
+ cellReal := Product_MP::GetNewSupplyByMonth( casbcir.GetProductCodes(), mp, year.YearNo(), m.MonthNo() );
+ cell := columnMonth.CapacityAndSaleBudgeCompareItemCell( relnew, CellContent := [String]cellReal );
+ total := total + cellReal;
+ cell.CapacityAndSaleBudgeCompareItemRow( relset, casbcir );
+ }
+ columnYear := CapacityAndSaleBudgeCompareItemColumn::CreateIfNotExist( this, "闈㈡澘鍒嗛厤閲�-" + [String]year.YearNo() + "骞�-total-" + mp.ScenarioName() );
+ cell := columnYear.CapacityAndSaleBudgeCompareItemCell( relnew, CellContent := [String]total );
+ columnYear.TotalIdentification( year.YearNo() );
+ cell.CapacityAndSaleBudgeCompareItemRow( relset, casbcir );
+ }
+ }
+ *]
+}
diff --git a/_Main/BL/Type_CapacityAndSaleBudgeCompareItemCell/StaticMethod_CreateSalesVolume.qbl b/_Main/BL/Type_CapacityAndSaleBudgeCompareItemCell/StaticMethod_CreateSalesVolume.qbl
new file mode 100644
index 0000000..6741062
--- /dev/null
+++ b/_Main/BL/Type_CapacityAndSaleBudgeCompareItemCell/StaticMethod_CreateSalesVolume.qbl
@@ -0,0 +1,28 @@
+Quintiq file version 2.0
+#parent: #root
+StaticMethod CreateSalesVolume (
+ GlobalOTDSOP this,
+ CapacityAndSaleBudgeFilterMonths months,
+ CapacityAndSaleBudgeFilterYear year,
+ const GlobalOTDTable globalOTDTable
+)
+{
+ TextBody:
+ [*
+ traverse ( this, CapacityAndSaleBudgeCompareItemRow, casbcir ) {
+ total := 0.0;
+ traverse ( months, Elements, m ) {
+ columnName := "瀵瑰閿�鍞-" + [String]year.YearNo() + "骞�-" + [String]m.MonthNo() + "鏈�-骞村害棰勭畻";
+ columnMonth := CapacityAndSaleBudgeCompareItemColumn::CreateIfNotExist( this, columnName );
+ cellReal := Global_MappingAnnualBudgetData::GetSaleByMonth( casbcir.GetProductCodes(), globalOTDTable, year.YearNo(), m.MonthNo() );
+ cell := columnMonth.CapacityAndSaleBudgeCompareItemCell( relnew, CellContent := [String]cellReal );
+ total := total + cellReal;
+ cell.CapacityAndSaleBudgeCompareItemRow( relset, casbcir );
+ }
+ columnYear := CapacityAndSaleBudgeCompareItemColumn::CreateIfNotExist( this, "瀵瑰閿�鍞-" + [String]year.YearNo() + "骞�-total-骞村害棰勭畻" );
+ cell := columnYear.CapacityAndSaleBudgeCompareItemCell( relnew, CellContent := [String]total );
+ columnYear.TotalIdentification( year.YearNo() );
+ cell.CapacityAndSaleBudgeCompareItemRow( relset, casbcir );
+ }
+ *]
+}
diff --git a/_Main/BL/Type_CapacityAndSaleBudgeCompareItemCell/StaticMethod_CreateSalesVolumeByScenario.qbl b/_Main/BL/Type_CapacityAndSaleBudgeCompareItemCell/StaticMethod_CreateSalesVolumeByScenario.qbl
new file mode 100644
index 0000000..4335178
--- /dev/null
+++ b/_Main/BL/Type_CapacityAndSaleBudgeCompareItemCell/StaticMethod_CreateSalesVolumeByScenario.qbl
@@ -0,0 +1,30 @@
+Quintiq file version 2.0
+#parent: #root
+StaticMethod CreateSalesVolumeByScenario (
+ MacroPlans macroPlans,
+ GlobalOTDSOP this,
+ CapacityAndSaleBudgeFilterMonths months,
+ CapacityAndSaleBudgeFilterYear year
+)
+{
+ TextBody:
+ [*
+ traverse ( macroPlans, Elements, mp ) {
+ traverse ( this, CapacityAndSaleBudgeCompareItemRow, casbcir ) {
+ total := 0.0;
+ traverse ( months, Elements, m ) {
+ columnName := "瀵瑰閿�鍞-" + [String]year.YearNo() + "骞�-" + [String]m.MonthNo() + "鏈�-" + mp.ScenarioName();
+ columnMonth := CapacityAndSaleBudgeCompareItemColumn::CreateIfNotExist( this, columnName );
+ cellReal := Forecast::GetFulfilledBalanceByMonth( casbcir.GetProductCodes(), mp, year.YearNo(), m.MonthNo() );
+ cell := columnMonth.CapacityAndSaleBudgeCompareItemCell( relnew, CellContent := [String]cellReal );
+ total := total + cellReal;
+ cell.CapacityAndSaleBudgeCompareItemRow( relset, casbcir );
+ }
+ columnYear := CapacityAndSaleBudgeCompareItemColumn::CreateIfNotExist( this, "瀵瑰閿�鍞-" + [String]year.YearNo() + "骞�-total-" + mp.ScenarioName() );
+ cell := columnYear.CapacityAndSaleBudgeCompareItemCell( relnew, CellContent := [String]total );
+ columnYear.TotalIdentification( year.YearNo() );
+ cell.CapacityAndSaleBudgeCompareItemRow( relset, casbcir );
+ }
+ }
+ *]
+}
diff --git a/_Main/BL/Type_CurrencyRate_MP/StaticMethod_CreateCurrencyRate.qbl b/_Main/BL/Type_CurrencyRate_MP/StaticMethod_CreateCurrencyRate.qbl
index b3244e0..272b16c 100644
--- a/_Main/BL/Type_CurrencyRate_MP/StaticMethod_CreateCurrencyRate.qbl
+++ b/_Main/BL/Type_CurrencyRate_MP/StaticMethod_CreateCurrencyRate.qbl
@@ -1,6 +1,7 @@
Quintiq file version 2.0
#parent: #root
StaticMethod CreateCurrencyRate (
+ MacroPlan mp,
String currencyid,
Date start,
Real rate
@@ -11,10 +12,10 @@
[*
// Administrator Jul-19-2023 (created)
isfromdb := true;
- currency := Currency_MP::FindCurrencyTypeIndex( currencyid );
+ currency := Currency_MP::FindById( mp, currencyid );
//create new currency
- result := CurrencyRate_MP::FindCurrencyRateTypeIndex( currencyid, start );
+ result := CurrencyRate_MP::FindByIdAndStart( currency, currencyid, start );
if( isnull( result ) )
{
diff --git a/_Main/BL/Type_CurrencyRate_MP/StaticMethod_CreateCurrencyRateFromJson.qbl b/_Main/BL/Type_CurrencyRate_MP/StaticMethod_CreateCurrencyRateFromJson.qbl
index 67cd2c8..97a01d2 100644
--- a/_Main/BL/Type_CurrencyRate_MP/StaticMethod_CreateCurrencyRateFromJson.qbl
+++ b/_Main/BL/Type_CurrencyRate_MP/StaticMethod_CreateCurrencyRateFromJson.qbl
@@ -1,6 +1,7 @@
Quintiq file version 2.0
#parent: #root
StaticMethod CreateCurrencyRateFromJson (
+ MacroPlan mp,
JSON datarow
) as CurrencyRate_MP
{
@@ -16,7 +17,7 @@
day := [Number]startstring.SubString( 8, 2 );
start := Date::Construct( years, month, day );
- result := CurrencyRate_MP::CreateCurrencyRate( currencyid, start, rate );
+ result := CurrencyRate_MP::CreateCurrencyRate( mp, currencyid, start, rate );
return result;
*]
diff --git a/_Main/BL/Type_CurrencyRate_MP/StaticMethod_CreateFromMapping.qbl b/_Main/BL/Type_CurrencyRate_MP/StaticMethod_CreateFromMapping.qbl
new file mode 100644
index 0000000..82dc0fa
--- /dev/null
+++ b/_Main/BL/Type_CurrencyRate_MP/StaticMethod_CreateFromMapping.qbl
@@ -0,0 +1,27 @@
+Quintiq file version 2.0
+#parent: #root
+StaticMethod CreateFromMapping (
+ const GlobalOTDTable globalOTDTable,
+ MacroPlan macroPlan
+)
+{
+ TextBody:
+ [*
+ // Administrator Oct-31-2023 (created)
+ updates := construct( CurrencyRate_MPs );
+ traverse( globalOTDTable, Global_MappingCurrencyRate_MP, gcr, true )
+ {
+ a := CurrencyRate_MP::CreateCurrencyRate( macroPlan, gcr.CurrencyID(), gcr.Start(), gcr.Rate() );
+ updates.Add( a );
+ }
+ origindataset := selectset( macroPlan, Currency_MP.CurrencyRate_MP, cr, true );
+ obsoletes := origindataset.Difference( updates );
+ // delete obsoleted
+ difflength := obsoletes.Size();
+ for( j:=0; j<difflength; j++ )
+ {
+ obsolete := obsoletes.Element( j );
+ obsolete.Delete();
+ }
+ *]
+}
diff --git a/_Main/BL/Type_CurrencyRate_MP/StaticMethod_FindByIdAndStart.qbl b/_Main/BL/Type_CurrencyRate_MP/StaticMethod_FindByIdAndStart.qbl
new file mode 100644
index 0000000..2c39de8
--- /dev/null
+++ b/_Main/BL/Type_CurrencyRate_MP/StaticMethod_FindByIdAndStart.qbl
@@ -0,0 +1,17 @@
+Quintiq file version 2.0
+#parent: #root
+StaticMethod FindByIdAndStart (
+ Currency_MP owner,
+ String id,
+ Date start
+) as CurrencyRate_MP
+{
+ TextBody:
+ [*
+ // yypsybs Aug-14-2023 (created)
+
+ result := select( owner, CurrencyRate_MP, item, true, item.CurrencyID() = id and item.Start() = start );
+
+ return result;
+ *]
+}
diff --git a/_Main/BL/Type_Currency_MP/StaticMethod_CreateCurrency.qbl b/_Main/BL/Type_Currency_MP/StaticMethod_CreateCurrency.qbl
index ade128e..155abb3 100644
--- a/_Main/BL/Type_Currency_MP/StaticMethod_CreateCurrency.qbl
+++ b/_Main/BL/Type_Currency_MP/StaticMethod_CreateCurrency.qbl
@@ -16,7 +16,7 @@
isfromdb := true;
//create new currency
- result := Currency_MP::FindCurrencyTypeIndex( id );
+ result := Currency_MP::FindById( mp, id );
if( isnull( result ) )
{
diff --git a/_Main/BL/Type_Currency_MP/StaticMethod_CreateFromMapping.qbl b/_Main/BL/Type_Currency_MP/StaticMethod_CreateFromMapping.qbl
new file mode 100644
index 0000000..dbda48a
--- /dev/null
+++ b/_Main/BL/Type_Currency_MP/StaticMethod_CreateFromMapping.qbl
@@ -0,0 +1,27 @@
+Quintiq file version 2.0
+#parent: #root
+StaticMethod CreateFromMapping (
+ const GlobalOTDTable globalOTDTable,
+ MacroPlan macroPlan
+)
+{
+ TextBody:
+ [*
+ // Administrator Oct-31-2023 (created)
+ updates := construct( Currency_MPs );
+ traverse( globalOTDTable, Global_MappingCurrency_MP, gc, true )
+ {
+ a := Currency_MP::CreateCurrency( macroPlan, gc.ID(), gc.Name(), " ", gc.IsBase() );
+ updates.Add( a );
+ }
+ origindataset := selectset( macroPlan, Currency_MP, c, true );
+ obsoletes := origindataset.Difference( updates );
+ // delete obsoleted
+ difflength := obsoletes.Size();
+ for( j:=0; j<difflength; j++ )
+ {
+ obsolete := obsoletes.Element( j );
+ obsolete.Delete();
+ }
+ *]
+}
diff --git a/_Main/BL/Type_Forecast/StaticMethod_GetFulfilledBalanceByMonth.qbl b/_Main/BL/Type_Forecast/StaticMethod_GetFulfilledBalanceByMonth.qbl
index 2d3b108..ac48151 100644
--- a/_Main/BL/Type_Forecast/StaticMethod_GetFulfilledBalanceByMonth.qbl
+++ b/_Main/BL/Type_Forecast/StaticMethod_GetFulfilledBalanceByMonth.qbl
@@ -12,11 +12,11 @@
// 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() );
+ tempSD,
+ productNo.Find( tempSD.ProductID() ) > -1
+ and tempSD.StartDate().Year() = yearNo
+ and tempSD.StartDate().Month() = monthNo,
+ tempSD.FulfilledQuantity() * tempSD.Price() );
return result;
*]
}
diff --git "a/_Main/BL/Type_GlobalDTOTable/Method_SynchronizeDataToMacroPlan\043127.qbl" "b/_Main/BL/Type_GlobalDTOTable/Method_SynchronizeDataToMacroPlan\043127.qbl"
index 66ff081..254563a 100644
--- "a/_Main/BL/Type_GlobalDTOTable/Method_SynchronizeDataToMacroPlan\043127.qbl"
+++ "b/_Main/BL/Type_GlobalDTOTable/Method_SynchronizeDataToMacroPlan\043127.qbl"
@@ -50,11 +50,11 @@
macroPlan.InitialUnitAndStockingPoint();
if ( isUnitOfMeasure_MP ) {
- Global_MappingUnitOfMeasure_MP::SynchronizeMacroPlanData( this, macroPlan );
+ Global_MappingUnitOfMeasure_MP::SynchronizeMacroPlanData( this, macroPlan, executionUser );
}
if ( isCustomOrder ) {
- Global_MappingCustomOrder::SynchronizeMacroPlanData( this, macroPlan, executionUser );
+ Global_MappingCustomOrder::SynchronizeMacroPlanData( this, macroPlan, businessTypes, organcodelist, executionUser );
}
if ( isForeacst ) {
@@ -82,7 +82,7 @@
}
if ( isProductInLane ) {
- Global_MappingProductInLane::SynchronizeMacroPlanData( this, macroPlan, executionUser );
+ Global_MappingProductInLane::SynchronizeMacroPlanData( this, macroPlan, businessTypes, executionUser );
}
if ( isAIPISPIP ) {
@@ -94,7 +94,7 @@
}
if ( isStockingPointCost ) {
- Global_MappingStockingPointCost::SynchronizeMacroPlanData( this, macroPlan, executionUser );
+ Global_MappingStockingPointCost::SynchronizeMacroPlanData( this, macroPlan, businessTypes, executionUser );
}
if ( isOperationCost ) {
diff --git a/_Main/BL/Type_GlobalOTDSOP/Method_CapacityAndSaleBudgeCompare.qbl b/_Main/BL/Type_GlobalOTDSOP/Method_CapacityAndSaleBudgeCompare.qbl
index 0ba67ec..8b53f33 100644
--- a/_Main/BL/Type_GlobalOTDSOP/Method_CapacityAndSaleBudgeCompare.qbl
+++ b/_Main/BL/Type_GlobalOTDSOP/Method_CapacityAndSaleBudgeCompare.qbl
@@ -5,13 +5,12 @@
CapacityAndSaleBudgeFilterItems items,
CapacityAndSaleBudgeFilterYears years,
CapacityAndSaleBudgeFilterMonths months,
- const GlobalOTDTable otdTable
+ const GlobalOTDTable globalOTDTable
)
{
Description: 'todo : mappingParent鏀逛负mpSync, random鍒犱簡'
TextBody:
[*
- // ====涓嶉�夋椂榛樿鍏ㄩ��====
if ( years.Size() = 0 ) {
years := selectset( this, CapacityAndSaleBudgeFilterYear, tempCASBFY, tempCASBFY.YearNo() = Date::ActualDate().Year() );
}
@@ -22,219 +21,57 @@
this.CapacityAndSaleBudgeCompareItemRow( relflush );
this.CapacityAndSaleBudgeCompareItemColumn( relflush );
- // ====姹囨�绘墍鏈夊嚭鐜扮殑浜у搧====
- targetglobal_MappingAnnualBudgetData := selectset( otdTable, Global_MappingAnnualBudgetData, item, true );
+ CapacityAndSaleBudgeCompareItemCell::CreateData( globalOTDTable, this );
- traverse ( targetglobal_MappingAnnualBudgetData, Elements, gmabd ) {
- productCode := gmabd.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 := bom.OrganCode();
- // 鐩稿悓闈㈡澘鍩哄湴鍜屼簨涓氶儴鐨勬斁涓�琛�
- row := CapacityAndSaleBudgeCompareItemRow::CreateIfNotExist( this, gmabd.BusinessType(), gmabd.OrganCode() );
- // 璁板綍姣忚鍖呭惈鍝簺product
- CapacityAndSaleBudgeCompareItemRowProduct::CreateIfNotExist( row, productCode );
- // } else {
- // debuginfo( "no boms for product : " + productCode );
- // }
- }
-
- // ====浠庡乏鍚戝彸鐢熸垚鍒楀ご涓庡唴瀹�====
- // 浜嬩笟閮紝闈㈡澘鍩哄湴
- columnBusinessType := CapacityAndSaleBudgeCompareItemColumn::CreateIfNotExist( this, "浜嬩笟閮�" );
- columnPlaceOfProductionOfArray := CapacityAndSaleBudgeCompareItemColumn::CreateIfNotExist( this, "闈㈡澘鍩哄湴" );
- traverse( this, CapacityAndSaleBudgeCompareItemRow, row ) {
- cell := columnBusinessType.CapacityAndSaleBudgeCompareItemCell( relnew, CellContent := row.BusinessType() );
- cell.CapacityAndSaleBudgeCompareItemRow( relset, row );
- cell := columnPlaceOfProductionOfArray.CapacityAndSaleBudgeCompareItemCell( relnew, CellContent := row.PlaceOfProductionOfArray() );
- cell.CapacityAndSaleBudgeCompareItemRow( relset, row );
- }
-
- // 闈㈡澘鍒嗛厤閲� - 骞村害棰勭畻 (sheets)
- // 鏍煎紡锛� 闈㈡澘鍒嗛厤閲� - 骞� - 鏈堬紙1-12 & total锛� - 骞村害棰勭畻/scenarioName
if ( CapacityAndSaleBudgeFilterItem::Contains( items, "闈㈡澘鍒嗛厤閲�" ) ) {
traverse ( years, Elements, year ) {
- // 鍘嗗彶鏁版嵁
- // traverse ( months, Elements, month ) {
- // columnMonth := CapacityAndSaleBudgeCompareItemColumn::CreateIfNotExist( this, "闈㈡澘鍒嗛厤閲�-" + [String]year.YearNo() + "骞�-" + [String]month.MonthNo() + "鏈�-骞村害棰勭畻" );
- // traverse ( this, CapacityAndSaleBudgeCompareItemRow, row ) {
- // cellReal := Global_MappingForecast::GetQuantityByMonth( row.GetProductCodes(), otdTable, 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 := Global_MappingForecast::GetQuantityByYear( row.GetProductCodes(), otdTable, year.YearNo() );
- // cell := columnYear.CapacityAndSaleBudgeCompareItemCell( relnew, CellContent := [String]cellReal );
- // cell.CapacityAndSaleBudgeCompareItemRow( relset, row );
- // }
-
- traverse ( this, CapacityAndSaleBudgeCompareItemRow, casbcir ) {
- total := 0.0;
- traverse ( months, Elements, m ) {
- columnName := "闈㈡澘鍒嗛厤閲�-" + [String]year.YearNo() + "骞�-" + [String]m.MonthNo() + "鏈�-骞村害棰勭畻";
- columnMonth := CapacityAndSaleBudgeCompareItemColumn::CreateIfNotExist( this, columnName );
- cellReal := Global_MappingForecast::GetQuantityByMonth( casbcir.GetProductCodes(), otdTable, DateTime::Now().Year(), m.MonthNo() );
- cell := columnMonth.CapacityAndSaleBudgeCompareItemCell( relnew, CellContent := [String]cellReal );
- total := total + cellReal;
- cell.CapacityAndSaleBudgeCompareItemRow( relset, casbcir );
- }
- columnYear := CapacityAndSaleBudgeCompareItemColumn::CreateIfNotExist( this, "闈㈡澘鍒嗛厤閲�-" + [String]year.YearNo() + "骞�-total-骞村害棰勭畻" );
- cell := columnYear.CapacityAndSaleBudgeCompareItemCell( relnew, CellContent := [String]total );
- columnYear.TotalIdentification( year.YearNo() );
- cell.CapacityAndSaleBudgeCompareItemRow( relset, casbcir );
- }
-
- // S&OP鏁版嵁
- // traverse ( macroPlans, Elements, macroPlan ) {
- // traverse ( months, Elements, month ) {
- // columnMonth := CapacityAndSaleBudgeCompareItemColumn::CreateIfNotExist( this,
- // "闈㈡澘鍒嗛厤閲�-" + [String]year.YearNo() + "骞�-" + [String]month.MonthNo() + "鏈�-" + macroPlan.ScenarioName() );
- // traverse ( this, CapacityAndSaleBudgeCompareItemRow, row ) {
- // cellReal := Product_MP::GetNewSupplyByMonth( row.GetProductCodes(), macroPlan, year.YearNo(), month.MonthNo() );
- // cell := columnMonth.CapacityAndSaleBudgeCompareItemCell( relnew, CellContent := [String]cellReal );
- // cell.CapacityAndSaleBudgeCompareItemRow( relset, row );
- // }
- // }
- // columnYear := CapacityAndSaleBudgeCompareItemColumn::CreateIfNotExist( this,
- // "闈㈡澘鍒嗛厤閲�-" + [String]year.YearNo() + "骞�-total-" + macroPlan.ScenarioName() );
- // traverse ( this, CapacityAndSaleBudgeCompareItemRow, row ) {
- // cellReal := Product_MP::GetNewSupplyByYear( row.GetProductCodes(), macroPlan, year.YearNo() );
- // cell := columnYear.CapacityAndSaleBudgeCompareItemCell( relnew, CellContent := [String]cellReal );
- // cell.CapacityAndSaleBudgeCompareItemRow( relset, row );
- // }
- // }
- traverse ( macroPlans, Elements, mp ) {
- traverse ( this, CapacityAndSaleBudgeCompareItemRow, casbcir ) {
- total := 0.0;
- traverse ( months, Elements, m ) {
- columnName := "闈㈡澘鍒嗛厤閲�-" + [String]year.YearNo() + "骞�-" + [String]m.MonthNo() + "鏈�-" + mp.ScenarioName();
- columnMonth := CapacityAndSaleBudgeCompareItemColumn::CreateIfNotExist( this, columnName );
- cellReal := Product_MP::GetNewSupplyByMonth( casbcir.GetProductCodes(), mp, year.YearNo(), m.MonthNo() );
- cell := columnMonth.CapacityAndSaleBudgeCompareItemCell( relnew, CellContent := [String]cellReal );
- total := total + cellReal;
- cell.CapacityAndSaleBudgeCompareItemRow( relset, casbcir );
- }
- columnYear := CapacityAndSaleBudgeCompareItemColumn::CreateIfNotExist( this, "闈㈡澘鍒嗛厤閲�-" + [String]year.YearNo() + "骞�-total-" + mp.ScenarioName() );
- cell := columnYear.CapacityAndSaleBudgeCompareItemCell( relnew, CellContent := [String]total );
- columnYear.TotalIdentification( year.YearNo() );
- cell.CapacityAndSaleBudgeCompareItemRow( relset, casbcir );
- }
- }
+ CapacityAndSaleBudgeCompareItemCell::CreatePanelAllocationBudget( this, months, year, globalOTDTable );
+ CapacityAndSaleBudgeCompareItemCell::CreatePanelAllocationByScenario( macroPlans, this, months, year );
}
}
- // 骞村害閿�鍞
if ( CapacityAndSaleBudgeFilterItem::Contains( items, "閿�鍞" ) ) {
traverse ( years, Elements, year ) {
- // 鍘嗗彶鏁版嵁
- // traverse ( months, Elements, month ) {
- // columnMonth := CapacityAndSaleBudgeCompareItemColumn::CreateIfNotExist( this, "瀵瑰閿�鍞-" + [String]year.YearNo() + "骞�-" + [String]month.MonthNo() + "鏈�-骞村害棰勭畻" );
- // traverse ( this, CapacityAndSaleBudgeCompareItemRow, row ) {
- // cellReal := Global_MappingAnnualBudgetData::GetSaleByMonth( row.GetProductCodes(), otdTable, 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 := Global_MappingAnnualBudgetData::GetSaleByYear( row.GetProductCodes(), otdTable, year.YearNo() );
- // cell := columnYear.CapacityAndSaleBudgeCompareItemCell( relnew, CellContent := [String]cellReal );
- // cell.CapacityAndSaleBudgeCompareItemRow( relset, row );
- // }
- traverse ( this, CapacityAndSaleBudgeCompareItemRow, casbcir ) {
- total := 0.0;
- traverse ( months, Elements, m ) {
- columnName := "瀵瑰閿�鍞-" + [String]year.YearNo() + "骞�-" + [String]m.MonthNo() + "鏈�-骞村害棰勭畻";
- columnMonth := CapacityAndSaleBudgeCompareItemColumn::CreateIfNotExist( this, columnName );
- cellReal := Global_MappingAnnualBudgetData::GetSaleByMonth( casbcir.GetProductCodes(), otdTable, year.YearNo(), m.MonthNo() );
- cell := columnMonth.CapacityAndSaleBudgeCompareItemCell( relnew, CellContent := [String]cellReal );
- total := total + cellReal;
- cell.CapacityAndSaleBudgeCompareItemRow( relset, casbcir );
- }
- columnYear := CapacityAndSaleBudgeCompareItemColumn::CreateIfNotExist( this, "瀵瑰閿�鍞-" + [String]year.YearNo() + "骞�-total-骞村害棰勭畻" );
- cell := columnYear.CapacityAndSaleBudgeCompareItemCell( relnew, CellContent := [String]total );
- columnYear.TotalIdentification( year.YearNo() );
- cell.CapacityAndSaleBudgeCompareItemRow( relset, casbcir );
- }
-
- // S&OP鏁版嵁
- // traverse ( macroPlans, Elements, macroPlan ) {
- // traverse ( months, Elements, month ) {
- // columnMonth := CapacityAndSaleBudgeCompareItemColumn::CreateIfNotExist( this, "瀵瑰閿�鍞-" + [String]year.YearNo() + "骞�-" + [String]month.MonthNo() + "鏈�-" + macroPlan.ScenarioName() );
- // traverse ( this, CapacityAndSaleBudgeCompareItemRow, row ) {
- // cellReal := Forecast::GetFulfilledBalanceByMonth( row.GetProductCodes(), macroPlan, year.YearNo(), month.MonthNo() );
- // cell := columnMonth.CapacityAndSaleBudgeCompareItemCell( relnew, CellContent := [String]cellReal );
- // cell.CapacityAndSaleBudgeCompareItemRow( relset, row );
- // }
- // }
- // columnYear := CapacityAndSaleBudgeCompareItemColumn::CreateIfNotExist( this, "瀵瑰閿�鍞-" + [String]year.YearNo() + "骞�-total-" + macroPlan.ScenarioName() );
- // traverse( this, CapacityAndSaleBudgeCompareItemRow, row ) {
- // // QID 23
- // cellReal := Forecast::GetFulfilledBalanceByYear( row.GetProductCodes(), macroPlan, year.YearNo() );
- // cell := columnYear.CapacityAndSaleBudgeCompareItemCell( relnew, CellContent := [String]cellReal );
- // cell.CapacityAndSaleBudgeCompareItemRow( relset, row );
- // }
- // }
- traverse ( macroPlans, Elements, mp ) {
- traverse ( this, CapacityAndSaleBudgeCompareItemRow, casbcir ) {
- total := 0.0;
- traverse ( months, Elements, m ) {
- columnName := "瀵瑰閿�鍞-" + [String]year.YearNo() + "骞�-" + [String]m.MonthNo() + "鏈�-" + mp.ScenarioName();
- columnMonth := CapacityAndSaleBudgeCompareItemColumn::CreateIfNotExist( this, columnName );
- cellReal := Forecast::GetFulfilledBalanceByMonth( casbcir.GetProductCodes(), mp, year.YearNo(), m.MonthNo() );
- cell := columnMonth.CapacityAndSaleBudgeCompareItemCell( relnew, CellContent := [String]cellReal );
- total := total + cellReal;
- cell.CapacityAndSaleBudgeCompareItemRow( relset, casbcir );
- }
- columnYear := CapacityAndSaleBudgeCompareItemColumn::CreateIfNotExist( this, "瀵瑰閿�鍞-" + [String]year.YearNo() + "骞�-total-" + mp.ScenarioName() );
- cell := columnYear.CapacityAndSaleBudgeCompareItemCell( relnew, CellContent := [String]total );
- columnYear.TotalIdentification( year.YearNo() );
- cell.CapacityAndSaleBudgeCompareItemRow( relset, casbcir );
- }
- }
+ CapacityAndSaleBudgeCompareItemCell::CreateSalesVolume( this, months, year, globalOTDTable );
+ CapacityAndSaleBudgeCompareItemCell::CreateSalesVolumeByScenario( macroPlans, this, months, year );
}
}
// 澶у紶鐩堝埄棰�
- traverse ( years, Elements, year ) {
- // 鍘嗗彶鏁版嵁
- columnYear := CapacityAndSaleBudgeCompareItemColumn::CreateIfNotExist( this, "澶у紶鐩堝埄棰�-" + [String]year.YearNo() + "骞�-骞村害棰勭畻" );
- traverse ( this, CapacityAndSaleBudgeCompareItemRow, row ) {
- cell := columnYear.CapacityAndSaleBudgeCompareItemCell( relnew, CellContent := [String]Number::Random( 0, 0 ) );
- cell.CapacityAndSaleBudgeCompareItemRow( relset, row );
- }
- // S&OP鏁版嵁
- traverse( macroPlans, Elements, macroPlan ) {
- columnYear := CapacityAndSaleBudgeCompareItemColumn::CreateIfNotExist( this, "澶у紶鐩堝埄棰�-" + [String]year.YearNo() + "骞�-" + macroPlan.ScenarioName() );
- traverse( this, CapacityAndSaleBudgeCompareItemRow, row ) {
- cell := columnYear.CapacityAndSaleBudgeCompareItemCell( relnew, CellContent := [String]Number::Random( 0, 0 ) );
- cell.CapacityAndSaleBudgeCompareItemRow( relset, row );
- }
- }
- }
- // 浜у搧鐩堝埄棰�
- traverse ( years, Elements, year ) {
- // 鍘嗗彶鏁版嵁
- columnYear := CapacityAndSaleBudgeCompareItemColumn::CreateIfNotExist( this, "浜у搧鐩堝埄棰�-" + [String]year.YearNo() + "骞�-骞村害棰勭畻" );
- traverse ( this, CapacityAndSaleBudgeCompareItemRow, row ) {
- cell := columnYear.CapacityAndSaleBudgeCompareItemCell( relnew, CellContent := [String]Number::Random( 0, 0 ) );
- cell.CapacityAndSaleBudgeCompareItemRow( relset, row );
- }
- // S&OP鏁版嵁
- traverse ( macroPlans, Elements, macroPlan ) {
- columnYear := CapacityAndSaleBudgeCompareItemColumn::CreateIfNotExist( this, "浜у搧鐩堝埄棰�-" + [String]year.YearNo() + "骞�-" + macroPlan.ScenarioName() );
- traverse ( this, CapacityAndSaleBudgeCompareItemRow, row ) {
- // todo
- cell := columnYear.CapacityAndSaleBudgeCompareItemCell( relnew, CellContent := [String]Number::Random( 0, 0 ) );
- cell.CapacityAndSaleBudgeCompareItemRow( relset, row );
- }
- }
- }
+ //traverse ( years, Elements, year ) {
+ // // 鍘嗗彶鏁版嵁
+ // columnYear := CapacityAndSaleBudgeCompareItemColumn::CreateIfNotExist( this, "澶у紶鐩堝埄棰�-" + [String]year.YearNo() + "骞�-骞村害棰勭畻" );
+ // traverse ( this, CapacityAndSaleBudgeCompareItemRow, row ) {
+ // cell := columnYear.CapacityAndSaleBudgeCompareItemCell( relnew, CellContent := [String]Number::Random( 0, 0 ) );
+ // cell.CapacityAndSaleBudgeCompareItemRow( relset, row );
+ // }
+ // // S&OP鏁版嵁
+ // traverse( macroPlans, Elements, macroPlan ) {
+ // columnYear := CapacityAndSaleBudgeCompareItemColumn::CreateIfNotExist( this, "澶у紶鐩堝埄棰�-" + [String]year.YearNo() + "骞�-" + macroPlan.ScenarioName() );
+ // traverse( this, CapacityAndSaleBudgeCompareItemRow, row ) {
+ // cell := columnYear.CapacityAndSaleBudgeCompareItemCell( relnew, CellContent := [String]Number::Random( 0, 0 ) );
+ // cell.CapacityAndSaleBudgeCompareItemRow( relset, row );
+ // }
+ // }
+ //}
+ //// 浜у搧鐩堝埄棰�
+ //traverse ( years, Elements, year ) {
+ // // 鍘嗗彶鏁版嵁
+ // columnYear := CapacityAndSaleBudgeCompareItemColumn::CreateIfNotExist( this, "浜у搧鐩堝埄棰�-" + [String]year.YearNo() + "骞�-骞村害棰勭畻" );
+ // traverse ( this, CapacityAndSaleBudgeCompareItemRow, row ) {
+ // cell := columnYear.CapacityAndSaleBudgeCompareItemCell( relnew, CellContent := [String]Number::Random( 0, 0 ) );
+ // cell.CapacityAndSaleBudgeCompareItemRow( relset, row );
+ // }
+ // // S&OP鏁版嵁
+ // traverse ( macroPlans, Elements, macroPlan ) {
+ // columnYear := CapacityAndSaleBudgeCompareItemColumn::CreateIfNotExist( this, "浜у搧鐩堝埄棰�-" + [String]year.YearNo() + "骞�-" + macroPlan.ScenarioName() );
+ // traverse ( this, CapacityAndSaleBudgeCompareItemRow, row ) {
+ // // todo
+ // cell := columnYear.CapacityAndSaleBudgeCompareItemCell( relnew, CellContent := [String]Number::Random( 0, 0 ) );
+ // cell.CapacityAndSaleBudgeCompareItemRow( relset, row );
+ // }
+ // }
+ //}
// 璁剧疆rowNo鍜宑olumnNo
rowNo := 1;
diff --git a/_Main/BL/Type_Global_MappingActualProductInStockingPointInPeriod/StaticMethod_SynchronizeMacroPlanData.qbl b/_Main/BL/Type_Global_MappingActualProductInStockingPointInPeriod/StaticMethod_SynchronizeMacroPlanData.qbl
index 984a0eb..ad249d7 100644
--- a/_Main/BL/Type_Global_MappingActualProductInStockingPointInPeriod/StaticMethod_SynchronizeMacroPlanData.qbl
+++ b/_Main/BL/Type_Global_MappingActualProductInStockingPointInPeriod/StaticMethod_SynchronizeMacroPlanData.qbl
@@ -12,14 +12,15 @@
TextBody:
[*
global_BrokerExecuteLog := globalOTDTable.Global_BrokerExecuteLog( relnew,
- Name := "鍚屾瀹為檯搴撳瓨鏁版嵁",
+ BrokerName := "鍚屾瀹為檯搴撳瓨鏁版嵁",
+ ExecutionStatus := "InOperation",
IsSuccess := true,
ExecuteUser := executionUser
);
try {
- macroPlan.MappingActualPISPIPData( businessTypes, globalOTDTable, isKeyProduct, organcodelist );
+ macroPlan.DoASyncMappingActualPISPIPData( businessTypes, globalOTDTable, isKeyProduct, organcodelist );
global_BrokerExecuteLog.ExecutionStatus( "Complete" );
global_BrokerExecuteLog.SuccessDateTime( DateTime::ActualTime().Format( "Y-M-D H2:m:s" ) );
diff --git a/_Main/BL/Type_Global_MappingConversionFactor/StaticMethod_SynchronizeMacroPlanData.qbl b/_Main/BL/Type_Global_MappingConversionFactor/StaticMethod_SynchronizeMacroPlanData.qbl
index 9467117..51aa067 100644
--- a/_Main/BL/Type_Global_MappingConversionFactor/StaticMethod_SynchronizeMacroPlanData.qbl
+++ b/_Main/BL/Type_Global_MappingConversionFactor/StaticMethod_SynchronizeMacroPlanData.qbl
@@ -9,14 +9,15 @@
TextBody:
[*
global_BrokerExecuteLog := globalOTDTable.Global_BrokerExecuteLog( relnew,
- Name := "鍚屾鍗曚綅杞崲鏁版嵁",
+ BrokerName := "鍚屾鍗曚綅杞崲鏁版嵁",
+ ExecutionStatus := "InOperation",
IsSuccess := true,
ExecuteUser := executionUser
);
try {
- macroPlan.MappingBaseConversionFactorData(globalOTDTable);
+ macroPlan.DoASyncMappingBaseConversionFactorData(globalOTDTable);
global_BrokerExecuteLog.ExecutionStatus( "Complete" );
global_BrokerExecuteLog.SuccessDateTime( DateTime::ActualTime().Format( "Y-M-D H2:m:s" ) );
diff --git a/_Main/BL/Type_Global_MappingCurrencyRate_MP/StaticMethod_SynchronizeMacroPlanData.qbl b/_Main/BL/Type_Global_MappingCurrencyRate_MP/StaticMethod_SynchronizeMacroPlanData.qbl
index 5913ebe..e30d9ef 100644
--- a/_Main/BL/Type_Global_MappingCurrencyRate_MP/StaticMethod_SynchronizeMacroPlanData.qbl
+++ b/_Main/BL/Type_Global_MappingCurrencyRate_MP/StaticMethod_SynchronizeMacroPlanData.qbl
@@ -9,29 +9,15 @@
TextBody:
[*
global_BrokerExecuteLog := globalOTDTable.Global_BrokerExecuteLog( relnew,
- Name := "鍚屾璐у竵姹囩巼鏁版嵁",
+ BrokerName := "鍚屾璐у竵姹囩巼鏁版嵁",
+ ExecutionStatus := "InOperation",
IsSuccess := true,
ExecuteUser := executionUser
);
try {
- updates := construct( CurrencyRate_MPs );
- traverse( globalOTDTable, Global_MappingCurrencyRate_MP, gcr, true )
- {
- a := CurrencyRate_MP::CreateCurrencyRate( gcr.CurrencyID(), gcr.Start(), gcr.Rate() );
- updates.Add( a );
- }
- origindataset := selectset( macroPlan, Currency_MP.CurrencyRate_MP, cr, true );
- obsoletes := origindataset.Difference( updates );
- // delete obsoleted
- difflength := obsoletes.Size();
- for( j:=0; j<difflength; j++ )
- {
- obsolete := obsoletes.Element( j );
- obsolete.Delete();
- }
-
+ CurrencyRate_MP::CreateFromMapping( globalOTDTable, macroPlan );
global_BrokerExecuteLog.ExecutionStatus( "Complete" );
global_BrokerExecuteLog.SuccessDateTime( DateTime::ActualTime().Format( "Y-M-D H2:m:s" ) );
} onerror {
diff --git a/_Main/BL/Type_Global_MappingCurrency_MP/StaticMethod_SynchronizeMacroPlanData.qbl b/_Main/BL/Type_Global_MappingCurrency_MP/StaticMethod_SynchronizeMacroPlanData.qbl
index 38ac6bb..31f2109 100644
--- a/_Main/BL/Type_Global_MappingCurrency_MP/StaticMethod_SynchronizeMacroPlanData.qbl
+++ b/_Main/BL/Type_Global_MappingCurrency_MP/StaticMethod_SynchronizeMacroPlanData.qbl
@@ -9,29 +9,15 @@
TextBody:
[*
global_BrokerExecuteLog := globalOTDTable.Global_BrokerExecuteLog( relnew,
- Name := "鍚屾璐у竵鏁版嵁",
+ BrokerName := "鍚屾璐у竵鏁版嵁",
+ ExecutionStatus := "InOperation",
IsSuccess := true,
ExecuteUser := executionUser
);
try {
- updates := construct( Currency_MPs );
- traverse( globalOTDTable, Global_MappingCurrency_MP, gc, true )
- {
- a := Currency_MP::CreateCurrency( macroPlan, gc.ID(), gc.Name(), " ", gc.IsBase() );
- updates.Add( a );
- }
- origindataset := selectset( macroPlan, Currency_MP, c, true );
- obsoletes := origindataset.Difference( updates );
- // delete obsoleted
- difflength := obsoletes.Size();
- for( j:=0; j<difflength; j++ )
- {
- obsolete := obsoletes.Element( j );
- obsolete.Delete();
- }
-
+ Currency_MP::CreateFromMapping( globalOTDTable, macroPlan );
global_BrokerExecuteLog.ExecutionStatus( "Complete" );
global_BrokerExecuteLog.SuccessDateTime( DateTime::ActualTime().Format( "Y-M-D H2:m:s" ) );
} onerror {
diff --git a/_Main/BL/Type_Global_MappingCustomOrder/StaticMethod_SynchronizeMacroPlanData.qbl b/_Main/BL/Type_Global_MappingCustomOrder/StaticMethod_SynchronizeMacroPlanData.qbl
index 9a69cf5..7e2f51f 100644
--- a/_Main/BL/Type_Global_MappingCustomOrder/StaticMethod_SynchronizeMacroPlanData.qbl
+++ b/_Main/BL/Type_Global_MappingCustomOrder/StaticMethod_SynchronizeMacroPlanData.qbl
@@ -3,20 +3,23 @@
StaticMethod SynchronizeMacroPlanData (
GlobalOTDTable globalOTDTable,
MacroPlan macroPlan,
+ Strings businessTypes,
+ Strings organcodelist,
String executionUser
)
{
TextBody:
[*
global_BrokerExecuteLog := globalOTDTable.Global_BrokerExecuteLog( relnew,
- Name := "鍚屾璁㈠崟鏁版嵁",
+ BrokerName := "鍚屾璁㈠崟鏁版嵁",
+ ExecutionStatus := "InOperation",
IsSuccess := true,
ExecuteUser := executionUser
);
try {
- Global_MappingCustomOrder::CreateCustomOrder( globalOTDTable, macroPlan );
+ macroPlan.DoASyncMappingCustomerOrderData( businessTypes, globalOTDTable, organcodelist );
global_BrokerExecuteLog.ExecutionStatus( "Complete" );
global_BrokerExecuteLog.SuccessDateTime( DateTime::ActualTime().Format( "Y-M-D H2:m:s" ) );
diff --git a/_Main/BL/Type_Global_MappingForecast/StaticMethod_SynchronizeMacroPlanData.qbl b/_Main/BL/Type_Global_MappingForecast/StaticMethod_SynchronizeMacroPlanData.qbl
index ef72e85..cb14755 100644
--- a/_Main/BL/Type_Global_MappingForecast/StaticMethod_SynchronizeMacroPlanData.qbl
+++ b/_Main/BL/Type_Global_MappingForecast/StaticMethod_SynchronizeMacroPlanData.qbl
@@ -11,14 +11,15 @@
TextBody:
[*
global_BrokerExecuteLog := globalOTDTable.Global_BrokerExecuteLog( relnew,
- Name := "鍚屾棰勬祴鏁版嵁",
+ BrokerName := "鍚屾棰勬祴鏁版嵁",
+ ExecutionStatus := "InOperation",
IsSuccess := true,
ExecuteUser := executionUser
);
try {
- macroPlan.MappingForecastData( businessTypes, globalOTDTable, organcodelist );
+ macroPlan.DoASyncMappingForecastData( businessTypes, globalOTDTable, organcodelist );
global_BrokerExecuteLog.ExecutionStatus( "Complete" );
global_BrokerExecuteLog.SuccessDateTime( DateTime::ActualTime().Format( "Y-M-D H2:m:s" ) );
diff --git a/_Main/BL/Type_Global_MappingInventorySupply/StaticMethod_SynchronizeMacroPlanData.qbl b/_Main/BL/Type_Global_MappingInventorySupply/StaticMethod_SynchronizeMacroPlanData.qbl
index 06d00c5..7de7b35 100644
--- a/_Main/BL/Type_Global_MappingInventorySupply/StaticMethod_SynchronizeMacroPlanData.qbl
+++ b/_Main/BL/Type_Global_MappingInventorySupply/StaticMethod_SynchronizeMacroPlanData.qbl
@@ -12,14 +12,15 @@
TextBody:
[*
global_BrokerExecuteLog := globalOTDTable.Global_BrokerExecuteLog( relnew,
- Name := "鍚屾鍦ㄩ�斿簱瀛樻暟鎹�",
+ BrokerName := "鍚屾鍦ㄩ�斿簱瀛樻暟鎹�",
+ ExecutionStatus := "InOperation",
IsSuccess := true,
ExecuteUser := executionUser
);
try {
- macroPlan.MappingExternalSupplyData( businessTypes, isKeyProduct ,globalOTDTable, organcodelist );
+ macroPlan.DoASyncMappingExternalSupplyData( businessTypes, isKeyProduct, globalOTDTable, organcodelist );
global_BrokerExecuteLog.ExecutionStatus( "Complete" );
global_BrokerExecuteLog.SuccessDateTime( DateTime::ActualTime().Format( "Y-M-D H2:m:s" ) );
diff --git a/_Main/BL/Type_Global_MappingLane/StaticMethod_SynchronizeMacroPlanData.qbl b/_Main/BL/Type_Global_MappingLane/StaticMethod_SynchronizeMacroPlanData.qbl
index 60224b2..6cfc45e 100644
--- a/_Main/BL/Type_Global_MappingLane/StaticMethod_SynchronizeMacroPlanData.qbl
+++ b/_Main/BL/Type_Global_MappingLane/StaticMethod_SynchronizeMacroPlanData.qbl
@@ -9,61 +9,15 @@
TextBody:
[*
global_BrokerExecuteLog := globalOTDTable.Global_BrokerExecuteLog( relnew,
- Name := "鍚屾杞﹂亾鏁版嵁",
+ BrokerName := "鍚屾杞﹂亾鏁版嵁",
+ ExecutionStatus := "InOperation",
IsSuccess := true,
ExecuteUser := executionUser
);
try {
- updates := construct( Lanes );
- traverse( globalOTDTable, Global_MappingLane, gl, true )
- {
- id := gl.ID();
- unitid := gl.UnitID();
- name := gl.Name();
- userleadtime := gl.UserLeadTime();
- processingtime := Duration::Zero();
-
- unitofmeasurename := "PCS";
- currencyid := "CNY";
- startdate := Date::Date( 1900, 1, 1 );
- enddate := Date::Date( 9999, 12, 31 );
- capacitytype := "Transport quantity";
- if( userleadtime.Length() = 0 )
- {
- processingtime := Duration::Zero();
- }
- else
- {
- processingtime := Duration::Hours( [Number]userleadtime );
- };
-
- unit := Unit::FindUnitTypeIndex( unitid );
- if( isnull( unit)){
- unit :=macroPlan.Unit( relnew,
- ID := unitid,
- Name := unitid,
- UnitOfMeasureName := unitofmeasurename,
- CurrencyID := currencyid,
- StartDate := startdate,
- EndDate := enddate,
- CapacityType := capacitytype );
- }
-
- a := Lane::CreateLane( unit, id, name, processingtime);
- updates.Add( a );
- }
- origindataset := selectset( macroPlan, Unit.Lane, l, true );
- obsoletes := origindataset.Difference( updates );
- // delete obsoleted
- difflength := obsoletes.Size();
- for( j:=0; j<difflength; j++ )
- {
- obsolete := obsoletes.Element( j );
- obsolete.Delete();
- }
-
+ Lane::CreasteFromMapping( globalOTDTable, macroPlan );
global_BrokerExecuteLog.ExecutionStatus( "Complete" );
global_BrokerExecuteLog.SuccessDateTime( DateTime::ActualTime().Format( "Y-M-D H2:m:s" ) );
} onerror {
diff --git a/_Main/BL/Type_Global_MappingLaneLeg/StaticMethod_SynchronizeMacroPlanData.qbl b/_Main/BL/Type_Global_MappingLaneLeg/StaticMethod_SynchronizeMacroPlanData.qbl
index d1743ec..dacd193 100644
--- a/_Main/BL/Type_Global_MappingLaneLeg/StaticMethod_SynchronizeMacroPlanData.qbl
+++ b/_Main/BL/Type_Global_MappingLaneLeg/StaticMethod_SynchronizeMacroPlanData.qbl
@@ -9,44 +9,15 @@
TextBody:
[*
global_BrokerExecuteLog := globalOTDTable.Global_BrokerExecuteLog( relnew,
- Name := "鍚屾杞﹂亾璺嚎鏁版嵁",
+ BrokerName := "鍚屾杞﹂亾璺嚎鏁版嵁",
+ ExecutionStatus := "InOperation",
IsSuccess := true,
ExecuteUser := executionUser
);
try {
- updates := construct( LaneLegs );
- traverse( globalOTDTable, Global_MappingLaneLeg, gll, true )
- {
- processingtime := Duration::Zero();
- hasprocessingtime := true;
- userleadtime := gll.UserLeadTime();
- if( userleadtime.Length() = 0 )
- {
- hasprocessingtime := false;
- processingtime := Duration::Zero();
- }
- else
- {
- hasprocessingtime := true;
- processingtime := Duration::Hours( [Number]userleadtime );
- };
-
- lane := Lane::FindLaneTypeIndex( gll.LaneID() );
- a := LaneLeg::CreateLaneleg(lane, gll.LaneID(), gll.OriginStockingPointID(), gll.DestinationStockingPointID(), gll.Name(), hasprocessingtime, processingtime);
- updates.Add( a );
- }
- origindataset := selectset( macroPlan, Unit.Lane.LaneLeg, ll, true );
- obsoletes := origindataset.Difference( updates );
- // delete obsoleted
- difflength := obsoletes.Size();
- for( j:=0; j<difflength; j++ )
- {
- obsolete := obsoletes.Element( j );
- obsolete.Delete();
- }
-
+ LaneLeg::CreateFromMapping( globalOTDTable, macroPlan );
global_BrokerExecuteLog.ExecutionStatus( "Complete" );
global_BrokerExecuteLog.SuccessDateTime( DateTime::ActualTime().Format( "Y-M-D H2:m:s" ) );
} onerror {
diff --git a/_Main/BL/Type_Global_MappingOperation/StaticMethod_SynchronizeMacroPlanData.qbl b/_Main/BL/Type_Global_MappingOperation/StaticMethod_SynchronizeMacroPlanData.qbl
index 6a663dd..59d2808 100644
--- a/_Main/BL/Type_Global_MappingOperation/StaticMethod_SynchronizeMacroPlanData.qbl
+++ b/_Main/BL/Type_Global_MappingOperation/StaticMethod_SynchronizeMacroPlanData.qbl
@@ -11,14 +11,15 @@
TextBody:
[*
global_BrokerExecuteLog := globalOTDTable.Global_BrokerExecuteLog( relnew,
- Name := "鍚屾宸ヨ壓璺嚎鏁版嵁",
+ BrokerName := "鍚屾宸ヨ壓璺嚎鏁版嵁",
+ ExecutionStatus := "InOperation",
IsSuccess := true,
ExecuteUser := executionUser
);
try {
- macroPlan.MappingOperationData( businessTypes ,globalOTDTable, organcodelist );
+ macroPlan.DoASyncMappingOperationData( businessTypes, globalOTDTable, organcodelist );
global_BrokerExecuteLog.ExecutionStatus( "Complete" );
global_BrokerExecuteLog.SuccessDateTime( DateTime::ActualTime().Format( "Y-M-D H2:m:s" ) );
diff --git a/_Main/BL/Type_Global_MappingOperationBOM/StaticMethod_SynchronizeMacroPlanData.qbl b/_Main/BL/Type_Global_MappingOperationBOM/StaticMethod_SynchronizeMacroPlanData.qbl
index 3198fd5..86e1e89 100644
--- a/_Main/BL/Type_Global_MappingOperationBOM/StaticMethod_SynchronizeMacroPlanData.qbl
+++ b/_Main/BL/Type_Global_MappingOperationBOM/StaticMethod_SynchronizeMacroPlanData.qbl
@@ -13,14 +13,15 @@
TextBody:
[*
global_BrokerExecuteLog := globalOTDTable.Global_BrokerExecuteLog( relnew,
- Name := "鍚屾BOM鏁版嵁",
+ BrokerName := "鍚屾BOM鏁版嵁",
+ ExecutionStatus := "InOperation",
IsSuccess := true,
ExecuteUser := executionUser
);
try {
- macroPlan.MappingOperationBOMData( businessTypes, isKeyProduct, createPurchaseSupplyMaterial, globalOTDTable, organcodelist );
+ macroPlan.DoASyncMappingOperationBOMData( businessTypes, isKeyProduct, createPurchaseSupplyMaterial, globalOTDTable, organcodelist );
global_BrokerExecuteLog.ExecutionStatus( "Complete" );
global_BrokerExecuteLog.SuccessDateTime( DateTime::ActualTime().Format( "Y-M-D H2:m:s" ) );
diff --git a/_Main/BL/Type_Global_MappingProductInLane/StaticMethod_SynchronizeMacroPlanData.qbl b/_Main/BL/Type_Global_MappingProductInLane/StaticMethod_SynchronizeMacroPlanData.qbl
index 9e722b5..00eddb8 100644
--- a/_Main/BL/Type_Global_MappingProductInLane/StaticMethod_SynchronizeMacroPlanData.qbl
+++ b/_Main/BL/Type_Global_MappingProductInLane/StaticMethod_SynchronizeMacroPlanData.qbl
@@ -3,20 +3,22 @@
StaticMethod SynchronizeMacroPlanData (
GlobalOTDTable globalOTDTable,
MacroPlan macroPlan,
+ Strings businessTypes,
String executionUser
)
{
TextBody:
[*
global_BrokerExecuteLog := globalOTDTable.Global_BrokerExecuteLog( relnew,
- Name := "鍚屾杩愯緭璺嚎浜у搧鏁版嵁",
+ BrokerName := "鍚屾杩愯緭璺嚎浜у搧鏁版嵁",
+ ExecutionStatus := "InOperation",
IsSuccess := true,
ExecuteUser := executionUser
);
try {
- macroPlan.MappingProductInLaneData(globalOTDTable);
+ macroPlan.DoASyncMappingProductInLaneData( globalOTDTable, businessTypes );
global_BrokerExecuteLog.ExecutionStatus( "Complete" );
global_BrokerExecuteLog.SuccessDateTime( DateTime::ActualTime().Format( "Y-M-D H2:m:s" ) );
diff --git a/_Main/BL/Type_Global_MappingProduct_MP/StaticMethod_SynchronizeMacroPlanData.qbl b/_Main/BL/Type_Global_MappingProduct_MP/StaticMethod_SynchronizeMacroPlanData.qbl
index 8c10d2f..47d8f21 100644
--- a/_Main/BL/Type_Global_MappingProduct_MP/StaticMethod_SynchronizeMacroPlanData.qbl
+++ b/_Main/BL/Type_Global_MappingProduct_MP/StaticMethod_SynchronizeMacroPlanData.qbl
@@ -11,14 +11,15 @@
TextBody:
[*
global_BrokerExecuteLog := globalOTDTable.Global_BrokerExecuteLog( relnew,
- Name := "鍚屾浜у搧鏁版嵁",
+ BrokerName := "鍚屾浜у搧鏁版嵁",
+ ExecutionStatus := "InOperation",
IsSuccess := true,
ExecuteUser := executionUser
);
try {
- macroPlan.MappingProductData( businessTypes, globalOTDTable,isKeyProduct );
+ macroPlan.DoASyncMappingProductData( businessTypes, globalOTDTable, isKeyProduct );
global_BrokerExecuteLog.ExecutionStatus( "Complete" );
global_BrokerExecuteLog.SuccessDateTime( DateTime::ActualTime().Format( "Y-M-D H2:m:s" ) );
diff --git a/_Main/BL/Type_Global_MappingSalesSegment_MP/StaticMethod_SynchronizeMacroPlanData.qbl b/_Main/BL/Type_Global_MappingSalesSegment_MP/StaticMethod_SynchronizeMacroPlanData.qbl
index fc881d2..636f6a8 100644
--- a/_Main/BL/Type_Global_MappingSalesSegment_MP/StaticMethod_SynchronizeMacroPlanData.qbl
+++ b/_Main/BL/Type_Global_MappingSalesSegment_MP/StaticMethod_SynchronizeMacroPlanData.qbl
@@ -10,14 +10,15 @@
TextBody:
[*
global_BrokerExecuteLog := globalOTDTable.Global_BrokerExecuteLog( relnew,
- Name := "鍚屾閿�鍞儴闂ㄦ暟鎹�",
+ BrokerName := "鍚屾閿�鍞儴闂ㄦ暟鎹�",
+ ExecutionStatus := "InOperation",
IsSuccess := true,
ExecuteUser := executionUser
);
try {
- macroPlan.MappingSalesSegmentData( businessTypes, globalOTDTable );
+ macroPlan.DoASyncMappingSalesSegmentData( businessTypes, globalOTDTable );
global_BrokerExecuteLog.ExecutionStatus( "Complete" );
global_BrokerExecuteLog.SuccessDateTime( DateTime::ActualTime().Format( "Y-M-D H2:m:s" ) );
diff --git a/_Main/BL/Type_Global_MappingStockingPointCost/StaticMethod_SynchronizeMacroPlanData.qbl b/_Main/BL/Type_Global_MappingStockingPointCost/StaticMethod_SynchronizeMacroPlanData.qbl
index df0cc31..adfe937 100644
--- a/_Main/BL/Type_Global_MappingStockingPointCost/StaticMethod_SynchronizeMacroPlanData.qbl
+++ b/_Main/BL/Type_Global_MappingStockingPointCost/StaticMethod_SynchronizeMacroPlanData.qbl
@@ -3,20 +3,22 @@
StaticMethod SynchronizeMacroPlanData (
GlobalOTDTable globalOTDTable,
MacroPlan macroPlan,
+ Strings businessTypes,
String executionUser
)
{
TextBody:
[*
global_BrokerExecuteLog := globalOTDTable.Global_BrokerExecuteLog( relnew,
- Name := "鍚屾搴撳瓨鎴愭湰鏁版嵁",
+ BrokerName := "鍚屾搴撳瓨鎴愭湰鏁版嵁",
+ ExecutionStatus := "InOperation",
IsSuccess := true,
ExecuteUser := executionUser
);
try {
- macroPlan.MappingInventoryValueAndCostData(globalOTDTable);
+ macroPlan.DoASyncMappingInventoryValueAndCostData( globalOTDTable, businessTypes );
global_BrokerExecuteLog.ExecutionStatus( "Complete" );
global_BrokerExecuteLog.SuccessDateTime( DateTime::ActualTime().Format( "Y-M-D H2:m:s" ) );
diff --git a/_Main/BL/Type_Global_MappingStockingPoint_MP/StaticMethod_SynchronizeMacroPlanData.qbl b/_Main/BL/Type_Global_MappingStockingPoint_MP/StaticMethod_SynchronizeMacroPlanData.qbl
index 7db4814..a388711 100644
--- a/_Main/BL/Type_Global_MappingStockingPoint_MP/StaticMethod_SynchronizeMacroPlanData.qbl
+++ b/_Main/BL/Type_Global_MappingStockingPoint_MP/StaticMethod_SynchronizeMacroPlanData.qbl
@@ -9,29 +9,15 @@
TextBody:
[*
global_BrokerExecuteLog := globalOTDTable.Global_BrokerExecuteLog( relnew,
- Name := "鍚屾搴撳瓨鐐规暟鎹�",
+ BrokerName := "鍚屾搴撳瓨鐐规暟鎹�",
+ ExecutionStatus := "InOperation",
IsSuccess := true,
ExecuteUser := executionUser
);
try {
- updates := construct( StockingPoint_MPs );
- traverse( globalOTDTable, Global_MappingStockingPoint_MP, sp, true )
- {
- a := StockingPoint_MP::CreateStockingpoint( macroPlan, sp.ID(), sp.UnitID(), sp.Name() );
- updates.Add( a );
- }
- origindataset := selectset( macroPlan, StockingPoint_MP, sp, true );
- obsoletes := origindataset.Difference( updates );
- // delete obsoleted
- difflength := obsoletes.Size();
- for( j:=0; j<difflength; j++ )
- {
- obsolete := obsoletes.Element( j );
- obsolete.Delete();
- }
-
+ StockingPoint_MP::CreateFromMapping( globalOTDTable, macroPlan );
global_BrokerExecuteLog.ExecutionStatus( "Complete" );
global_BrokerExecuteLog.SuccessDateTime( DateTime::ActualTime().Format( "Y-M-D H2:m:s" ) );
} onerror {
diff --git a/_Main/BL/Type_Global_MappingUnitCost/StaticMethod_SynchronizeMacroPlanData.qbl b/_Main/BL/Type_Global_MappingUnitCost/StaticMethod_SynchronizeMacroPlanData.qbl
index 8f08b84..2b7b644 100644
--- a/_Main/BL/Type_Global_MappingUnitCost/StaticMethod_SynchronizeMacroPlanData.qbl
+++ b/_Main/BL/Type_Global_MappingUnitCost/StaticMethod_SynchronizeMacroPlanData.qbl
@@ -11,14 +11,15 @@
TextBody:
[*
global_BrokerExecuteLog := globalOTDTable.Global_BrokerExecuteLog( relnew,
- Name := "鍚屾鍒堕�犳垚鏈暟鎹�",
+ BrokerName := "鍚屾鍒堕�犳垚鏈暟鎹�",
+ ExecutionStatus := "InOperation",
IsSuccess := true,
ExecuteUser := executionUser
);
try {
- macroPlan.MappingOperationCostData( globalOTDTable, businessTypes, organcodelist );
+ macroPlan.DoASyncMappingOperationCostData( globalOTDTable, businessTypes, organcodelist );
global_BrokerExecuteLog.ExecutionStatus( "Complete" );
global_BrokerExecuteLog.SuccessDateTime( DateTime::ActualTime().Format( "Y-M-D H2:m:s" ) );
diff --git a/_Main/BL/Type_Global_MappingUnitOfMeasure_MP/StaticMethod_SynchronizeMacroPlanData.qbl b/_Main/BL/Type_Global_MappingUnitOfMeasure_MP/StaticMethod_SynchronizeMacroPlanData.qbl
index d31811e..30bfa48 100644
--- a/_Main/BL/Type_Global_MappingUnitOfMeasure_MP/StaticMethod_SynchronizeMacroPlanData.qbl
+++ b/_Main/BL/Type_Global_MappingUnitOfMeasure_MP/StaticMethod_SynchronizeMacroPlanData.qbl
@@ -2,30 +2,30 @@
#parent: #root
StaticMethod SynchronizeMacroPlanData (
GlobalOTDTable globalOTDTable,
- MacroPlan macroPlan
+ MacroPlan macroPlan,
+ String executionUser
)
{
TextBody:
[*
global_BrokerExecuteLog := globalOTDTable.Global_BrokerExecuteLog( relnew,
- Name := "鍚屾鍗曚綅鏁版嵁",
- IsSuccess := true
+ BrokerName := "鍚屾鍗曚綅鏁版嵁",
+ ExecutionStatus := "InOperation",
+ IsSuccess := true,
+ ExecuteUser := executionUser
);
try {
- traverse ( globalOTDTable, Global_MappingUnitOfMeasure_MP, gmuommp ) {
- unitOfMeasure_MP := select( macroPlan, UnitOfMeasure_MP, tempUOMMP, tempUOMMP.Name() = gmuommp.Name() );
- if ( isnull( unitOfMeasure_MP ) ) {
- unitOfMeasure_MP := UnitOfMeasure_MP::Create( macroPlan, gmuommp.Name(), false, false );
- }
- if ( gmuommp.IsDefault() ) {
- unitOfMeasure_MP.SetAsDefault();
- }
- }
+ macroPlan.DoASyncMappingUnitOfMeasureData(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" );
}
*]
}
diff --git a/_Main/BL/Type_InventoryValueAndCost/StaticMethod_CreateOrUpdate.qbl b/_Main/BL/Type_InventoryValueAndCost/StaticMethod_CreateOrUpdate.qbl
index 4116cce..9dec2cd 100644
--- a/_Main/BL/Type_InventoryValueAndCost/StaticMethod_CreateOrUpdate.qbl
+++ b/_Main/BL/Type_InventoryValueAndCost/StaticMethod_CreateOrUpdate.qbl
@@ -32,16 +32,16 @@
//if( isnull( account ) ) {
// error( "account not found" );
//}
- result := InventoryValueAndCost::FindById( macroPlan, stockingPointId,productId,start,id );
+ result := InventoryValueAndCost::FindById( macroPlan, stockingPointId, productId, start, id );
if( not isnull( product) and not isnull( stockingPoint) and not isnull( account)){
if( isnull( result ) ) {
result := InventoryValueAndCost::Create( id, product, stockingPoint, account, costDriver, start, cost, true ).astype( InventoryValueAndCost );
} else if( result.ProductID() <> productId ) {
info( "cannot change product of inventory value and cost" )
}
- // else {
- // result.Update( account, costDriver, start, account.DefaultTimeUnit(), account.DefaultLengthOfTime(), cost, true );
- // }
+ else {
+ result.Update( account, costDriver, start, account.DefaultTimeUnit(), account.DefaultLengthOfTime(), cost, true );
+ }
}
return result;
diff --git a/_Main/BL/Type_InventoryValueAndCost/StaticMethod_FindById.qbl b/_Main/BL/Type_InventoryValueAndCost/StaticMethod_FindById.qbl
index 133145d..e49e111 100644
--- a/_Main/BL/Type_InventoryValueAndCost/StaticMethod_FindById.qbl
+++ b/_Main/BL/Type_InventoryValueAndCost/StaticMethod_FindById.qbl
@@ -12,6 +12,9 @@
[*
// yypsybs Aug-16-2023 (created)
value := select( macroPlan, Product_MP.InventoryValueAndCost, item, true, item.ProductID()=productId and item.StockingPointID() = stockPointId and item.Start() = start );
+ if( isnull( value ) ){
+ value := select( macroPlan, Product_MP.InventoryValueAndCost, item, true, item.ID() = id );
+ }
return value;
*]
}
diff --git a/_Main/BL/Type_Lane/StaticMethod_CreasteFromMapping.qbl b/_Main/BL/Type_Lane/StaticMethod_CreasteFromMapping.qbl
new file mode 100644
index 0000000..ab95433
--- /dev/null
+++ b/_Main/BL/Type_Lane/StaticMethod_CreasteFromMapping.qbl
@@ -0,0 +1,59 @@
+Quintiq file version 2.0
+#parent: #root
+StaticMethod CreasteFromMapping (
+ const GlobalOTDTable globalOTDTable,
+ MacroPlan macroPlan
+)
+{
+ TextBody:
+ [*
+ // Administrator Oct-31-2023 (created)
+ updates := construct( Lanes );
+ traverse( globalOTDTable, Global_MappingLane, gl, true )
+ {
+ id := gl.ID();
+ unitid := gl.UnitID();
+ name := gl.Name();
+ userleadtime := gl.UserLeadTime();
+ processingtime := Duration::Zero();
+
+ unitofmeasurename := "PCS";
+ currencyid := "CNY";
+ startdate := Date::Date( 1900, 1, 1 );
+ enddate := Date::Date( 9999, 12, 31 );
+ capacitytype := "Transport quantity";
+ if( userleadtime.Length() = 0 )
+ {
+ processingtime := Duration::Zero();
+ }
+ else
+ {
+ processingtime := Duration::Hours( [Number]userleadtime );
+ };
+
+ unit := Unit::FindById( macroPlan, unitid );
+ if( isnull( unit)){
+ unit :=macroPlan.Unit( relnew,
+ ID := unitid,
+ Name := unitid,
+ UnitOfMeasureName := unitofmeasurename,
+ CurrencyID := currencyid,
+ StartDate := startdate,
+ EndDate := enddate,
+ CapacityType := capacitytype );
+ }
+
+ a := Lane::CreateLane( macroPlan, unit, id, name, processingtime);
+ updates.Add( a );
+ }
+ origindataset := selectset( macroPlan, Unit.Lane, l, true );
+ obsoletes := origindataset.Difference( updates );
+ // delete obsoleted
+ difflength := obsoletes.Size();
+ for( j:=0; j<difflength; j++ )
+ {
+ obsolete := obsoletes.Element( j );
+ obsolete.Delete();
+ }
+ *]
+}
diff --git a/_Main/BL/Type_Lane/StaticMethod_CreateLane.qbl b/_Main/BL/Type_Lane/StaticMethod_CreateLane.qbl
index 64c72eb..286b75f 100644
--- a/_Main/BL/Type_Lane/StaticMethod_CreateLane.qbl
+++ b/_Main/BL/Type_Lane/StaticMethod_CreateLane.qbl
@@ -1,6 +1,7 @@
Quintiq file version 2.0
#parent: #root
StaticMethod CreateLane (
+ MacroPlan mp,
Unit unit,
String id,
String name,
@@ -19,7 +20,7 @@
isfromdb := true;
//create new stockingpoint
- result := Lane::FindLaneTypeIndex( id );
+ result := Lane::FindById( mp, id );
if( isnull( result ) )
{
diff --git a/_Main/BL/Type_Lane/StaticMethod_CreateLaneFromJson.qbl b/_Main/BL/Type_Lane/StaticMethod_CreateLaneFromJson.qbl
index 060eabc..d4e9b77 100644
--- a/_Main/BL/Type_Lane/StaticMethod_CreateLaneFromJson.qbl
+++ b/_Main/BL/Type_Lane/StaticMethod_CreateLaneFromJson.qbl
@@ -40,7 +40,7 @@
EndDate := enddate );
}
- result := Lane::CreateLane( unit, id, name, processingtime);
+ result := Lane::CreateLane( macroplan, unit, id, name, processingtime);
return result;
*]
diff --git a/_Main/BL/Type_Lane/StaticMethod_FindById.qbl b/_Main/BL/Type_Lane/StaticMethod_FindById.qbl
new file mode 100644
index 0000000..05cf40a
--- /dev/null
+++ b/_Main/BL/Type_Lane/StaticMethod_FindById.qbl
@@ -0,0 +1,15 @@
+Quintiq file version 2.0
+#parent: #root
+StaticMethod FindById (
+ MacroPlan mp,
+ String id
+) as Lane
+{
+ TextBody:
+ [*
+ // yypsybs Aug-14-2023 (created)
+ result := select( mp, Unit.Lane, lane, true, lane.ID() = id );
+
+ return result;
+ *]
+}
diff --git a/_Main/BL/Type_Lane/StaticMethod_FindByIdAndUnit.qbl b/_Main/BL/Type_Lane/StaticMethod_FindByIdAndUnit.qbl
new file mode 100644
index 0000000..b60c9e4
--- /dev/null
+++ b/_Main/BL/Type_Lane/StaticMethod_FindByIdAndUnit.qbl
@@ -0,0 +1,16 @@
+Quintiq file version 2.0
+#parent: #root
+StaticMethod FindByIdAndUnit (
+ Unit unit,
+ String id
+) as Lane
+{
+ TextBody:
+ [*
+ // yypsybs Aug-14-2023 (created)
+
+ result := select( unit, Lane, item, true, item.ID() = id );
+
+ return result;
+ *]
+}
diff --git a/_Main/BL/Type_LaneLeg/StaticMethod_CreateFromMapping.qbl b/_Main/BL/Type_LaneLeg/StaticMethod_CreateFromMapping.qbl
new file mode 100644
index 0000000..f15c486
--- /dev/null
+++ b/_Main/BL/Type_LaneLeg/StaticMethod_CreateFromMapping.qbl
@@ -0,0 +1,42 @@
+Quintiq file version 2.0
+#parent: #root
+StaticMethod CreateFromMapping (
+ const GlobalOTDTable globalOTDTable,
+ MacroPlan macroPlan
+)
+{
+ TextBody:
+ [*
+ // Administrator Oct-31-2023 (created)
+ updates := construct( LaneLegs );
+ traverse( globalOTDTable, Global_MappingLaneLeg, gll, true )
+ {
+ processingtime := Duration::Zero();
+ hasprocessingtime := true;
+ userleadtime := gll.UserLeadTime();
+ if( userleadtime.Length() = 0 )
+ {
+ hasprocessingtime := false;
+ processingtime := Duration::Zero();
+ }
+ else
+ {
+ hasprocessingtime := true;
+ processingtime := Duration::Hours( [Number]userleadtime );
+ };
+
+ lane := Lane::FindById( macroPlan, gll.LaneID() );
+ a := LaneLeg::CreateLaneleg( macroPlan, lane, gll.LaneID(), gll.OriginStockingPointID(), gll.DestinationStockingPointID(), gll.Name(), hasprocessingtime, processingtime);
+ updates.Add( a );
+ }
+ origindataset := selectset( macroPlan, Unit.Lane.LaneLeg, ll, true );
+ obsoletes := origindataset.Difference( updates );
+ // delete obsoleted
+ difflength := obsoletes.Size();
+ for( j:=0; j<difflength; j++ )
+ {
+ obsolete := obsoletes.Element( j );
+ obsolete.Delete();
+ }
+ *]
+}
diff --git a/_Main/BL/Type_LaneLeg/StaticMethod_CreateLaneLegFromJson.qbl b/_Main/BL/Type_LaneLeg/StaticMethod_CreateLaneLegFromJson.qbl
index ed77c9e..021a0f6 100644
--- a/_Main/BL/Type_LaneLeg/StaticMethod_CreateLaneLegFromJson.qbl
+++ b/_Main/BL/Type_LaneLeg/StaticMethod_CreateLaneLegFromJson.qbl
@@ -1,6 +1,7 @@
Quintiq file version 2.0
#parent: #root
StaticMethod CreateLaneLegFromJson (
+ MacroPlan mp,
JSON datarow
) as LaneLeg
{
@@ -29,7 +30,7 @@
lane := Lane::FindLaneTypeIndex( laneid );
- result := LaneLeg::CreateLaneleg(lane, laneid, originstockingpointid, destinationstockingpointid, name, hasprocessingtime, processingtime);
+ result := LaneLeg::CreateLaneleg( mp, lane, laneid, originstockingpointid, destinationstockingpointid, name, hasprocessingtime, processingtime);
return result;
*]
diff --git a/_Main/BL/Type_LaneLeg/StaticMethod_CreateLaneleg.qbl b/_Main/BL/Type_LaneLeg/StaticMethod_CreateLaneleg.qbl
index c72fe3d..6ca8d7e 100644
--- a/_Main/BL/Type_LaneLeg/StaticMethod_CreateLaneleg.qbl
+++ b/_Main/BL/Type_LaneLeg/StaticMethod_CreateLaneleg.qbl
@@ -1,6 +1,7 @@
Quintiq file version 2.0
#parent: #root
StaticMethod CreateLaneleg (
+ MacroPlan mp,
Lane lane,
String laneid,
String originstockingpointid,
@@ -25,16 +26,16 @@
isfromdb := true;
//create new stockingpoint
- originstockingpoint := StockingPoint_MP::FindStockingPointTypeIndex( originstockingpointid );
+ originstockingpoint := StockingPoint_MP::FindById( mp, originstockingpointid );
lane.AddStockingPoint( originstockingpoint, true, isfromdb );
Transaction::Transaction().Propagate();
- destinationstockingpoint := StockingPoint_MP::FindStockingPointTypeIndex( destinationstockingpointid );
+ destinationstockingpoint := StockingPoint_MP::FindById( mp, destinationstockingpointid );
lane.AddStockingPoint( destinationstockingpoint, false, isfromdb );
Transaction::Transaction().Propagate();
- result := LaneLeg::FindLaneLegTypeIndex( laneid, originstockingpointid, destinationstockingpointid );
+ result := LaneLeg::FindByIdAndLane( lane, originstockingpointid, destinationstockingpointid );
if( isnull( result ) )
{
diff --git a/_Main/BL/Type_LaneLeg/StaticMethod_FindByIdAndLane.qbl b/_Main/BL/Type_LaneLeg/StaticMethod_FindByIdAndLane.qbl
new file mode 100644
index 0000000..a6a90ec
--- /dev/null
+++ b/_Main/BL/Type_LaneLeg/StaticMethod_FindByIdAndLane.qbl
@@ -0,0 +1,17 @@
+Quintiq file version 2.0
+#parent: #root
+StaticMethod FindByIdAndLane (
+ Lane lane,
+ String originstockingpointid,
+ String destinationstockingpointid
+) as LaneLeg
+{
+ TextBody:
+ [*
+ // yypsybs Aug-14-2023 (created)
+
+ result := select( lane, LaneLeg, item, true, item.OriginStockingPointID() = originstockingpointid and item.DestinationStockingPointID() = destinationstockingpointid );
+
+ return result;
+ *]
+}
diff --git a/_Main/BL/Type_MacroPlan/DefaultValue_BusinessType.qbl b/_Main/BL/Type_MacroPlan/DefaultValue_BusinessType.qbl
deleted file mode 100644
index 1672b03..0000000
--- a/_Main/BL/Type_MacroPlan/DefaultValue_BusinessType.qbl
+++ /dev/null
@@ -1,6 +0,0 @@
-Quintiq file version 2.0
-#parent: #root
-DefaultValue
-{
- TargetAttribute: BusinessType
-}
diff --git a/_Main/BL/Type_MacroPlan/Method_ApiCurencyRatesData.qbl b/_Main/BL/Type_MacroPlan/Method_ApiCurencyRatesData.qbl
index 9f5c492..e4ee8c5 100644
--- a/_Main/BL/Type_MacroPlan/Method_ApiCurencyRatesData.qbl
+++ b/_Main/BL/Type_MacroPlan/Method_ApiCurencyRatesData.qbl
@@ -1,6 +1,7 @@
Quintiq file version 2.0
#parent: #root
Method ApiCurencyRatesData (
+ MacroPlan mp,
JSON data
)
{
@@ -14,7 +15,7 @@
for( i:=0; i<data_length; i++ )
{
datarow := data.Get( i );
- a := CurrencyRate_MP::CreateCurrencyRateFromJson( datarow );
+ a := CurrencyRate_MP::CreateCurrencyRateFromJson( mp, datarow );
updates.Add( a );
}
origindataset := selectset( this, Currency_MP.CurrencyRate_MP, cr, true );
diff --git a/_Main/BL/Type_MacroPlan/Method_ApiLaneLegsData.qbl b/_Main/BL/Type_MacroPlan/Method_ApiLaneLegsData.qbl
index 450d6ae..c3e7b0c 100644
--- a/_Main/BL/Type_MacroPlan/Method_ApiLaneLegsData.qbl
+++ b/_Main/BL/Type_MacroPlan/Method_ApiLaneLegsData.qbl
@@ -1,6 +1,7 @@
Quintiq file version 2.0
#parent: #root
Method ApiLaneLegsData (
+ MacroPlan mp,
JSON data
)
{
@@ -14,7 +15,7 @@
for( i:=0; i<data_length; i++ )
{
datarow := data.Get( i );
- a := LaneLeg::CreateLaneLegFromJson( datarow );
+ a := LaneLeg::CreateLaneLegFromJson( mp, datarow );
updates.Add( a );
}
origindataset := selectset( this, Unit.Lane.LaneLeg, ll, true );
diff --git a/_Main/BL/Type_MacroPlan/Method_DoASyncMappingCustomerOrderData.qbl b/_Main/BL/Type_MacroPlan/Method_DoASyncMappingCustomerOrderData.qbl
index e56a4f7..16ec956 100644
--- a/_Main/BL/Type_MacroPlan/Method_DoASyncMappingCustomerOrderData.qbl
+++ b/_Main/BL/Type_MacroPlan/Method_DoASyncMappingCustomerOrderData.qbl
@@ -22,7 +22,7 @@
( organcodelist.Find( item.StockingPointID().SubString( 0, 3 ) ) >= 0 ) );
}
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() );
+ //queryEndDate := guard( max( this, Period_MP, item, true, item.EndDate() ), Date::MaxDate() );
listToDeal := selectset( listToDeal, Elements, item, item.OrderDate() >= queryStartDate /*and item.OrderDate() <= queryEndDate*/, not isnull( Product_MP::FindById( this, item.ProductID() ) ) and not isnull( StockingPoint_MP::FindById( this, item.StockingPointID() ) ) and not isnull( SalesSegment_MP::FindByName( this, item.SalesSegmentName() ) ) );
totalcount := listToDeal.Size();
diff --git a/_Main/BL/Type_MacroPlan/Method_DoASyncMappingExternalSupplyData.qbl b/_Main/BL/Type_MacroPlan/Method_DoASyncMappingExternalSupplyData.qbl
index ad47aed..6b2f316 100644
--- a/_Main/BL/Type_MacroPlan/Method_DoASyncMappingExternalSupplyData.qbl
+++ b/_Main/BL/Type_MacroPlan/Method_DoASyncMappingExternalSupplyData.qbl
@@ -11,7 +11,7 @@
[*
// 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() );
+ //queryEndDate := guard( max( this, Period_MP, item, true, item.EndDate() ), Date::MaxDate() );
listtodeal := construct( Global_MappingInventorySupplys, constcontent );
if ( businessTypes.Size() > 0 ) {
diff --git "a/_Main/BL/Type_MacroPlan/StaticMethod_DoASync\043253.qbl" "b/_Main/BL/Type_MacroPlan/StaticMethod_DoASync\043253.qbl"
index 0c397f4..70b4b76 100644
--- "a/_Main/BL/Type_MacroPlan/StaticMethod_DoASync\043253.qbl"
+++ "b/_Main/BL/Type_MacroPlan/StaticMethod_DoASync\043253.qbl"
@@ -17,6 +17,8 @@
info( "Prepare to do sync" )
info( "Get organ code list" )
businessTypeName := businessType.BusinessTypeName().Tokenize( "," );
+ macroPlan.BusinessType( businessType.BusinessTypeName() );
+
organcodelist := selectvalues( businessType, OrganCode, organ, true, organ.OrganCodeName() );
if( organcodelist.Size() = 0 ){
@@ -44,34 +46,23 @@
macroPlan.DoASyncMappingUnitData( businessTypeName ,globalOTDTable, organcodelist);
// 搴撳瓨鐐�-3
- info( "Sales Segment Finished, Start Get StockingPoint From Api" )
- parameter := select( globalOTDTable, GlobalParameters, param, param.AttributeName() = "StockingPoint" );
- postrequestbody := parameter.PostRequestBody();
- address := parameter.Address();
- url := parameter.AttributeValue();
- port := [Number]parameter.Port();
- data := macroPlan.ApiResponesCheck( address, url, port, postrequestbody );
- macroPlan.ApiStockingPointData( data );
+ info( "Sales Segment Finished, Start Get StockingPoint From Mapping" )
+ StockingPoint_MP::CreateFromMapping( globalOTDTable, macroPlan );
+ //parameter := select( globalOTDTable, GlobalParameters, param, param.AttributeName() = "StockingPoint" );
+ //postrequestbody := parameter.PostRequestBody();
+ //address := parameter.Address();
+ //url := parameter.AttributeValue();
+ //port := [Number]parameter.Port();
+ //data := macroPlan.ApiResponesCheck( address, url, port, postrequestbody );
+ //macroPlan.ApiStockingPointData( data );
// 璐у竵淇℃伅-4
- info( "Get StockingPoint From Api Finished, Start Get CurrencyInfo From Api" )
- parameter := select( globalOTDTable, GlobalParameters, param, param.AttributeName() = "CurrencyInfo" );
- postrequestbody := parameter.PostRequestBody();
- address := parameter.Address();
- url := parameter.AttributeValue();
- port := [Number]parameter.Port();
- data := macroPlan.ApiResponesCheck( address, url, port, postrequestbody );
- macroPlan.ApiCurenciesData( data );
+ info( "Get StockingPoint From Api Finished, Start Get CurrencyInfo From Mapping" )
+ Currency_MP::CreateFromMapping( globalOTDTable, macroPlan );
//璐у竵姹囩巼淇℃伅-5
- info( "Get CurrencyInfo From Api Finished, Start Get CurrencyRates From Api" )
- parameter := select( globalOTDTable, GlobalParameters, param, param.AttributeName() = "CurrencyRates" );
- postrequestbody := parameter.PostRequestBody();
- address := parameter.Address();
- url := parameter.AttributeValue();
- port := [Number]parameter.Port();
- data := macroPlan.ApiResponesCheck( address, url, port, postrequestbody );
- macroPlan.ApiCurencyRatesData( data );
+ info( "Get CurrencyInfo From Api Finished, Start Get CurrencyRates From Mapping" )
+ CurrencyRate_MP::CreateFromMapping( globalOTDTable, macroPlan );
// 浜у搧鐗╂枡-6
//info( "Get CurrencyRates From Api Finished, Start Product Data Broker" )
@@ -92,24 +83,12 @@
macroPlan.DoASyncMappingOperationBOMData( businessTypeName, isKeyProduct, createPurchaseSupplyMaterial,globalOTDTable, organcodelist );
//杞﹂亾淇℃伅-10
- info( "BOM Finished, Start Get Lanes From Api" );
- parameter := select( globalOTDTable, GlobalParameters, param, param.AttributeName() = "Lanes" );
- postrequestbody := parameter.PostRequestBody();
- address := parameter.Address();
- url := parameter.AttributeValue();
- port := [Number]parameter.Port();
- data := macroPlan.ApiResponesCheck( address, url, port, postrequestbody );
- macroPlan.ApiLanesData( data );
+ info( "BOM Finished, Start Get Lanes From Mapping" );
+ Lane::CreasteFromMapping( globalOTDTable, macroPlan );
//杞﹂亾杩愯緭娈�-11
- info( "Get Lanes From Api Finished, Start Get LaneLegs From Api" );
- parameter := select( globalOTDTable, GlobalParameters, param, param.AttributeName() = "LaneLegs" );
- postrequestbody := parameter.PostRequestBody();
- address := parameter.Address();
- url := parameter.AttributeValue();
- port := [Number]parameter.Port();
- data := macroPlan.ApiResponesCheck( address, url, port, postrequestbody );
- macroPlan.ApiLaneLegsData( data );
+ info( "Get Lanes From Api Finished, Start Get LaneLegs From Mapping" );
+ LaneLeg::CreateFromMapping( globalOTDTable, macroPlan );
// 渚涘簲缃戠粶锛堣溅閬擄級-12
//info( "Get Lanelegs From Api Finished, Start ProductInLane Data Broker" );
diff --git a/_Main/BL/Type_MacroPlan/StaticMethod_DoSync0.qbl b/_Main/BL/Type_MacroPlan/StaticMethod_DoSync0.qbl
index 8cb5656..25df795 100644
--- a/_Main/BL/Type_MacroPlan/StaticMethod_DoSync0.qbl
+++ b/_Main/BL/Type_MacroPlan/StaticMethod_DoSync0.qbl
@@ -71,7 +71,7 @@
url := "/otdService/https/GetCurrencyRatesInfo";
port := 443;
data := macroPlan.ApiResponesCheck( address, url, port, postrequestbody );
- macroPlan.ApiCurencyRatesData( data );
+ macroPlan.ApiCurencyRatesData( macroPlan, data );
// 浜у搧鐗╂枡-6
//info( "Get CurrencyRates From Api Finished, Start Product Data Broker" )
@@ -109,7 +109,7 @@
url := "/otdService/https/GetLaneLegsInfo";
port := 443;
data := macroPlan.ApiResponesCheck( address, url, port, postrequestbody );
- macroPlan.ApiLaneLegsData( data );
+ macroPlan.ApiLaneLegsData( macroPlan, data );
// 渚涘簲缃戠粶锛堣溅閬擄級-12
//info( "Get Lanelegs From Api Finished, Start ProductInLane Data Broker" );
diff --git a/_Main/BL/Type_PeggingProductInSalesDemandBase/Attribute_Quantity.qbl b/_Main/BL/Type_PeggingProductInSalesDemandBase/Attribute_Quantity.qbl
new file mode 100644
index 0000000..47736bd
--- /dev/null
+++ b/_Main/BL/Type_PeggingProductInSalesDemandBase/Attribute_Quantity.qbl
@@ -0,0 +1,7 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute Quantity
+{
+ #keys: '3[414702.1.294748144][414702.1.294748143][414702.1.294748145]'
+ ValueType: Real
+}
diff --git a/_Main/BL/Type_PeggingProductInSalesDemandBase/Attribute_SalesDemandBaseID.qbl b/_Main/BL/Type_PeggingProductInSalesDemandBase/Attribute_SalesDemandBaseID.qbl
new file mode 100644
index 0000000..1df641d
--- /dev/null
+++ b/_Main/BL/Type_PeggingProductInSalesDemandBase/Attribute_SalesDemandBaseID.qbl
@@ -0,0 +1,7 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute SalesDemandBaseID
+{
+ #keys: '3[414702.1.294144484][414702.1.294144483][414702.1.294144485]'
+ ValueType: String
+}
diff --git a/_Main/BL/Type_PeggingProductInSalesDemandBase/Attribute_StartDate.qbl b/_Main/BL/Type_PeggingProductInSalesDemandBase/Attribute_StartDate.qbl
new file mode 100644
index 0000000..76121f8
--- /dev/null
+++ b/_Main/BL/Type_PeggingProductInSalesDemandBase/Attribute_StartDate.qbl
@@ -0,0 +1,7 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute StartDate
+{
+ #keys: '3[414702.1.294179414][414702.1.294179413][414702.1.294179415]'
+ ValueType: Date
+}
diff --git a/_Main/BL/Type_PeggingProductInSalesDemandBase/Attribute_StockingPointID.qbl b/_Main/BL/Type_PeggingProductInSalesDemandBase/Attribute_StockingPointID.qbl
new file mode 100644
index 0000000..7571b1e
--- /dev/null
+++ b/_Main/BL/Type_PeggingProductInSalesDemandBase/Attribute_StockingPointID.qbl
@@ -0,0 +1,7 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute StockingPointID
+{
+ #keys: '3[414702.1.294179270][414702.1.294179269][414702.1.294179271]'
+ ValueType: String
+}
diff --git a/_Main/BL/Type_PeggingProductInSalesDemandBase/_ROOT_Type_PeggingProductInSalesDemandBase.qbl b/_Main/BL/Type_PeggingProductInSalesDemandBase/_ROOT_Type_PeggingProductInSalesDemandBase.qbl
new file mode 100644
index 0000000..1563969
--- /dev/null
+++ b/_Main/BL/Type_PeggingProductInSalesDemandBase/_ROOT_Type_PeggingProductInSalesDemandBase.qbl
@@ -0,0 +1,9 @@
+Quintiq file version 2.0
+#root
+#parent: #DomainModel
+Type PeggingProductInSalesDemandBase
+{
+ #keys: '5[414702.1.290710055][414702.1.290710053][0.0.0][414702.1.290710054][414702.1.290710056]'
+ BaseType: Object
+ StructuredName: 'PeggingProductInSalesDemandBases'
+}
diff --git a/_Main/BL/Type_PeggingProduct_MP/Attribute_ProductID.qbl b/_Main/BL/Type_PeggingProduct_MP/Attribute_ProductID.qbl
new file mode 100644
index 0000000..1aa0e94
--- /dev/null
+++ b/_Main/BL/Type_PeggingProduct_MP/Attribute_ProductID.qbl
@@ -0,0 +1,7 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute ProductID
+{
+ #keys: '3[414702.1.290710074][414702.1.290710073][414702.1.290710075]'
+ ValueType: String
+}
diff --git a/_Main/BL/Type_PeggingProduct_MP/StaticMethod_Create.qbl b/_Main/BL/Type_PeggingProduct_MP/StaticMethod_Create.qbl
new file mode 100644
index 0000000..c64e4ba
--- /dev/null
+++ b/_Main/BL/Type_PeggingProduct_MP/StaticMethod_Create.qbl
@@ -0,0 +1,25 @@
+Quintiq file version 2.0
+#parent: #root
+StaticMethod Create (
+ GlobalOTDSOP globalOTDSOP,
+ Product_MPs product_MPs
+)
+{
+ TextBody:
+ [*
+ globalOTDSOP.PeggingProduct_MP( relflush );
+
+ product_MPs := selectset( product_MPs, Elements, tempPMP, tempPMP.IsLeaf() );
+
+ traverse ( product_MPs, Elements, pmp ) {
+ targetPeggingProduct_MP := globalOTDSOP.PeggingProduct_MP( relnew, ProductID := pmp.ID() );
+ traverse ( pmp, SalesDemand, sd ) {
+ targetPeggingProduct_MP.PeggingProductInSalesDemandBase( relnew,
+ StockingPointID := sd.StockingPointID(),
+ SalesDemandBaseID := sd.ID(),
+ Quantity := sd.Quantity(),
+ StartDate := sd.StartDate() );
+ }
+ }
+ *]
+}
diff --git a/_Main/BL/Type_PeggingProduct_MP/_ROOT_Type_PeggingProduct_MP.qbl b/_Main/BL/Type_PeggingProduct_MP/_ROOT_Type_PeggingProduct_MP.qbl
new file mode 100644
index 0000000..6b2219e
--- /dev/null
+++ b/_Main/BL/Type_PeggingProduct_MP/_ROOT_Type_PeggingProduct_MP.qbl
@@ -0,0 +1,9 @@
+Quintiq file version 2.0
+#root
+#parent: #DomainModel
+Type PeggingProduct_MP
+{
+ #keys: '5[414702.1.290710035][414702.1.290710033][0.0.0][414702.1.290710034][414702.1.290710036]'
+ BaseType: Object
+ StructuredName: 'PeggingProduct_MPs'
+}
diff --git a/_Main/BL/Type_PeggingResult/Attribute_ActualFulfillmentQuantity.qbl b/_Main/BL/Type_PeggingResult/Attribute_ActualFulfillmentQuantity.qbl
new file mode 100644
index 0000000..54dd8e4
--- /dev/null
+++ b/_Main/BL/Type_PeggingResult/Attribute_ActualFulfillmentQuantity.qbl
@@ -0,0 +1,8 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute ActualFulfillmentQuantity
+{
+ #keys: '3[414702.1.314092328][414702.1.314092327][414702.1.314092329]'
+ Description: '瀹為檯浜や粯鐨勬暟閲�'
+ ValueType: Real
+}
diff --git a/_Main/BL/Type_PeggingResult/Attribute_FulfillmentQuantity.qbl b/_Main/BL/Type_PeggingResult/Attribute_FulfillmentQuantity.qbl
new file mode 100644
index 0000000..36ca7a2
--- /dev/null
+++ b/_Main/BL/Type_PeggingResult/Attribute_FulfillmentQuantity.qbl
@@ -0,0 +1,8 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute FulfillmentQuantity
+{
+ #keys: '3[414702.1.294201083][414702.1.294201082][414702.1.294201084]'
+ Description: '璁㈠崟鎵�闇�瑕佺殑鏁伴噺'
+ ValueType: Real
+}
diff --git a/_Main/BL/Type_PeggingResult/Attribute_NumberOfPlies.qbl b/_Main/BL/Type_PeggingResult/Attribute_NumberOfPlies.qbl
new file mode 100644
index 0000000..610302a
--- /dev/null
+++ b/_Main/BL/Type_PeggingResult/Attribute_NumberOfPlies.qbl
@@ -0,0 +1,7 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute NumberOfPlies
+{
+ #keys: '3[414702.1.294145595][414702.1.294145594][414702.1.294145596]'
+ ValueType: Number
+}
diff --git a/_Main/BL/Type_PeggingResult/Attribute_ProductID.qbl b/_Main/BL/Type_PeggingResult/Attribute_ProductID.qbl
new file mode 100644
index 0000000..d0beff9
--- /dev/null
+++ b/_Main/BL/Type_PeggingResult/Attribute_ProductID.qbl
@@ -0,0 +1,7 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute ProductID
+{
+ #keys: '3[414702.1.294201096][414702.1.294201095][414702.1.294201097]'
+ ValueType: String
+}
diff --git a/_Main/BL/Type_PeggingResult/Attribute_StartDate.qbl b/_Main/BL/Type_PeggingResult/Attribute_StartDate.qbl
new file mode 100644
index 0000000..62f0fec
--- /dev/null
+++ b/_Main/BL/Type_PeggingResult/Attribute_StartDate.qbl
@@ -0,0 +1,7 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute StartDate
+{
+ #keys: '3[414702.1.294201063][414702.1.294201062][414702.1.294201064]'
+ ValueType: Date
+}
diff --git a/_Main/BL/Type_PeggingResult/Attribute_StockingPointID.qbl b/_Main/BL/Type_PeggingResult/Attribute_StockingPointID.qbl
new file mode 100644
index 0000000..6a9dcad
--- /dev/null
+++ b/_Main/BL/Type_PeggingResult/Attribute_StockingPointID.qbl
@@ -0,0 +1,7 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute StockingPointID
+{
+ #keys: '3[414702.1.294201106][414702.1.294201105][414702.1.294201107]'
+ ValueType: String
+}
diff --git a/_Main/BL/Type_PeggingResult/Attribute_SupplyQuantity.qbl b/_Main/BL/Type_PeggingResult/Attribute_SupplyQuantity.qbl
new file mode 100644
index 0000000..053a461
--- /dev/null
+++ b/_Main/BL/Type_PeggingResult/Attribute_SupplyQuantity.qbl
@@ -0,0 +1,7 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute SupplyQuantity
+{
+ #keys: '3[414702.1.294201073][414702.1.294201072][414702.1.294201074]'
+ ValueType: Real
+}
diff --git a/_Main/BL/Type_PeggingResult/Attribute_SupplyType.qbl b/_Main/BL/Type_PeggingResult/Attribute_SupplyType.qbl
new file mode 100644
index 0000000..fcfb218
--- /dev/null
+++ b/_Main/BL/Type_PeggingResult/Attribute_SupplyType.qbl
@@ -0,0 +1,7 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute SupplyType
+{
+ #keys: '3[414702.1.294201053][414702.1.294201052][414702.1.294201054]'
+ ValueType: String
+}
diff --git a/_Main/BL/Type_PeggingResult/Attribute_UnitOfMeasurementName.qbl b/_Main/BL/Type_PeggingResult/Attribute_UnitOfMeasurementName.qbl
new file mode 100644
index 0000000..1d741f1
--- /dev/null
+++ b/_Main/BL/Type_PeggingResult/Attribute_UnitOfMeasurementName.qbl
@@ -0,0 +1,7 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute UnitOfMeasurementName
+{
+ #keys: '3[414702.1.294852022][414702.1.294852021][414702.1.294852023]'
+ ValueType: String
+}
diff --git a/_Main/BL/Type_PeggingResult/StaticMethod_Create.qbl b/_Main/BL/Type_PeggingResult/StaticMethod_Create.qbl
new file mode 100644
index 0000000..35370aa
--- /dev/null
+++ b/_Main/BL/Type_PeggingResult/StaticMethod_Create.qbl
@@ -0,0 +1,31 @@
+Quintiq file version 2.0
+#parent: #root
+StaticMethod Create (
+ PeggingProductInSalesDemandBase peggingProductInSalesDemandBase,
+ String productID,
+ String stockingPointID,
+ Date startDate,
+ Real supplyQuantity,
+ Real actualFulfillmentQuantity,
+ Real fulfillmentQuantity,
+ String supplyType,
+ Number numberOfPlies,
+ String unitOfMeasurementName
+) as PeggingResult
+{
+ TextBody:
+ [*
+ peggingResult := peggingProductInSalesDemandBase.PeggingResult( relnew,
+ ProductID := productID,
+ StockingPointID := stockingPointID,
+ StartDate := startDate,
+ SupplyQuantity := supplyQuantity,
+ ActualFulfillmentQuantity := actualFulfillmentQuantity,
+ FulfillmentQuantity := fulfillmentQuantity,
+ SupplyType := supplyType,
+ NumberOfPlies := numberOfPlies,
+ UnitOfMeasurementName := unitOfMeasurementName
+ );
+ return peggingResult;
+ *]
+}
diff --git a/_Main/BL/Type_PeggingResult/StaticMethod_CreateAllChildRelation.qbl b/_Main/BL/Type_PeggingResult/StaticMethod_CreateAllChildRelation.qbl
new file mode 100644
index 0000000..b435f3b
--- /dev/null
+++ b/_Main/BL/Type_PeggingResult/StaticMethod_CreateAllChildRelation.qbl
@@ -0,0 +1,17 @@
+Quintiq file version 2.0
+#parent: #root
+StaticMethod CreateAllChildRelation (
+ PeggingProductInSalesDemandBase ppisdb
+)
+{
+ TextBody:
+ [*
+ targetPeggingResults := selectset( ppisdb, PeggingResult, tempPR, tempPR.NumberOfPlies() = 0 );
+
+ traverse ( targetPeggingResults, Elements, pr ) {
+ parentPeggingResult := pr;
+ childPeggingResult := pr;
+ PeggingResult::SetAllChildRelation( ppisdb, parentPeggingResult, childPeggingResult );
+ }
+ *]
+}
diff --git a/_Main/BL/Type_PeggingResult/StaticMethod_CreateAllGroupChildRelation.qbl b/_Main/BL/Type_PeggingResult/StaticMethod_CreateAllGroupChildRelation.qbl
new file mode 100644
index 0000000..3e19eca
--- /dev/null
+++ b/_Main/BL/Type_PeggingResult/StaticMethod_CreateAllGroupChildRelation.qbl
@@ -0,0 +1,7 @@
+Quintiq file version 2.0
+#parent: #root
+StaticMethod CreateAllGroupChildRelation (
+ PeggingProductInSalesDemandBase ppisdb
+)
+{
+}
diff --git a/_Main/BL/Type_PeggingResult/StaticMethod_CreateData.qbl b/_Main/BL/Type_PeggingResult/StaticMethod_CreateData.qbl
new file mode 100644
index 0000000..b121c0d
--- /dev/null
+++ b/_Main/BL/Type_PeggingResult/StaticMethod_CreateData.qbl
@@ -0,0 +1,28 @@
+Quintiq file version 2.0
+#parent: #root
+StaticMethod CreateData (
+ PeggingProductInSalesDemandBases peggingProductInSalesDemandBases,
+ const MacroPlan macroPlan
+)
+{
+ TextBody:
+ [*
+ traverse ( peggingProductInSalesDemandBases, Elements, ppisdb ) {
+ ppisdb.PeggingResult( relflush );
+ targetSalesDemand := select( macroPlan, SalesDemand, tempSD, tempSD.ID() = ppisdb.SalesDemandBaseID() );
+ traverse ( targetSalesDemand, SalesDemandInPeriod.Fulfillment, f ) {
+ smp := f.Supply_MP();
+ fulfillmentQuantity := f.Quantity();
+ PeggingResult::GeneratePeggingResult( ppisdb,
+ 0,
+ smp,
+ fulfillmentQuantity,
+ fulfillmentQuantity,
+ null( PeggingResult ) );
+ }
+
+ PeggingResult::CreateAllChildRelation( ppisdb );
+ PeggingResult::CreateAllGroupChildRelation( ppisdb );
+ }
+ *]
+}
diff --git a/_Main/BL/Type_PeggingResult/StaticMethod_GenerateInventorySupply.qbl b/_Main/BL/Type_PeggingResult/StaticMethod_GenerateInventorySupply.qbl
new file mode 100644
index 0000000..6d10ac1
--- /dev/null
+++ b/_Main/BL/Type_PeggingResult/StaticMethod_GenerateInventorySupply.qbl
@@ -0,0 +1,31 @@
+Quintiq file version 2.0
+#parent: #root
+StaticMethod GenerateInventorySupply (
+ PeggingProductInSalesDemandBase peggingProductInSalesDemandBase,
+ Number numberOfPlies,
+ const InventorySupply is,
+ Real actualFulfillmentQuantity,
+ Real fulfillmentQuantity,
+ PeggingResult parentPeggingResult
+)
+{
+ TextBody:
+ [*
+ //info( "渚涘簲绫诲瀷锛圛nventorySupply锛� ", "渚涘簲鏃堕棿锛�", is.Date().Format( "Y-M2-D2" ), " 渚涘簲閲忥細", is.Quantity(),
+ // " 瀹為檯鐢ㄩ噺锛�", fulfillmentQuantity, " ", is.ProductInStockingPoint_MP().Name() );
+ pisp := is.ProductInStockingPointInPeriodPlanningLeaf().ProductInStockingPoint_MP();
+ childPeggingResult := PeggingResult::Create( peggingProductInSalesDemandBase,
+ pisp.ProductID(),
+ pisp.StockingPointID(),
+ is.Date(),
+ is.Quantity(),
+ actualFulfillmentQuantity,
+ fulfillmentQuantity,
+ "搴撳瓨渚涘簲",
+ numberOfPlies,
+ pisp.UnitOfMeasureName()
+ );
+
+ PeggingResult::SetParentChildRelationship( parentPeggingResult, childPeggingResult );
+ *]
+}
diff --git a/_Main/BL/Type_PeggingResult/StaticMethod_GenerateNewSupply.qbl b/_Main/BL/Type_PeggingResult/StaticMethod_GenerateNewSupply.qbl
new file mode 100644
index 0000000..cc10732
--- /dev/null
+++ b/_Main/BL/Type_PeggingResult/StaticMethod_GenerateNewSupply.qbl
@@ -0,0 +1,66 @@
+Quintiq file version 2.0
+#parent: #root
+StaticMethod GenerateNewSupply (
+ PeggingProductInSalesDemandBase peggingProductInSalesDemandBase,
+ Number numberOfPlies,
+ const NewSupply ns,
+ Real actualFulfillmentQuantity,
+ Real fulfillmentQuantity,
+ PeggingResult parentPeggingResult
+)
+{
+ TextBody:
+ [*
+ //info( "渚涘簲绫诲瀷锛圢ewSupply锛�", " 渚涘簲閲忥細", ns.Quantity(), " 婊¤冻锛�", fulfillmentQuantity );
+
+ pisp := ns.ProductInStockingPointInPeriodPlanningLeaf().ProductInStockingPoint_MP();
+
+ childPeggingResult := PeggingResult::Create( peggingProductInSalesDemandBase,
+ pisp.ProductID(),
+ pisp.StockingPointID(),
+ ns.Start().Date(),
+ ns.Quantity(),
+ actualFulfillmentQuantity,
+ fulfillmentQuantity,
+ "",
+ numberOfPlies,
+ pisp.UnitOfMeasureName() );
+ PeggingResult::SetParentChildRelationship( parentPeggingResult, childPeggingResult );
+
+ ontype ( ns.PeriodTask_MP() ) {
+ PeriodTaskOperation as pto : {
+ childPeggingResult.SupplyType( "浜х嚎渚涘簲" );
+ // 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 ) {
+ actualFulfillmentQuantity := f.Quantity();
+ smp1 := f.Supply_MP();
+ numberOfPlies++;
+ fulfillmentQuantity := ( dd.Quantity() / ns.Quantity() ) * fulfillmentQuantity;
+ // info( "--------------------------------------------------------------" );
+ PeggingResult::GeneratePeggingResult( peggingProductInSalesDemandBase, numberOfPlies, smp1, actualFulfillmentQuantity, fulfillmentQuantity, childPeggingResult );
+ numberOfPlies--;
+ }
+ }
+ }
+
+ PeriodTaskLaneLeg as ptll : {
+ childPeggingResult.SupplyType( "杞﹂亾渚涘簲" );
+ 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(), " ",
+ // ns.ProductInStockingPointInPeriodPlanningLeaf().ProductInStockingPoint_MP().Name() );
+ traverse ( targetDependentDemand, Fulfillment, f ) {
+ actualFulfillmentQuantity := f.Quantity();
+ smp1 := f.Supply_MP();
+ numberOfPlies++;
+ // info( "--------------------------------------------------------------" );
+ PeggingResult::GeneratePeggingResult( peggingProductInSalesDemandBase, numberOfPlies, smp1, actualFulfillmentQuantity, fulfillmentQuantity, childPeggingResult );
+ numberOfPlies--;
+ }
+ }
+ }
+ *]
+}
diff --git a/_Main/BL/Type_PeggingResult/StaticMethod_GeneratePeggingResult.qbl b/_Main/BL/Type_PeggingResult/StaticMethod_GeneratePeggingResult.qbl
new file mode 100644
index 0000000..3e6f64e
--- /dev/null
+++ b/_Main/BL/Type_PeggingResult/StaticMethod_GeneratePeggingResult.qbl
@@ -0,0 +1,25 @@
+Quintiq file version 2.0
+#parent: #root
+StaticMethod GeneratePeggingResult (
+ PeggingProductInSalesDemandBase peggingProductInSalesDemandBase,
+ Number numberOfPlies,
+ const Supply_MP smp,
+ Real actualFulfillmentQuantity,
+ Real fulfillmentQuantity,
+ PeggingResult parentPeggingResult
+)
+{
+ TextBody:
+ [*
+ //info( "灞傛暟锛�", numberOfPlies );
+ ontype ( smp ) {
+ NewSupply as ns : {
+ PeggingResult::GenerateNewSupply( peggingProductInSalesDemandBase, numberOfPlies, ns, actualFulfillmentQuantity, fulfillmentQuantity, parentPeggingResult );
+ }
+
+ InventorySupply as is : {
+ PeggingResult::GenerateInventorySupply( peggingProductInSalesDemandBase, numberOfPlies, is, actualFulfillmentQuantity, fulfillmentQuantity, parentPeggingResult );
+ }
+ }
+ *]
+}
diff --git a/_Main/BL/Type_PeggingResult/StaticMethod_SetAllChildRelation.qbl b/_Main/BL/Type_PeggingResult/StaticMethod_SetAllChildRelation.qbl
new file mode 100644
index 0000000..caee0aa
--- /dev/null
+++ b/_Main/BL/Type_PeggingResult/StaticMethod_SetAllChildRelation.qbl
@@ -0,0 +1,20 @@
+Quintiq file version 2.0
+#parent: #root
+StaticMethod SetAllChildRelation (
+ PeggingProductInSalesDemandBase peggingProductInSalesDemandBase,
+ PeggingResult parentPeggingResult,
+ PeggingResult childPeggingResult
+)
+{
+ TextBody:
+ [*
+ if ( childPeggingResult.Child( relsize ) = 0 ) {
+ childPeggingResult.AllParent( relset, parentPeggingResult );
+ }
+
+ traverse ( childPeggingResult, Child, pr ) {
+ pr.AllParent( relset, parentPeggingResult );
+ PeggingResult::SetAllChildRelation( peggingProductInSalesDemandBase, parentPeggingResult, pr );
+ }
+ *]
+}
diff --git a/_Main/BL/Type_PeggingResult/StaticMethod_SetParentChildRelationship.qbl b/_Main/BL/Type_PeggingResult/StaticMethod_SetParentChildRelationship.qbl
new file mode 100644
index 0000000..144505c
--- /dev/null
+++ b/_Main/BL/Type_PeggingResult/StaticMethod_SetParentChildRelationship.qbl
@@ -0,0 +1,14 @@
+Quintiq file version 2.0
+#parent: #root
+StaticMethod SetParentChildRelationship (
+ PeggingResult parentPeggingResult,
+ PeggingResult childPeggingResult
+)
+{
+ TextBody:
+ [*
+ if ( not isnull( parentPeggingResult ) and not isnull( childPeggingResult ) ) {
+ childPeggingResult.Parent( relset, parentPeggingResult );
+ }
+ *]
+}
diff --git a/_Main/BL/Type_PeggingResult/_ROOT_Type_PeggingResult.qbl b/_Main/BL/Type_PeggingResult/_ROOT_Type_PeggingResult.qbl
new file mode 100644
index 0000000..cd1bb3b
--- /dev/null
+++ b/_Main/BL/Type_PeggingResult/_ROOT_Type_PeggingResult.qbl
@@ -0,0 +1,9 @@
+Quintiq file version 2.0
+#root
+#parent: #DomainModel
+Type PeggingResult
+{
+ #keys: '5[414702.1.290710095][414702.1.290710093][0.0.0][414702.1.290710094][414702.1.290710096]'
+ BaseType: Object
+ StructuredName: 'PeggingResults'
+}
diff --git a/_Main/BL/Type_PeggingResultGroup/_ROOT_Type_PeggingResultGroup.qbl b/_Main/BL/Type_PeggingResultGroup/_ROOT_Type_PeggingResultGroup.qbl
new file mode 100644
index 0000000..d7fa0eb
--- /dev/null
+++ b/_Main/BL/Type_PeggingResultGroup/_ROOT_Type_PeggingResultGroup.qbl
@@ -0,0 +1,9 @@
+Quintiq file version 2.0
+#root
+#parent: #DomainModel
+Type PeggingResultGroup
+{
+ #keys: '5[414702.1.320753704][414702.1.320753702][0.0.0][414702.1.320753703][414702.1.320753705]'
+ BaseType: Object
+ StructuredName: 'PeggingResultGroups'
+}
diff --git a/_Main/BL/Type_ProductInLane/StaticMethod_CreateOrUpdate.qbl b/_Main/BL/Type_ProductInLane/StaticMethod_CreateOrUpdate.qbl
index 0359b3f..8fd36c2 100644
--- a/_Main/BL/Type_ProductInLane/StaticMethod_CreateOrUpdate.qbl
+++ b/_Main/BL/Type_ProductInLane/StaticMethod_CreateOrUpdate.qbl
@@ -15,15 +15,15 @@
// Get product&line
product := Product_MP::FindById( owner, productid );
- line := Lane::FindLaneTypeIndex( lineid );
+ line := Lane::FindById( owner, lineid );
if( not isnull( product) and not isnull( line)){
- productinline := ProductInLane::FindProductInLaneTypeIndex( lineid, productid );
+ productinline := ProductInLane::FindById( owner, productid, lineid );
if( isnull( productinline ) ){
ProductInLane::Create( product, line, isexcluded, isfromdb );
}else{
- productinline.Update( productid, lineid, isexcluded, isfromdb );
+ productinline.Update( lineid, productid, isexcluded, isfromdb );
}
}
*]
diff --git a/_Main/BL/Type_ProductInLane/StaticMethod_FindById.qbl b/_Main/BL/Type_ProductInLane/StaticMethod_FindById.qbl
new file mode 100644
index 0000000..e0065ed
--- /dev/null
+++ b/_Main/BL/Type_ProductInLane/StaticMethod_FindById.qbl
@@ -0,0 +1,16 @@
+Quintiq file version 2.0
+#parent: #root
+StaticMethod FindById (
+ MacroPlan mp,
+ String id,
+ String laneid
+) as ProductInLane
+{
+ TextBody:
+ [*
+ // yy 2023-11-01
+ result := select( mp, Product_MP.ProductInLane, pil, true, pil.ProductID() = id and pil.LaneID() = laneid );
+
+ return result;
+ *]
+}
diff --git a/_Main/BL/Type_StockingPoint_MP/StaticMethod_CreateFromMapping.qbl b/_Main/BL/Type_StockingPoint_MP/StaticMethod_CreateFromMapping.qbl
new file mode 100644
index 0000000..f56738d
--- /dev/null
+++ b/_Main/BL/Type_StockingPoint_MP/StaticMethod_CreateFromMapping.qbl
@@ -0,0 +1,28 @@
+Quintiq file version 2.0
+#parent: #root
+StaticMethod CreateFromMapping (
+ const GlobalOTDTable globalOTDTable,
+ MacroPlan macroPlan
+)
+{
+ Description: '浠巑apping琛ㄥ垱寤哄簱瀛樼偣'
+ TextBody:
+ [*
+ // Administrator Oct-31-2023 (created)
+ updates := construct( StockingPoint_MPs );
+ traverse( globalOTDTable, Global_MappingStockingPoint_MP, sp, true )
+ {
+ a := StockingPoint_MP::CreateStockingpoint( macroPlan, sp.ID(), sp.UnitID(), sp.Name() );
+ updates.Add( a );
+ }
+ origindataset := selectset( macroPlan, StockingPoint_MP, sp, true );
+ obsoletes := origindataset.Difference( updates );
+ // delete obsoleted
+ difflength := obsoletes.Size();
+ for( j:=0; j<difflength; j++ )
+ {
+ obsolete := obsoletes.Element( j );
+ obsolete.Delete();
+ }
+ *]
+}
diff --git a/_Main/BL/Type_StockingPoint_MP/StaticMethod_CreateStockingpoint.qbl b/_Main/BL/Type_StockingPoint_MP/StaticMethod_CreateStockingpoint.qbl
index 857199b..3e2a601 100644
--- a/_Main/BL/Type_StockingPoint_MP/StaticMethod_CreateStockingpoint.qbl
+++ b/_Main/BL/Type_StockingPoint_MP/StaticMethod_CreateStockingpoint.qbl
@@ -22,7 +22,7 @@
isfromdb := true;
//create new stockingpoint
- result := StockingPoint_MP::FindStockingPointTypeIndex( id );
+ result := StockingPoint_MP::FindById( mp, id );
if( isnull( result ) )
{
diff --git a/_Main/UI/MacroPlanner/Component_ApplicationLibMacroPlanner/Component_mbMainMenu.def b/_Main/UI/MacroPlanner/Component_ApplicationLibMacroPlanner/Component_mbMainMenu.def
index 2cd8ea3..07ca890 100644
--- a/_Main/UI/MacroPlanner/Component_ApplicationLibMacroPlanner/Component_mbMainMenu.def
+++ b/_Main/UI/MacroPlanner/Component_ApplicationLibMacroPlanner/Component_mbMainMenu.def
@@ -145,6 +145,8 @@
Component ComponentMenu666 { #keys: '[414702.0.265704260]' BaseType: 'ComponentMenu' Properties: [ ComponentType: 'FormBrokerExecuteLog' Text: '' ] }
Component menuSeparator822 { #keys: '[414702.0.340555024]' BaseType: 'Menu' Properties: [ Separator: true ] }
Component ComponentMenu783 { #keys: '[414702.0.340555035]' BaseType: 'ComponentMenu' Properties: [ ComponentType: 'FormTestButtonCollection' Text: '' ] }
+ Component menuSeparator432 { #keys: '[414702.1.299084028]' BaseType: 'Menu' Properties: [ Separator: true ] }
+ Component ComponentMenu420 { #keys: '[414702.1.299224194]' BaseType: 'ComponentMenu' Properties: [ ComponentType: 'FormPeggingResult' Text: '' ] }
]
Properties:
[
@@ -165,6 +167,8 @@
c: ComponentMenu666
c: menuSeparator822
c: ComponentMenu783
+ c: menuSeparator432
+ c: ComponentMenu420
}
]
}
diff --git a/_Main/UI/MacroPlanner/Component_FormPeggingResult/Component_ColumnTitles552.def b/_Main/UI/MacroPlanner/Component_FormPeggingResult/Component_ColumnTitles552.def
new file mode 100644
index 0000000..b2a7bab
--- /dev/null
+++ b/_Main/UI/MacroPlanner/Component_FormPeggingResult/Component_ColumnTitles552.def
@@ -0,0 +1,18 @@
+Quintiq file version 2.0
+Component ColumnTitles552
+{
+ #keys: '[414702.1.299084155]'
+ BaseType: 'ColumnTitles'
+ Children:
+ [
+ Component popupColumnTitles881
+ {
+ #keys: '[414702.1.299084158]'
+ BaseType: 'popupColumnTitles'
+ }
+ ]
+ Properties:
+ [
+ ContextMenu: 'popupColumnTitles881'
+ ]
+}
diff --git a/_Main/UI/MacroPlanner/Component_FormPeggingResult/Component_ListPeggingProductInSalesDemandBase.def b/_Main/UI/MacroPlanner/Component_FormPeggingResult/Component_ListPeggingProductInSalesDemandBase.def
new file mode 100644
index 0000000..7e94c7c
--- /dev/null
+++ b/_Main/UI/MacroPlanner/Component_FormPeggingResult/Component_ListPeggingProductInSalesDemandBase.def
@@ -0,0 +1,117 @@
+Quintiq file version 2.0
+Component ListPeggingProductInSalesDemandBase
+{
+ #keys: '[414702.1.299084152]'
+ BaseType: 'List'
+ Children:
+ [
+ #child: ColumnTitles552
+ Component popupList809
+ {
+ #keys: '[414702.1.299084184]'
+ BaseType: 'popupList'
+ Children:
+ [
+ Component PopupParent
+ {
+ #keys: '[514.0.129466]'
+ BaseType: 'PopupParent'
+ IsDerived: true
+ Children:
+ [
+ Component menuSeparator { #keys: '[414702.1.299084264]' BaseType: 'Menu' Properties: [ Separator: true ] }
+ Component MenuGeneratePeggingResult { #keys: '[414702.1.299084327]' BaseType: 'Menu' Properties: [ Image: 'BEER_GLASS' Text: 'GeneratePeggingResult' ] }
+ ]
+ Properties:
+ [
+ ModeledStringList ChildOrdering
+ {
+ c: MenuActions
+ c: MenuFilter
+ c: menuListQuintiqSetQuantor
+ c: menuSeparator
+ c: MenuGeneratePeggingResult
+ }
+ ]
+ }
+ ]
+ Properties:
+ [
+ PosX: 35
+ PosY: 60
+ ]
+ }
+ Component GUIDataExtractor968
+ {
+ #keys: '[414702.1.299084216]'
+ BaseType: 'GUIDataExtractor'
+ Properties:
+ [
+ DataSet: 'GlobalOTDSOP'
+ DataType: 'GlobalOTDSOP'
+ PosX: 5
+ PosY: 30
+ Transformation: 'PeggingProduct_MP.PeggingProductInSalesDemandBase'
+ ]
+ }
+ Component GUIDataSetLevel641
+ {
+ #keys: '[414702.1.299084219]'
+ BaseType: 'GUIDataSetLevel'
+ Properties:
+ [
+ DataExtractor: 'GUIDataExtractor968'
+ PosX: 35
+ PosY: 30
+ ]
+ }
+ ]
+ Properties:
+ [
+ AutoDrag: true
+ BackgroundColor: 'Window'
+ Border: true
+ ContextMenu: 'popupList809'
+ FullRowSelect: true
+ ModeledStringList ChildOrdering
+ {
+ c: ColumnTitles552
+ c: popupList809
+ c: GUIDataExtractor968
+ c: GUIDataSetLevel641
+ }
+ ]
+ ResponseDefinitions:
+ [
+ DelegatedResponseDefinition OnClick id:Responsedef_ListPeggingProductInSalesDemandBase_Menu_OnClick
+ {
+ #keys: '[414702.1.299084225]'
+ Initiator: 'Menu'
+ IsInherited: false
+ ResponseType: 'OnClick'
+ Arguments:
+ [
+ ResponseDefinitionArgument selection
+ {
+ #keys: '[621.0.8331282]'
+ Binding: 'this.Selection()'
+ }
+ ]
+ }
+ DelegatedResponseDefinition OnClick id:Responsedef_ListPeggingProductInSalesDemandBase_GUIButtonBase_OnClick
+ {
+ #keys: '[414702.1.299084226]'
+ Initiator: 'GUIButtonBase'
+ IsInherited: false
+ ResponseType: 'OnClick'
+ Arguments:
+ [
+ ResponseDefinitionArgument selection
+ {
+ #keys: '[621.0.8331327]'
+ Binding: 'this.Selection()'
+ }
+ ]
+ }
+ ]
+}
diff --git a/_Main/UI/MacroPlanner/Component_FormPeggingResult/Response_ListPeggingProductInSalesDemandBase_MenuGeneratePeggingResult_OnCli.def b/_Main/UI/MacroPlanner/Component_FormPeggingResult/Response_ListPeggingProductInSalesDemandBase_MenuGeneratePeggingResult_OnCli.def
new file mode 100644
index 0000000..16ee6ba
--- /dev/null
+++ b/_Main/UI/MacroPlanner/Component_FormPeggingResult/Response_ListPeggingProductInSalesDemandBase_MenuGeneratePeggingResult_OnCli.def
@@ -0,0 +1,15 @@
+Quintiq file version 2.0
+#parent: ListPeggingProductInSalesDemandBase
+Response OnClick (
+ structured[PeggingProductInSalesDemandBase] selection
+) id:Response_ListPeggingProductInSalesDemandBase_MenuGeneratePeggingResult_OnClick
+{
+ #keys: '[414702.1.299224579]'
+ Body:
+ [*
+ PeggingResult::CreateData( selection, MacroPlan );
+ *]
+ CanBindMultiple: false
+ DefinitionID => /ListPeggingProductInSalesDemandBase/Responsedef_ListPeggingProductInSalesDemandBase_Menu_OnClick
+ Initiator: 'MenuGeneratePeggingResult'
+}
diff --git a/_Main/UI/MacroPlanner/Component_FormPeggingResult/_ROOT_Component_FormPeggingResult.def b/_Main/UI/MacroPlanner/Component_FormPeggingResult/_ROOT_Component_FormPeggingResult.def
new file mode 100644
index 0000000..bebc147
--- /dev/null
+++ b/_Main/UI/MacroPlanner/Component_FormPeggingResult/_ROOT_Component_FormPeggingResult.def
@@ -0,0 +1,41 @@
+Quintiq file version 2.0
+#root
+#parent: MacroPlanner
+OrphanComponent FormPeggingResult
+{
+ #keys: '[414702.1.299084054]'
+ BaseType: 'Form'
+ GBLayout
+ {
+ Type: 'internal[GBLayoutDefinition]'
+ Columns:
+ [
+ GBFlow.Column { grow: 128 id: 199 parent: 0 }
+ ]
+ Elements:
+ [
+ GBElement
+ {
+ Component => ListPeggingProductInSalesDemandBase
+ Position { startcolumn: 199 startrow: 785 endcolumn: 199 endrow: 785 }
+ }
+ ]
+ Gaps: [ left: 0 right: 0 top: 0 bottom: 0 inner: 5 ]
+ Rows:
+ [
+ GBFlow.Row { grow: 128 id: 785 parent: 0 }
+ ]
+ }
+ Children:
+ [
+ #child: ListPeggingProductInSalesDemandBase
+ ]
+ Properties:
+ [
+ Height: 270
+ Image: 'FISH_BOWL'
+ IncludeInView: true
+ Title: 'PeggingResult'
+ Width: 494
+ ]
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_ApplicationMacroPlanner/Component_cmTestAttempt.def b/_Main/UI/MacroPlannerWebApp/Component_ApplicationMacroPlanner/Component_cmTestAttempt.def
index 3103966..6d1c1b0 100644
--- a/_Main/UI/MacroPlannerWebApp/Component_ApplicationMacroPlanner/Component_cmTestAttempt.def
+++ b/_Main/UI/MacroPlannerWebApp/Component_ApplicationMacroPlanner/Component_cmTestAttempt.def
@@ -49,7 +49,7 @@
Title: '闈㈡澘鎷夋枡_闆嗗洟鎿嶄綔'
]
}
- Component mn224
+ Component mn222
{
#keys: '[414702.1.5593849]'
BaseType: 'WebMenu'
@@ -81,6 +81,28 @@
Title: '鏁版嵁鍒嗗彂'
]
}
+ Component mn666
+ {
+ #keys: '[414702.1.293023106]'
+ BaseType: 'WebMenu'
+ Properties:
+ [
+ Separator: true
+ Taborder: 7
+ ]
+ }
+ Component mnPeggingAnalyse
+ {
+ #keys: '[414702.1.293023171]'
+ BaseType: 'WebMenu'
+ Properties:
+ [
+ Description: 'Pegging鍒嗘瀽'
+ Image: 'COCKTAIL'
+ Taborder: 8
+ Title: 'Pegging鍒嗘瀽'
+ ]
+ }
]
Properties:
[
diff --git a/_Main/UI/MacroPlannerWebApp/Component_ApplicationMacroPlanner/Response_TIANMA_JITUAN_cmTestAttempt_mnPeggingAnalyse_OnClick.def b/_Main/UI/MacroPlannerWebApp/Component_ApplicationMacroPlanner/Response_TIANMA_JITUAN_cmTestAttempt_mnPeggingAnalyse_OnClick.def
new file mode 100644
index 0000000..eecfc42
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_ApplicationMacroPlanner/Response_TIANMA_JITUAN_cmTestAttempt_mnPeggingAnalyse_OnClick.def
@@ -0,0 +1,16 @@
+Quintiq file version 2.0
+#parent: cmTestAttempt/mnPeggingAnalyse
+Response OnClick () id:Response_TIANMA_JITUAN_cmTestAttempt_mnPeggingAnalyse_OnClick
+{
+ #keys: '[414702.1.294401302]'
+ CanBindMultiple: false
+ DefinitionID: 'Responsedef_WebMenu_OnClick'
+ GroupServerCalls: true
+ QuillAction
+ {
+ Body:
+ [*
+ ApplicationScope.ViewManager().ResetUserViewById( "Pegging鍒嗘瀽", true );
+ *]
+ }
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormCapacityAllocationResults/Response_PanelCapacityAllocationResults_Export_OnClick.def b/_Main/UI/MacroPlannerWebApp/Component_FormCapacityAllocationResults/Response_PanelCapacityAllocationResults_Export_OnClick.def
index 4428575..fd5f58b 100644
--- a/_Main/UI/MacroPlannerWebApp/Component_FormCapacityAllocationResults/Response_PanelCapacityAllocationResults_Export_OnClick.def
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormCapacityAllocationResults/Response_PanelCapacityAllocationResults_Export_OnClick.def
@@ -5,11 +5,15 @@
#keys: '[414702.0.391791234]'
CanBindMultiple: false
DefinitionID: 'Responsedef_WebButton_OnClick'
+ Precondition:
+ [*
+ return not isnull( GlobalOTDSOP );
+ *]
QuillAction
{
Body:
[*
- Application.Download( "浜ц兘鍒嗛厤缁撴灉.xlsx", CapacityAllocationResults::Export( GlobalOTDTable ).AsBinaryData() );
+ Application.Download( "浜ц兘鍒嗛厤缁撴灉.xlsx", CapacityAllocationResults::Export( GlobalOTDSOP ).AsBinaryData() );
*]
GroupServerCalls: false
}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormInterfaceTest/_ROOT_Component_FormInterfaceTest.def b/_Main/UI/MacroPlannerWebApp/Component_FormInterfaceTest/_ROOT_Component_FormInterfaceTest.def
index 087a1e2..97b6783 100644
--- a/_Main/UI/MacroPlannerWebApp/Component_FormInterfaceTest/_ROOT_Component_FormInterfaceTest.def
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormInterfaceTest/_ROOT_Component_FormInterfaceTest.def
@@ -23,6 +23,16 @@
Taborder: 0
]
}
+ Component DataHolderInterfaceTest
+ {
+ #keys: '[414502.0.443241895]'
+ BaseType: 'WebDataHolder'
+ Databinding: 'Scenario'
+ Properties:
+ [
+ Taborder: 7
+ ]
+ }
]
Properties:
[
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormPeggingAllResult/Component_ListPeggingAllResult.def b/_Main/UI/MacroPlannerWebApp/Component_FormPeggingAllResult/Component_ListPeggingAllResult.def
new file mode 100644
index 0000000..f6acc5b
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormPeggingAllResult/Component_ListPeggingAllResult.def
@@ -0,0 +1,60 @@
+Quintiq file version 2.0
+Component ListPeggingAllResult
+{
+ #keys: '[414702.1.306657922]'
+ BaseType: 'WebList'
+ Children:
+ [
+ Component DataExtractorPeggingAllResult
+ {
+ #keys: '[414702.1.306657923]'
+ BaseType: 'WebDataExtractor'
+ Properties:
+ [
+ DataType: 'PeggingResult'
+ ExtractionMode: 'Selected'
+ Source: 'FormPeggingResult.ListPeggingResult'
+ Taborder: 0
+ Transformation: 'AllChild'
+ ]
+ }
+ #child: listActionBarPagePeggingAllResult
+ Component DataSetLevelPeggingAllResult
+ {
+ #keys: '[414702.1.306657928]'
+ BaseType: 'WebDataSetLevel'
+ Children:
+ [
+ #child: listContextMenuPeggingAllResult
+ ]
+ Properties:
+ [
+ Columns: '[{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"PeggingProductInSalesDemandBase.SalesDemandBaseID","title":"璁㈠崟ID","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"PeggingProductInSalesDemandBase.SalesDemandBaseID"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"ProductID","title":"浜у搧ID","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"ProductID"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"StockingPointID","title":"搴撳瓨鐐笽D","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"StockingPointID"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"StartDate","title":"寮�濮嬫椂闂�","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"StartDate"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"SupplyQuantity","title":"渚涘簲鏁伴噺","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"SupplyQuantity"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"FulfillmentQuantity","title":"瀹為檯闇�瑕佹暟閲�","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"FulfillmentQuantity"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"SupplyType","title":"渚涘簲绫诲瀷","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"SupplyType"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"UnitOfMeasurementName","title":"鍗曚綅","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"UnitOfMeasurementName"}}]'
+ ContextMenu: 'listContextMenuPeggingAllResult'
+ Taborder: 2
+ ]
+ }
+ ]
+ Properties:
+ [
+ Taborder: 0
+ ]
+ ResponseDefinitions:
+ [
+ DelegatedResponseDefinition OnClick id:Responsedef_ListPeggingAllResult_WebMenu_OnClick
+ {
+ #keys: '[414702.1.305581888]'
+ Initiator: 'WebMenu'
+ IsInherited: false
+ ResponseType: 'OnClick'
+ Arguments:
+ [
+ ResponseDefinitionArgument selection
+ {
+ #keys: '[639.0.20605876]'
+ Binding: 'this.Selection()'
+ }
+ ]
+ }
+ ]
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormPeggingAllResult/Component_listActionBarPagePeggingAllResult.def b/_Main/UI/MacroPlannerWebApp/Component_FormPeggingAllResult/Component_listActionBarPagePeggingAllResult.def
new file mode 100644
index 0000000..73bb8e7
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormPeggingAllResult/Component_listActionBarPagePeggingAllResult.def
@@ -0,0 +1,10 @@
+Quintiq file version 2.0
+Component listActionBarPagePeggingAllResult
+{
+ #keys: '[414702.1.306657925]'
+ BaseType: 'listActionBarPage'
+ Properties:
+ [
+ Taborder: 1
+ ]
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormPeggingAllResult/Component_listContextMenuPeggingAllResult.def b/_Main/UI/MacroPlannerWebApp/Component_FormPeggingAllResult/Component_listContextMenuPeggingAllResult.def
new file mode 100644
index 0000000..261fbc7
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormPeggingAllResult/Component_listContextMenuPeggingAllResult.def
@@ -0,0 +1,25 @@
+Quintiq file version 2.0
+Component listContextMenuPeggingAllResult
+{
+ #keys: '[414702.1.306657930]'
+ BaseType: 'listContextMenu'
+ Children:
+ [
+ Component MenuSelectAll
+ {
+ #keys: '[414702.1.305511008]'
+ BaseType: 'WebMenu'
+ Properties:
+ [
+ Image: 'DOCUMENT_SELECTION'
+ Shortcut: 'Ctrl+A'
+ Taborder: 3
+ Title: '鍏ㄩ��'
+ ]
+ }
+ ]
+ Properties:
+ [
+ Taborder: 0
+ ]
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormPeggingAllResult/Response_ListPeggingAllResult_MenuSelectAll_OnClick.def b/_Main/UI/MacroPlannerWebApp/Component_FormPeggingAllResult/Response_ListPeggingAllResult_MenuSelectAll_OnClick.def
new file mode 100644
index 0000000..9f80468
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormPeggingAllResult/Response_ListPeggingAllResult_MenuSelectAll_OnClick.def
@@ -0,0 +1,17 @@
+Quintiq file version 2.0
+#parent: ListPeggingAllResult
+Response OnClick () id:Response_ListPeggingAllResult_MenuSelectAll_OnClick
+{
+ #keys: '[414702.1.306792785]'
+ CanBindMultiple: false
+ DefinitionID => /ListPeggingAllResult/Responsedef_ListPeggingAllResult_WebMenu_OnClick
+ Initiator: 'MenuSelectAll'
+ QuillAction
+ {
+ Body:
+ [*
+ this.SelectAll();
+ *]
+ GroupServerCalls: false
+ }
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormPeggingAllResult/_ROOT_Component_FormPeggingAllResult.def b/_Main/UI/MacroPlannerWebApp/Component_FormPeggingAllResult/_ROOT_Component_FormPeggingAllResult.def
new file mode 100644
index 0000000..7fd5a9c
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormPeggingAllResult/_ROOT_Component_FormPeggingAllResult.def
@@ -0,0 +1,17 @@
+Quintiq file version 2.0
+#root
+#parent: MacroPlannerWebApp
+OrphanComponent FormPeggingAllResult
+{
+ #keys: '[414702.1.305404879]'
+ BaseType: 'WebForm'
+ Children:
+ [
+ #child: ListPeggingAllResult
+ ]
+ Properties:
+ [
+ Image: 'DIAMOND'
+ Title: 'Pegging鎵�鏈夊瓙缁撴灉'
+ ]
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormPeggingProductInSalesDemandBase/Component_ListPeggingProductInSalesDemandBase.def b/_Main/UI/MacroPlannerWebApp/Component_FormPeggingProductInSalesDemandBase/Component_ListPeggingProductInSalesDemandBase.def
new file mode 100644
index 0000000..31d1862
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormPeggingProductInSalesDemandBase/Component_ListPeggingProductInSalesDemandBase.def
@@ -0,0 +1,60 @@
+Quintiq file version 2.0
+Component ListPeggingProductInSalesDemandBase
+{
+ #keys: '[414702.1.294477745]'
+ BaseType: 'WebList'
+ Children:
+ [
+ Component DataExtractorPeggingProductInSalesDemandBase
+ {
+ #keys: '[414702.1.294477746]'
+ BaseType: 'WebDataExtractor'
+ Properties:
+ [
+ DataType: 'PeggingProduct_MP'
+ ExtractionMode: 'Selected'
+ Source: 'FormPeggingProduct_MP.ListPeggingProduct_MP'
+ Taborder: 0
+ Transformation: 'PeggingProductInSalesDemandBase'
+ ]
+ }
+ #child: listActionBarPagePeggingProductInSalesDemandBase
+ Component DataSetLevelPeggingProductInSalesDemandBase
+ {
+ #keys: '[414702.1.294477751]'
+ BaseType: 'WebDataSetLevel'
+ Children:
+ [
+ #child: listContextMenuPeggingProductInSalesDemandBase
+ ]
+ Properties:
+ [
+ Columns: '[{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"SalesDemandBaseID","title":"璁㈠崟ID","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"SalesDemandBaseID"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"StockingPointID","title":"搴撳瓨鐐笽D","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"StockingPointID"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"Quantity","title":"鏁伴噺","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"Quantity"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"StartDate","title":"寮�濮嬫椂闂�","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"StartDate"}}]'
+ ContextMenu: 'listContextMenuPeggingProductInSalesDemandBase'
+ Taborder: 2
+ ]
+ }
+ ]
+ Properties:
+ [
+ Taborder: 0
+ ]
+ ResponseDefinitions:
+ [
+ DelegatedResponseDefinition OnClick id:Responsedef_ListPeggingProductInSalesDemandBase_WebMenu_OnClick
+ {
+ #keys: '[414702.1.298881590]'
+ Initiator: 'WebMenu'
+ IsInherited: false
+ ResponseType: 'OnClick'
+ Arguments:
+ [
+ ResponseDefinitionArgument selection
+ {
+ #keys: '[619.0.10848847]'
+ Binding: 'this.Selection()'
+ }
+ ]
+ }
+ ]
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormPeggingProductInSalesDemandBase/Component_listActionBarPagePeggingProductInSalesDemandBase.def b/_Main/UI/MacroPlannerWebApp/Component_FormPeggingProductInSalesDemandBase/Component_listActionBarPagePeggingProductInSalesDemandBase.def
new file mode 100644
index 0000000..0a23391
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormPeggingProductInSalesDemandBase/Component_listActionBarPagePeggingProductInSalesDemandBase.def
@@ -0,0 +1,10 @@
+Quintiq file version 2.0
+Component listActionBarPagePeggingProductInSalesDemandBase
+{
+ #keys: '[414702.1.294477748]'
+ BaseType: 'listActionBarPage'
+ Properties:
+ [
+ Taborder: 1
+ ]
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormPeggingProductInSalesDemandBase/Component_listContextMenuPeggingProductInSalesDemandBase.def b/_Main/UI/MacroPlannerWebApp/Component_FormPeggingProductInSalesDemandBase/Component_listContextMenuPeggingProductInSalesDemandBase.def
new file mode 100644
index 0000000..07fe2f0
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormPeggingProductInSalesDemandBase/Component_listContextMenuPeggingProductInSalesDemandBase.def
@@ -0,0 +1,36 @@
+Quintiq file version 2.0
+Component listContextMenuPeggingProductInSalesDemandBase
+{
+ #keys: '[414702.1.294477753]'
+ BaseType: 'listContextMenu'
+ Children:
+ [
+ Component mGeneratePeggingResult
+ {
+ #keys: '[414702.1.298700850]'
+ BaseType: 'WebMenu'
+ Properties:
+ [
+ Image: 'PUMPKIN_HALLOWEEN'
+ Taborder: 3
+ Title: '鐢熸垚Pegging缁撴灉'
+ ]
+ }
+ Component MenuSelectionAll
+ {
+ #keys: '[414702.1.300701803]'
+ BaseType: 'WebMenu'
+ Properties:
+ [
+ Image: 'SELECTION'
+ Shortcut: 'Ctrl+A'
+ Taborder: 4
+ Title: '鍏ㄩ��'
+ ]
+ }
+ ]
+ Properties:
+ [
+ Taborder: 0
+ ]
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormPeggingProductInSalesDemandBase/Response_ListPeggingProductInSalesDemandBase_MenuSelectionAll_OnClick.def b/_Main/UI/MacroPlannerWebApp/Component_FormPeggingProductInSalesDemandBase/Response_ListPeggingProductInSalesDemandBase_MenuSelectionAll_OnClick.def
new file mode 100644
index 0000000..5f3082e
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormPeggingProductInSalesDemandBase/Response_ListPeggingProductInSalesDemandBase_MenuSelectionAll_OnClick.def
@@ -0,0 +1,17 @@
+Quintiq file version 2.0
+#parent: ListPeggingProductInSalesDemandBase
+Response OnClick () id:Response_ListPeggingProductInSalesDemandBase_MenuSelectionAll_OnClick
+{
+ #keys: '[414702.1.300762760]'
+ CanBindMultiple: false
+ DefinitionID => /ListPeggingProductInSalesDemandBase/Responsedef_ListPeggingProductInSalesDemandBase_WebMenu_OnClick
+ Initiator: 'MenuSelectionAll'
+ QuillAction
+ {
+ Body:
+ [*
+ this.SelectAll();
+ *]
+ GroupServerCalls: false
+ }
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormPeggingProductInSalesDemandBase/Response_ListPeggingProductInSalesDemandBase_mGeneratePeggingResult_OnClick.def b/_Main/UI/MacroPlannerWebApp/Component_FormPeggingProductInSalesDemandBase/Response_ListPeggingProductInSalesDemandBase_mGeneratePeggingResult_OnClick.def
new file mode 100644
index 0000000..09b333a
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormPeggingProductInSalesDemandBase/Response_ListPeggingProductInSalesDemandBase_mGeneratePeggingResult_OnClick.def
@@ -0,0 +1,23 @@
+Quintiq file version 2.0
+#parent: ListPeggingProductInSalesDemandBase
+Response OnClick (
+ structured[PeggingProductInSalesDemandBase] selection
+) id:Response_ListPeggingProductInSalesDemandBase_mGeneratePeggingResult_OnClick
+{
+ #keys: '[414702.1.298700997]'
+ CanBindMultiple: false
+ DefinitionID => /ListPeggingProductInSalesDemandBase/Responsedef_ListPeggingProductInSalesDemandBase_WebMenu_OnClick
+ Initiator: 'mGeneratePeggingResult'
+ Precondition:
+ [*
+ return not isnull( MacroPlan );
+ *]
+ QuillAction
+ {
+ Body:
+ [*
+ PeggingResult::CreateData( selection, MacroPlan );
+ *]
+ GroupServerCalls: false
+ }
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormPeggingProductInSalesDemandBase/_ROOT_Component_FormPeggingProductInSalesDemandBase.def b/_Main/UI/MacroPlannerWebApp/Component_FormPeggingProductInSalesDemandBase/_ROOT_Component_FormPeggingProductInSalesDemandBase.def
new file mode 100644
index 0000000..abac889
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormPeggingProductInSalesDemandBase/_ROOT_Component_FormPeggingProductInSalesDemandBase.def
@@ -0,0 +1,17 @@
+Quintiq file version 2.0
+#root
+#parent: MacroPlannerWebApp
+OrphanComponent FormPeggingProductInSalesDemandBase
+{
+ #keys: '[414702.1.291680100]'
+ BaseType: 'WebForm'
+ Children:
+ [
+ #child: ListPeggingProductInSalesDemandBase
+ ]
+ Properties:
+ [
+ Image: 'BANANA'
+ Title: 'Pegging浜у搧鐨勮鍗�'
+ ]
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormPeggingProduct_MP/Component_ListPeggingProduct_MP.def b/_Main/UI/MacroPlannerWebApp/Component_FormPeggingProduct_MP/Component_ListPeggingProduct_MP.def
new file mode 100644
index 0000000..6cd63a5
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormPeggingProduct_MP/Component_ListPeggingProduct_MP.def
@@ -0,0 +1,59 @@
+Quintiq file version 2.0
+Component ListPeggingProduct_MP
+{
+ #keys: '[414702.1.291408736]'
+ BaseType: 'WebList'
+ Children:
+ [
+ Component DataExtractorPeggingProduct_MP
+ {
+ #keys: '[414702.1.291408737]'
+ BaseType: 'WebDataExtractor'
+ Properties:
+ [
+ DataType: 'GlobalOTDSOP'
+ Source: 'GlobalOTDSOP'
+ Taborder: 0
+ Transformation: 'PeggingProduct_MP'
+ ]
+ }
+ #child: listActionBarPagePeggingProduct_MP
+ Component DataSetLevelPeggingProduct_MP
+ {
+ #keys: '[414702.1.291408742]'
+ BaseType: 'WebDataSetLevel'
+ Children:
+ [
+ #child: listContextMenuPeggingProduct_MP
+ ]
+ Properties:
+ [
+ Columns: '[{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"ProductID","title":"浜у搧ID","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"ProductID"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"StockingPointID","title":"搴撳瓨鐐笽D","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"StockingPointID"}}]'
+ ContextMenu: 'listContextMenuPeggingProduct_MP'
+ Taborder: 2
+ ]
+ }
+ ]
+ Properties:
+ [
+ Taborder: 1
+ ]
+ ResponseDefinitions:
+ [
+ DelegatedResponseDefinition OnClick id:Responsedef_ListPeggingProduct_MP_WebMenu_OnClick
+ {
+ #keys: '[414702.1.309521164]'
+ Initiator: 'WebMenu'
+ IsInherited: false
+ ResponseType: 'OnClick'
+ Arguments:
+ [
+ ResponseDefinitionArgument selection
+ {
+ #keys: '[645.0.18569723]'
+ Binding: 'this.Selection()'
+ }
+ ]
+ }
+ ]
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormPeggingProduct_MP/Component_listActionBarPagePeggingProduct_MP.def b/_Main/UI/MacroPlannerWebApp/Component_FormPeggingProduct_MP/Component_listActionBarPagePeggingProduct_MP.def
new file mode 100644
index 0000000..66424ec
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormPeggingProduct_MP/Component_listActionBarPagePeggingProduct_MP.def
@@ -0,0 +1,10 @@
+Quintiq file version 2.0
+Component listActionBarPagePeggingProduct_MP
+{
+ #keys: '[414702.1.291408739]'
+ BaseType: 'listActionBarPage'
+ Properties:
+ [
+ Taborder: 1
+ ]
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormPeggingProduct_MP/Component_listContextMenuPeggingProduct_MP.def b/_Main/UI/MacroPlannerWebApp/Component_FormPeggingProduct_MP/Component_listContextMenuPeggingProduct_MP.def
new file mode 100644
index 0000000..2a8c05a
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormPeggingProduct_MP/Component_listContextMenuPeggingProduct_MP.def
@@ -0,0 +1,25 @@
+Quintiq file version 2.0
+Component listContextMenuPeggingProduct_MP
+{
+ #keys: '[414702.1.291408744]'
+ BaseType: 'listContextMenu'
+ Children:
+ [
+ Component MenuSelectionAll
+ {
+ #keys: '[414702.1.308101396]'
+ BaseType: 'WebMenu'
+ Properties:
+ [
+ Image: 'SELECTION'
+ Shortcut: 'Ctrl+A'
+ Taborder: 3
+ Title: '鍏ㄩ��'
+ ]
+ }
+ ]
+ Properties:
+ [
+ Taborder: 0
+ ]
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormPeggingProduct_MP/Component_pButton.def b/_Main/UI/MacroPlannerWebApp/Component_FormPeggingProduct_MP/Component_pButton.def
new file mode 100644
index 0000000..ff6359c
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormPeggingProduct_MP/Component_pButton.def
@@ -0,0 +1,37 @@
+Quintiq file version 2.0
+Component pButton
+{
+ #keys: '[414702.1.288412503]'
+ BaseType: 'WebPanel'
+ Children:
+ [
+ Component bCreate
+ {
+ #keys: '[414702.1.288443069]'
+ BaseType: 'WebButton'
+ Properties:
+ [
+ Image: 'BOMB'
+ Label: '鍒涘缓Pegging浜у搧'
+ Taborder: 1
+ ]
+ }
+ Component bRunPeggingAlgorithm
+ {
+ #keys: '[414702.1.302382530]'
+ BaseType: 'WebButton'
+ Properties:
+ [
+ Image: 'TREE'
+ Label: '杩愯Pegging绠楁硶'
+ Taborder: 0
+ ]
+ }
+ ]
+ Properties:
+ [
+ FixedSize: true
+ Orientation: 'horizontal'
+ Taborder: 0
+ ]
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormPeggingProduct_MP/Response_ListPeggingProduct_MP_MenuSelectionAll_OnClick.def b/_Main/UI/MacroPlannerWebApp/Component_FormPeggingProduct_MP/Response_ListPeggingProduct_MP_MenuSelectionAll_OnClick.def
new file mode 100644
index 0000000..e9aae6b
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormPeggingProduct_MP/Response_ListPeggingProduct_MP_MenuSelectionAll_OnClick.def
@@ -0,0 +1,17 @@
+Quintiq file version 2.0
+#parent: ListPeggingProduct_MP
+Response OnClick () id:Response_ListPeggingProduct_MP_MenuSelectionAll_OnClick
+{
+ #keys: '[414702.1.309596514]'
+ CanBindMultiple: false
+ DefinitionID => /ListPeggingProduct_MP/Responsedef_ListPeggingProduct_MP_WebMenu_OnClick
+ Initiator: 'MenuSelectionAll'
+ QuillAction
+ {
+ Body:
+ [*
+ this.SelectAll();
+ *]
+ GroupServerCalls: false
+ }
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormPeggingProduct_MP/Response_pButton_bCreate_OnClick.def b/_Main/UI/MacroPlannerWebApp/Component_FormPeggingProduct_MP/Response_pButton_bCreate_OnClick.def
new file mode 100644
index 0000000..84c4002
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormPeggingProduct_MP/Response_pButton_bCreate_OnClick.def
@@ -0,0 +1,23 @@
+Quintiq file version 2.0
+#parent: pButton/bCreate
+Response OnClick () id:Response_pButton_bCreate_OnClick
+{
+ #keys: '[414702.1.288443717]'
+ CanBindMultiple: false
+ DefinitionID: 'Responsedef_WebButton_OnClick'
+ Precondition:
+ [*
+ return not isnull( GlobalOTDSOP ) and not isnull( MacroPlan );
+ *]
+ QuillAction
+ {
+ Body:
+ [*
+ form := construct( FormNavigationPanel );
+ form.ShowDockLeft();
+
+ PeggingProduct_MP::Create( GlobalOTDSOP, DataHolderCheckedProduct.Data() );
+ *]
+ GroupServerCalls: false
+ }
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormPeggingProduct_MP/Response_pButton_bRunPeggingAlgorithm_OnClick.def b/_Main/UI/MacroPlannerWebApp/Component_FormPeggingProduct_MP/Response_pButton_bRunPeggingAlgorithm_OnClick.def
new file mode 100644
index 0000000..6218f0f
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormPeggingProduct_MP/Response_pButton_bRunPeggingAlgorithm_OnClick.def
@@ -0,0 +1,22 @@
+Quintiq file version 2.0
+#parent: pButton/bRunPeggingAlgorithm
+Response OnClick () id:Response_pButton_bRunPeggingAlgorithm_OnClick
+{
+ #keys: '[414702.1.304801095]'
+ CanBindMultiple: false
+ DefinitionID: 'Responsedef_WebButton_OnClick'
+ Precondition:
+ [*
+ return not isnull( MacroPlan );
+ *]
+ QuillAction
+ {
+ Body:
+ [*
+ MacroPlan.RunPeggingAlgorithm();
+
+ WebMessageBox::Success( "杩愯鎴愬姛锛�", true );
+ *]
+ GroupServerCalls: false
+ }
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormPeggingProduct_MP/_ROOT_Component_FormPeggingProduct_MP.def b/_Main/UI/MacroPlannerWebApp/Component_FormPeggingProduct_MP/_ROOT_Component_FormPeggingProduct_MP.def
new file mode 100644
index 0000000..0cbaf23
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormPeggingProduct_MP/_ROOT_Component_FormPeggingProduct_MP.def
@@ -0,0 +1,18 @@
+Quintiq file version 2.0
+#root
+#parent: MacroPlannerWebApp
+OrphanComponent FormPeggingProduct_MP
+{
+ #keys: '[414702.1.290901529]'
+ BaseType: 'WebForm'
+ Children:
+ [
+ #child: ListPeggingProduct_MP
+ #child: pButton
+ ]
+ Properties:
+ [
+ Image: 'ORANGE'
+ Title: 'Pegging浜у搧鍒嗘瀽'
+ ]
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormPeggingResult/Component_ListPeggingResult.def b/_Main/UI/MacroPlannerWebApp/Component_FormPeggingResult/Component_ListPeggingResult.def
new file mode 100644
index 0000000..ea8def8
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormPeggingResult/Component_ListPeggingResult.def
@@ -0,0 +1,63 @@
+Quintiq file version 2.0
+Component ListPeggingResult
+{
+ #keys: '[414702.1.296178342]'
+ BaseType: 'WebList'
+ Children:
+ [
+ Component DataExtractorPeggingResult
+ {
+ #keys: '[414702.1.296178343]'
+ BaseType: 'WebDataExtractor'
+ Properties:
+ [
+ DataType: 'PeggingProductInSalesDemandBase'
+ ExtractionMode: 'Selected'
+ FixedFilter: 'object.NumberOfPlies() = 0'
+ Source: 'FormPeggingProductInSalesDemandBase.ListPeggingProductInSalesDemandBase'
+ Taborder: 0
+ Transformation: 'PeggingResult'
+ ]
+ }
+ #child: listActionBarPagePeggingResult
+ Component DataSetLevelPeggingResult
+ {
+ #keys: '[414702.1.296178348]'
+ BaseType: 'WebDataSetLevel'
+ Children:
+ [
+ #child: listContextMenuPeggingResult
+ ]
+ Properties:
+ [
+ Columns: '[{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"PeggingProductInSalesDemandBase.SalesDemandBaseID","title":"璁㈠崟ID","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"PeggingProductInSalesDemandBase.SalesDemandBaseID"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"ProductID","title":"浜у搧ID","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"ProductID"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"StockingPointID","title":"搴撳瓨鐐笽D","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"StockingPointID"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"StartDate","title":"寮�濮嬫椂闂�","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"StartDate"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"SupplyQuantity","title":"渚涘簲鏁伴噺","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"SupplyQuantity"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"ActualFulfillmentQuantity","title":"瀹為檯闇�瑕佹暟閲�","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"ActualFulfillmentQuantity"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"FulfillmentQuantity","title":"璁㈠崟闇�瑕佹暟閲�","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"FulfillmentQuantity"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"SupplyType","title":"渚涘簲绫诲瀷","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"SupplyType"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"UnitOfMeasurementName","title":"鍗曚綅","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"UnitOfMeasurementName"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"NumberOfPlies","title":"灞傛暟","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"NumberOfPlies"}}]'
+ ContextMenu: 'listContextMenuPeggingResult'
+ RelationFromParent: 'Child'
+ RelationRepeating: 'Child'
+ Taborder: 2
+ ]
+ }
+ ]
+ Properties:
+ [
+ Taborder: 0
+ ]
+ ResponseDefinitions:
+ [
+ DelegatedResponseDefinition OnClick id:Responsedef_ListPeggingResult_WebMenu_OnClick
+ {
+ #keys: '[414702.1.302148620]'
+ Initiator: 'WebMenu'
+ IsInherited: false
+ ResponseType: 'OnClick'
+ Arguments:
+ [
+ ResponseDefinitionArgument selection
+ {
+ #keys: '[627.0.29218476]'
+ Binding: 'this.Selection()'
+ }
+ ]
+ }
+ ]
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormPeggingResult/Component_listActionBarPagePeggingResult.def b/_Main/UI/MacroPlannerWebApp/Component_FormPeggingResult/Component_listActionBarPagePeggingResult.def
new file mode 100644
index 0000000..0cf5674
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormPeggingResult/Component_listActionBarPagePeggingResult.def
@@ -0,0 +1,10 @@
+Quintiq file version 2.0
+Component listActionBarPagePeggingResult
+{
+ #keys: '[414702.1.296178345]'
+ BaseType: 'listActionBarPage'
+ Properties:
+ [
+ Taborder: 1
+ ]
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormPeggingResult/Component_listContextMenuPeggingResult.def b/_Main/UI/MacroPlannerWebApp/Component_FormPeggingResult/Component_listContextMenuPeggingResult.def
new file mode 100644
index 0000000..8534bcc
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormPeggingResult/Component_listContextMenuPeggingResult.def
@@ -0,0 +1,25 @@
+Quintiq file version 2.0
+Component listContextMenuPeggingResult
+{
+ #keys: '[414702.1.296178350]'
+ BaseType: 'listContextMenu'
+ Children:
+ [
+ Component MenuSelectionAll
+ {
+ #keys: '[414702.1.302117859]'
+ BaseType: 'WebMenu'
+ Properties:
+ [
+ Image: 'SELECTION'
+ Shortcut: 'Ctrl+A'
+ Taborder: 3
+ Title: '鍏ㄩ��'
+ ]
+ }
+ ]
+ Properties:
+ [
+ Taborder: 0
+ ]
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormPeggingResult/Response_ListPeggingResult_MenuSelectionAll_OnClick.def b/_Main/UI/MacroPlannerWebApp/Component_FormPeggingResult/Response_ListPeggingResult_MenuSelectionAll_OnClick.def
new file mode 100644
index 0000000..5498502
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormPeggingResult/Response_ListPeggingResult_MenuSelectionAll_OnClick.def
@@ -0,0 +1,17 @@
+Quintiq file version 2.0
+#parent: ListPeggingResult
+Response OnClick () id:Response_ListPeggingResult_MenuSelectionAll_OnClick
+{
+ #keys: '[414702.1.302148638]'
+ CanBindMultiple: false
+ DefinitionID => /ListPeggingResult/Responsedef_ListPeggingResult_WebMenu_OnClick
+ Initiator: 'MenuSelectionAll'
+ QuillAction
+ {
+ Body:
+ [*
+ this.SelectAll();
+ *]
+ GroupServerCalls: false
+ }
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormPeggingResult/_ROOT_Component_FormPeggingResult.def b/_Main/UI/MacroPlannerWebApp/Component_FormPeggingResult/_ROOT_Component_FormPeggingResult.def
new file mode 100644
index 0000000..9268901
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormPeggingResult/_ROOT_Component_FormPeggingResult.def
@@ -0,0 +1,17 @@
+Quintiq file version 2.0
+#root
+#parent: MacroPlannerWebApp
+OrphanComponent FormPeggingResult
+{
+ #keys: '[414702.1.295031324]'
+ BaseType: 'WebForm'
+ Children:
+ [
+ #child: ListPeggingResult
+ ]
+ Properties:
+ [
+ Image: 'CUP'
+ Title: 'Pegging缁撴灉'
+ ]
+}
diff --git "a/_Main/UI/MacroPlannerWebApp/Views/Pegging\345\210\206\346\236\220.vw" "b/_Main/UI/MacroPlannerWebApp/Views/Pegging\345\210\206\346\236\220.vw"
new file mode 100644
index 0000000..cf84f9c
--- /dev/null
+++ "b/_Main/UI/MacroPlannerWebApp/Views/Pegging\345\210\206\346\236\220.vw"
@@ -0,0 +1,332 @@
+Quintiq file version 2.0
+{
+ viewcontents
+ {
+ forms
+ {
+ form_FormPeggingProduct_MP
+ {
+ title: 'QTIANMA_JITUAN::FormPeggingProduct_MP'
+ shown: true
+ componentID: 'QTIANMA_JITUAN::FormPeggingProduct_MP'
+ layout
+ {
+ mode: 'open'
+ rowPosition: 1
+ rowSpan: 7
+ columnPosition: 1
+ columnSpan: 3
+ }
+ components
+ {
+ FormPeggingProduct_MP_pButton
+ {
+ sizeRatio: 1
+ }
+ FormPeggingProduct_MP_ListPeggingProduct_MP
+ {
+ }
+ FormPeggingProduct_MP_DataSetLevelPeggingProduct_MP
+ {
+ groupDepth: -1
+ column_ProductID
+ {
+ columnId: 'ProductID'
+ dataPath: 'ProductID'
+ dataType: 'string'
+ index: 0
+ subtotals: ''
+ width: 150
+ }
+ }
+ }
+ }
+ form_FormPeggingProductInSalesDemandBase_1
+ {
+ title: 'QTIANMA_JITUAN::FormPeggingProductInSalesDemandBase'
+ shown: true
+ componentID: 'QTIANMA_JITUAN::FormPeggingProductInSalesDemandBase'
+ layout
+ {
+ mode: 'open'
+ rowPosition: 8
+ rowSpan: 6
+ columnPosition: 1
+ columnSpan: 3
+ }
+ components
+ {
+ FormPeggingProductInSalesDemandBase_ListPeggingProductInSalesDemandBase
+ {
+ }
+ FormPeggingProductInSalesDemandBase_DataSetLevelPeggingProductInSalesDemandBase
+ {
+ groupDepth: -1
+ sort: 'StartDate'
+ column_SalesDemandBaseID
+ {
+ columnId: 'SalesDemandBaseID'
+ dataPath: 'SalesDemandBaseID'
+ dataType: 'string'
+ index: 0
+ subtotals: 'count'
+ width: 61
+ }
+ column_StockingPointID
+ {
+ columnId: 'StockingPointID'
+ dataPath: 'StockingPointID'
+ dataType: 'string'
+ index: 1
+ subtotals: ''
+ width: 95
+ }
+ column_Quantity
+ {
+ columnId: 'Quantity'
+ dataPath: 'Quantity'
+ dataType: 'real'
+ index: 2
+ subtotals: ''
+ width: 51
+ }
+ column_StartDate
+ {
+ columnId: 'StartDate'
+ dataPath: 'StartDate'
+ dataType: 'date'
+ index: 3
+ subtotals: ''
+ width: 76
+ }
+ }
+ }
+ }
+ form_FormPeggingResult
+ {
+ title: 'QTIANMA_JITUAN::FormPeggingResult'
+ shown: true
+ componentID: 'QTIANMA_JITUAN::FormPeggingResult'
+ layout
+ {
+ mode: 'open'
+ rowPosition: 1
+ rowSpan: 13
+ columnPosition: 4
+ columnSpan: 9
+ }
+ components
+ {
+ FormPeggingResult_ListPeggingResult
+ {
+ }
+ FormPeggingResult_DataSetLevelPeggingResult
+ {
+ groupDepth: -1
+ sort: 'ProductID'
+ column_PeggingProductInSalesDemandBase_SalesDemandBaseID
+ {
+ columnId: 'PeggingProductInSalesDemandBase.SalesDemandBaseID'
+ dataPath: 'PeggingProductInSalesDemandBase.SalesDemandBaseID'
+ dataType: 'string'
+ index: 0
+ subtotals: 'count'
+ width: 122
+ }
+ column_ProductID
+ {
+ columnId: 'ProductID'
+ dataPath: 'ProductID'
+ dataType: 'string'
+ index: 1
+ subtotals: ''
+ width: 164
+ }
+ column_StockingPointID
+ {
+ columnId: 'StockingPointID'
+ dataPath: 'StockingPointID'
+ dataType: 'string'
+ index: 2
+ subtotals: ''
+ width: 92
+ }
+ column_StartDate
+ {
+ columnId: 'StartDate'
+ dataPath: 'StartDate'
+ dataType: 'date'
+ index: 3
+ subtotals: ''
+ width: 82
+ }
+ column_SupplyQuantity
+ {
+ columnId: 'SupplyQuantity'
+ dataPath: 'SupplyQuantity'
+ dataType: 'real'
+ index: 4
+ subtotals: ''
+ width: 86
+ }
+ column_ActualFulfillmentQuantity
+ {
+ columnId: 'ActualFulfillmentQuantity'
+ dataPath: 'ActualFulfillmentQuantity'
+ dataType: 'real'
+ index: 5
+ subtotals: ''
+ width: 97
+ }
+ column_FulfillmentQuantity
+ {
+ columnId: 'FulfillmentQuantity'
+ dataPath: 'FulfillmentQuantity'
+ dataType: 'real'
+ index: 6
+ subtotals: ''
+ width: 108
+ }
+ column_SupplyType
+ {
+ columnId: 'SupplyType'
+ dataPath: 'SupplyType'
+ dataType: 'string'
+ index: 7
+ subtotals: ''
+ width: 78
+ }
+ column_UnitOfMeasurementName
+ {
+ columnId: 'UnitOfMeasurementName'
+ dataPath: 'UnitOfMeasurementName'
+ dataType: 'string'
+ index: 8
+ subtotals: ''
+ width: 50
+ }
+ column_NumberOfPlies
+ {
+ columnId: 'NumberOfPlies'
+ dataPath: 'NumberOfPlies'
+ dataType: 'number'
+ index: 9
+ subtotals: ''
+ width: 56
+ }
+ }
+ }
+ }
+ form_FormPeggingAllResult
+ {
+ title: 'QTIANMA_JITUAN::FormPeggingAllResult'
+ shown: true
+ componentID: 'QTIANMA_JITUAN::FormPeggingAllResult'
+ layout
+ {
+ mode: 'open'
+ rowPosition: 14
+ rowSpan: 12
+ columnPosition: 1
+ columnSpan: 12
+ }
+ components
+ {
+ FormPeggingAllResult_ListPeggingAllResult
+ {
+ }
+ FormPeggingAllResult_DataSetLevelPeggingAllResult
+ {
+ groupDepth: 2
+ sort: 'ProductID,StockingPointID,StartDate,DESC:PeggingProductInSalesDemandBase.SalesDemandBaseID'
+ column_PeggingProductInSalesDemandBase_SalesDemandBaseID
+ {
+ columnId: 'PeggingProductInSalesDemandBase.SalesDemandBaseID'
+ dataPath: 'PeggingProductInSalesDemandBase.SalesDemandBaseID'
+ dataType: 'string'
+ index: 0
+ subtotals: 'count'
+ 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_StartDate
+ {
+ columnId: 'StartDate'
+ dataPath: 'StartDate'
+ dataType: 'date'
+ index: 3
+ subtotals: ''
+ width: 150
+ }
+ column_SupplyQuantity
+ {
+ columnId: 'SupplyQuantity'
+ dataPath: 'SupplyQuantity'
+ dataType: 'real'
+ index: 4
+ subtotals: ''
+ width: 150
+ }
+ column_FulfillmentQuantity
+ {
+ columnId: 'FulfillmentQuantity'
+ dataPath: 'FulfillmentQuantity'
+ dataType: 'real'
+ index: 5
+ subtotals: 'sum'
+ width: 150
+ }
+ column_SupplyType
+ {
+ columnId: 'SupplyType'
+ dataPath: 'SupplyType'
+ dataType: 'string'
+ index: 6
+ subtotals: ''
+ width: 150
+ }
+ column_UnitOfMeasurementName
+ {
+ columnId: 'UnitOfMeasurementName'
+ dataPath: 'UnitOfMeasurementName'
+ dataType: 'string'
+ index: 7
+ subtotals: ''
+ width: 150
+ }
+ }
+ }
+ }
+ }
+ userconfigurableinformation
+ {
+ }
+ page: ''
+ group: ''
+ index: 0
+ image: 'VIEW'
+ description: ''
+ }
+ formatversion: 2
+ id: 'Pegging鍒嗘瀽'
+ name: '鍒嗘瀽Pegging'
+ isglobal: false
+ isroot: true
+}
diff --git "a/_var/_Main/ProjSettings/MacroPlanner/Views/X_\345\210\206\346\236\220\350\247\206\345\233\276_\133414702.1.50321581\135.vw" "b/_var/_Main/ProjSettings/MacroPlanner/Views/X_\345\210\206\346\236\220\350\247\206\345\233\276_\133414702.1.50321581\135.vw"
index 3c61315..31640c2 100644
--- "a/_var/_Main/ProjSettings/MacroPlanner/Views/X_\345\210\206\346\236\220\350\247\206\345\233\276_\133414702.1.50321581\135.vw"
+++ "b/_var/_Main/ProjSettings/MacroPlanner/Views/X_\345\210\206\346\236\220\350\247\206\345\233\276_\133414702.1.50321581\135.vw"
@@ -14,9 +14,9 @@
ICONIMAGE 'WINDOWS'
CREATIONDATETIME '2023-10-12T10:00:44'
CREATIONUSER 'quintiq/hongjli'
- UPDATEDATETIME '2023-10-12T23:32:10'
+ UPDATEDATETIME '2023-11-01T11:42:14'
UPDATEUSER 'quintiq/hongjli'
- LASTACCESSDATE '2023-10-13'
+ LASTACCESSDATE '2023-11-01'
VIEWSCOPE 0
}
AUTHORIZATIONS
@@ -42,33 +42,35 @@
INFOOBJECT
{
KEY [626.0.4514905]
- OBJECTTYPE Application
+ OBJECTTYPE Application // ApplicationLibMacroPlanner
BASEINFOOBJECTS
{
BASEINFOOBJECT
{
KEY [626.0.4514905]
- OBJECTTYPE GUIComponent
+ OBJECTTYPE GUIComponent // ApplicationLibMacroPlanner
CONTENTS
{
SETTINGS_MDS_WITH_FOLDER
{
- [414702.1.62804981]:LibInt_IntegratorProxy:/root:LibInt_IntegratorProxy
- [414702.1.62833373]:SWF_CommunicationDataset:/root:SWF_CommunicationDataset
- [414702.1.62828776]:SWF_WorkflowDataset:/root:SWF_WorkflowDataset
- [414702.1.62800409]:LibDEF_DataBroker:/root:LibDEF_DataBroker
- [414702.1.61685849]:LibDEF_DataRepository:/root:LibDEF_DataRepository
- [414702.1.61676708]:DMF_ConvertorDataset:/root:DMF_ConvertorDataset
- [414702.1.62842521]:LibMon_Monitor:/root:LibMon_Monitor
- [414702.1.62837950]:LibUTF:/root:UTF
- [414702.1.62860001]:Lib3DS_RootDataset:/root:Lib3DS_RootDataset
- [414702.1.62850001]:KpiTracker:/root:KpiTracker
- [414702.1.62875363]:MacroPlan:/root:MacroPlan
- [414702.1.61681280]:MPDomainHandler:/root:MPDomainHandler
- [414702.1.62880001]:MPSync:/root:MPSync
- [414702.1.62809550]:ScenarioManager:/root:ScenarioManager
- [414702.1.62870001]:LibSCIIntegrationInterface:/root:LibSCIIntegrationInterface
- [414702.1.62819619]:GlobalOTDTable:/root:GlobalOTDTable
+ [414702.1.311783034]:LibInt_IntegratorProxy:/root:LibInt_IntegratorProxy
+ [414702.1.314030658]:SWF_CommunicationDataset:/root:SWF_CommunicationDataset
+ [414702.1.314026045]:SWF_WorkflowDataset:/root:SWF_WorkflowDataset
+ [414702.1.311778446]:LibDEF_DataBroker:/root:LibDEF_DataBroker
+ [414702.1.311773861]:LibDEF_DataRepository:/root:LibDEF_DataRepository
+ [414702.1.311764688]:DMF_ConvertorDataset:/root:DMF_ConvertorDataset
+ [414702.1.314039838]:LibMon_Monitor:/root:LibMon_Monitor
+ [414702.1.314035251]:LibUTF:/root:UTF
+ [414702.1.314050001]:Lib3DS_RootDataset:/root:Lib3DS_RootDataset
+ [414702.1.314070001]:KpiTracker:/root:KpiTracker
+ [414702.1.314075378]:MacroPlan:/root:MacroPlan
+ [414702.1.311769276]:MPDomainHandler:/root:MPDomainHandler
+ [414702.1.314060001]:MPSync:/root:MPSync
+ [414702.1.311787619]:ScenarioManager:/root:ScenarioManager
+ [414702.1.314080001]:LibSCIIntegrationInterface:/root:LibSCIIntegrationInterface
+ [414702.1.314007695]:GlobalOTDTable:/root:GlobalOTDTable
+ [414702.1.314016865]:GlobalOTDLog:/root:GlobalOTDLog
+ [414702.1.314012280]:GlobalOTDSOP:/root:GlobalOTDSOP
}
}
}
@@ -78,19 +80,19 @@
INFOOBJECT
{
KEY [514.0.2180]
- OBJECTTYPE Frame
+ OBJECTTYPE Frame // Frame
CONTENTS
{
State := maximized
(200,0,1536,809)
- WorkspaceLocation :=
+ WorkspaceLocation :=
}
INFOOBJECTS
{
INFOOBJECT
{
KEY [113694.2.1024236755]
- OBJECTTYPE ValueHolder
+ OBJECTTYPE ValueHolder // ValueHolderViewLayout
CONTENTS
{
Value ''
@@ -99,16 +101,16 @@
INFOOBJECT
{
KEY [127710.1.721401771]
- OBJECTTYPE ValueHolder
+ OBJECTTYPE ValueHolder // ValueHolderActiveMacroPlan
CONTENTS
{
- Value '[414702.1.64020493]'
+ Value '[414702.1.314120528]'
}
}
INFOOBJECT
{
KEY [132448.0.224582518]
- OBJECTTYPE ValueHolder
+ OBJECTTYPE ValueHolder // ValueHolderSetMPDefaultViewForFirstLogin
CONTENTS
{
Value 'false'
@@ -117,7 +119,7 @@
INFOOBJECT
{
KEY [146450.2.1404665746]
- OBJECTTYPE ValueHolder
+ OBJECTTYPE ValueHolder // vhConfiguration
CONTENTS
{
Value 'false'
@@ -126,7 +128,7 @@
INFOOBJECT
{
KEY [146874.1.233869144]
- OBJECTTYPE ValueHolder
+ OBJECTTYPE ValueHolder // vhConfigurationMatrix
CONTENTS
{
Value 'false'
@@ -135,7 +137,7 @@
INFOOBJECT
{
KEY [132894.0.1007052496]
- OBJECTTYPE ValueHolder
+ OBJECTTYPE ValueHolder // ValueHolderSetDataHolderSelectedPISPIPExtractor
CONTENTS
{
Value 'false'
@@ -144,7 +146,7 @@
INFOOBJECT
{
KEY [108684.0.1782661552]
- OBJECTTYPE ValueHolder
+ OBJECTTYPE ValueHolder // ValueHolderLastSelected3DDriveDirectory
CONTENTS
{
Value ''
@@ -153,16 +155,16 @@
INFOOBJECT
{
KEY [107654.0.557163713]
- OBJECTTYPE ValueHolder
+ OBJECTTYPE ValueHolder // ValueHolderUserGroup
CONTENTS
{
- Value ';MRPPlanning;ProductionPlan;BusinessUnitOM;Web_BlendingPlan;Web_Plan;Web_TripPlan;Web_PurchasingPlan;Web_ProductionPlan;KpiTrackerAdmin;Web_SafetyStock;Web_Inventory;Web_CapacitySmoothing;Web_ShelfLife;Web_LotSizes;Web_Optimizer;Web_SupplyDashboard;Web_OptimizerBenchmarking;Web_Integration;Web_MyActivities;Web_WorkFlowConfiguration;Web_SafetyStockCalculation;Web_InventoryMixBalancing;Web_Feedbacks;Web_Financials;Web_Allocation;Web_DemandPostponement;Web_Blending;Web_ScenariosAndSettings;Web;Web_Development;Web_Sales;Web_CampaignPlanning;Web_SupplyChainData;Web_SupplyPlanning;SOAPServerUserGroup;CollaborativeForecasting;DemandPlanner;SupplyPlanner;SupplyChainDirector;OnPremise;Cloud;SOP;Software;Functionalities;Workflow;TransportationPlanning;SupplySpecifications;SupplyChainMap;ShelfLife;SalesDemandPostponement;SafetyStockCalculation;ProductPlanningGanttChart;Pegging;OptimizerBenchmarking;LotSizes;InventorySupplies;InventorySpecifications;InventoryMixBalancing;Groups;Feedback;Development;DatabaseIntegration;CapacitySmoothing;CampaignPlanning;Blending;AggregatedPlanning;Developer;Administrator;Implementors;AppConfigurators'
+ Value ';Administrator;Developer;AggregatedPlanning;MRPPlanning;ProductionPlan;BusinessUnitOM;Web_BlendingPlan;Web_Plan;Web_TripPlan;Web_PurchasingPlan;Web_ProductionPlan;KpiTrackerAdmin;Web_SafetyStock;Web_Inventory;Web_CapacitySmoothing;Web_ShelfLife;Web_LotSizes;Web_Optimizer;Web_SupplyDashboard;Web_OptimizerBenchmarking;Web_Integration;Web_MyActivities;Web_WorkFlowConfiguration;Web_SafetyStockCalculation;Web_InventoryMixBalancing;Web_Feedbacks;Web_Financials;Web_Allocation;Web_DemandPostponement;Web_Blending;Web_ScenariosAndSettings;Web;Web_Development;Web_Sales;Web_CampaignPlanning;Web_SupplyChainData;Web_SupplyPlanning;SOAPServerUserGroup;CollaborativeForecasting;DemandPlanner;SupplyPlanner;SupplyChainDirector;OnPremise;Cloud;SOP;Software;Functionalities;Workflow;TransportationPlanning;SupplySpecifications;SupplyChainMap;ShelfLife;SalesDemandPostponement;SafetyStockCalculation;ProductPlanningGanttChart;Pegging;OptimizerBenchmarking;LotSizes;InventorySupplies;InventorySpecifications;InventoryMixBalancing;Groups;Feedback;Development;DatabaseIntegration;CapacitySmoothing;CampaignPlanning;Blending;AppConfigurators;Implementors'
}
}
INFOOBJECT
{
KEY [113694.1.227882923]
- OBJECTTYPE ValueHolder
+ OBJECTTYPE ValueHolder // ValueHolderShowSanityCheck
CONTENTS
{
Value ''
@@ -171,7 +173,7 @@
INFOOBJECT
{
KEY [126224.0.581715]
- OBJECTTYPE ValueHolder
+ OBJECTTYPE ValueHolder // ValueHolder
CONTENTS
{
Value 'Feasible'
@@ -180,7 +182,7 @@
INFOOBJECT
{
KEY [132894.0.388222255]
- OBJECTTYPE ValueHolder
+ OBJECTTYPE ValueHolder // ValueHolderImportProfileMessage
CONTENTS
{
Value ''
@@ -189,7 +191,7 @@
INFOOBJECT
{
KEY [127238.1.80067038]
- OBJECTTYPE ValueHolder
+ OBJECTTYPE ValueHolder // ValueHolderSizing
CONTENTS
{
Value 'true'
@@ -198,7 +200,7 @@
INFOOBJECT
{
KEY [122192.0.103731718]
- OBJECTTYPE ValueHolder
+ OBJECTTYPE ValueHolder // ValueHolderSanityCheckHighestSeverityMsgCount
CONTENTS
{
Value '39'
@@ -207,7 +209,7 @@
INFOOBJECT
{
KEY [113694.2.1085093394]
- OBJECTTYPE ValueHolder
+ OBJECTTYPE ValueHolder // ValueHolderIsImportSucceed
CONTENTS
{
Value 'true'
@@ -216,7 +218,7 @@
INFOOBJECT
{
KEY [132448.0.331221783]
- OBJECTTYPE ValueHolder
+ OBJECTTYPE ValueHolder // ValueHolderScenarioMPSize
CONTENTS
{
Value '1'
@@ -225,7 +227,7 @@
INFOOBJECT
{
KEY [127238.1.502176570]
- OBJECTTYPE ValueHolder
+ OBJECTTYPE ValueHolder // ValueHolderPeriodRollStatus
CONTENTS
{
Value 'false'
@@ -234,7 +236,7 @@
INFOOBJECT
{
KEY [112884.1.706803944]
- OBJECTTYPE ValueHolder
+ OBJECTTYPE ValueHolder // ValueHolderSanityCheckHighestSeverity
CONTENTS
{
Value '2'
@@ -243,7 +245,7 @@
INFOOBJECT
{
KEY [132448.0.662420775]
- OBJECTTYPE GUIDataSetLevel
+ OBJECTTYPE GUIDataSetLevel // GUIDataSetLevel
CONTENTS
{
Columns
@@ -283,13 +285,13 @@
INFOOBJECT
{
KEY [136682.0.314428046]
- OBJECTTYPE GUIComponent
+ OBJECTTYPE GUIComponent // PTFPanelTestController
INFOOBJECTS
{
INFOOBJECT
{
KEY [105690.0.246954464]
- OBJECTTYPE ValueHolder
+ OBJECTTYPE ValueHolder // vhLogging
CONTENTS
{
Value ''
@@ -298,7 +300,7 @@
INFOOBJECT
{
KEY [104342.0.773994982]
- OBJECTTYPE ValueHolder
+ OBJECTTYPE ValueHolder // vhDoActionInfoReturn
CONTENTS
{
Value ''
@@ -307,7 +309,7 @@
INFOOBJECT
{
KEY [104342.0.867521338]
- OBJECTTYPE ValueHolder
+ OBJECTTYPE ValueHolder // vhPendingActions
CONTENTS
{
Value ''
@@ -316,7 +318,7 @@
INFOOBJECT
{
KEY [104342.0.867524820]
- OBJECTTYPE ValueHolder
+ OBJECTTYPE ValueHolder // vhSharedRepository
CONTENTS
{
Value '\\\\CNLEN1845000693\\PTF_Repository\\'
@@ -325,7 +327,7 @@
INFOOBJECT
{
KEY [105690.0.892938783]
- OBJECTTYPE ValueHolder
+ OBJECTTYPE ValueHolder // vhAsyncActionStatus
CONTENTS
{
Value ''
@@ -334,7 +336,7 @@
INFOOBJECT
{
KEY [105690.0.247211998]
- OBJECTTYPE ValueHolder
+ OBJECTTYPE ValueHolder // vhResultLogPath
CONTENTS
{
Value ''
@@ -343,7 +345,7 @@
INFOOBJECT
{
KEY [105690.0.892939622]
- OBJECTTYPE ValueHolder
+ OBJECTTYPE ValueHolder // vhPTFExecutionStatus
CONTENTS
{
Value 'Inactive'
@@ -352,7 +354,7 @@
INFOOBJECT
{
KEY [103546.0.81355542]
- OBJECTTYPE ValueHolder
+ OBJECTTYPE ValueHolder // vhAutoClose
CONTENTS
{
Value ''
@@ -361,7 +363,7 @@
INFOOBJECT
{
KEY [103546.0.54652306]
- OBJECTTYPE ValueHolder
+ OBJECTTYPE ValueHolder // vhLogStart
CONTENTS
{
Value ''
@@ -372,7 +374,7 @@
INFOOBJECT
{
KEY [113694.2.1146370710]
- OBJECTTYPE Toolbar
+ OBJECTTYPE Toolbar // ToolbarWorkflow
CONTENTS
{
'vertical' '50' '0'
@@ -382,16 +384,19 @@
INFOOBJECT
{
KEY [113694.2.1146375645]
- OBJECTTYPE CustomDrawComponent
+ OBJECTTYPE CustomDrawComponent // SWF_MP_CustomDrawComponentProcessDashboard
+ BASEINFOOBJECTS
+ {
+ }
INFOOBJECTS
{
INFOOBJECT
{
KEY [132478.0.288924864]
- OBJECTTYPE ValueHolder
+ OBJECTTYPE ValueHolder // ValueHolderLastSyncDateTime
CONTENTS
{
- Value '12-10-2023, 20:12:19'
+ Value '01-11-2023, 10:05:04'
}
}
}
@@ -401,17 +406,17 @@
INFOOBJECT
{
KEY [11660.0.360702312]
- OBJECTTYPE Toolbar
+ OBJECTTYPE Toolbar // ToolbarSupplyChainPanel
CONTENTS
{
- 'horizontal' '50' '336'
+ 'horizontal' '50' '320'
}
INFOOBJECTS
{
INFOOBJECT
{
KEY [113694.2.1070869880]
- OBJECTTYPE ValueHolder
+ OBJECTTYPE ValueHolder // ValueHolderNavigationPanelState
CONTENTS
{
Value 'true'
@@ -420,22 +425,22 @@
INFOOBJECT
{
KEY [113694.2.1070870209]
- OBJECTTYPE ValueHolder
+ OBJECTTYPE ValueHolder // ValueHolderNavigationPanelSize
CONTENTS
{
- Value '336'
+ Value '320'
}
}
INFOOBJECT
{
KEY [113694.2.1033284312]
- OBJECTTYPE SplitterWnd
+ OBJECTTYPE SplitterWnd // SplitterWnd
INFOOBJECTS
{
INFOOBJECT
{
KEY [113694.2.1033284313]
- OBJECTTYPE SplitterPane
+ OBJECTTYPE SplitterPane // SplitterPane
CONTENTS
{
VISIBLE true
@@ -445,7 +450,7 @@
INFOOBJECT
{
KEY [127238.0.1883499282]
- OBJECTTYPE TabComponent
+ OBJECTTYPE TabComponent // TabComponent
CONTENTS
{
ActivePageIndex 0
@@ -455,7 +460,7 @@
INFOOBJECT
{
KEY [132448.0.71838188]
- OBJECTTYPE List
+ OBJECTTYPE List // ListNavigationPanelSelection
CONTENTS
{
Quantorrow := false
@@ -465,16 +470,16 @@
INFOOBJECT
{
KEY [127238.0.1883514459]
- OBJECTTYPE ValueHolder
+ OBJECTTYPE ValueHolder // ValueHolderListSelections
CONTENTS
{
- Value 'Products'
+ Value 'Stocking points and units'
}
}
INFOOBJECT
{
KEY [127238.0.1883514458]
- OBJECTTYPE GUIDataSetLevel
+ OBJECTTYPE GUIDataSetLevel // GUIDataSetLevel288
CONTENTS
{
Columns
@@ -505,13 +510,13 @@
INFOOBJECT
{
KEY [127238.0.1883516525]
- OBJECTTYPE SplitterWnd
+ OBJECTTYPE SplitterWnd // SplitterWnd516
INFOOBJECTS
{
INFOOBJECT
{
KEY [127238.0.1883516526]
- OBJECTTYPE SplitterPane
+ OBJECTTYPE SplitterPane // SplitterPaneEntities
CONTENTS
{
Size 100
@@ -522,17 +527,20 @@
INFOOBJECT
{
KEY [127238.0.1883516528]
- OBJECTTYPE List
+ OBJECTTYPE List // ListEntityTreeInPanel
CONTENTS
{
Quantorrow := false
+ }
+ BASEINFOOBJECTS
+ {
}
INFOOBJECTS
{
INFOOBJECT
{
KEY [113694.2.1026852831]
- OBJECTTYPE GUIDataSetLevel
+ OBJECTTYPE GUIDataSetLevel // GUIDataSetLevelUnit
CONTENTS
{
Columns
@@ -567,7 +575,7 @@
INFOOBJECT
{
KEY [127238.0.1883516541]
- OBJECTTYPE SplitterPane
+ OBJECTTYPE SplitterPane // SplitterPaneProducts
CONTENTS
{
Size 0
@@ -578,17 +586,20 @@
INFOOBJECT
{
KEY [127238.0.1883516544]
- OBJECTTYPE List
+ OBJECTTYPE List // ListProductInPanel
CONTENTS
{
Quantorrow := false
+ }
+ BASEINFOOBJECTS
+ {
}
INFOOBJECTS
{
INFOOBJECT
{
KEY [113694.2.1025678105]
- OBJECTTYPE GUIDataSetLevel
+ OBJECTTYPE GUIDataSetLevel // GUIDataSetLevelProducts
CONTENTS
{
Columns
@@ -621,7 +632,7 @@
INFOOBJECT
{
KEY [127238.0.1883516552]
- OBJECTTYPE SplitterPane
+ OBJECTTYPE SplitterPane // SplitterPaneSalesSegment
CONTENTS
{
Size 0
@@ -632,17 +643,20 @@
INFOOBJECT
{
KEY [127238.0.1883516554]
- OBJECTTYPE List
+ OBJECTTYPE List // ListSalesSegmentInPanel
CONTENTS
{
Quantorrow := false
+ }
+ BASEINFOOBJECTS
+ {
}
INFOOBJECTS
{
INFOOBJECT
{
KEY [11660.0.1616690288]
- OBJECTTYPE GUIDataSetLevel
+ OBJECTTYPE GUIDataSetLevel // GUIDataSetLevelSalesSegment
CONTENTS
{
Columns
@@ -675,7 +689,7 @@
INFOOBJECT
{
KEY [131438.0.356639347]
- OBJECTTYPE SplitterPane
+ OBJECTTYPE SplitterPane // SplitterPanePeriods
CONTENTS
{
Size 0
@@ -686,7 +700,7 @@
INFOOBJECT
{
KEY [131438.0.353247249]
- OBJECTTYPE List
+ OBJECTTYPE List // ListPeriodSpecificationInPanel
CONTENTS
{
Quantorrow := false
@@ -696,7 +710,7 @@
INFOOBJECT
{
KEY [131438.0.371333408]
- OBJECTTYPE GUIDataSetLevel
+ OBJECTTYPE GUIDataSetLevel // GUIDataSetLevelPeriodSpecifications
CONTENTS
{
Columns
@@ -728,7 +742,7 @@
INFOOBJECT
{
KEY [131438.0.402834330]
- OBJECTTYPE GUIDataSetLevel
+ OBJECTTYPE GUIDataSetLevel // GUIDataSetLevelPeriods
CONTENTS
{
Columns
@@ -777,13 +791,13 @@
INFOOBJECT
{
KEY [127238.0.1884468404]
- OBJECTTYPE SplitterWnd
+ OBJECTTYPE SplitterWnd // SplitterWnd466
INFOOBJECTS
{
INFOOBJECT
{
KEY [127238.0.1884468405]
- OBJECTTYPE SplitterPane
+ OBJECTTYPE SplitterPane // SplitterPane252
CONTENTS
{
VISIBLE true
@@ -793,7 +807,7 @@
INFOOBJECT
{
KEY [127238.0.1884468597]
- OBJECTTYPE List
+ OBJECTTYPE List // ListBookmarks
CONTENTS
{
Quantorrow := false
@@ -803,7 +817,7 @@
INFOOBJECT
{
KEY [130238.0.368320209]
- OBJECTTYPE GUIDataSetLevel
+ OBJECTTYPE GUIDataSetLevel // GUIDataSetLevelBookmarks
CONTENTS
{
Columns
@@ -834,7 +848,7 @@
INFOOBJECT
{
KEY [130238.0.368320210]
- OBJECTTYPE GUIDataSetLevel
+ OBJECTTYPE GUIDataSetLevel // GUIDataSetLevelBookmarkChildren
CONTENTS
{
Columns
@@ -879,728 +893,33 @@
}
INFOOBJECT
{
- KEY [108486.1.1170974339]
- SINGLEINSTANCE false
- ID 'Pegging'
- PARENTKEY [514.0.2180]
- OBJECTTYPE Form
- CREATETYPE FormPegging
- CONTENTS
- {
- State := normal
- (354,421,990,664)
- DockableLocation := Station[MAIN]State[NORM]TreePath[B0.5507;]TabIdx[0]Selection[NONE]
- }
- INFOOBJECTS
- {
- INFOOBJECT
- {
- KEY [108486.1.1171911809]
- OBJECTTYPE SplitterWnd
- INFOOBJECTS
- {
- INFOOBJECT
- {
- KEY [108486.1.1171911810]
- OBJECTTYPE SplitterPane
- CONTENTS
- {
- Size 50.132802124834
- VISIBLE true
- }
- INFOOBJECTS
- {
- INFOOBJECT
- {
- KEY [108486.1.1171921411]
- OBJECTTYPE SplitterWnd
- INFOOBJECTS
- {
- INFOOBJECT
- {
- KEY [108486.1.1171921412]
- OBJECTTYPE SplitterPane
- CONTENTS
- {
- Size 52.6515151515151
- VISIBLE true
- }
- INFOOBJECTS
- {
- INFOOBJECT
- {
- KEY [108486.1.1171921414]
- OBJECTTYPE List
- CONTENTS
- {
- Quantorrow := false
- }
- INFOOBJECTS
- {
- INFOOBJECT
- {
- KEY [108486.1.1171924299]
- OBJECTTYPE GUIDataSetLevel
- 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
- CONTENTS
- {
- Size 47.3484848484849
- VISIBLE true
- }
- INFOOBJECTS
- {
- INFOOBJECT
- {
- KEY [113694.0.1490022148]
- OBJECTTYPE List
- CONTENTS
- {
- Quantorrow := false
- }
- INFOOBJECTS
- {
- INFOOBJECT
- {
- KEY [113694.0.1490022154]
- OBJECTTYPE GUIDataSetLevel
- 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
- CONTENTS
- {
- Size 49.867197875166
- VISIBLE true
- }
- INFOOBJECTS
- {
- INFOOBJECT
- {
- KEY [108486.1.1175693802]
- OBJECTTYPE SplitterWnd
- INFOOBJECTS
- {
- INFOOBJECT
- {
- KEY [108486.1.1175693803]
- OBJECTTYPE SplitterPane
- CONTENTS
- {
- Size 52.6315789473684
- VISIBLE true
- }
- INFOOBJECTS
- {
- INFOOBJECT
- {
- KEY [108486.1.1175693804]
- OBJECTTYPE List
- CONTENTS
- {
- Quantorrow := false
- }
- INFOOBJECTS
- {
- INFOOBJECT
- {
- KEY [108486.1.1175693807]
- OBJECTTYPE GUIDataSetLevel
- 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
- CONTENTS
- {
- Size 47.3684210526316
- VISIBLE true
- }
- INFOOBJECTS
- {
- INFOOBJECT
- {
- KEY [108486.1.1175693811]
- OBJECTTYPE List
- CONTENTS
- {
- Quantorrow := false
- }
- INFOOBJECTS
- {
- INFOOBJECT
- {
- KEY [108486.1.1175693814]
- OBJECTTYPE GUIDataSetLevel
- 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
- CREATETYPE FormProductPlanningMatrix
- CONTENTS
- {
- State := normal
- (0,0,0,0)
- DockableLocation := Station[MAIN]State[NORM]TreePath[T0.4493;]TabIdx[0]Selection[FRONT]
- }
- INFOOBJECTS
- {
- INFOOBJECT
- {
- KEY [127710.1.821866707]
- OBJECTTYPE CheckBox
- CONTENTS
- {
- Checkstate 1
- }
- }
- INFOOBJECT
- {
- KEY [127710.1.821866918]
- OBJECTTYPE StringSelection
- CONTENTS
- {
- BoundValue '[Leaf product]'
- }
- }
- INFOOBJECT
- {
- KEY [127710.1.818312567]
- OBJECTTYPE MatrixEditor
- CONTENTS
- {
- RowHeight 29
- ColumnWidth 82
- FirstColumnWidth 433
- Attributes 'SupplyQuantity;DependentDemandAndSalesDemandQuantity;TargetInventoryLevel;InventoryLevelEnd;StockLevelInDays'
- }
- INFOOBJECTS
- {
- INFOOBJECT
- {
- KEY [127710.1.819572713]
- OBJECTTYPE GUIScaleView
- INFOOBJECTS
- {
- INFOOBJECT
- {
- KEY [127710.1.820829335]
- OBJECTTYPE UserConfigurableInformation
- CONTENTS
- {
- ObjectText 'VALUE(object.Start())'
- }
- }
- }
- }
- INFOOBJECT
- {
- KEY [127710.1.819572710]
- OBJECTTYPE GUIScaleView
- INFOOBJECTS
- {
- INFOOBJECT
- {
- KEY [127710.1.820300549]
- OBJECTTYPE UserConfigurableInformation
- CONTENTS
- {
- ObjectText 'VALUE( object.Name() ) (VALUE( object.UnitOfMeasureName() ))'
- }
- }
- }
- }
- }
- }
- }
- }
- INFOOBJECT
- {
KEY [107654.0.139602704]
SINGLEINSTANCE false
ID '閿�鍞渶姹�'
PARENTKEY [514.0.2180]
- OBJECTTYPE Form
+ OBJECTTYPE Form // FormSalesDemands
CREATETYPE FormSalesDemands
CONTENTS
{
State := normal
(1344,0,192,928)
- DockableLocation := Station[MAIN]State[NORM]TreePath[T0.4493;]TabIdx[1]Selection[NONE]
+ DockableLocation := Station[MAIN]State[NORM]TreePath[T0.4484;]TabIdx[0]Selection[NONE]
+ }
+ BASEINFOOBJECTS
+ {
}
INFOOBJECTS
{
INFOOBJECT
{
KEY [124112.0.87054864]
- OBJECTTYPE SplitterWnd
+ OBJECTTYPE SplitterWnd // SplitterWnd1
INFOOBJECTS
{
INFOOBJECT
{
KEY [124112.0.87054865]
- OBJECTTYPE SplitterPane
+ OBJECTTYPE SplitterPane // SplitterPaneSalesDemand
CONTENTS
{
Size 72.2642807983482
@@ -1611,7 +930,7 @@
INFOOBJECT
{
KEY [124112.0.87250426]
- OBJECTTYPE List
+ OBJECTTYPE List // ListSalesDemand
CONTENTS
{
Quantorrow := false
@@ -1621,7 +940,7 @@
INFOOBJECT
{
KEY [124112.0.87253131]
- OBJECTTYPE GUIDataSetLevel
+ OBJECTTYPE GUIDataSetLevel // GUIDataSetLevelSalesDemand
CONTENTS
{
Columns
@@ -1745,7 +1064,7 @@
}
}
}
- 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'
+ 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="@StartDate1" ElementType="Forecast Q124112_0_61686821" ValueType="Date">\n <ColumnID>[414702.1.317510867]</ColumnID>\n <BaseName>StartDate</BaseName>\n <Name>StartDate</Name>\n <Title>StartDate</Title>\n <IsTarget>false</IsTarget>\n <NameHasBeenSet>false</NameHasBeenSet>\n <ColumnFinal>Fail</ColumnFinal>\n <AttributePathText>StartDate</AttributePathText>\n <AttributePathIdentifier>\n </AttributePathIdentifier>\n </GEBSelectColumn>\n <GEBSelectColumn Key="@ImgNotLinkedToPeriod1" ElementType="Forecast Q124112_0_61686821" ValueType="String">\n <ColumnID>[414702.1.317510868]</ColumnID>\n <BaseName>ImgNotLinkedToPeriod</BaseName>\n <Name>ImgNotLinkedToPeriod</Name>\n <Title>ImgNotLinkedToPeriod</Title>\n <IsTarget>false</IsTarget>\n <NameHasBeenSet>false</NameHasBeenSet>\n <ColumnFinal>Fail</ColumnFinal>\n <AttributePathText>ImgNotLinkedToPeriod</AttributePathText>\n <AttributePathIdentifier>\n </AttributePathIdentifier>\n </GEBSelectColumn>\n <GEBSelectColumn Key="@ImgIsPostponed1" ElementType="Forecast Q124112_0_61686821" ValueType="String">\n <ColumnID>[414702.1.317510869]</ColumnID>\n <BaseName>ImgIsPostponed</BaseName>\n <Name>ImgIsPostponed</Name>\n <Title>ImgIsPostponed</Title>\n <IsTarget>false</IsTarget>\n <NameHasBeenSet>false</NameHasBeenSet>\n <ColumnFinal>Fail</ColumnFinal>\n <AttributePathText>ImgIsPostponed</AttributePathText>\n <AttributePathIdentifier>\n </AttributePathIdentifier>\n </GEBSelectColumn>\n <GEBSelectColumn Key="@Sales_segment1" ElementType="Forecast Q124112_0_61686821" ValueType="String">\n <ColumnID>[414702.1.317510870]</ColumnID>\n <BaseName>Sales_segment</BaseName>\n <Name>Sales_segment</Name>\n <Title>Sales segment</Title>\n <IsTarget>false</IsTarget>\n <NameHasBeenSet>true</NameHasBeenSet>\n <ColumnFinal>Fail</ColumnFinal>\n <AttributePathText>SalesSegment_MP.Name</AttributePathText>\n <AttributePathIdentifier>\n </AttributePathIdentifier>\n </GEBSelectColumn>\n <GEBSelectColumn Key="@Product1" ElementType="Forecast Q124112_0_61686821" ValueType="String">\n <ColumnID>[414702.1.317510871]</ColumnID>\n <BaseName>Product</BaseName>\n <Name>Product</Name>\n <Title>Product</Title>\n <IsTarget>false</IsTarget>\n <NameHasBeenSet>true</NameHasBeenSet>\n <ColumnFinal>Fail</ColumnFinal>\n <AttributePathText>ProductInStockingPoint_MP.Product_MP.Name</AttributePathText>\n <AttributePathIdentifier>\n </AttributePathIdentifier>\n </GEBSelectColumn>\n <GEBSelectColumn Key="@Stocking_point1" ElementType="Forecast Q124112_0_61686821" ValueType="String">\n <ColumnID>[414702.1.317510872]</ColumnID>\n <BaseName>Stocking_point</BaseName>\n <Name>Stocking_point</Name>\n <Title>Stocking point</Title>\n <IsTarget>false</IsTarget>\n <NameHasBeenSet>true</NameHasBeenSet>\n <ColumnFinal>Fail</ColumnFinal>\n <AttributePathText>ProductInStockingPoint_MP.StockingPoint_MP.Name</AttributePathText>\n <AttributePathIdentifier>\n </AttributePathIdentifier>\n </GEBSelectColumn>\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="@Price1" ElementType="Forecast Q124112_0_61686821" ValueType="Real">\n <ColumnID>[414702.1.317510873]</ColumnID>\n <BaseName>Price</BaseName>\n <Name>Price</Name>\n <Title>Price</Title>\n <IsTarget>false</IsTarget>\n <NameHasBeenSet>false</NameHasBeenSet>\n <ColumnFinal>Fail</ColumnFinal>\n <AttributePathText>Price</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
}
}
@@ -1756,7 +1075,7 @@
INFOOBJECT
{
KEY [124112.0.87054866]
- OBJECTTYPE SplitterPane
+ OBJECTTYPE SplitterPane // SplitterPaneSalesDemandInPeriod
CONTENTS
{
Size 27.7357192016518
@@ -1767,13 +1086,13 @@
INFOOBJECT
{
KEY [116826.1.6886965]
- OBJECTTYPE SplitterWnd
+ OBJECTTYPE SplitterWnd // SplitterWnd
INFOOBJECTS
{
INFOOBJECT
{
KEY [116826.1.6886966]
- OBJECTTYPE SplitterPane
+ OBJECTTYPE SplitterPane // SplitterPane
CONTENTS
{
VISIBLE true
@@ -1783,7 +1102,7 @@
INFOOBJECT
{
KEY [116826.1.6887229]
- OBJECTTYPE List
+ OBJECTTYPE List // ListAggregatedSalesDemandInPeriod
CONTENTS
{
Quantorrow := false
@@ -1793,7 +1112,7 @@
INFOOBJECT
{
KEY [116826.1.6887235]
- OBJECTTYPE GUIDataSetLevel
+ OBJECTTYPE GUIDataSetLevel // GUIDataSetLevelSalesDemandInPeriod
CONTENTS
{
Columns
@@ -1886,7 +1205,7 @@
INFOOBJECT
{
KEY [116826.1.6886967]
- OBJECTTYPE SplitterPane
+ OBJECTTYPE SplitterPane // SplitterPane552
CONTENTS
{
VISIBLE true
@@ -1896,7 +1215,7 @@
INFOOBJECT
{
KEY [116826.1.6889558]
- OBJECTTYPE List
+ OBJECTTYPE List // ListDisaggregatedSalesDemandInPeriod
CONTENTS
{
Quantorrow := false
@@ -1906,7 +1225,7 @@
INFOOBJECT
{
KEY [116826.1.6889563]
- OBJECTTYPE GUIDataSetLevel
+ OBJECTTYPE GUIDataSetLevel // GUIDataSetLevel
CONTENTS
{
Columns
@@ -2007,30 +1326,742 @@
}
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.5516;]TabIdx[0]Selection[NONE]
+ }
+ 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 := 91
+ 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'
+ }
+ }
+ }
+ }
+ }
+ }
+ Filter := '<?xml version="1.0" encoding="UTF-16"?>\n<GEBObjectsFilter xmlns="http://www.quintiq.com/GEB/GEBObjectsFilter" Key="@1" CurrentFilter="@Default_Filter1" TargetType="Demand_MP Q11660_0_96892572">\n <GEBFiltering Key="@Default_Filter1" TargetType="Demand_MP Q11660_0_96892572">\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="@DemandType1" ElementType="Demand_MP Q11660_0_96892572" ValueType="String">\n <ColumnID>[108486.2.847961104]</ColumnID>\n <BaseName>DemandType</BaseName>\n <Name>DemandType</Name>\n <Title>DemandType</Title>\n <IsTarget>false</IsTarget>\n <NameHasBeenSet>false</NameHasBeenSet>\n <ColumnFinal>Fail</ColumnFinal>\n <AttributePathText>DemandType</AttributePathText>\n <AttributePathIdentifier>\n </AttributePathIdentifier>\n </GEBSelectColumn>\n <GEBSelectColumn Key="@HasValidPeggedQuantity1" ElementType="Demand_MP Q11660_0_96892572" ValueType="String">\n <ColumnID>[108486.2.847961073]</ColumnID>\n <BaseName>HasValidPeggedQuantity</BaseName>\n <Name>HasValidPeggedQuantity</Name>\n <Title>HasValidPeggedQuantity</Title>\n <IsTarget>false</IsTarget>\n <NameHasBeenSet>true</NameHasBeenSet>\n <ColumnFinal>Fail</ColumnFinal>\n <AttributePathText>ImgHasValidPeggedQuantity</AttributePathText>\n <AttributePathIdentifier>\n </AttributePathIdentifier>\n </GEBSelectColumn>\n <GEBSelectColumn Key="@Stocking_point1" ElementType="Demand_MP Q11660_0_96892572" ValueType="String">\n <ColumnID>[414702.1.317581380]</ColumnID>\n <BaseName>Stocking_point</BaseName>\n <Name>Stocking_point</Name>\n <Title>Stocking point</Title>\n <IsTarget>false</IsTarget>\n <NameHasBeenSet>true</NameHasBeenSet>\n <ColumnFinal>Fail</ColumnFinal>\n <AttributePathText>ProductInStockingPointInPeriodPlanning.AsPlanningProductInStockingPoint.StockingPoint_MP.Name</AttributePathText>\n <AttributePathIdentifier>\n </AttributePathIdentifier>\n </GEBSelectColumn>\n <GEBSelectColumn Key="@Product1" ElementType="Demand_MP Q11660_0_96892572" ValueType="String">\n <ColumnID>[414702.1.317581381]</ColumnID>\n <BaseName>Product</BaseName>\n <Name>Product</Name>\n <Title>Product</Title>\n <IsTarget>false</IsTarget>\n <NameHasBeenSet>true</NameHasBeenSet>\n <ColumnFinal>Fail</ColumnFinal>\n <AttributePathText>ProductInStockingPointInPeriodPlanning.ProductInStockingPoint_MP.Product_MP.Name</AttributePathText>\n <AttributePathIdentifier>\n </AttributePathIdentifier>\n </GEBSelectColumn>\n <GEBProcessColumn Key="@Period_start1" ElementType="Demand_MP Q11660_0_96892572" ValueType="Date">\n <ColumnID>[414702.1.317581382]</ColumnID>\n <BaseName>Period_start</BaseName>\n <Name>Period_start</Name>\n <Title>Period start</Title>\n <IsTarget>false</IsTarget>\n <NameHasBeenSet>false</NameHasBeenSet>\n <ColumnFinal>Fail</ColumnFinal>\n <GEBDerivation Key="@3">\n <GEBDerivationBase Key="@4" TargetType="Demand_MP Q11660_0_96892572">\n <ColumnID>[0.0.0]</ColumnID>\n <GEBNodeDerivation Key="@5">\n <Operation>FirstExpression</Operation>\n <Conditional>false</Conditional>\n <Multiple>false</Multiple>\n <AllowWildcards>false</AllowWildcards>\n <GEBNodeDerivationExpression Key="@6">\n <GEBNodeDerivationExpressionBody Key="@7">\n <ExpressionText>object.GetPeriodStart()</ExpressionText>\n <Converter>\n <ZeroConverter Key="@8">\n <IsStandard>true</IsStandard>\n <IsISO>false</IsISO>\n <IsCustom>false</IsCustom>\n <ConversionType>0</ConversionType>\n </ZeroConverter>\n </Converter>\n </GEBNodeDerivationExpressionBody>\n </GEBNodeDerivationExpression>\n </GEBNodeDerivation>\n </GEBDerivationBase>\n </GEBDerivation>\n </GEBProcessColumn>\n <GEBSelectColumn Key="@Quantity1" ElementType="Demand_MP Q11660_0_96892572" ValueType="Real">\n <ColumnID>[414702.1.317581383]</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="@Fulfilled1" ElementType="Demand_MP Q11660_0_96892572" ValueType="Real">\n <ColumnID>[108486.2.847961228]</ColumnID>\n <BaseName>Fulfilled</BaseName>\n <Name>Fulfilled</Name>\n <Title>Fulfilled</Title>\n <IsTarget>false</IsTarget>\n <NameHasBeenSet>true</NameHasBeenSet>\n <ColumnFinal>Fail</ColumnFinal>\n <AttributePathText>FulfilledQuantity</AttributePathText>\n <AttributePathIdentifier>\n </AttributePathIdentifier>\n </GEBSelectColumn>\n <GEBProcessColumn Key="@Available1" ElementType="Demand_MP Q11660_0_96892572" ValueType="Real">\n <ColumnID>[414702.1.317581384]</ColumnID>\n <BaseName>Available</BaseName>\n <Name>Available</Name>\n <Title>Available</Title>\n <IsTarget>false</IsTarget>\n <NameHasBeenSet>false</NameHasBeenSet>\n <ColumnFinal>Fail</ColumnFinal>\n <GEBDerivation Key="@9">\n <GEBDerivationBase Key="@10" TargetType="Demand_MP Q11660_0_96892572">\n <ColumnID>[0.0.0]</ColumnID>\n <GEBNodeDerivation Key="@11">\n <Operation>FirstExpression</Operation>\n <Conditional>false</Conditional>\n <Multiple>false</Multiple>\n <AllowWildcards>false</AllowWildcards>\n <GEBNodeDerivationExpression Key="@12">\n <GEBNodeDerivationExpressionBody Key="@13">\n <ExpressionText>object.GetAvailableQuantityForPegging()</ExpressionText>\n <Converter>\n <ZeroConverter Key="@14">\n <IsStandard>true</IsStandard>\n <IsISO>false</IsISO>\n <IsCustom>false</IsCustom>\n <ConversionType>0</ConversionType>\n </ZeroConverter>\n </Converter>\n </GEBNodeDerivationExpressionBody>\n </GEBNodeDerivationExpression>\n </GEBNodeDerivation>\n </GEBDerivationBase>\n </GEBDerivation>\n </GEBProcessColumn>\n <GEBProcessColumn Key="@Date1" ElementType="Demand_MP Q11660_0_96892572" ValueType="Date">\n <ColumnID>[108486.1.1930448455]</ColumnID>\n <BaseName>Date</BaseName>\n <Name>Date</Name>\n <Title>Date</Title>\n <IsTarget>false</IsTarget>\n <NameHasBeenSet>false</NameHasBeenSet>\n <ColumnFinal>Fail</ColumnFinal>\n <GEBDerivation Key="@15">\n <GEBDerivationBase Key="@16" TargetType="Demand_MP Q11660_0_96892572">\n <ColumnID>[0.0.0]</ColumnID>\n <GEBNodeDerivation Key="@17">\n <Operation>FirstExpression</Operation>\n <Conditional>false</Conditional>\n <Multiple>false</Multiple>\n <AllowWildcards>false</AllowWildcards>\n <GEBNodeDerivationExpression Key="@18">\n <GEBNodeDerivationExpressionBody Key="@19">\n <ExpressionText>object.GetDate()</ExpressionText>\n <Converter>\n <ZeroConverter Key="@20">\n <IsStandard>true</IsStandard>\n <IsISO>false</IsISO>\n <IsCustom>false</IsCustom>\n <ConversionType>0</ConversionType>\n </ZeroConverter>\n </Converter>\n </GEBNodeDerivationExpressionBody>\n </GEBNodeDerivationExpression>\n </GEBNodeDerivation>\n </GEBDerivationBase>\n </GEBDerivation>\n </GEBProcessColumn>\n <GEBFilter Key="@21">\n <FreeFilterEnabled>true</FreeFilterEnabled>\n <GEBFilterColumn Key="@22" Column="@Fulfilled1">\n <ColumnID>[108486.2.847961228]</ColumnID>\n </GEBFilterColumn>\n <GEBFilterColumn Key="@23" Column="@Product1">\n <ColumnID>[414702.1.317581381]</ColumnID>\n <GEBFilterColumnMatch Key="@24">\n <Operation>=</Operation>\n <Enabled>true</Enabled>\n <RHSValue>\n <RHSFreeValue Key="@25">\n <StringValue></StringValue>\n <Value>UString:120 kW Motor</Value>\n </RHSFreeValue>\n </RHSValue>\n </GEBFilterColumnMatch>\n </GEBFilterColumn>\n <GEBFilterColumn Key="@26" Column="@Period_start1">\n <ColumnID>[414702.1.317581382]</ColumnID>\n <GEBFilterColumnMatch Key="@27">\n <Operation>=</Operation>\n <Enabled>true</Enabled>\n <RHSValue>\n <RHSFreeValue Key="@28">\n <StringValue></StringValue>\n <Value>Date:2020-04-01</Value>\n </RHSFreeValue>\n </RHSValue>\n </GEBFilterColumnMatch>\n </GEBFilterColumn>\n <GEBFreeFilterBody Key="@29">\n <ExpressionText></ExpressionText>\n <Converter>\n <ZeroConverter Key="@30">\n <IsStandard>true</IsStandard>\n <IsISO>false</IsISO>\n <IsCustom>false</IsCustom>\n <ConversionType>0</ConversionType>\n </ZeroConverter>\n </Converter>\n </GEBFreeFilterBody>\n </GEBFilter>\n </GEBFilteringData>\n </GEBFiltering>\n</GEBObjectsFilter>\n'
+ ColumnSort [11766.1.490215920] 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="@Supply_MPSupplyType1" ElementType="Fulfillment Q134266_1_8545931" ValueType="String">\n <ColumnID>[414702.1.317581385]</ColumnID>\n <BaseName>Supply_MPSupplyType</BaseName>\n <Name>Supply_MPSupplyType</Name>\n <Title>SupplyType</Title>\n <IsTarget>false</IsTarget>\n <NameHasBeenSet>false</NameHasBeenSet>\n <ColumnFinal>Fail</ColumnFinal>\n <AttributePathText>Supply_MP.SupplyType</AttributePathText>\n <AttributePathIdentifier>\n </AttributePathIdentifier>\n </GEBSelectColumn>\n <GEBSelectColumn Key="@HasUserQuantity1" ElementType="Fulfillment Q134266_1_8545931" ValueType="String">\n <ColumnID>[414702.1.317581386]</ColumnID>\n <BaseName>HasUserQuantity</BaseName>\n <Name>HasUserQuantity</Name>\n <Title>HasUserQuantity</Title>\n <IsTarget>false</IsTarget>\n <NameHasBeenSet>true</NameHasBeenSet>\n <ColumnFinal>Fail</ColumnFinal>\n <AttributePathText>ImgHasUserQuantity</AttributePathText>\n <AttributePathIdentifier>\n </AttributePathIdentifier>\n </GEBSelectColumn>\n <GEBSelectColumn Key="@ImgHasSupply1" ElementType="Fulfillment Q134266_1_8545931" ValueType="String">\n <ColumnID>[414702.1.317581387]</ColumnID>\n <BaseName>ImgHasSupply</BaseName>\n <Name>ImgHasSupply</Name>\n <Title>ImgHasSupply</Title>\n <IsTarget>false</IsTarget>\n <NameHasBeenSet>false</NameHasBeenSet>\n <ColumnFinal>Fail</ColumnFinal>\n <AttributePathText>ImgHasSupply</AttributePathText>\n <AttributePathIdentifier>\n </AttributePathIdentifier>\n </GEBSelectColumn>\n <GEBProcessColumn Key="@Period_start1" ElementType="Fulfillment Q134266_1_8545931" ValueType="Date">\n <ColumnID>[414702.1.317581388]</ColumnID>\n <BaseName>Period_start</BaseName>\n <Name>Period_start</Name>\n <Title>Period start</Title>\n <IsTarget>false</IsTarget>\n <NameHasBeenSet>false</NameHasBeenSet>\n <ColumnFinal>Fail</ColumnFinal>\n <GEBDerivation Key="@3">\n <GEBDerivationBase Key="@4" TargetType="Fulfillment Q134266_1_8545931">\n <ColumnID>[0.0.0]</ColumnID>\n <GEBNodeDerivation Key="@5">\n <Operation>FirstExpression</Operation>\n <Conditional>false</Conditional>\n <Multiple>false</Multiple>\n <AllowWildcards>false</AllowWildcards>\n <GEBNodeDerivationExpression Key="@6">\n <GEBNodeDerivationExpressionBody Key="@7">\n <ExpressionText>object.Supply_MP().GetPeriodStart()</ExpressionText>\n <Converter>\n <ZeroConverter Key="@8">\n <IsStandard>true</IsStandard>\n <IsISO>false</IsISO>\n <IsCustom>false</IsCustom>\n <ConversionType>0</ConversionType>\n </ZeroConverter>\n </Converter>\n </GEBNodeDerivationExpressionBody>\n </GEBNodeDerivationExpression>\n </GEBNodeDerivation>\n </GEBDerivationBase>\n </GEBDerivation>\n </GEBProcessColumn>\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 <GEBProcessColumn Key="@Cost1" ElementType="Fulfillment Q134266_1_8545931" ValueType="Real">\n <ColumnID>[414702.1.317581389]</ColumnID>\n <BaseName>Cost</BaseName>\n <Name>Cost</Name>\n <Title>Cost</Title>\n <IsTarget>false</IsTarget>\n <NameHasBeenSet>false</NameHasBeenSet>\n <ColumnFinal>Fail</ColumnFinal>\n <GEBDerivation Key="@9">\n <GEBDerivationBase Key="@10" TargetType="Fulfillment Q134266_1_8545931">\n <ColumnID>[0.0.0]</ColumnID>\n <GEBNodeDerivation Key="@11">\n <Operation>FirstExpression</Operation>\n <Conditional>false</Conditional>\n <Multiple>false</Multiple>\n <AllowWildcards>false</AllowWildcards>\n <GEBNodeDerivationExpression Key="@12">\n <GEBNodeDerivationExpressionBody Key="@13">\n <ExpressionText>object.Supply_MP().GetBaseCostPerQuantity() * object.Quantity()</ExpressionText>\n <Converter>\n <ZeroConverter Key="@14">\n <IsStandard>true</IsStandard>\n <IsISO>false</IsISO>\n <IsCustom>false</IsCustom>\n <ConversionType>0</ConversionType>\n </ZeroConverter>\n </Converter>\n </GEBNodeDerivationExpressionBody>\n </GEBNodeDerivationExpression>\n </GEBNodeDerivation>\n </GEBDerivationBase>\n </GEBDerivation>\n </GEBProcessColumn>\n <GEBFilter Key="@15">\n <FreeFilterEnabled>true</FreeFilterEnabled>\n <GEBFilterColumn Key="@16" Column="@Quantity1">\n <ColumnID>[112610.0.1005221707]</ColumnID>\n </GEBFilterColumn>\n <GEBFreeFilterBody Key="@17">\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 := true
+ 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 := 150
+ SizedByUser := true
+ 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.4484;]TabIdx[1]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 [136682.0.365472357]
SINGLEINSTANCE false
ID '鍔犲伐璺緞'
PARENTKEY [514.0.2180]
- OBJECTTYPE Form
+ OBJECTTYPE Form // FormRoutings
CREATETYPE FormRoutings
CONTENTS
{
State := normal
(0,0,0,0)
- DockableLocation := Station[MAIN]State[NORM]TreePath[B0.5507;]TabIdx[1]Selection[NONE]
+ DockableLocation := Station[MAIN]State[NORM]TreePath[B0.5516;]TabIdx[1]Selection[NONE]
+ }
+ BASEINFOOBJECTS
+ {
}
INFOOBJECTS
{
INFOOBJECT
{
KEY [136682.0.365497231]
- OBJECTTYPE SplitterWnd
+ OBJECTTYPE SplitterWnd // SplitterWnd1
INFOOBJECTS
{
INFOOBJECT
{
KEY [136682.0.365497232]
- OBJECTTYPE SplitterPane
+ OBJECTTYPE SplitterPane // SplitterPane
CONTENTS
{
VISIBLE true
@@ -2040,7 +2071,7 @@
INFOOBJECT
{
KEY [136682.0.365497233]
- OBJECTTYPE List
+ OBJECTTYPE List // ListRouting
CONTENTS
{
Quantorrow := false
@@ -2050,7 +2081,7 @@
INFOOBJECT
{
KEY [136682.0.365497235]
- OBJECTTYPE GUIDataSetLevel
+ OBJECTTYPE GUIDataSetLevel // GUIDataSetLevelRouting
CONTENTS
{
Columns
@@ -2295,7 +2326,7 @@
INFOOBJECT
{
KEY [136682.0.365497250]
- OBJECTTYPE SplitterPane
+ OBJECTTYPE SplitterPane // SplitterPane1
CONTENTS
{
VISIBLE true
@@ -2305,16 +2336,19 @@
INFOOBJECT
{
KEY [136682.0.365497251]
- OBJECTTYPE SplitterWnd
+ OBJECTTYPE SplitterWnd // SplitterWnd2
INFOOBJECTS
{
INFOOBJECT
{
KEY [136682.0.365497252]
- OBJECTTYPE SplitterPane
+ OBJECTTYPE SplitterPane // SplitterPane2
CONTENTS
{
VISIBLE true
+ }
+ INFOOBJECTS
+ {
}
}
}
@@ -2326,7 +2360,7 @@
INFOOBJECT
{
KEY [136682.0.365502343]
- OBJECTTYPE CheckBox
+ OBJECTTYPE CheckBox // CheckBoxFilterProduct
CONTENTS
{
Checkstate 1
@@ -2340,13 +2374,16 @@
SINGLEINSTANCE false
ID '鍔熻兘娴嬭瘯鎸夐挳'
PARENTKEY [514.0.2180]
- OBJECTTYPE Form
+ OBJECTTYPE Form // FormTestButtonCollection
CREATETYPE FormTestButtonCollection
CONTENTS
{
State := normal
(0,0,0,0)
- DockableLocation := Station[MAIN]State[NORM]TreePath[B0.5507;]TabIdx[3]Selection[FOCUS]
+ DockableLocation := Station[MAIN]State[NORM]TreePath[B0.5516;]TabIdx[2]Selection[NONE]
+ }
+ BASEINFOOBJECTS
+ {
}
}
INFOOBJECT
@@ -2355,20 +2392,23 @@
SINGLEINSTANCE false
ID '鍚庡彴杈撳嚭'
PARENTKEY [514.0.2180]
- OBJECTTYPE Dialog
+ OBJECTTYPE Dialog // dlgServerMessages
CREATETYPE dlgServerMessages
CONTENTS
{
State := normal
(0,0,0,0)
- DockableLocation := Station[MAIN]State[NORM]TreePath[B0.5507;]TabIdx[2]Selection[NONE]
+ DockableLocation := Station[MAIN]State[NORM]TreePath[B0.5516;]TabIdx[3]Selection[FRONT]
+ }
+ BASEINFOOBJECTS
+ {
}
INFOOBJECTS
{
INFOOBJECT
{
KEY [514.0.2141287]
- OBJECTTYPE List
+ OBJECTTYPE List // List1
CONTENTS
{
Quantorrow := false
@@ -2378,7 +2418,7 @@
INFOOBJECT
{
KEY [536.0.860799]
- OBJECTTYPE GUIDataSetLevel
+ OBJECTTYPE GUIDataSetLevel // dslServerMessages
CONTENTS
{
Columns
@@ -2416,26 +2456,29 @@
SINGLEINSTANCE false
ID 'Analysis GlobalOTDTable'
PARENTKEY [514.0.2180]
- OBJECTTYPE Form
+ OBJECTTYPE Form // frmStandardAnalysisGlobalOTDTable
CREATETYPE frmStandardAnalysisGlobalOTDTable
CONTENTS
{
State := normal
(0,0,0,0)
- DockableLocation := Station[MAIN]State[NORM]TreePath[T0.4493;]TabIdx[2]Selection[NONE]
+ DockableLocation := Station[MAIN]State[NORM]TreePath[T0.4484;]TabIdx[2]Selection[NONE]
+ }
+ BASEINFOOBJECTS
+ {
}
INFOOBJECTS
{
INFOOBJECT
{
KEY [530.0.3531801]
- OBJECTTYPE SplitterWnd
+ OBJECTTYPE SplitterWnd // swTopMost
INFOOBJECTS
{
INFOOBJECT
{
KEY [530.0.3531802]
- OBJECTTYPE SplitterPane
+ OBJECTTYPE SplitterPane // SplitterPane1
CONTENTS
{
VISIBLE true
@@ -2445,13 +2488,13 @@
INFOOBJECT
{
KEY [530.0.3531806]
- OBJECTTYPE SplitterWnd
+ OBJECTTYPE SplitterWnd // swTop
INFOOBJECTS
{
INFOOBJECT
{
KEY [530.0.3531807]
- OBJECTTYPE SplitterPane
+ OBJECTTYPE SplitterPane // spTopLeft
CONTENTS
{
VISIBLE true
@@ -2461,14 +2504,14 @@
INFOOBJECT
{
KEY [530.0.3532065]
- OBJECTTYPE GUIAnalysis
+ OBJECTTYPE GUIAnalysis // Analysis
CONTENTS
{
START(0,0,0,0,false)
ANALYSIS(0,0,0,0,false,'Analysis1')
{
SOURCE 'Types' '[414702.0.340560328]' 0
-
+
NAME 'Analysis1'
}
COLUMNSETTINGS
@@ -2658,7 +2701,7 @@
INFOOBJECT
{
KEY [530.1.25480335]
- OBJECTTYPE List
+ OBJECTTYPE List // ListGUIAnalysisData
CONTENTS
{
Quantorrow := false
@@ -2668,7 +2711,7 @@
INFOOBJECT
{
KEY [530.1.25480340]
- OBJECTTYPE GUIDataSetLevel
+ OBJECTTYPE GUIDataSetLevel // GUIDataSetLevel4
CONTENTS
{
Columns
@@ -2684,7 +2727,7 @@
Column internal[DataSetDataColumn] [530.1.25480393]
{
Header := 'Name'
- Width := 100
+ Width := 68
Subtotals := false
Specific
{
@@ -2694,7 +2737,7 @@
Column internal[DataSetDataColumn] [530.1.25480394]
{
Header := 'Description'
- Width := 100
+ Width := 105
Subtotals := false
Specific
{
@@ -2713,7 +2756,7 @@
INFOOBJECT
{
KEY [530.0.3531808]
- OBJECTTYPE SplitterPane
+ OBJECTTYPE SplitterPane // spTopRight
CONTENTS
{
VISIBLE true
@@ -2723,10 +2766,21 @@
INFOOBJECT
{
KEY [530.0.3532013]
- OBJECTTYPE GUIAnalysisGrid
+ OBJECTTYPE GUIAnalysisGrid // AnalysisGrid
CONTENTS
{
NEWFORMAT
+ COLUMN 91 50
+ COLUMN 92 50
+ COLUMN 93 50
+ COLUMN 94 50
+ COLUMN 95 50
+ COLUMN 96 50
+ COLUMN 97 50
+ COLUMN 98 50
+ COLUMN 99 50
+ COLUMN 100 50
+ COLUMN 101 50
COLUMN 102 50
COLUMN 103 50
}
@@ -2740,7 +2794,7 @@
INFOOBJECT
{
KEY [530.0.3531803]
- OBJECTTYPE SplitterPane
+ OBJECTTYPE SplitterPane // SplitterPane2
CONTENTS
{
VISIBLE true
@@ -2750,13 +2804,13 @@
INFOOBJECT
{
KEY [530.0.3531811]
- OBJECTTYPE SplitterWnd
+ OBJECTTYPE SplitterWnd // swBottom
INFOOBJECTS
{
INFOOBJECT
{
KEY [530.0.3531812]
- OBJECTTYPE SplitterPane
+ OBJECTTYPE SplitterPane // spBottomLeft
CONTENTS
{
Size 44.6569920844327
@@ -2767,13 +2821,13 @@
INFOOBJECT
{
KEY [530.0.3532136]
- OBJECTTYPE SplitterWnd
+ OBJECTTYPE SplitterWnd // SplitterWnd4
INFOOBJECTS
{
INFOOBJECT
{
KEY [530.0.3532137]
- OBJECTTYPE SplitterPane
+ OBJECTTYPE SplitterPane // SplitterPane7
CONTENTS
{
VISIBLE true
@@ -2783,13 +2837,13 @@
INFOOBJECT
{
KEY [530.0.3532138]
- OBJECTTYPE SplitterWnd
+ OBJECTTYPE SplitterWnd // SplitterWnd5
INFOOBJECTS
{
INFOOBJECT
{
KEY [530.0.3532139]
- OBJECTTYPE SplitterPane
+ OBJECTTYPE SplitterPane // SplitterPane9
CONTENTS
{
VISIBLE true
@@ -2799,7 +2853,7 @@
INFOOBJECT
{
KEY [530.0.3532140]
- OBJECTTYPE List
+ OBJECTTYPE List // lstAttributes
CONTENTS
{
Quantorrow := false
@@ -2809,7 +2863,7 @@
INFOOBJECT
{
KEY [530.0.3532156]
- OBJECTTYPE GUIDataSetLevel
+ OBJECTTYPE GUIDataSetLevel // GUIDataSetLevel2
CONTENTS
{
Columns
@@ -2865,7 +2919,7 @@
INFOOBJECT
{
KEY [530.0.3532169]
- OBJECTTYPE SplitterPane
+ OBJECTTYPE SplitterPane // SplitterPane10
CONTENTS
{
VISIBLE true
@@ -2875,7 +2929,7 @@
INFOOBJECT
{
KEY [530.0.3532170]
- OBJECTTYPE List
+ OBJECTTYPE List // List3
CONTENTS
{
Quantorrow := false
@@ -2885,7 +2939,7 @@
INFOOBJECT
{
KEY [530.0.3532175]
- OBJECTTYPE GUIDataSetLevel
+ OBJECTTYPE GUIDataSetLevel // GUIDataSetLevel3
CONTENTS
{
Columns
@@ -2902,7 +2956,7 @@
Column internal[DataSetDataColumn] [514.0.499730]
{
Header := 'Name'
- Width := 100
+ Width := 68
Subtotals := false
Specific
{
@@ -2912,7 +2966,7 @@
Column internal[DataSetDataColumn] [530.1.32701549]
{
Header := 'Description'
- Width := 100
+ Width := 105
Subtotals := false
Specific
{
@@ -2922,7 +2976,7 @@
Column internal[DataSetDataColumn] [678.0.64301138]
{
Header := 'astype(UITypeDataMember).DataType.FullName'
- Width := 100
+ Width := 404
Subtotals := false
Specific
{
@@ -2945,7 +2999,7 @@
INFOOBJECT
{
KEY [530.0.3532181]
- OBJECTTYPE SplitterPane
+ OBJECTTYPE SplitterPane // SplitterPane8
CONTENTS
{
VISIBLE true
@@ -2955,13 +3009,13 @@
INFOOBJECT
{
KEY [530.1.8006303]
- OBJECTTYPE SplitterWnd
+ OBJECTTYPE SplitterWnd // SplitterWnd1
INFOOBJECTS
{
INFOOBJECT
{
KEY [530.1.8006304]
- OBJECTTYPE SplitterPane
+ OBJECTTYPE SplitterPane // SplitterPane3
CONTENTS
{
VISIBLE true
@@ -2970,7 +3024,7 @@
INFOOBJECT
{
KEY [530.1.8006305]
- OBJECTTYPE SplitterPane
+ OBJECTTYPE SplitterPane // SplitterPane4
CONTENTS
{
VISIBLE true
@@ -2980,7 +3034,7 @@
INFOOBJECT
{
KEY [530.0.3532182]
- OBJECTTYPE GUIAnalysisBarChart
+ OBJECTTYPE GUIAnalysisBarChart // AnalysisBarChart
CONTENTS
{
LeftSize 207
@@ -2999,7 +3053,7 @@
INFOOBJECT
{
KEY [530.0.3531813]
- OBJECTTYPE SplitterPane
+ OBJECTTYPE SplitterPane // spBottomRight
CONTENTS
{
Size 55.3430079155673
@@ -3010,7 +3064,7 @@
INFOOBJECT
{
KEY [530.0.3531950]
- OBJECTTYPE List
+ OBJECTTYPE List // List1
CONTENTS
{
Quantorrow := false
@@ -3020,7 +3074,7 @@
INFOOBJECT
{
KEY [530.0.3531958]
- OBJECTTYPE GUIDataSetLevel
+ OBJECTTYPE GUIDataSetLevel // GUIDataSetLevel1
CONTENTS
{
Columns
@@ -3210,6 +3264,1891 @@
}
}
}
+ INFOOBJECT
+ {
+ KEY [414702.1.299084054]
+ SINGLEINSTANCE false
+ ID 'PeggingResult'
+ PARENTKEY [514.0.2180]
+ OBJECTTYPE Form // FormPeggingResult
+ CREATETYPE FormPeggingResult
+ CONTENTS
+ {
+ State := normal
+ (0,0,0,0)
+ DockableLocation := Station[MAIN]State[NORM]TreePath[T0.4484;]TabIdx[4]Selection[FOCUS]
+ }
+ BASEINFOOBJECTS
+ {
+ }
+ INFOOBJECTS
+ {
+ INFOOBJECT
+ {
+ KEY [414702.1.299084152]
+ OBJECTTYPE List // ListPeggingProductInSalesDemandBase
+ CONTENTS
+ {
+ Quantorrow := false
+ }
+ INFOOBJECTS
+ {
+ INFOOBJECT
+ {
+ KEY [414702.1.299084219]
+ OBJECTTYPE GUIDataSetLevel // GUIDataSetLevel641
+ CONTENTS
+ {
+ Columns
+ {
+ SubTotals := true
+ Visible
+ {
+ Column internal[DataSetDataColumn] [414702.1.299300693]
+ {
+ Width := 197
+ SizedByUser := true
+ Subtotals := false
+ Specific
+ {
+ DataPath := 'SalesDemandBaseID [414702.1.294144483]'
+ }
+ }
+ Column internal[DataSetDataColumn] [414702.1.299300692]
+ {
+ Width := 83
+ SizedByUser := true
+ Subtotals := false
+ Specific
+ {
+ DataPath := 'Quantity [414702.1.294748143]'
+ }
+ }
+ Column internal[DataSetDataColumn] [414702.1.299300694]
+ {
+ Width := 163
+ SizedByUser := true
+ Subtotals := false
+ Specific
+ {
+ DataPath := 'StartDate [414702.1.294179413]'
+ }
+ }
+ Column internal[DataSetDataColumn] [414702.1.299300695]
+ {
+ Width := 100
+ Subtotals := false
+ Specific
+ {
+ DataPath := 'StockingPointID [414702.1.294179269]'
+ }
+ }
+ }
+ }
+ Filter := '<?xml version="1.0" encoding="UTF-16"?>\n<GEBObjectsFilter xmlns="http://www.quintiq.com/GEB/GEBObjectsFilter" Key="@1" CurrentFilter="@Default_Filter1" TargetType="PeggingProductInSalesDemandBase Q414702_1_290710053">\n <GEBFiltering Key="@Default_Filter1" TargetType="PeggingProductInSalesDemandBase Q414702_1_290710053">\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="@SalesDemandBaseID1" ElementType="PeggingProductInSalesDemandBase Q414702_1_290710053" ValueType="String">\n <ColumnID>[414702.1.317561783]</ColumnID>\n <BaseName>SalesDemandBaseID</BaseName>\n <Name>SalesDemandBaseID</Name>\n <Title>SalesDemandBaseID</Title>\n <IsTarget>false</IsTarget>\n <NameHasBeenSet>false</NameHasBeenSet>\n <ColumnFinal>Fail</ColumnFinal>\n <AttributePathText>SalesDemandBaseID</AttributePathText>\n <AttributePathIdentifier>\n </AttributePathIdentifier>\n </GEBSelectColumn>\n <GEBSelectColumn Key="@Quantity1" ElementType="PeggingProductInSalesDemandBase Q414702_1_290710053" ValueType="Real">\n <ColumnID>[414702.1.300710952]</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="@StartDate1" ElementType="PeggingProductInSalesDemandBase Q414702_1_290710053" ValueType="Date">\n <ColumnID>[414702.1.317561784]</ColumnID>\n <BaseName>StartDate</BaseName>\n <Name>StartDate</Name>\n <Title>StartDate</Title>\n <IsTarget>false</IsTarget>\n <NameHasBeenSet>false</NameHasBeenSet>\n <ColumnFinal>Fail</ColumnFinal>\n <AttributePathText>StartDate</AttributePathText>\n <AttributePathIdentifier>\n </AttributePathIdentifier>\n </GEBSelectColumn>\n <GEBSelectColumn Key="@StockingPointID1" ElementType="PeggingProductInSalesDemandBase Q414702_1_290710053" ValueType="String">\n <ColumnID>[414702.1.317561785]</ColumnID>\n <BaseName>StockingPointID</BaseName>\n <Name>StockingPointID</Name>\n <Title>StockingPointID</Title>\n <IsTarget>false</IsTarget>\n <NameHasBeenSet>false</NameHasBeenSet>\n <ColumnFinal>Fail</ColumnFinal>\n <AttributePathText>StockingPointID</AttributePathText>\n <AttributePathIdentifier>\n </AttributePathIdentifier>\n </GEBSelectColumn>\n <GEBFilter Key="@3">\n <FreeFilterEnabled>true</FreeFilterEnabled>\n <GEBFilterColumn Key="@4" Column="@Quantity1">\n <ColumnID>[414702.1.300710952]</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 [414702.1.299300693] true false
+ }
+ }
+ }
+ }
+ }
+ }
+ INFOOBJECT
+ {
+ KEY [414702.1.273394023]
+ SINGLEINSTANCE false
+ ID 'Analysis GlobalOTDSOP'
+ PARENTKEY [514.0.2180]
+ OBJECTTYPE Form // frmStandardAnalysis633
+ CREATETYPE frmStandardAnalysis633
+ CONTENTS
+ {
+ State := normal
+ (0,0,0,0)
+ DockableLocation := Station[MAIN]State[NORM]TreePath[B0.5516;]TabIdx[4]Selection[NONE]
+ }
+ BASEINFOOBJECTS
+ {
+ }
+ INFOOBJECTS
+ {
+ INFOOBJECT
+ {
+ KEY [530.0.3531801]
+ OBJECTTYPE SplitterWnd // swTopMost
+ INFOOBJECTS
+ {
+ INFOOBJECT
+ {
+ KEY [530.0.3531802]
+ OBJECTTYPE SplitterPane // SplitterPane1
+ CONTENTS
+ {
+ Size 0
+ VISIBLE true
+ }
+ INFOOBJECTS
+ {
+ INFOOBJECT
+ {
+ KEY [530.0.3531806]
+ OBJECTTYPE SplitterWnd // swTop
+ INFOOBJECTS
+ {
+ INFOOBJECT
+ {
+ KEY [530.0.3531807]
+ OBJECTTYPE SplitterPane // spTopLeft
+ CONTENTS
+ {
+ VISIBLE true
+ }
+ INFOOBJECTS
+ {
+ INFOOBJECT
+ {
+ KEY [530.0.3532065]
+ OBJECTTYPE GUIAnalysis // Analysis
+ CONTENTS
+ {
+ START(0,0,0,0,false)
+ ANALYSIS(0,0,0,0,false,'Analysis1')
+ {
+ SOURCE 'Types' '[414702.1.290710093]' 0
+
+ GROUP 'NumberOfPlies'
+ NAME 'Analysis1'
+ }
+ ANALYSIS(0,0,0,0,false,'Analysis2')
+ {
+ SOURCE 'Analysis1' '0' 1
+ N[0]
+ TRAVERSE 'AllChild'
+ NAME 'Analysis2'
+ }
+ COLUMNSETTINGS
+ {
+ CapacityAndSaleBudgeCompareItemRow
+ {
+ Columns
+ {
+ Visible
+ {
+ Column internal[DataSetDataColumn] [414702.1.272348160]
+ {
+ Width := 100
+ Subtotals := false
+ Specific
+ {
+ DataPath := 'RowNo [414384.0.829650683]'
+ }
+ }
+ Column internal[DataSetDataColumn] [414702.1.272348159]
+ {
+ Width := 78
+ SizedByUser := true
+ Subtotals := false
+ Specific
+ {
+ DataPath := 'PlaceOfProductionOfArray [414384.0.864360343]'
+ }
+ }
+ Column internal[DataSetDataColumn] [414702.1.272348158]
+ {
+ Width := 100
+ Subtotals := false
+ Specific
+ {
+ DataPath := 'BusinessType [414384.0.819696514]'
+ }
+ }
+ }
+ }
+ ColumnSort [414702.1.272348160] true false
+ }
+ CapacityAndSaleBudgeCompareItemRowProduct
+ {
+ Columns
+ {
+ Visible
+ {
+ Column internal[DataSetDataColumn] [414702.1.272348161]
+ {
+ Width := 272
+ SizedByUser := true
+ Subtotals := false
+ Specific
+ {
+ DataPath := 'ProductCode [414384.0.819696603]'
+ }
+ }
+ }
+ }
+ ColumnSort [414702.1.272348161] true false
+ }
+ CapacityAndSaleBudgeChartElement
+ {
+ Columns
+ {
+ Visible
+ {
+ Column internal[DataSetDataColumn] [414702.1.276292160]
+ {
+ Width := 368
+ SizedByUser := true
+ Subtotals := false
+ Specific
+ {
+ DataPath := 'BusinessTypeOrPlaceOfProductionOfArray [414384.0.852466561]'
+ }
+ }
+ Column internal[DataSetDataColumn] [414702.1.276292162]
+ {
+ Width := 312
+ SizedByUser := true
+ Subtotals := false
+ Specific
+ {
+ DataPath := 'TimeStringAndScenarioName [414384.0.852466528]'
+ }
+ }
+ Column internal[DataSetDataColumn] [414702.1.276292161]
+ {
+ Width := 210
+ SizedByUser := true
+ Subtotals := false
+ Specific
+ {
+ DataPath := 'Quantity [414384.0.852466538]'
+ }
+ }
+ }
+ }
+ ColumnSort [414702.1.276292160] true false
+ }
+ CapacityAndSaleBudgeCompareItemColumn
+ {
+ Columns
+ {
+ Visible
+ {
+ Column internal[DataSetDataColumn] [414702.1.286540437]
+ {
+ Width := 287
+ SizedByUser := true
+ Subtotals := false
+ Specific
+ {
+ DataPath := 'ColumnName [414384.0.816630974]'
+ }
+ }
+ Column internal[DataSetDataColumn] [414702.1.286540438]
+ {
+ Width := 126
+ SizedByUser := true
+ Subtotals := false
+ Specific
+ {
+ DataPath := 'ColumnNo [414384.0.829650696]'
+ }
+ }
+ Column internal[DataSetDataColumn] [414702.1.286540439]
+ {
+ Width := 191
+ SizedByUser := true
+ Subtotals := false
+ Specific
+ {
+ DataPath := 'TotalIdentification [414702.1.286051924]'
+ }
+ }
+ }
+ }
+ ColumnSort [414702.1.286540438] true false
+ }
+ PeggingResult
+ {
+ Columns
+ {
+ Visible
+ {
+ Column internal[DataSetDataColumn] [414702.1.301867879]
+ {
+ Width := 100
+ Subtotals := false
+ Specific
+ {
+ DataPath := 'FulfillmentQuantity [414702.1.294201082]'
+ }
+ }
+ Column internal[DataSetDataColumn] [414702.1.301867880]
+ {
+ Width := 150
+ SizedByUser := true
+ Subtotals := false
+ Specific
+ {
+ DataPath := 'NumberOfPlies [414702.1.294145594]'
+ }
+ }
+ Column internal[DataSetDataColumn] [414702.1.301867881]
+ {
+ Width := 157
+ SizedByUser := true
+ Subtotals := false
+ Specific
+ {
+ DataPath := 'ProductID [414702.1.294201095]'
+ }
+ }
+ Column internal[DataSetDataColumn] [414702.1.301867882]
+ {
+ Width := 110
+ SizedByUser := true
+ Subtotals := false
+ Specific
+ {
+ DataPath := 'StartDate [414702.1.294201062]'
+ }
+ }
+ Column internal[DataSetDataColumn] [414702.1.301867883]
+ {
+ Width := 188
+ SizedByUser := true
+ Subtotals := false
+ Specific
+ {
+ DataPath := 'StockingPointID [414702.1.294201105]'
+ }
+ }
+ Column internal[DataSetDataColumn] [414702.1.301867884]
+ {
+ Width := 100
+ Subtotals := false
+ Specific
+ {
+ DataPath := 'SupplyQuantity [414702.1.294201072]'
+ }
+ }
+ Column internal[DataSetDataColumn] [414702.1.301867885]
+ {
+ Width := 100
+ Subtotals := false
+ Specific
+ {
+ DataPath := 'SupplyType [414702.1.294201052]'
+ }
+ }
+ }
+ }
+ ColumnSort [414702.1.301867885] false false
+ }
+ }
+ CURRENT 'Analysis2'
+ HOME 'Types'
+ FIXEDANALYSIS
+ {
+ }
+ }
+ }
+ INFOOBJECT
+ {
+ KEY [530.1.25480335]
+ OBJECTTYPE List // ListGUIAnalysisData
+ CONTENTS
+ {
+ Quantorrow := false
+ }
+ INFOOBJECTS
+ {
+ INFOOBJECT
+ {
+ KEY [530.1.25480340]
+ OBJECTTYPE GUIDataSetLevel // GUIDataSetLevel4
+ CONTENTS
+ {
+ Columns
+ {
+ Definition := [530.1.25480345]
+ {
+ [530.1.25480393]
+ [530.1.25480394]
+ }
+ SubTotals := true
+ Visible
+ {
+ Column internal[DataSetDataColumn] [530.1.25480393]
+ {
+ Header := 'Name'
+ Width := 68
+ Subtotals := false
+ Specific
+ {
+ DataPath := 'Name [1.2.2366]'
+ }
+ }
+ Column internal[DataSetDataColumn] [530.1.25480394]
+ {
+ Header := 'Description'
+ Width := 105
+ Subtotals := false
+ Specific
+ {
+ DataPath := 'Description [1.2.1211]'
+ }
+ }
+ }
+ }
+ ColumnSort [530.1.25480393] true false
+ }
+ }
+ }
+ }
+ }
+ }
+ INFOOBJECT
+ {
+ KEY [530.0.3531808]
+ OBJECTTYPE SplitterPane // spTopRight
+ CONTENTS
+ {
+ VISIBLE true
+ }
+ INFOOBJECTS
+ {
+ INFOOBJECT
+ {
+ KEY [530.0.3532013]
+ OBJECTTYPE GUIAnalysisGrid // AnalysisGrid
+ CONTENTS
+ {
+ NEWFORMAT
+ COLUMN 95 50
+ COLUMN 96 50
+ COLUMN 97 50
+ COLUMN 98 50
+ COLUMN 99 50
+ COLUMN 100 50
+ COLUMN 101 50
+ COLUMN 102 50
+ COLUMN 103 50
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ INFOOBJECT
+ {
+ KEY [530.0.3531803]
+ OBJECTTYPE SplitterPane // SplitterPane2
+ CONTENTS
+ {
+ Size 100
+ VISIBLE true
+ }
+ INFOOBJECTS
+ {
+ INFOOBJECT
+ {
+ KEY [530.0.3531811]
+ OBJECTTYPE SplitterWnd // swBottom
+ INFOOBJECTS
+ {
+ INFOOBJECT
+ {
+ KEY [530.0.3531812]
+ OBJECTTYPE SplitterPane // spBottomLeft
+ CONTENTS
+ {
+ Size 44.5645263827082
+ VISIBLE true
+ }
+ INFOOBJECTS
+ {
+ INFOOBJECT
+ {
+ KEY [530.0.3532136]
+ OBJECTTYPE SplitterWnd // SplitterWnd4
+ INFOOBJECTS
+ {
+ INFOOBJECT
+ {
+ KEY [530.0.3532137]
+ OBJECTTYPE SplitterPane // SplitterPane7
+ CONTENTS
+ {
+ Size 34.7701149425287
+ VISIBLE true
+ }
+ INFOOBJECTS
+ {
+ INFOOBJECT
+ {
+ KEY [530.0.3532138]
+ OBJECTTYPE SplitterWnd // SplitterWnd5
+ INFOOBJECTS
+ {
+ INFOOBJECT
+ {
+ KEY [530.0.3532139]
+ OBJECTTYPE SplitterPane // SplitterPane9
+ CONTENTS
+ {
+ VISIBLE true
+ }
+ INFOOBJECTS
+ {
+ INFOOBJECT
+ {
+ KEY [530.0.3532140]
+ OBJECTTYPE List // lstAttributes
+ CONTENTS
+ {
+ Quantorrow := false
+ }
+ INFOOBJECTS
+ {
+ INFOOBJECT
+ {
+ KEY [530.0.3532156]
+ OBJECTTYPE GUIDataSetLevel // GUIDataSetLevel2
+ CONTENTS
+ {
+ Columns
+ {
+ Definition := [514.0.499727]
+ {
+ [514.0.499730]
+ [530.1.32701549]
+ [678.0.64301138]
+ }
+ SubTotals := true
+ Visible
+ {
+ Column internal[DataSetDataColumn] [514.0.499730]
+ {
+ Header := 'Name'
+ Width := 68
+ Subtotals := false
+ Specific
+ {
+ DataPath := 'Name [1.2.34]'
+ }
+ }
+ Column internal[DataSetDataColumn] [530.1.32701549]
+ {
+ Header := 'Description'
+ Width := 105
+ Subtotals := false
+ Specific
+ {
+ DataPath := 'Description [1.2.2564]'
+ }
+ }
+ Column internal[DataSetDataColumn] [678.0.64301138]
+ {
+ Header := 'astype(UITypeDataMember).DataType.FullName'
+ Width := 404
+ Subtotals := false
+ Specific
+ {
+ DataPath := 'downcast(internal[UITypeDataMember]) [1.1.1409]|DataType [1.3.1182]|FullName [1.2.8615]'
+ }
+ }
+ }
+ }
+ ColumnSort [514.0.499730] true false
+ }
+ }
+ }
+ }
+ }
+ }
+ INFOOBJECT
+ {
+ KEY [530.0.3532169]
+ OBJECTTYPE SplitterPane // SplitterPane10
+ CONTENTS
+ {
+ VISIBLE true
+ }
+ INFOOBJECTS
+ {
+ INFOOBJECT
+ {
+ KEY [530.0.3532170]
+ OBJECTTYPE List // List3
+ CONTENTS
+ {
+ Quantorrow := false
+ }
+ INFOOBJECTS
+ {
+ INFOOBJECT
+ {
+ KEY [530.0.3532175]
+ OBJECTTYPE GUIDataSetLevel // GUIDataSetLevel3
+ CONTENTS
+ {
+ Columns
+ {
+ Definition := [514.0.499727]
+ {
+ [514.0.499730]
+ [530.1.32701549]
+ [678.0.64301138]
+ }
+ SubTotals := true
+ Visible
+ {
+ Column internal[DataSetDataColumn] [514.0.499730]
+ {
+ Header := 'Name'
+ Width := 68
+ Subtotals := false
+ Specific
+ {
+ DataPath := 'Name [1.2.34]'
+ }
+ }
+ Column internal[DataSetDataColumn] [530.1.32701549]
+ {
+ Header := 'Description'
+ Width := 105
+ Subtotals := false
+ Specific
+ {
+ DataPath := 'Description [1.2.2564]'
+ }
+ }
+ Column internal[DataSetDataColumn] [678.0.64301138]
+ {
+ Header := 'astype(UITypeDataMember).DataType.FullName'
+ Width := 404
+ Subtotals := false
+ Specific
+ {
+ DataPath := 'downcast(internal[UITypeDataMember]) [1.1.1409]|DataType [1.3.1182]|FullName [1.2.8615]'
+ }
+ }
+ }
+ }
+ ColumnSort [514.0.499730] true false
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ INFOOBJECT
+ {
+ KEY [530.0.3532181]
+ OBJECTTYPE SplitterPane // SplitterPane8
+ CONTENTS
+ {
+ Size 65.2298850574713
+ VISIBLE true
+ }
+ INFOOBJECTS
+ {
+ INFOOBJECT
+ {
+ KEY [530.1.8006303]
+ OBJECTTYPE SplitterWnd // SplitterWnd1
+ INFOOBJECTS
+ {
+ INFOOBJECT
+ {
+ KEY [530.1.8006304]
+ OBJECTTYPE SplitterPane // SplitterPane3
+ CONTENTS
+ {
+ VISIBLE true
+ }
+ }
+ INFOOBJECT
+ {
+ KEY [530.1.8006305]
+ OBJECTTYPE SplitterPane // SplitterPane4
+ CONTENTS
+ {
+ VISIBLE true
+ }
+ INFOOBJECTS
+ {
+ INFOOBJECT
+ {
+ KEY [530.0.3532182]
+ OBJECTTYPE GUIAnalysisBarChart // AnalysisBarChart
+ CONTENTS
+ {
+ LeftSize 257
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ INFOOBJECT
+ {
+ KEY [530.0.3531813]
+ OBJECTTYPE SplitterPane // spBottomRight
+ CONTENTS
+ {
+ Size 55.4354736172919
+ VISIBLE true
+ }
+ INFOOBJECTS
+ {
+ INFOOBJECT
+ {
+ KEY [530.0.3531950]
+ OBJECTTYPE List // List1
+ CONTENTS
+ {
+ Quantorrow := false
+ }
+ INFOOBJECTS
+ {
+ INFOOBJECT
+ {
+ KEY [530.0.3531958]
+ OBJECTTYPE GUIDataSetLevel // GUIDataSetLevel1
+ CONTENTS
+ {
+ Columns
+ {
+ SubTotals := true
+ Visible
+ {
+ Column internal[DataSetDataColumn] [414702.1.301867879]
+ {
+ Width := 100
+ Subtotals := false
+ Specific
+ {
+ DataPath := 'FulfillmentQuantity [414702.1.294201082]'
+ }
+ }
+ Column internal[DataSetDataColumn] [414702.1.301867880]
+ {
+ Width := 150
+ SizedByUser := true
+ Subtotals := false
+ Specific
+ {
+ DataPath := 'NumberOfPlies [414702.1.294145594]'
+ }
+ }
+ Column internal[DataSetDataColumn] [414702.1.301867881]
+ {
+ Width := 157
+ SizedByUser := true
+ Subtotals := false
+ Specific
+ {
+ DataPath := 'ProductID [414702.1.294201095]'
+ }
+ }
+ Column internal[DataSetDataColumn] [414702.1.301867882]
+ {
+ Width := 110
+ SizedByUser := true
+ Subtotals := false
+ Specific
+ {
+ DataPath := 'StartDate [414702.1.294201062]'
+ }
+ }
+ Column internal[DataSetDataColumn] [414702.1.301867883]
+ {
+ Width := 188
+ SizedByUser := true
+ Subtotals := false
+ Specific
+ {
+ DataPath := 'StockingPointID [414702.1.294201105]'
+ }
+ }
+ Column internal[DataSetDataColumn] [414702.1.301867884]
+ {
+ Width := 100
+ Subtotals := false
+ Specific
+ {
+ DataPath := 'SupplyQuantity [414702.1.294201072]'
+ }
+ }
+ Column internal[DataSetDataColumn] [414702.1.301867885]
+ {
+ Width := 100
+ Subtotals := false
+ Specific
+ {
+ DataPath := 'SupplyType [414702.1.294201052]'
+ }
+ }
+ }
+ }
+ ColumnSort [414702.1.301867885] false false
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ INFOOBJECT
+ {
+ KEY [107654.0.148565389]
+ SINGLEINSTANCE false
+ ID '鏃舵浠诲姟'
+ PARENTKEY [514.0.2180]
+ OBJECTTYPE Form // FormPeriodTasks
+ CREATETYPE FormPeriodTasks
+ CONTENTS
+ {
+ State := normal
+ (0,0,0,0)
+ DockableLocation := Station[MAIN]State[NORM]TreePath[T0.4484;]TabIdx[3]Selection[NONE]
+ }
+ BASEINFOOBJECTS
+ {
+ BASEINFOOBJECT
+ {
+ KEY [107654.0.148565389]
+ OBJECTTYPE GUIContainerComponent // FormPeriodTasks
+ COMPONENTDATA
+ {
+ [107654.0.148565389]:[110880.4.1427962314]:[110880.4.1427962316]:[110880.4.1427968321]:[110880.4.1427968322]:[110880.4.1427969404]:[110880.4.1427969405]:[110880.4.1427973280]:[11766.0.1791753774]:[514.0.129466]:[104128.0.40995014]:[127710.1.1037824422] STR 'false'
+ [107654.0.148565389]:[110880.4.1427962314]:[110880.4.1427962316]:[110880.4.1427968321]:[110880.4.1427968322]:[110880.4.1427969404]:[110880.4.1427969405]:[110880.4.1427973280]:[11766.0.1791753774]:[514.0.129466]:[104128.0.40995014]:[127710.1.1037824123] STR 'false'
+ }
+ }
+ }
+ INFOOBJECTS
+ {
+ INFOOBJECT
+ {
+ KEY [110880.4.1427962314]
+ OBJECTTYPE SplitterWnd // SplitterWnd1
+ INFOOBJECTS
+ {
+ INFOOBJECT
+ {
+ KEY [110880.4.1427962316]
+ OBJECTTYPE SplitterPane // SplitterPane1
+ CONTENTS
+ {
+ VISIBLE true
+ }
+ INFOOBJECTS
+ {
+ INFOOBJECT
+ {
+ KEY [110880.4.1427968321]
+ OBJECTTYPE SplitterWnd // SplitterWnd2
+ INFOOBJECTS
+ {
+ INFOOBJECT
+ {
+ KEY [110880.4.1427968322]
+ OBJECTTYPE SplitterPane // SplitterPane2
+ CONTENTS
+ {
+ VISIBLE true
+ }
+ INFOOBJECTS
+ {
+ INFOOBJECT
+ {
+ KEY [110880.4.1427969404]
+ OBJECTTYPE SplitterWnd // SplitterWnd3
+ INFOOBJECTS
+ {
+ INFOOBJECT
+ {
+ KEY [110880.4.1427969405]
+ OBJECTTYPE SplitterPane // SplitterPane4
+ CONTENTS
+ {
+ VISIBLE true
+ }
+ INFOOBJECTS
+ {
+ INFOOBJECT
+ {
+ KEY [110880.4.1427973280]
+ OBJECTTYPE List // ListPeriodTask_MP
+ CONTENTS
+ {
+ Quantorrow := false
+ }
+ INFOOBJECTS
+ {
+ INFOOBJECT
+ {
+ KEY [11766.0.1791753776]
+ OBJECTTYPE GUIDataSetLevel // GUIDataSetLevelPeriodTask_MP
+ CONTENTS
+ {
+ Columns
+ {
+ Definition := [11766.0.1176668425]
+ {
+ [112884.0.420632428]
+ [11766.1.490571536]
+ [11766.1.490571537]
+ [11766.0.1176668437]
+ }
+ SubTotals := true
+ Visible
+ {
+ Column internal[DataSetDataColumn] [112884.0.420632428]
+ {
+ Width := 195
+ SizedByUser := true
+ Subtotals := false
+ Specific
+ {
+ DataPath := 'Process_MP [110880.2.1152117000]|Name [110702.0.510655046]'
+ }
+ }
+ Column internal[DataSetDataColumn] [11766.1.490571536]
+ {
+ Width := 100
+ Subtotals := false
+ Specific
+ {
+ DataPath := 'UnitPeriod [11766.0.881988410]|Start [101472.1.1929377045]'
+ }
+ }
+ Column internal[DataSetDataColumn] [11766.1.490571537]
+ {
+ Width := 100
+ Subtotals := false
+ Specific
+ {
+ DataPath := 'UnitPeriod [11766.0.881988410]|End [101472.1.1929377307]'
+ }
+ }
+ Column internal[DataSetDataColumn] [11766.0.1176668437]
+ {
+ Width := 100
+ Subtotals := false
+ Specific
+ {
+ DataPath := 'QuantityToProcess [11766.0.1140253578]'
+ }
+ }
+ Column internal[DataSetDataColumn] [414702.1.53972253]
+ {
+ Width := 175
+ SizedByUser := true
+ Subtotals := false
+ Specific
+ {
+ DataPath := 'Key [1.2.81]'
+ AttributePathIdentifier := "StartType('external[PeriodTask_MP]')
+ Attribute([1.2.81])"
+ }
+ }
+ }
+ }
+ Filter := '<?xml version="1.0" encoding="UTF-16"?>\n<GEBObjectsFilter xmlns="http://www.quintiq.com/GEB/GEBObjectsFilter" Key="@1" CurrentFilter="@Default_Filter1" TargetType="PeriodTask_MP Q11766_0_874292114">\n <GEBFiltering Key="@Default_Filter1" TargetType="PeriodTask_MP Q11766_0_874292114">\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="@Process_MPName1" ElementType="PeriodTask_MP Q11766_0_874292114" ValueType="String">\n <ColumnID>[414702.1.317561778]</ColumnID>\n <BaseName>Process_MPName</BaseName>\n <Name>Process_MPName</Name>\n <Title>Name</Title>\n <IsTarget>false</IsTarget>\n <NameHasBeenSet>false</NameHasBeenSet>\n <ColumnFinal>Fail</ColumnFinal>\n <AttributePathText>Process_MP.Name</AttributePathText>\n <AttributePathIdentifier>\n </AttributePathIdentifier>\n </GEBSelectColumn>\n <GEBSelectColumn Key="@UnitPeriodStart1" ElementType="PeriodTask_MP Q11766_0_874292114" ValueType="DateTime">\n <ColumnID>[414702.1.317561779]</ColumnID>\n <BaseName>UnitPeriodStart</BaseName>\n <Name>UnitPeriodStart</Name>\n <Title>Start</Title>\n <IsTarget>false</IsTarget>\n <NameHasBeenSet>false</NameHasBeenSet>\n <ColumnFinal>Fail</ColumnFinal>\n <AttributePathText>UnitPeriod.Start</AttributePathText>\n <AttributePathIdentifier>\n </AttributePathIdentifier>\n </GEBSelectColumn>\n <GEBSelectColumn Key="@UnitPeriodEnd1" ElementType="PeriodTask_MP Q11766_0_874292114" ValueType="DateTime">\n <ColumnID>[414702.1.317561780]</ColumnID>\n <BaseName>UnitPeriodEnd</BaseName>\n <Name>UnitPeriodEnd</Name>\n <Title>End</Title>\n <IsTarget>false</IsTarget>\n <NameHasBeenSet>false</NameHasBeenSet>\n <ColumnFinal>Fail</ColumnFinal>\n <AttributePathText>UnitPeriod.End</AttributePathText>\n <AttributePathIdentifier>\n </AttributePathIdentifier>\n </GEBSelectColumn>\n <GEBSelectColumn Key="@QuantityToProcess1" ElementType="PeriodTask_MP Q11766_0_874292114" ValueType="Real">\n <ColumnID>[414702.1.317561781]</ColumnID>\n <BaseName>QuantityToProcess</BaseName>\n <Name>QuantityToProcess</Name>\n <Title>QuantityToProcess</Title>\n <IsTarget>false</IsTarget>\n <NameHasBeenSet>false</NameHasBeenSet>\n <ColumnFinal>Fail</ColumnFinal>\n <AttributePathText>QuantityToProcess</AttributePathText>\n <AttributePathIdentifier>\n </AttributePathIdentifier>\n </GEBSelectColumn>\n <GEBSelectColumn Key="@Key1" ElementType="PeriodTask_MP Q11766_0_874292114" ValueType="Key">\n <ColumnID>[414702.1.317561782]</ColumnID>\n <BaseName>Key</BaseName>\n <Name>Key</Name>\n <Title>Key</Title>\n <IsTarget>false</IsTarget>\n <NameHasBeenSet>false</NameHasBeenSet>\n <ColumnFinal>Fail</ColumnFinal>\n <AttributePathText>Key</AttributePathText>\n <AttributePathIdentifier>\n </AttributePathIdentifier>\n </GEBSelectColumn>\n <GEBFilter Key="@3">\n <FreeFilterEnabled>true</FreeFilterEnabled>\n <GEBFilterColumn Key="@4" Column="@Key1">\n <ColumnID>[414702.1.317561782]</ColumnID>\n <GEBFilterColumnMatch Key="@5">\n <Operation>=</Operation>\n <Enabled>true</Enabled>\n <RHSValue>\n <RHSFreeValue Key="@6">\n <StringValue></StringValue>\n <Value>Key:[414702.1.314706304]</Value>\n </RHSFreeValue>\n </RHSValue>\n </GEBFilterColumnMatch>\n </GEBFilterColumn>\n <GEBFreeFilterBody Key="@7">\n <ExpressionText></ExpressionText>\n <Converter>\n </Converter>\n </GEBFreeFilterBody>\n </GEBFilter>\n </GEBFilteringData>\n </GEBFiltering>\n</GEBObjectsFilter>\n'
+ ColumnSort [112884.0.420632428] true false
+ ColumnSort [11766.1.490571536] true false
+ ColumnSort [11766.1.490571537] true false
+ ColumnSort [11766.0.1176668437] true false
+ }
+ }
+ }
+ }
+ }
+ }
+ INFOOBJECT
+ {
+ KEY [110880.4.1427969406]
+ OBJECTTYPE SplitterPane // SplitterPane5
+ CONTENTS
+ {
+ VISIBLE true
+ }
+ INFOOBJECTS
+ {
+ }
+ }
+ }
+ }
+ }
+ }
+ INFOOBJECT
+ {
+ KEY [110880.4.1427968323]
+ OBJECTTYPE SplitterPane // SplitterPane3
+ CONTENTS
+ {
+ VISIBLE true
+ }
+ INFOOBJECTS
+ {
+ INFOOBJECT
+ {
+ KEY [110880.4.1427969947]
+ OBJECTTYPE SplitterWnd // SplitterWnd4
+ INFOOBJECTS
+ {
+ INFOOBJECT
+ {
+ KEY [110880.4.1427969948]
+ OBJECTTYPE SplitterPane // SplitterPane6
+ CONTENTS
+ {
+ Size 31.659249841068
+ VISIBLE true
+ }
+ INFOOBJECTS
+ {
+ INFOOBJECT
+ {
+ KEY [110880.4.1427981196]
+ OBJECTTYPE List // ListInputInputDemand
+ CONTENTS
+ {
+ Quantorrow := false
+ }
+ INFOOBJECTS
+ {
+ INFOOBJECT
+ {
+ KEY [11766.0.1791753785]
+ OBJECTTYPE GUIDataSetLevel // GUIDataSetLevel2
+ CONTENTS
+ {
+ Columns
+ {
+ Definition := [11766.0.1025088210]
+ {
+ [11766.1.490215920]
+ }
+ SubTotals := true
+ Visible
+ {
+ Column internal[DataSetDataColumn] [11766.1.490215920]
+ {
+ Width := 145
+ SizedByUser := true
+ Subtotals := false
+ Specific
+ {
+ DataPath := 'Quantity [101320.0.110374989]'
+ }
+ }
+ Column internal[DataSetDataColumn] [414702.1.19001156]
+ {
+ Width := 259
+ SizedByUser := true
+ Subtotals := false
+ Specific
+ {
+ DataPath := 'ProcessInput [110880.8.886850132]|downcast(OperationInput) [108486.1.157418918]|ProductID [113694.1.2134238792]'
+ AttributePathIdentifier := "StartType('external[DependentDemand]')
+ Node(R[110880.8.886850132], TT[108486.1.157418918], nondistinctive)
+ Attribute([113694.1.2134238792])"
+ }
+ }
+ }
+ }
+ ColumnSort [11766.1.490215920] true false
+ }
+ }
+ }
+ }
+ }
+ }
+ INFOOBJECT
+ {
+ KEY [110880.4.1427969949]
+ OBJECTTYPE SplitterPane // SplitterPane7
+ CONTENTS
+ {
+ Size 68.340750158932
+ VISIBLE true
+ }
+ INFOOBJECTS
+ {
+ INFOOBJECT
+ {
+ KEY [110880.4.1427985019]
+ OBJECTTYPE List // ListInputOutputSupply1
+ CONTENTS
+ {
+ Quantorrow := false
+ }
+ INFOOBJECTS
+ {
+ INFOOBJECT
+ {
+ KEY [11766.0.1791753792]
+ OBJECTTYPE GUIDataSetLevel // GUIDataSetLevel3
+ CONTENTS
+ {
+ Columns
+ {
+ Definition := [11766.0.1025296083]
+ {
+ [11766.0.1025296085]
+ }
+ SubTotals := true
+ Visible
+ {
+ Column internal[DataSetDataColumn] [11766.0.1025296085]
+ {
+ Width := 100
+ Subtotals := false
+ Specific
+ {
+ DataPath := 'Quantity [112884.1.1160030032]'
+ }
+ }
+ Column internal[DataSetDataColumn] [414702.1.19001111]
+ {
+ Width := 266
+ SizedByUser := true
+ Subtotals := false
+ Specific
+ {
+ DataPath := 'ProcessOutput [110880.8.945109647]|downcast(OperationOutput) [101318.0.90160276]|ProductID [113694.1.2134238792]'
+ AttributePathIdentifier := "StartType('external[NewSupply]')
+ Node(R[110880.8.945109647], TT[101318.0.90160276], nondistinctive)
+ Attribute([113694.1.2134238792])"
+ }
+ }
+ Column internal[DataSetDataColumn] [414702.1.55207096]
+ {
+ Width := 173
+ SizedByUser := true
+ Subtotals := false
+ Specific
+ {
+ DataPath := 'Start [108486.2.80172755]'
+ AttributePathIdentifier := "StartType('external[NewSupply]')
+ Attribute([108486.2.80172755])"
+ }
+ }
+ Column internal[DataSetDataColumn] [414702.1.55207125]
+ {
+ Width := 194
+ SizedByUser := true
+ Subtotals := false
+ Specific
+ {
+ DataPath := 'AsProductionSupply [134266.1.5797947]|ProductInStockingPoint_MP [134266.1.5798354]|StockingPointID [108486.0.343831378]'
+ AttributePathIdentifier := "StartType('external[NewSupply]')
+ Node(R[134266.1.5797947], TT[134266.1.852406], distinctive)
+ Node(R[134266.1.5798354], TT[11660.0.485565014], distinctive)
+ Attribute([108486.0.343831378])"
+ }
+ }
+ Column internal[DataSetConfigurableColumn] [414702.1.305339206]
+ {
+ Header := 'PeriodKey'
+ Width := 243
+ SizedByUser := true
+ Subtotals := false
+ Specific
+ {
+ Text := 'VALUE( object.PeriodTask_MP().Key() )'
+ Alignment := '榛樿'
+ }
+ }
+ }
+ }
+ Filter := '<?xml version="1.0" encoding="UTF-16"?>\n<GEBObjectsFilter xmlns="http://www.quintiq.com/GEB/GEBObjectsFilter" Key="@1" CurrentFilter="@Default_Filter1" TargetType="NewSupply Q11660_0_958335014">\n <GEBFiltering Key="@Default_Filter1" TargetType="NewSupply Q11660_0_958335014">\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="NewSupply Q11660_0_958335014" ValueType="Real">\n <ColumnID>[414702.1.317561786]</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="@OperationOutputProductID1" ElementType="NewSupply Q11660_0_958335014" ValueType="String">\n <ColumnID>[414702.1.317561787]</ColumnID>\n <BaseName>OperationOutputProductID</BaseName>\n <Name>OperationOutputProductID</Name>\n <Title>ProductID</Title>\n <IsTarget>false</IsTarget>\n <NameHasBeenSet>false</NameHasBeenSet>\n <ColumnFinal>Fail</ColumnFinal>\n <AttributePathText>ProcessOutput.astype(OperationOutput).ProductID</AttributePathText>\n <AttributePathIdentifier>\n </AttributePathIdentifier>\n </GEBSelectColumn>\n <GEBSelectColumn Key="@Start1" ElementType="NewSupply Q11660_0_958335014" ValueType="DateTime">\n <ColumnID>[414702.1.317561788]</ColumnID>\n <BaseName>Start</BaseName>\n <Name>Start</Name>\n <Title>Start</Title>\n <IsTarget>false</IsTarget>\n <NameHasBeenSet>false</NameHasBeenSet>\n <ColumnFinal>Fail</ColumnFinal>\n <AttributePathText>Start</AttributePathText>\n <AttributePathIdentifier>\n </AttributePathIdentifier>\n </GEBSelectColumn>\n <GEBSelectColumn Key="@AsProductionSupplyProductInStockingPointInPeriodProductInStockingPoint_MPStockingPointID1" ElementType="NewSupply Q11660_0_958335014" ValueType="String">\n <ColumnID>[414702.1.317561789]</ColumnID>\n <BaseName>AsProductionSupplyProductInStockingPointInPeriodProductInStockingPoint_MPStockingPointID</BaseName>\n <Name>AsProductionSupplyProductInStockingPointInPeriodProductInStockingPoint_MPStockingPointID</Name>\n <Title>StockingPointID</Title>\n <IsTarget>false</IsTarget>\n <NameHasBeenSet>false</NameHasBeenSet>\n <ColumnFinal>Fail</ColumnFinal>\n <AttributePathText>AsProductionSupply.ProductInStockingPoint_MP.StockingPointID</AttributePathText>\n <AttributePathIdentifier>\n </AttributePathIdentifier>\n </GEBSelectColumn>\n <GEBProcessColumn Key="@PeriodKey1" ElementType="NewSupply Q11660_0_958335014" ValueType="Key">\n <ColumnID>[414702.1.317561790]</ColumnID>\n <BaseName>PeriodKey</BaseName>\n <Name>PeriodKey</Name>\n <Title>PeriodKey</Title>\n <IsTarget>false</IsTarget>\n <NameHasBeenSet>false</NameHasBeenSet>\n <ColumnFinal>Fail</ColumnFinal>\n <GEBDerivation Key="@3">\n <GEBDerivationBase Key="@4" TargetType="NewSupply Q11660_0_958335014">\n <ColumnID>[0.0.0]</ColumnID>\n <GEBNodeDerivation Key="@5">\n <Operation>FirstExpression</Operation>\n <Conditional>false</Conditional>\n <Multiple>false</Multiple>\n <AllowWildcards>false</AllowWildcards>\n <GEBNodeDerivationExpression Key="@6">\n <GEBNodeDerivationExpressionBody Key="@7">\n <ExpressionText>object.PeriodTask_MP().Key()</ExpressionText>\n <Converter>\n <ZeroConverter Key="@8">\n <IsStandard>true</IsStandard>\n <IsISO>false</IsISO>\n <IsCustom>false</IsCustom>\n <ConversionType>0</ConversionType>\n </ZeroConverter>\n </Converter>\n </GEBNodeDerivationExpressionBody>\n </GEBNodeDerivationExpression>\n </GEBNodeDerivation>\n </GEBDerivationBase>\n </GEBDerivation>\n </GEBProcessColumn>\n <GEBFilter Key="@9">\n <FreeFilterEnabled>true</FreeFilterEnabled>\n <GEBFilterColumn Key="@10" Column="@AsProductionSupplyProductInStockingPointInPeriodProductInStockingPoint_MPStockingPointID1">\n <ColumnID>[414702.1.317561789]</ColumnID>\n </GEBFilterColumn>\n <GEBFreeFilterBody Key="@11">\n <ExpressionText></ExpressionText>\n <Converter>\n </Converter>\n </GEBFreeFilterBody>\n </GEBFilter>\n </GEBFilteringData>\n </GEBFiltering>\n</GEBObjectsFilter>\n'
+ ColumnSort [414702.1.19001111] true false
+ ColumnSort [414702.1.55207096] true false
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ INFOOBJECT
+ {
+ KEY [666.6.1042075]
+ SINGLEINSTANCE false
+ ID '杩囨护'
+ PARENTKEY [514.0.2180]
+ OBJECTTYPE Dialog // tlpFiltering
+ CREATETYPE tlpFiltering
+ CONTENTS
+ {
+ State := normal
+ (0,0,0,0)
+ DockableLocation := Station[MAIN]State[NORM]TreePath[B0.5516;]TabIdx[5]Selection[NONE]
+ }
+ BASEINFOOBJECTS
+ {
+ BASEINFOOBJECT
+ {
+ KEY [666.6.1042075]
+ OBJECTTYPE GUIContainerComponent // tlpFiltering
+ COMPONENTDATA
+ {
+ [666.6.1042075]:[101180.0.423432963]:[101180.0.423434508]:[666.6.33523821]:[101180.0.674802547]:[100664.0.672641496] STR 'true'
+ [666.6.1042075]:[101180.0.423432963]:[101180.0.423439415]:[666.6.33523821]:[101180.0.674802547]:[100664.0.672641496] STR 'true'
+ }
+ }
+ }
+ INFOOBJECTS
+ {
+ INFOOBJECT
+ {
+ KEY [101180.0.423434508]
+ OBJECTTYPE GUIComponent // dpGUIListFiltering
+ INFOOBJECTS
+ {
+ INFOOBJECT
+ {
+ KEY [100664.0.634694330]
+ OBJECTTYPE SplitterWnd // SplitterWnd
+ INFOOBJECTS
+ {
+ INFOOBJECT
+ {
+ KEY [100664.0.634694331]
+ OBJECTTYPE SplitterPane // SplitterPaneStoredFilters
+ CONTENTS
+ {
+ VISIBLE true
+ }
+ INFOOBJECTS
+ {
+ INFOOBJECT
+ {
+ KEY [100664.0.681599437]
+ OBJECTTYPE List // ListStoredFilters
+ CONTENTS
+ {
+ Quantorrow := false
+ }
+ INFOOBJECTS
+ {
+ INFOOBJECT
+ {
+ KEY [100664.0.681599439]
+ OBJECTTYPE GUIDataSetLevel // GUIDataSetLevel2
+ CONTENTS
+ {
+ Columns
+ {
+ Definition := [121918.0.881777301]
+ {
+ [121918.0.881787967]
+ }
+ SubTotals := true
+ Visible
+ {
+ Column internal[DataSetDataColumn] [121918.0.881787967]
+ {
+ Width := 100
+ Subtotals := false
+ Specific
+ {
+ DataPath := 'Name [1.2.5343]'
+ }
+ }
+ }
+ }
+ DataMemberSort 'SortIndex [1.2.7432]' true true
+ }
+ }
+ }
+ }
+ }
+ }
+ INFOOBJECT
+ {
+ KEY [100664.0.634694332]
+ OBJECTTYPE SplitterPane // SplitterPane1
+ CONTENTS
+ {
+ VISIBLE true
+ }
+ INFOOBJECTS
+ {
+ INFOOBJECT
+ {
+ KEY [100664.0.634737763]
+ OBJECTTYPE SplitterWnd // SplitterWndI
+ INFOOBJECTS
+ {
+ INFOOBJECT
+ {
+ KEY [100664.0.634737764]
+ OBJECTTYPE SplitterPane // SplitPaneColumnBasedFilters
+ CONTENTS
+ {
+ Size 99.921052631579
+ VISIBLE true
+ }
+ INFOOBJECTS
+ {
+ INFOOBJECT
+ {
+ KEY [100664.0.634737766]
+ OBJECTTYPE Selection // selFilterColumn
+ CONTENTS
+ {
+ BoundValue 'Quantity'
+ }
+ INFOOBJECTS
+ {
+ INFOOBJECT
+ {
+ KEY [100664.0.634737768]
+ OBJECTTYPE GUIDataSetLevel // GUIDataSetLevel1
+ CONTENTS
+ {
+ Columns
+ {
+ Definition := [666.6.33522193]
+ {
+ [666.6.36059183]
+ }
+ SubTotals := true
+ Visible
+ {
+ Column internal[DataSetDataColumn] [666.6.36059183]
+ {
+ Header := 'Name'
+ Width := 100
+ Subtotals := false
+ Specific
+ {
+ DataPath := 'Name [1.2.3778]'
+ }
+ }
+ }
+ }
+ ColumnSort [666.6.36059183] true false
+ }
+ }
+ }
+ }
+ INFOOBJECT
+ {
+ KEY [101180.0.650773001]
+ OBJECTTYPE Selection // selRelationalValues
+ CONTENTS
+ {
+ BoundValue '='
+ }
+ INFOOBJECTS
+ {
+ INFOOBJECT
+ {
+ KEY [101180.0.650773003]
+ OBJECTTYPE GUIDataSetLevel // GUIDataSetLevel
+ CONTENTS
+ {
+ Columns
+ {
+ Definition := [666.6.37024730]
+ {
+ [101180.0.649255714]
+ }
+ SubTotals := true
+ Visible
+ {
+ Column internal[DataSetDataColumn] [101180.0.649255714]
+ {
+ Header := 'x'
+ Width := 100
+ Subtotals := false
+ Specific
+ {
+ DataPath := 'Operation [1.2.3779]'
+ }
+ }
+ }
+ }
+ DataMemberSort 'Position [1.2.3780]' true true
+ }
+ }
+ }
+ }
+ INFOOBJECT
+ {
+ KEY [666.6.40803406]
+ OBJECTTYPE Selection // SelectionValues
+ CONTENTS
+ {
+ BoundValue '12'
+ }
+ INFOOBJECTS
+ {
+ INFOOBJECT
+ {
+ KEY [666.6.40803422]
+ OBJECTTYPE GUIDataSetLevel // GUIDataSetLevel
+ CONTENTS
+ {
+ Columns
+ {
+ Definition := [101180.0.647865904]
+ {
+ [101180.0.647981465]
+ }
+ SubTotals := true
+ Visible
+ {
+ Column internal[RHSValueDataSetColumn] [101180.0.647981465]
+ {
+ Header := 'x'
+ Width := 100
+ Subtotals := false
+ Specific
+ {
+ DataPath := 'RHSValue [1.3.3305]|StringValue [1.2.5531]'
+ }
+ }
+ }
+ }
+ DataMemberSort 'Position [1.2.3781]' true true
+ }
+ }
+ }
+ }
+ INFOOBJECT
+ {
+ KEY [100664.0.634737776]
+ OBJECTTYPE List // ListGEBUIFilterColumnMatches
+ CONTENTS
+ {
+ Quantorrow := false
+ }
+ INFOOBJECTS
+ {
+ INFOOBJECT
+ {
+ KEY [100664.0.634737791]
+ OBJECTTYPE GUIDataSetLevel // GUIDataSetLevel4
+ CONTENTS
+ {
+ Columns
+ {
+ Definition := [101180.0.647784541]
+ {
+ [101180.0.647785023]
+ [101180.0.648130649]
+ [101180.0.667481201]
+ }
+ SubTotals := true
+ Visible
+ {
+ Column internal[DataSetDataColumn] [101180.0.647785023]
+ {
+ Width := 100
+ Subtotals := false
+ Specific
+ {
+ DataPath := 'GEBUIFilterColumn [1.3.3296]|Name [1.2.3778]'
+ }
+ }
+ Column internal[DataSetDataColumn] [101180.0.648130649]
+ {
+ Width := 100
+ Subtotals := false
+ Specific
+ {
+ DataPath := 'OperationDisplay [1.2.3770]'
+ }
+ }
+ Column internal[RHSValueDataSetColumn] [101180.0.667481201]
+ {
+ Width := 100
+ Subtotals := false
+ Specific
+ {
+ DataPath := 'RHSValue [1.3.4449]|StringValue [1.2.5531]'
+ }
+ }
+ }
+ }
+ ColumnSort [101180.0.647785023] true false
+ DataMemberSort 'Position [1.2.3820]' true true
+ }
+ }
+ }
+ }
+ }
+ }
+ INFOOBJECT
+ {
+ KEY [100664.0.634737792]
+ OBJECTTYPE SplitterPane // PaneFreeFilter
+ CONTENTS
+ {
+ VISIBLE false
+ }
+ INFOOBJECTS
+ {
+ INFOOBJECT
+ {
+ KEY [112950.0.657398972]
+ OBJECTTYPE CheckBox // chkEnabled
+ CONTENTS
+ {
+ Checkstate 1
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ INFOOBJECT
+ {
+ KEY [101180.0.423439415]
+ OBJECTTYPE GUIComponent // dpGEBListFiltering
+ INFOOBJECTS
+ {
+ INFOOBJECT
+ {
+ KEY [100664.0.634694330]
+ OBJECTTYPE SplitterWnd // SplitterWnd
+ INFOOBJECTS
+ {
+ INFOOBJECT
+ {
+ KEY [100664.0.634694331]
+ OBJECTTYPE SplitterPane // SplitterPaneStoredFilters
+ CONTENTS
+ {
+ VISIBLE false
+ }
+ INFOOBJECTS
+ {
+ INFOOBJECT
+ {
+ KEY [100664.0.681599437]
+ OBJECTTYPE List // ListStoredFilters
+ CONTENTS
+ {
+ Quantorrow := false
+ }
+ INFOOBJECTS
+ {
+ INFOOBJECT
+ {
+ KEY [100664.0.681599439]
+ OBJECTTYPE GUIDataSetLevel // GUIDataSetLevel2
+ CONTENTS
+ {
+ Columns
+ {
+ Definition := [121918.0.881777301]
+ {
+ [121918.0.881787967]
+ }
+ SubTotals := true
+ Visible
+ {
+ Column internal[DataSetDataColumn] [121918.0.881787967]
+ {
+ Width := 100
+ Subtotals := false
+ Specific
+ {
+ DataPath := 'Name [1.2.5343]'
+ }
+ }
+ }
+ }
+ DataMemberSort 'SortIndex [1.2.7432]' true true
+ }
+ }
+ }
+ }
+ }
+ }
+ INFOOBJECT
+ {
+ KEY [100664.0.634694332]
+ OBJECTTYPE SplitterPane // SplitterPane1
+ CONTENTS
+ {
+ Size 99.8686947373494
+ VISIBLE true
+ }
+ INFOOBJECTS
+ {
+ INFOOBJECT
+ {
+ KEY [100664.0.634737763]
+ OBJECTTYPE SplitterWnd // SplitterWndI
+ INFOOBJECTS
+ {
+ INFOOBJECT
+ {
+ KEY [100664.0.634737764]
+ OBJECTTYPE SplitterPane // SplitPaneColumnBasedFilters
+ CONTENTS
+ {
+ Size 99.921052631579
+ VISIBLE true
+ }
+ INFOOBJECTS
+ {
+ INFOOBJECT
+ {
+ KEY [100664.0.634737766]
+ OBJECTTYPE Selection // selFilterColumn
+ CONTENTS
+ {
+ BoundValue ''
+ }
+ INFOOBJECTS
+ {
+ INFOOBJECT
+ {
+ KEY [100664.0.634737768]
+ OBJECTTYPE GUIDataSetLevel // GUIDataSetLevel1
+ CONTENTS
+ {
+ Columns
+ {
+ Definition := [666.6.33522193]
+ {
+ [666.6.36059183]
+ }
+ SubTotals := true
+ Visible
+ {
+ Column internal[DataSetDataColumn] [666.6.36059183]
+ {
+ Header := 'Name'
+ Width := 100
+ Subtotals := false
+ Specific
+ {
+ DataPath := 'Name [1.2.3778]'
+ }
+ }
+ }
+ }
+ ColumnSort [666.6.36059183] true false
+ }
+ }
+ }
+ }
+ INFOOBJECT
+ {
+ KEY [101180.0.650773001]
+ OBJECTTYPE Selection // selRelationalValues
+ CONTENTS
+ {
+ BoundValue ''
+ }
+ INFOOBJECTS
+ {
+ INFOOBJECT
+ {
+ KEY [101180.0.650773003]
+ OBJECTTYPE GUIDataSetLevel // GUIDataSetLevel
+ CONTENTS
+ {
+ Columns
+ {
+ Definition := [666.6.37024730]
+ {
+ [101180.0.649255714]
+ }
+ SubTotals := true
+ Visible
+ {
+ Column internal[DataSetDataColumn] [101180.0.649255714]
+ {
+ Header := 'x'
+ Width := 100
+ Subtotals := false
+ Specific
+ {
+ DataPath := 'Operation [1.2.3779]'
+ }
+ }
+ }
+ }
+ DataMemberSort 'Position [1.2.3780]' true true
+ }
+ }
+ }
+ }
+ INFOOBJECT
+ {
+ KEY [666.6.40803406]
+ OBJECTTYPE Selection // SelectionValues
+ CONTENTS
+ {
+ BoundValue ''
+ }
+ INFOOBJECTS
+ {
+ INFOOBJECT
+ {
+ KEY [666.6.40803422]
+ OBJECTTYPE GUIDataSetLevel // GUIDataSetLevel
+ CONTENTS
+ {
+ Columns
+ {
+ Definition := [101180.0.647865904]
+ {
+ [101180.0.647981465]
+ }
+ SubTotals := true
+ Visible
+ {
+ Column internal[RHSValueDataSetColumn] [101180.0.647981465]
+ {
+ Header := 'x'
+ Width := 100
+ Subtotals := false
+ Specific
+ {
+ DataPath := 'RHSValue [1.3.3305]|StringValue [1.2.5531]'
+ }
+ }
+ }
+ }
+ DataMemberSort 'Position [1.2.3781]' true true
+ }
+ }
+ }
+ }
+ INFOOBJECT
+ {
+ KEY [100664.0.634737776]
+ OBJECTTYPE List // ListGEBUIFilterColumnMatches
+ CONTENTS
+ {
+ Quantorrow := false
+ }
+ INFOOBJECTS
+ {
+ INFOOBJECT
+ {
+ KEY [100664.0.634737791]
+ OBJECTTYPE GUIDataSetLevel // GUIDataSetLevel4
+ CONTENTS
+ {
+ Columns
+ {
+ Definition := [101180.0.647784541]
+ {
+ [101180.0.647785023]
+ [101180.0.648130649]
+ [101180.0.667481201]
+ }
+ SubTotals := true
+ Visible
+ {
+ Column internal[DataSetDataColumn] [101180.0.647785023]
+ {
+ Width := 100
+ Subtotals := false
+ Specific
+ {
+ DataPath := 'GEBUIFilterColumn [1.3.3296]|Name [1.2.3778]'
+ }
+ }
+ Column internal[DataSetDataColumn] [101180.0.648130649]
+ {
+ Width := 100
+ Subtotals := false
+ Specific
+ {
+ DataPath := 'OperationDisplay [1.2.3770]'
+ }
+ }
+ Column internal[RHSValueDataSetColumn] [101180.0.667481201]
+ {
+ Width := 100
+ Subtotals := false
+ Specific
+ {
+ DataPath := 'RHSValue [1.3.4449]|StringValue [1.2.5531]'
+ }
+ }
+ }
+ }
+ ColumnSort [101180.0.647785023] true false
+ DataMemberSort 'Position [1.2.3820]' true true
+ }
+ }
+ }
+ }
+ }
+ }
+ INFOOBJECT
+ {
+ KEY [100664.0.634737792]
+ OBJECTTYPE SplitterPane // PaneFreeFilter
+ CONTENTS
+ {
+ VISIBLE false
+ }
+ INFOOBJECTS
+ {
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
}
}
}
--
Gitblit v1.9.3