From 0b84c9999f07bc46275f5947c4b8ebf5ce0c25cf Mon Sep 17 00:00:00 2001
From: 陈清红 <420599804@qq.com>
Date: 星期一, 14 四月 2025 15:51:58 +0800
Subject: [PATCH] BUG&优化项
---
_Main/BL/Type_NewAssemblyOnlinePlanCell/StaticMethod_DetectingNegativeValues.qbl | 29 +
_Main/UI/MacroPlannerWebApp/Component_FormInventoryPlanArchive/Response_PanelPeriod_71_bSynchronizeActualInventory_OnClick.def | 18
_Main/BL/Type_InterfaceLoginfo/StaticMethod_CallInterfaceForSAPGet.qbl | 6
_Main/UI/MacroPlannerWebApp/Component_DialogZEDPPSPIR/Response_lstRight590_71_OnCheckedChanged#338.def | 19
_Main/BL/Type_AOnlineAndMOfflinePlanPIR/StaticMethod_Publish.qbl | 16
_Main/UI/MacroPlannerWebApp/Component_ApplicationMacroPlanner/Component_PanelScenarioSelection.def | 14
_Main/UI/MacroPlannerWebApp/Component_DialogZEDPPSPIR/Response_lstRight590_71_OnCreated.def | 28 +
_Main/UI/MacroPlannerWebApp/Component_ApplicationMacroPlanner/Response_MacroPlanner_ContextMenuPublishSAP_mAPIMS64ProductRelation_OnClick.def | 16
_Main/UI/MacroPlannerWebApp/Component_DialogZEDPPSMS64/Component_lstRight590.def | 2
_Main/UI/MacroPlannerWebApp/Component_FormAPIRMS64ProductRelation/Component_listContextMenu519.def | 24
_Main/BL/Relations/Relation_APIRMS64ProductRelation_InterfaceDataset_InterfaceDataset_APIRMS64P.qbl | 23
_Main/UI/MacroPlannerWebApp/Component_FormActualDailyProduction/Component_ListActualDailyProduction.def | 2
_Main/UI/MacroPlannerWebApp/Component_FormSAP_PIR/Response_List391_bPush_OnClick.def | 2
_Main/BL/Type_OfflinePlanArchiveVersionCell/StaticMethod_SynchronizeActualProduction.qbl | 51 +
_Main/UI/MacroPlannerWebApp/Component_FormAssemblyOnlinePlanVersion/Component_MatrixEditorTable#384.def | 20
_Main/UI/MacroPlannerWebApp/Component_FormAPIRMS64ProductRelation/Response_pHeader_bCreate_OnClick.def | 18
_Main/UI/MacroPlannerWebApp/Component_FormInventoryPointSelection/Component_ListInventoryPointSelection.def | 2
_Main/UI/MacroPlannerWebApp/Component_DialogZEDPPSPIR/Component_pnlRight#836.def | 25
_Main/UI/MacroPlannerWebApp/Component_FormAPIRMS64ProductRelation/Component_pHeader.def | 47 +
_Main/UI/MacroPlannerWebApp/Component_FormTransferPlan/Component_pHeader.def | 10
_Main/BL/Type_NewOfflinePlanCell/StaticMethod_DetectingNegativeValues.qbl | 31 +
_Main/UI/MacroPlannerWebApp/Component_FormInventoryPlanArchive/Component_PanelPeriod#71.def | 11
_Main/BL/Type_InventoryPlanArchiveRow/Method_SetQuantity.qbl | 14
_Main/UI/MacroPlannerWebApp/Component_FormAPIRMS64ProductRelation/_ROOT_Component_FormAPIRMS64ProductRelation.def | 13
_Main/BL/Type_AOnlineAndMOfflinePlanPIR/StaticMethod_GenerateData.qbl | 7
_Main/BL/Type_APIRMS64ProductRelation/_ROOT_Type_APIRMS64ProductRelation.qbl | 9
_Main/BL/Type_InventoryPlanArchiveCell/StaticMethod_SynchronizeActualInventory.qbl | 51 +
_Main/UI/MacroPlannerWebApp/Component_DialogZEDPPSPIR/Component_pnlContent.def | 2
_Main/UI/MacroPlannerWebApp/Component_FormAPIRMS64ProductRelation/Response_pHeader_ddslProduct_OnCreated.def | 18
_Main/BL/Type_InventoryInterfaceData/StaticMethod_UpdateInventoryQuantity.qbl | 41 +
_Main/UI/MacroPlannerWebApp/Component_FormAPIRMS64ProductRelation/Component_pContent.def | 14
_Main/UI/MacroPlannerWebApp/Component_FormOfflinePlanArchive/Response_PanelPeriod_ButtonPeriod_OnClick.def | 18
_Main/BL/Type_APIRMS64ProductRelation/Attribute_Factory.qbl | 13
_Main/BL/Type_InventoryPlanArchiveVersion/StaticMethod_GenerateData.qbl | 134 +++-
_Main/UI/MacroPlannerWebApp/Component_DialogZEDPPSMS64/Response_pnlLeft_88_ddslFactory_OnSelectionChanged.def | 28 +
_Main/UI/MacroPlannerWebApp/Component_FormTransferPlan/Response_pHeader_bWriteBackTheTransferPlan_OnClick.def | 22
_Main/BL/Dataset_InterfaceDataset/Daemon_ActualDailyProductionInterface.qbl | 2
_Main/BL/Type_APIRMS64ProductRelation/Attribute_Product.qbl | 7
_Main/UI/MacroPlannerWebApp/Component_FormInventoryInterfaceData/Response_pHeader_bFilter_OnClick.def | 3
_Main/BL/Type_TransferPlanCell/StaticMethod_WriteBackTheTransferPlan.qbl | 52 +
_Main/UI/MacroPlannerWebApp/Component_ApplicationMacroPlanner/Component_ContextMenuPublishSAP.def | 10
_Main/UI/MacroPlannerWebApp/Component_FormAPIRMS64ProductRelation/Component_List920.def | 59 ++
_Main/UI/MacroPlannerWebApp/Component_FormInventoryPlanArchive/Component_PanelTable#881.def | 27
_Main/UI/MacroPlannerWebApp/Component_DialogZEDPPSPIR/Component_cmRight681#1.def | 10
_Main/UI/MacroPlannerWebApp/Component_FormAssemblyOnlinePlanVersion/Component_PanelTable#273.def | 27
_Main/UI/MacroPlannerWebApp/Component_FormNewAssemblyOnlinePlan/Component_pHeader#136.def | 10
_Main/UI/MacroPlannerWebApp/Component_FormOfflinePlanArchive/Component_PanelTable.def | 2
_Main/UI/MacroPlannerWebApp/Component_FormNewOfflinePlan/Component_pHeader.def | 10
_Main/UI/MacroPlannerWebApp/Component_ApplicationMacroPlanner/Component_ActionBarGroupScenarioSelection.def | 8
_Main/UI/MacroPlannerWebApp/Component_DialogZEDPPSPIR/Component_abpRight481#1.def | 10
_Main/BL/Dataset_InterfaceDataset/Daemon_FinishedEngineInventoryInterface#0.qbl | 2
_Main/UI/MacroPlannerWebApp/Component_FormAPIRMS64ProductRelation/Component_listActionBarPage590.def | 10
_Main/BL/Dataset_InterfaceDataset/Daemon_MachineStockInterface.qbl | 2
_Main/UI/MacroPlannerWebApp/Component_DialogZEDPPSMS64/Response_lstRight590_OnCreated.def | 28 +
_Main/UI/MacroPlannerWebApp/Component_DialogZEDPPSPIR/Method_OnOk.def | 6
_Main/UI/MacroPlannerWebApp/Component_FormAPIRMS64ProductRelation/Response_List920_mDelete_OnClick.def | 18
_Main/UI/MacroPlannerWebApp/Views/APIMS64ProductRelation.vw | 307 ++++++++++
_Main/UI/MacroPlannerWebApp/Component_DialogZEDPPSPIR/Component_lstRight590#71.def | 44 +
_Main/UI/MacroPlannerWebApp/Component_DialogZEDPPSPIR/Response_pnlLeft_ddslFactory_OnSelectionChanged.def | 30 +
_Main/UI/MacroPlannerWebApp/Component_FormNewAssemblyOnlinePlan/Response_pHeader_136_bDetectingNegativeValues_OnClick#812.def | 18
_Main/BL/Type_AOnlineAndMOfflinePlanMS64/StaticMethod_GenerateData.qbl | 8
_Main/UI/MacroPlannerWebApp/Component_ApplicationMacroPlanner/Component_ActionBarPageScenarioSelection.def | 4
_Main/UI/MacroPlannerWebApp/Component_FormOfflinePlanArchive/Component_PanelPeriod.def | 11
_Main/UI/MacroPlannerWebApp/Component_FormInventoryPlanArchive/Component_MatrixEditorTable#791.def | 20
_Main/BL/Dataset_InterfaceDataset/Daemon_ShippingActualInterface.qbl | 2
_Main/UI/MacroPlannerWebApp/Component_DialogZEDPPSPIR/Response_lstRight590_71_OnCheckedChanged.def | 16
_Main/UI/MacroPlannerWebApp/Views/Inventory_plan_archive_report.vw | 57 +
_Main/UI/MacroPlannerWebApp/Component_DialogZEDPPSMS64/Method_OnOk.def | 3
_Main/UI/MacroPlannerWebApp/Component_DialogZEDPPSPIR/Component_pnlLeft.def | 1
_Main/UI/MacroPlannerWebApp/Component_FormNewOfflinePlan/Response_pHeader_bDetectingNegativeValues_OnClick.def | 18
70 files changed, 1,552 insertions(+), 88 deletions(-)
diff --git a/_Main/BL/Dataset_InterfaceDataset/Daemon_ActualDailyProductionInterface.qbl b/_Main/BL/Dataset_InterfaceDataset/Daemon_ActualDailyProductionInterface.qbl
index ecc498d..accd1d8 100644
--- a/_Main/BL/Dataset_InterfaceDataset/Daemon_ActualDailyProductionInterface.qbl
+++ b/_Main/BL/Dataset_InterfaceDataset/Daemon_ActualDailyProductionInterface.qbl
@@ -5,7 +5,7 @@
Frequency: P1DT0H0M0S
Priority: 'Default'
StartDate: 2020-01-01
- StartTimeOfDay: P0DT10H0M0S
+ StartTimeOfDay: P0DT9H30M0S
Text:
[*
options := DatasetFindOptions::Construct( 'InterfaceDataset' ).IncludeOffline( true ); //to load we must search offline datasets.
diff --git "a/_Main/BL/Dataset_InterfaceDataset/Daemon_FinishedEngineInventoryInterface\0430.qbl" "b/_Main/BL/Dataset_InterfaceDataset/Daemon_FinishedEngineInventoryInterface\0430.qbl"
index 60fb321..fe6de8e 100644
--- "a/_Main/BL/Dataset_InterfaceDataset/Daemon_FinishedEngineInventoryInterface\0430.qbl"
+++ "b/_Main/BL/Dataset_InterfaceDataset/Daemon_FinishedEngineInventoryInterface\0430.qbl"
@@ -5,7 +5,7 @@
Frequency: P1DT0H0M0S
Priority: 'Default'
StartDate: 2024-07-19
- StartTimeOfDay: P0DT10H0M0S
+ StartTimeOfDay: P0DT9H30M0S
Text:
[*
options := DatasetFindOptions::Construct( 'InterfaceDataset' ).IncludeOffline( true ); //to load we must search offline datasets.
diff --git a/_Main/BL/Dataset_InterfaceDataset/Daemon_MachineStockInterface.qbl b/_Main/BL/Dataset_InterfaceDataset/Daemon_MachineStockInterface.qbl
index 7f710f2..a89df67 100644
--- a/_Main/BL/Dataset_InterfaceDataset/Daemon_MachineStockInterface.qbl
+++ b/_Main/BL/Dataset_InterfaceDataset/Daemon_MachineStockInterface.qbl
@@ -5,7 +5,7 @@
Frequency: P1DT0H0M0S
Priority: 'Default'
StartDate: 2024-07-19
- StartTimeOfDay: P0DT10H0M0S
+ StartTimeOfDay: P0DT9H30M0S
Text:
[*
options := DatasetFindOptions::Construct( 'InterfaceDataset' ).IncludeOffline( true ); //to load we must search offline datasets.
diff --git a/_Main/BL/Dataset_InterfaceDataset/Daemon_ShippingActualInterface.qbl b/_Main/BL/Dataset_InterfaceDataset/Daemon_ShippingActualInterface.qbl
index a2bfd9f..1992c36 100644
--- a/_Main/BL/Dataset_InterfaceDataset/Daemon_ShippingActualInterface.qbl
+++ b/_Main/BL/Dataset_InterfaceDataset/Daemon_ShippingActualInterface.qbl
@@ -5,7 +5,7 @@
Frequency: P1DT0H0M0S
Priority: 'Default'
StartDate: 2024-07-19
- StartTimeOfDay: P0DT10H0M0S
+ StartTimeOfDay: P0DT9H30M0S
Text:
[*
options := DatasetFindOptions::Construct( 'InterfaceDataset' ).IncludeOffline( true ); //to load we must search offline datasets.
diff --git a/_Main/BL/Relations/Relation_APIRMS64ProductRelation_InterfaceDataset_InterfaceDataset_APIRMS64P.qbl b/_Main/BL/Relations/Relation_APIRMS64ProductRelation_InterfaceDataset_InterfaceDataset_APIRMS64P.qbl
new file mode 100644
index 0000000..9749331
--- /dev/null
+++ b/_Main/BL/Relations/Relation_APIRMS64ProductRelation_InterfaceDataset_InterfaceDataset_APIRMS64P.qbl
@@ -0,0 +1,23 @@
+Quintiq file version 2.0
+#parent: #root
+Relation APIRMS64ProductRelation_InterfaceDataset_InterfaceDataset_APIRMS64ProductRelation
+{
+ #keys: '1[730572.0.162835510]'
+ DefaultRelationStrategy
+ {
+ }
+ RelationSide.LeftSide InterfaceDataset
+ {
+ #keys: '3[730572.0.162835512][730572.0.162835511][730572.0.162835513]'
+ Cardinality: '0to1'
+ ObjectDefinition: APIRMS64ProductRelation
+ OwningSide: 'Reference'
+ }
+ RelationSide.RightSide APIRMS64ProductRelation
+ {
+ #keys: '3[730572.0.162835515][730572.0.162835514][730572.0.162835516]'
+ Cardinality: '1toN'
+ ObjectDefinition: InterfaceDataset
+ OwningSide: 'Owned'
+ }
+}
diff --git a/_Main/BL/Type_AOnlineAndMOfflinePlanMS64/StaticMethod_GenerateData.qbl b/_Main/BL/Type_AOnlineAndMOfflinePlanMS64/StaticMethod_GenerateData.qbl
index 9c1fd0a..5e661f1 100644
--- a/_Main/BL/Type_AOnlineAndMOfflinePlanMS64/StaticMethod_GenerateData.qbl
+++ b/_Main/BL/Type_AOnlineAndMOfflinePlanMS64/StaticMethod_GenerateData.qbl
@@ -41,11 +41,13 @@
, VersionTo := versionto, IsActive := versionflag );
loginfo.AOnlineAndMOfflinePlanMS64( relinsert, ms64 );
traverse( products, Elements, product, product.IsLeaf() ){
+ productID := ifexpr( product.ParentID() = "MLB" or product.ParentID() = "MQB", product.Notes(), product.ID() );
+ //productID := ifexpr( product.Notes().TrimBoth() <> "", product.Notes(), product.ID() );
if( werk = 'All' ){
- ms64.MS64Data( relnew, Product := product.ID(), Werk := '8200' );
- ms64.MS64Data( relnew, Product := product.ID(), Werk := '8201' );
+ ms64.MS64Data( relnew, Product := productID, Werk := '8200' );
+ ms64.MS64Data( relnew, Product := productID, Werk := '8201' );
}else{
- ms64.MS64Data( relnew, Product := product.ID(), Werk := ms64.Werk() );
+ ms64.MS64Data( relnew, Product := productID, Werk := ms64.Werk() );
}
}
diff --git a/_Main/BL/Type_AOnlineAndMOfflinePlanPIR/StaticMethod_GenerateData.qbl b/_Main/BL/Type_AOnlineAndMOfflinePlanPIR/StaticMethod_GenerateData.qbl
index e9ed573..8b2192b 100644
--- a/_Main/BL/Type_AOnlineAndMOfflinePlanPIR/StaticMethod_GenerateData.qbl
+++ b/_Main/BL/Type_AOnlineAndMOfflinePlanPIR/StaticMethod_GenerateData.qbl
@@ -9,7 +9,8 @@
Date enddate,
String executor,
String feedback,
- Boolean isPush
+ Boolean isPush,
+ Product_MPs products
) as InterfaceLoginfo
{
TextBody:
@@ -60,7 +61,7 @@
traverse( owner, OfflinePlanArchiveVersion, table, not table.IsShow() ){
traverse( table, Column, column, column.StartDate() >= startdate and column.StartDate() <= enddate ){//column.TimeUnit() = Translations::MP_GlobalParameters_Day() and
traverse( column, Cell, cell, ( werk = 'All' or cell.Row().Unit().FindString( werk, 0 ) > -1 )
- and ( cell.Row().ProductionLine() <> 'DL_MOMO' or cell.Row().ProductionLine() <> 'CC_MOMO' ) ){
+ and ( cell.Row().ProductionLine() <> 'DL MoMo' and cell.Row().ProductionLine() <> 'CC MoMo' and cell.Row().ProductionLine() <> 'DL ZKM' ) ){
row := cell.Row();
rowwerk := ifexpr( row.ProductionLine().FindString( "CC", 0 ) > -1, AOnlineAndMOfflinePlanPIR::GetWerk( FinancialProductionReport::GetDefaultCCUnit() ), AOnlineAndMOfflinePlanPIR::GetWerk( FinancialProductionReport::GetDefaultDLUnit() ) );
if( not exists( productids, Elements, e, e = row.ProductID() ) ){
@@ -94,7 +95,7 @@
loginfo.TotalRow( pir.PIRData( relsize ) );
if ( isPush ) {
- feedback := AOnlineAndMOfflinePlanPIR::Publish( owner, loginfo );
+ feedback := AOnlineAndMOfflinePlanPIR::Publish( owner, loginfo, products );
}
return loginfo;
diff --git a/_Main/BL/Type_AOnlineAndMOfflinePlanPIR/StaticMethod_Publish.qbl b/_Main/BL/Type_AOnlineAndMOfflinePlanPIR/StaticMethod_Publish.qbl
index 1703e66..d5d2b37 100644
--- a/_Main/BL/Type_AOnlineAndMOfflinePlanPIR/StaticMethod_Publish.qbl
+++ b/_Main/BL/Type_AOnlineAndMOfflinePlanPIR/StaticMethod_Publish.qbl
@@ -2,7 +2,8 @@
#parent: #root
StaticMethod Publish (
InterfaceDataset owner,
- InterfaceLoginfo loginfo
+ InterfaceLoginfo loginfo,
+ Product_MPs products
) as String
{
TextBody:
@@ -12,7 +13,8 @@
traverse( loginfo, AOnlineAndMOfflinePlanPIR, pir ){
jsonarray := JSON::Array();//.Add( "dto", JSON::Object().Add( "dday", date.Format( "Y-M2-D2" ) ).Add( "fac", "" ) ).Build();
- traverse( pir, PIRData, pirdata ){
+ traverse( pir, PIRData, pirdata, exists( products, Elements, tempP,
+ ifexpr( tempP.ParentID() = "MLB" or tempP.ParentID() = "MQB", tempP.Notes(), tempP.ID() ) = pirdata.Product() ) ){
pirjson := JSON::Object().Add( "product", pirdata.Product() )
.Add( "planningDate", pirdata.PlanningDate().Format( 'YM2D2' ) )//"2024-10-01" )
.Add( "planningQty", pirdata.PlanningQty() )
@@ -27,10 +29,16 @@
.Add( 'dataList', jsonarray );
}
- loginfo.RequestBody( jsondata.Build().AsString() );
- //info( loginfo.RequestBody() );
+ // 璁剧疆璇锋眰浣�
+ requestBody := jsondata.Build().AsString();
+ loginfo.RequestBody( requestBody );
+
+ info( loginfo.RequestBody() );
data := InterfaceLoginfo::CallInterfaceForSAPGet( owner, loginfo );
+
//info( '----------------', data );
+ //data := "Test";
+
return data;
*]
}
diff --git a/_Main/BL/Type_APIRMS64ProductRelation/Attribute_Factory.qbl b/_Main/BL/Type_APIRMS64ProductRelation/Attribute_Factory.qbl
new file mode 100644
index 0000000..38903e0
--- /dev/null
+++ b/_Main/BL/Type_APIRMS64ProductRelation/Attribute_Factory.qbl
@@ -0,0 +1,13 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute Factory
+{
+ #keys: '3[730572.0.162836302][730572.0.162836301][730572.0.162836303]'
+ Description:
+ [*
+ 宸ュ巶
+ VWED CC
+ VWED DL
+ *]
+ ValueType: String
+}
diff --git a/_Main/BL/Type_APIRMS64ProductRelation/Attribute_Product.qbl b/_Main/BL/Type_APIRMS64ProductRelation/Attribute_Product.qbl
new file mode 100644
index 0000000..efad231
--- /dev/null
+++ b/_Main/BL/Type_APIRMS64ProductRelation/Attribute_Product.qbl
@@ -0,0 +1,7 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute Product
+{
+ #keys: '3[730572.0.162836325][730572.0.162836324][730572.0.162836326]'
+ ValueType: String
+}
diff --git a/_Main/BL/Type_APIRMS64ProductRelation/_ROOT_Type_APIRMS64ProductRelation.qbl b/_Main/BL/Type_APIRMS64ProductRelation/_ROOT_Type_APIRMS64ProductRelation.qbl
new file mode 100644
index 0000000..4b8360f
--- /dev/null
+++ b/_Main/BL/Type_APIRMS64ProductRelation/_ROOT_Type_APIRMS64ProductRelation.qbl
@@ -0,0 +1,9 @@
+Quintiq file version 2.0
+#root
+#parent: #DomainModel
+Type APIRMS64ProductRelation
+{
+ #keys: '5[730572.0.162835490][730572.0.162835488][0.0.0][730572.0.162835489][730572.0.162835491]'
+ BaseType: Object
+ StructuredName: 'APIRMS64ProductRelations'
+}
diff --git a/_Main/BL/Type_InterfaceLoginfo/StaticMethod_CallInterfaceForSAPGet.qbl b/_Main/BL/Type_InterfaceLoginfo/StaticMethod_CallInterfaceForSAPGet.qbl
index 26a316c..9147f1f 100644
--- a/_Main/BL/Type_InterfaceLoginfo/StaticMethod_CallInterfaceForSAPGet.qbl
+++ b/_Main/BL/Type_InterfaceLoginfo/StaticMethod_CallInterfaceForSAPGet.qbl
@@ -10,9 +10,9 @@
[*
// 鐢勫叞楦� Jul-22-2024 (created)
address := Translations::InterfaceDataset_SAP_Address();
- httpinterface := HTTPInterface::Create( address,8080); // 娴嬭瘯
+ //httpinterface := HTTPInterface::Create( address,8080); // 娴嬭瘯
- //httpinterface := HTTPInterface::Create( "10.120.76.32",8080); // 鐢熶骇
+ httpinterface := HTTPInterface::Create( "10.120.76.32",8080); // 鐢熶骇
httpinterface.PostMethod( true ); ;
httpinterface.MediaType( Translations::InterfaceDataset_ContentType() );
@@ -69,7 +69,7 @@
feedback := feedback.Concat( '浜у搧' ).Concat( failproduct.Concatenate( '銆�' ) ).Concat( '鍥犱负' ).Concat( failmsg ).Concat( '鎺ㄩ�佸け璐�' ).Concat( '锛�' );
}
}
- feedback := feedback.Replace( feedback.Length() - 1, 1, '銆�' );
+ // feedback := feedback.Replace( feedback.Length() - 1, 1, '銆�' ); // 杩欒鎶ラ敊
}
return feedback;
diff --git a/_Main/BL/Type_InventoryInterfaceData/StaticMethod_UpdateInventoryQuantity.qbl b/_Main/BL/Type_InventoryInterfaceData/StaticMethod_UpdateInventoryQuantity.qbl
new file mode 100644
index 0000000..87736e3
--- /dev/null
+++ b/_Main/BL/Type_InventoryInterfaceData/StaticMethod_UpdateInventoryQuantity.qbl
@@ -0,0 +1,41 @@
+Quintiq file version 2.0
+#parent: #root
+StaticMethod UpdateInventoryQuantity (
+ InterfaceDataset interfaceDataset,
+ Date startDate,
+ Date endDate
+)
+{
+ TextBody:
+ [*
+ if ( ( endDate - startDate ) <= 10 ) {
+ while ( startDate <= endDate ) {
+ feis := selectset( interfaceDataset, InterfaceLoginfo.FinishedEngineInventory, tempFEI, tempFEI.DDay() = startDate );
+
+ msds := selectset( interfaceDataset, InterfaceLoginfo.MachineStockData, tempMSD, tempMSD.DDay() = startDate );
+
+ iids := selectset( interfaceDataset, InventoryInterfaceData, tempIID, tempIID.Date() = startDate );
+ traverse ( iids, Elements, iid ) {
+ traverse ( iid, InventoryInterfaceDataDetail, iidd ) {
+ iidd.Quantity( sum( feis, Elements, tempFEI,
+ tempFEI.DDay() = iidd.Date() and
+ tempFEI.FourCode() = iidd.PartNumber() and
+ tempFEI.BIPlace() = iidd.InventoryPoint() and
+ tempFEI.Fac() = iidd.Fac(),
+ tempFEI.Total() ) );
+
+ total := sum( msds, Elements, tempMSD,
+ tempMSD.DDay() = iidd.Date() and
+ tempMSD.MaterialNo() = iidd.PartNumber() and
+ tempMSD.Lgort() = iidd.InventoryPoint() and
+ tempMSD.Fac() = iidd.Fac(),
+ tempMSD.Total() );
+ iidd.Quantity( ifexpr( total > 0, total, iidd.Quantity() ) );
+ }
+ }
+
+ startDate := startDate + 1;
+ }
+ }
+ *]
+}
diff --git a/_Main/BL/Type_InventoryPlanArchiveCell/StaticMethod_SynchronizeActualInventory.qbl b/_Main/BL/Type_InventoryPlanArchiveCell/StaticMethod_SynchronizeActualInventory.qbl
new file mode 100644
index 0000000..d9aef53
--- /dev/null
+++ b/_Main/BL/Type_InventoryPlanArchiveCell/StaticMethod_SynchronizeActualInventory.qbl
@@ -0,0 +1,51 @@
+Quintiq file version 2.0
+#parent: #root
+StaticMethod SynchronizeActualInventory (
+ InterfaceDataset interfaceDataset,
+ Archive archive
+)
+{
+ TextBody:
+ [*
+ //opv := select( interfaceDataset, InventoryPlanArchiveVersion, tempOPAV, not tempOPAV.IsShow() );
+ //
+ //mindate := minselect( opv, Column, tempC, true, tempC.StartDate() ).StartDate();
+ //maxdate := maxselect( opv, Column, tempC, true, tempC.StartDate() ).StartDate();
+ //
+ ////info( "鏈�灏忔椂闂达細", mindate.Format( "Y-M2-D2" ), " 鏈�澶ф椂闂达細", maxdate.Format( "Y-M2-D2" ) );
+ //
+ //adpds := selectsortedset( archive, ActualDailyProductionData, tempADPD,
+ // tempADPD.ProductionDate() >= mindate and
+ // tempADPD.ProductionDate() <= maxdate,
+ // tempADPD.ProductionDate() );
+ //
+ ////info( "瀹為檯鐢熶骇鐨勪釜鏁帮細", adpds.Size() );
+ //
+ //products := construct( Strings );
+ //
+ //traverse ( adpds, Elements, adpd
+ //// ,( adpd.Fac() + " " + adpd.LineName() + "_" + adpd.ProductNo() ) = "CC MoMo_6909" and adpd.ProductionDate() = Date::Construct( 2025, 4, 1 )
+ // ) {
+ //// info( "宸ュ巶锛�", adpd.Fac(), " 浜у搧锛�", adpd.ProductNo(), " 浜х嚎锛�", adpd.LineName() );
+ //
+ // // 浜х嚎澶勭悊
+ // productLine := adpd.Fac() + " " + adpd.LineName() + "_" + adpd.ProductNo();
+ //
+ //// info( "name锛�", productLine, " 鐢熸垚鏃ユ湡锛�", adpd.ProductionDate().Format( "Y-M2-D2" ), " 鏁伴噺锛�", adpd.ActualOut() );
+ //
+ // row := select( opv, Row, tempR, tempR.ShowName().TrimBoth() = productLine.TrimBoth() );
+ // cell := select( row, Cell, tempC, tempC.Column().StartDate() = adpd.ProductionDate() );
+ //
+ // // 娓�0閲嶆柊璧嬪��
+ // if ( not isnull( cell ) and not exists( products, Elements, p, p = cell.Key().AsQUILL() ) ) {
+ // cell.ActualProductionQty( 0 );
+ //
+ // products.Add( cell.Key().AsQUILL() );
+ // }
+ //
+ // if ( not isnull( cell ) ) {
+ // cell.ActualProductionQty( cell.ActualProductionQty() + adpd.ActualOut() );
+ // }
+ //}
+ *]
+}
diff --git a/_Main/BL/Type_InventoryPlanArchiveRow/Method_SetQuantity.qbl b/_Main/BL/Type_InventoryPlanArchiveRow/Method_SetQuantity.qbl
index 8fad06d..193e0db 100644
--- a/_Main/BL/Type_InventoryPlanArchiveRow/Method_SetQuantity.qbl
+++ b/_Main/BL/Type_InventoryPlanArchiveRow/Method_SetQuantity.qbl
@@ -3,7 +3,8 @@
Method SetQuantity (
InventoryPlanArchiveColumn column,
Real planqty,
- Real actualaty
+ Real actualaty,
+ NamedValueTree resetNVT
)
{
TextBody:
@@ -15,7 +16,16 @@
column.Cell( relinsert, cell );
}
+
+ // 鍒ゆ柇鏄惁閲嶇疆涓�0
+ resetH := resetNVT.GetHandle( this.ShowName() + column.StartDate().Format( "Y-M2-D2" ) );
+ if ( guard( isnull( resetNVT.Root().Child( resetH ) ), true ) ) {
+ cell.PlanQuantity( 0 );
+
+ resetNVT.Root().AddChild( resetH );
+ }
+
cell.PlanQuantity( cell.PlanQuantity() + planqty );
- cell.ActualQuantity( cell.ActualQuantity() + actualaty );
+ cell.ActualQuantity( actualaty );
*]
}
diff --git a/_Main/BL/Type_InventoryPlanArchiveVersion/StaticMethod_GenerateData.qbl b/_Main/BL/Type_InventoryPlanArchiveVersion/StaticMethod_GenerateData.qbl
index c3446fa..510f0a4 100644
--- a/_Main/BL/Type_InventoryPlanArchiveVersion/StaticMethod_GenerateData.qbl
+++ b/_Main/BL/Type_InventoryPlanArchiveVersion/StaticMethod_GenerateData.qbl
@@ -9,63 +9,125 @@
TextBody:
[*
//interfaceDataset.InventoryPlanArchiveVersion( relflush );
- info( '-------------------------Start---------------------');
- machineproductparent := MachiningPipelineReport::GetDefaultProductParent();
- engineproductparent := EnginePipelineReport::GetDefaultProductParent();
- allunit := AssemblyOnlinePlanVersion::GetDefaultAllUnit();
- name := InventoryPlanArchiveVersion::GetDefaultName();//search :=
- interfaceDataset.InventoryPlanArchiveVersionSearch( relnew, Product := allunit, Unit := allunit, StartDate := Date::MinDate(), EndDate := Date::MaxDate() );//, TimeUnit := Translations::MP_GlobalParameters_Day()
+ info( '-------------------------Start---------------------' );
+ //machineproductparent := MachiningPipelineReport::GetDefaultProductParent(); // 鏈哄姞浠�
+ //engineproductparent := EnginePipelineReport::GetDefaultProductParent(); // 鍙戝姩鏈�
+ allunit := AssemblyOnlinePlanVersion::GetDefaultAllUnit(); // <All>
+ name := InventoryPlanArchiveVersion::GetDefaultName(); // Inventory plan archive
+ interfaceDataset.InventoryPlanArchiveVersionSearch( relnew,
+ Product := allunit,
+ Unit := allunit,
+ StartDate := Date::MinDate(),
+ EndDate := Date::MaxDate() );//, TimeUnit := Translations::MP_GlobalParameters_Day()
+
+ // 鍒涘缓鏄剧ず琛ㄦ牸
table := selectobject( interfaceDataset, InventoryPlanArchiveVersion, version, not version.IsShow() );
if( isnull( table ) ){
table := interfaceDataset.InventoryPlanArchiveVersion( relnew, ID := name, Name := name );
}
+
//showtable := selectobject( interfaceDataset, InventoryPlanArchiveVersion, version, version.IsShow() );
//if( isnull( showtable ) ){
// showtable := interfaceDataset.InventoryPlanArchiveVersion( relnew, ID := name, Name := name, IsShow := true );
//}
+
+ // 鍒涘缓涓嶅瓨鍦ㄥ垪
periods := selectuniquevalues( macroPlan, Period_MP, period, not period.IsHistorical() and period.TimeUnit() = Translations::MP_GlobalParameters_Day()
and not exists( table, Column, column, column.StartDate() = period.StartDate() ), period.StartDate() );//column.TimeUnit() = Translations::MP_GlobalParameters_Day() and
if( periods.Size() > 0 ){
table.GenerateColumn( periods, false );
}
+
+ // 鏈�灏忔椂闂�
+ minDate := minselect( table, Column, tempC, true, tempC.StartDate() ).StartDate();
+ maxDate := maxselect( table, Column, tempC, true, tempC.StartDate() ).StartDate();
+ info( "鏈�灏忔椂闂达細", minDate.Format( "Y-M2-D2" ), " 鏈�澶ф椂闂达細", maxDate.Format( "Y-M2-D2" ) );
+
actinventorytree := NamedValueTree::Create();
- inventoryqrys := construct( Reals );
- inventoryindex := 0;
- traverse( interfaceDataset,InterfaceLoginfo.MachineStockData, actinventory ){
- inventoryqrys.Add( actinventory.Total() );
- actinventoryKey := actinventory.MaterialNo() + actinventory.DDay().AsQUILL();
+ // 鏈哄姞瀹為檯搴撳瓨
+ traverse ( interfaceDataset,InterfaceLoginfo.MachineStockData, actinventory,
+ // actinventory.Fac() = "CC" and actinventory.MaterialNo() = "06U105101A" and actinventory.DDay() = Date::Construct( 2025, 4, 9 ) and// 娴嬭瘯杩囨护锛堢敓浜ч渶瑕佹敞閲婏級
+ actinventory.DDay() >= minDate and actinventory.DDay() <= maxDate ) {
+ // 搴撲綅鏄惁缁戝畾搴撳瓨鐐�
+ iid := select( interfaceDataset, InventoryInterfaceData, tempIID, tempIID.Date() = actinventory.DDay() and
+ tempIID.PartNumber() = actinventory.MaterialNo() );
+ iidd := select( iid, InventoryInterfaceDataDetail, tempIIDD, tempIIDD.InventoryPoint() = actinventory.Lgort() and
+ tempIIDD.Fac() = actinventory.Fac() );
+ flag := guard( iidd.InventoryPointSelection().IsIncluded(), false );
+ // info( "鏄惁琚簱瀛樼偣閫夋嫨锛�", flag, " 鏁伴噺锛�", actinventory.Total() );
+ actinventoryKey := ifexpr( actinventory.Fac() = "DL", FinancialProductionReport::GetDefaultDLUnit(), FinancialProductionReport::GetDefaultCCUnit() ) +
+ actinventory.MaterialNo() +
+ actinventory.DDay().Format( "Y-M2-D2" );
actinventoryhandle := actinventorytree.GetHandle( actinventoryKey );
- actinventorytree.Root().AddChild( actinventoryhandle,inventoryindex );
- inventoryindex := inventoryindex + 1;
- }
- traverse( interfaceDataset,InterfaceLoginfo.FinishedEngineInventory,actinventory ){
- product := selectobject( macroPlan, Product_MP, product, product.Notes() = actinventory.FourCode() );
- if( not isnull( product ) ){
- inventoryqrys.Add( actinventory.Total() );
- actinventoryKey := actinventory.FourCode() + actinventory.DDay().AsQUILL();
- actinventoryhandle := actinventorytree.GetHandle( actinventoryKey );
- actinventorytree.Root().AddChild( actinventoryhandle,inventoryindex );
- inventoryindex := inventoryindex + 1;
+ if ( guard( actinventorytree.Root().Child( actinventoryhandle ).GetValueAsReal() > 0, false ) ) { // 鍒ゆ柇鏄惁瀛樺湪锛屽瓨鍦�
+ if ( flag ) {
+ targetNV := actinventorytree.Root().Child( actinventoryhandle );
+ targetNV.SetValue( targetNV.GetValueAsReal() + actinventory.Total() );
+ }
+ } else { // 涓嶅瓨鍦�
+ if ( flag ) {
+ actinventorytree.Root().AddChild( actinventoryhandle, actinventory.Total() );
+ }
}
}
- traverse( macroPlan, Product_MP, product, exists( product.GetAllParent(), Elements, e, e.ID() = machineproductparent or e.ID() = engineproductparent ) ){
+ // 鍙戝姩鏈哄疄闄呭簱瀛�
+ traverse ( interfaceDataset, InterfaceLoginfo.FinishedEngineInventory, actinventory,
+ // actinventory.Fac() = "CC" and actinventory.FourCode() = "6908" and actinventory.DDay() = Date::Construct( 2025, 4, 2 ) and// 娴嬭瘯杩囨护锛堢敓浜ч渶瑕佹敞閲婏級
+ actinventory.DDay() >= minDate and actinventory.DDay() <= maxDate ) {
+ // 搴撲綅鏄惁缁戝畾搴撳瓨鐐�
+ iid := select( interfaceDataset, InventoryInterfaceData, tempIID, tempIID.Date() = actinventory.DDay() and
+ tempIID.PartNumber() = actinventory.FourCode() );
+ iidd := select( iid, InventoryInterfaceDataDetail, tempIIDD, tempIIDD.InventoryPoint() = actinventory.BIPlace() and
+ tempIIDD.Fac() = actinventory.Fac() );
+ flag := guard( iidd.InventoryPointSelection().IsIncluded(), false );
+
+ product := selectobject( macroPlan, Product_MP, product, product.ID() = actinventory.FourCode() );
+ if ( not isnull( product ) ) {
+ actinventoryKey := ifexpr( actinventory.Fac() = "DL", FinancialProductionReport::GetDefaultDLUnit(), FinancialProductionReport::GetDefaultCCUnit() ) +
+ actinventory.FourCode() +
+ actinventory.DDay().Format( "Y-M2-D2" );
+ actinventoryhandle := actinventorytree.GetHandle( actinventoryKey );
+ if ( guard( actinventorytree.Root().Child( actinventoryhandle ).GetValueAsReal() > 0, false ) ) { // 鍒ゆ柇鏄惁瀛樺湪锛屽瓨鍦�
+ if ( flag ) {
+ targetNV := actinventorytree.Root().Child( actinventoryhandle );
+ targetNV.SetValue( targetNV.GetValueAsReal() + actinventory.Total() );
+ }
+ } else { // 涓嶅瓨鍦�
+ if ( flag ) {
+ actinventorytree.Root().AddChild( actinventoryhandle, actinventory.Total() );
+ }
+ }
+ }
+ }
+
+ //handle := actinventorytree.GetHandle( "VWED CC06U105101A2025-04-09" );
+ //info( "鏁伴噺锛�", guard( actinventorytree.Root().Child( handle ).GetValueAsReal(), 0 ) );
+
+ // 淇濆瓨宸查噸缃�0鐨勪骇鍝�
+ resetNVT := NamedValueTree::Create();
+
+ traverse ( macroPlan, Product_MP, product
+ // ,product.ID() = "6909"
+ ) {
traverse ( product, ProductInStockingPoint_MP, pispmp, not pispmp.IsSystem() and pispmp.IsLeaf() ) {
- unit := ifexpr( pispmp.StockingPointID().Regex( "澶ц繛" ) or pispmp.StockingPointID().Regex( "DL" ), FinancialProductionReport::GetDefaultDLUnit(), FinancialProductionReport::GetDefaultCCUnit() );
- inventoryrow := table.GetRowByUnit( pispmp.Product_MP(), unit );
- traverse ( pispmp, ProductInStockingPointInPeriodPlanning.astype( ProductInStockingPointInPeriodPlanningLeaf ), pispippl, not pispippl.IsPeriodFrozen() ) {
+ unit := ifexpr( pispmp.StockingPointID().Regex( "澶ц繛" ) or pispmp.StockingPointID().Regex( "DL" ),
+ FinancialProductionReport::GetDefaultDLUnit(),
+ FinancialProductionReport::GetDefaultCCUnit() ); // 宸ュ巶
+ inventoryrow := table.GetRowByUnit( pispmp.Product_MP(), unit ); // 鍒涘缓搴撳瓨瀛樻。琛�
+ // info( pispmp.Name() );
+
+ traverse ( pispmp, ProductInStockingPointInPeriodPlanning.astype( ProductInStockingPointInPeriodPlanningLeaf ), pispippl,
+ // pispmp.ProductID() = "6909" and pispippl.Start().Date() = Date::Construct( 2025, 3, 31 ) and // 娴嬭瘯杩囨护锛堢敓浜ч渶瑕佹敞閲婏級
+ not pispippl.IsPeriodFrozen() ) {
startdate := pispippl.Start().Date();
- daycolumn := table.GetColumnByTimeUnit( Translations::MP_GlobalParameters_Day(), startdate );
+ daycolumn := table.GetColumnByTimeUnit( Translations::MP_GlobalParameters_Day(), startdate ); // 鑾峰彇搴撳瓨瀛樻。鍒�
// weekcolumn := table.GetColumnByTimeUnit( Translations::MP_GlobalParameters_Week(), startdate );
// monthcolumn := table.GetColumnByTimeUnit( Translations::MP_GlobalParameters_Month(), startdate );
- actinventoryKey := pispmp.ProductID() + startdate.AsQUILL();
+ actinventoryKey := unit + pispmp.ProductID() + startdate.Format( "Y-M2-D2" );
actinventoryhandle := actinventorytree.GetHandle( actinventoryKey );
- actinventoryindex := guard( actinventorytree.Root().Child( actinventoryhandle ),null( NamedValue ));
-
- actinventoryqty := 0.0;
- if( not isnull( actinventoryindex )){
- actinventoryqty := inventoryqrys.Element( actinventoryindex.GetValueAsNumber() );
- }
- inventoryrow.SetQuantity( daycolumn, pispippl.InventoryLevelEnd(), actinventoryqty );
+ actinventoryQty := guard( actinventorytree.Root().Child( actinventoryhandle ).GetValueAsReal(), 0 );
+ // info( "鏁伴噺锛�", actinventoryQty );
+ inventoryrow.SetQuantity( daycolumn, pispippl.InventoryLevelEnd(), actinventoryQty, resetNVT );
// inventoryrow.SetQuantity( weekcolumn, pispippl.InventoryLevelEnd(), actinventoryqty );
// inventoryrow.SetQuantity( monthcolumn, pispippl.InventoryLevelEnd(), actinventoryqty );
@@ -73,7 +135,7 @@
}
}
- info( '-------------------------End---------------------');
+ info( '-------------------------End---------------------' );
//productids := selectuniquevalues( table, Row, row, row.Name() );
//productlines := selectuniquevalues( table, Row, row, row.Unit() );
//showtable.Generate( search, productids, productlines );
diff --git a/_Main/BL/Type_NewAssemblyOnlinePlanCell/StaticMethod_DetectingNegativeValues.qbl b/_Main/BL/Type_NewAssemblyOnlinePlanCell/StaticMethod_DetectingNegativeValues.qbl
new file mode 100644
index 0000000..7d050a3
--- /dev/null
+++ b/_Main/BL/Type_NewAssemblyOnlinePlanCell/StaticMethod_DetectingNegativeValues.qbl
@@ -0,0 +1,29 @@
+Quintiq file version 2.0
+#parent: #root
+StaticMethod DetectingNegativeValues (
+ MacroPlan macroPlan
+) as String
+{
+ Description: '妫�娴嬭礋鍊�'
+ TextBody:
+ [*
+ res := "";
+
+ // 寰幆閬嶅巻鏄庣粏鏁版嵁
+ traverse ( macroPlan, NewAssemblyOnlinePlanRow, naopr, naopr.Type() = "1" ) {
+ traverse ( naopr, NewAssemblyOnlinePlanCell, naopcell, naopcell.Quantity() < 0 ) {
+ res := res +
+ "浜х嚎锛�" + naopr.ProductionLine() + " " +
+ "浜у搧锛�" + naopr.ProductID() + " " +
+ "鏃堕棿锛�" + naopcell.NewAssemblyOnlinePlanColumn().StartDate().Format( "Y-M2-D2" ) + " " +
+ "鏁伴噺锛�" + [String]naopcell.Quantity() + "\n";
+ }
+ }
+
+ if ( res = "" ) {
+ res := "鏆傛湭鍑虹幇璐熷��";
+ }
+
+ return res;
+ *]
+}
diff --git a/_Main/BL/Type_NewOfflinePlanCell/StaticMethod_DetectingNegativeValues.qbl b/_Main/BL/Type_NewOfflinePlanCell/StaticMethod_DetectingNegativeValues.qbl
new file mode 100644
index 0000000..2e1a735
--- /dev/null
+++ b/_Main/BL/Type_NewOfflinePlanCell/StaticMethod_DetectingNegativeValues.qbl
@@ -0,0 +1,31 @@
+Quintiq file version 2.0
+#parent: #root
+StaticMethod DetectingNegativeValues (
+ MacroPlan macroPlan
+) as String
+{
+ Description: '妫�娴嬭礋鍊�'
+ TextBody:
+ [*
+ nopt := maxselect( macroPlan, NewOfflinePlanTable, tempOPT, true, tempOPT.SaveDateTime() );
+
+ res := "";
+
+ // 寰幆閬嶅巻鏄庣粏鏁版嵁
+ traverse ( nopt, NewOfflinePlanRow, npr, npr.Type() = "1" ) {
+ traverse ( npr, NewOfflinePlanCell, npcell, npcell.Quantity() < 0 ) {
+ res := res +
+ "浜х嚎锛�" + npr.ProductionLine() + " " +
+ "浜у搧锛�" + npr.ProductID() + " " +
+ "鏃堕棿锛�" + npcell.NewOfflinePlanColumn().StartDate().Format( "Y-M2-D2" ) + " " +
+ "鏁伴噺锛�" + [String]npcell.Quantity() + "\n";
+ }
+ }
+
+ if ( res = "" ) {
+ res := "鏆傛湭鍑虹幇璐熷��";
+ }
+
+ return res;
+ *]
+}
diff --git a/_Main/BL/Type_OfflinePlanArchiveVersionCell/StaticMethod_SynchronizeActualProduction.qbl b/_Main/BL/Type_OfflinePlanArchiveVersionCell/StaticMethod_SynchronizeActualProduction.qbl
new file mode 100644
index 0000000..47b85b0
--- /dev/null
+++ b/_Main/BL/Type_OfflinePlanArchiveVersionCell/StaticMethod_SynchronizeActualProduction.qbl
@@ -0,0 +1,51 @@
+Quintiq file version 2.0
+#parent: #root
+StaticMethod SynchronizeActualProduction (
+ InterfaceDataset interfaceDataset,
+ Archive archive
+)
+{
+ TextBody:
+ [*
+ opv := select( interfaceDataset, OfflinePlanArchiveVersion, tempOPAV, not tempOPAV.IsShow() );
+
+ mindate := minselect( opv, Column, tempC, true, tempC.StartDate() ).StartDate();
+ maxdate := maxselect( opv, Column, tempC, true, tempC.StartDate() ).StartDate();
+
+ //info( "鏈�灏忔椂闂达細", mindate.Format( "Y-M2-D2" ), " 鏈�澶ф椂闂达細", maxdate.Format( "Y-M2-D2" ) );
+
+ adpds := selectsortedset( archive, ActualDailyProductionData, tempADPD,
+ tempADPD.ProductionDate() >= mindate and
+ tempADPD.ProductionDate() <= maxdate,
+ tempADPD.ProductionDate() );
+
+ //info( "瀹為檯鐢熶骇鐨勪釜鏁帮細", adpds.Size() );
+
+ products := construct( Strings );
+
+ traverse ( adpds, Elements, adpd
+ // ,( adpd.Fac() + " " + adpd.LineName() + "_" + adpd.ProductNo() ) = "CC MoMo_6909" and adpd.ProductionDate() = Date::Construct( 2025, 4, 1 )
+ ) {
+ // info( "宸ュ巶锛�", adpd.Fac(), " 浜у搧锛�", adpd.ProductNo(), " 浜х嚎锛�", adpd.LineName() );
+
+ // 浜х嚎澶勭悊
+ productLine := adpd.Fac() + " " + adpd.LineName() + "_" + adpd.ProductNo();
+
+ // info( "name锛�", productLine, " 鐢熸垚鏃ユ湡锛�", adpd.ProductionDate().Format( "Y-M2-D2" ), " 鏁伴噺锛�", adpd.ActualOut() );
+
+ row := select( opv, Row, tempR, tempR.ShowName().TrimBoth() = productLine.TrimBoth() );
+ cell := select( row, Cell, tempC, tempC.Column().StartDate() = adpd.ProductionDate() );
+
+ // 娓�0閲嶆柊璧嬪��
+ if ( not isnull( cell ) and not exists( products, Elements, p, p = cell.Key().AsQUILL() ) ) {
+ cell.ActualProductionQty( 0 );
+
+ products.Add( cell.Key().AsQUILL() );
+ }
+
+ if ( not isnull( cell ) ) {
+ cell.ActualProductionQty( cell.ActualProductionQty() + adpd.ActualOut() );
+ }
+ }
+ *]
+}
diff --git a/_Main/BL/Type_TransferPlanCell/StaticMethod_WriteBackTheTransferPlan.qbl b/_Main/BL/Type_TransferPlanCell/StaticMethod_WriteBackTheTransferPlan.qbl
new file mode 100644
index 0000000..cccb0bb
--- /dev/null
+++ b/_Main/BL/Type_TransferPlanCell/StaticMethod_WriteBackTheTransferPlan.qbl
@@ -0,0 +1,52 @@
+Quintiq file version 2.0
+#parent: #root
+StaticMethod WriteBackTheTransferPlan (
+ MacroPlan macroPlan,
+ Product_MPs selectedProducts
+)
+{
+ TextBody:
+ [*
+ traverse ( selectedProducts, Elements, p, p.IsLeaf() and exists( macroPlan, TransferPlanRow, tempTPR, tempTPR.ProductID() = p.ID() ) ) {
+ tprs := selectset( macroPlan, TransferPlanRow, tempTPR, tempTPR.ProductID() = p.ID() );
+
+ traverse ( tprs, Elements, tpr ) {
+ tpcells := selectsortedset( tpr, TransferPlanCell, tempTPCell, guard( [Number]tempTPCell.Value(), 0 ) >= 0.0, tempTPCell.TransferPlanColumn().ColumnDate() );
+ traverse ( tpcells, Elements, tpcell
+ // , tpcell.TransferPlanColumn().ColumnDate() = Date::Construct( 2025, 1, 11 )
+ ) {
+ // info( "鏃堕棿锛�", tpcell.TransferPlanColumn().ColumnName(), " ",
+ // tpcell.TransferPlanRow().SourceStockpoingPointID() + " To " + tpcell.TransferPlanRow().TargetStockpoingPointID(), " ",
+ // tpcell.Value() );
+
+ // selecte trip plan
+ unitName := tpcell.TransferPlanRow().SourceStockpoingPointID() + " " + "to" + " " + tpcell.TransferPlanRow().TargetStockpoingPointID() + " " + tpcell.TransferPlanRow().Category() + " " + "Transport"
+ pit := select( macroPlan, Unit.Lane.LaneLeg.Trip.ProductInTrip, tempPIT,
+ tempPIT.Trip().Departure().Date() = tpcell.TransferPlanColumn().ColumnDate() and
+ tempPIT.Trip().LaneLeg().Lane().Unit().Name() = unitName and
+ tempPIT.ProductID() = tpr.ProductID()
+ );
+ if ( not isnull( pit ) ) { // 鏈塗rip鎯呭喌
+ // info( pit.Quantity() );
+ if ( [Number]pit.Quantity() <> [Number]tpcell.Value() ) {
+ pit.Update( [Real]tpcell.Value(), true );
+ }
+ } else { // 鏃燭rip鎯呭喌
+ // error( "no trip" );
+ // info( tpr.ProductID(), " 鏁伴噺锛�", [Number]tpcell.Value() );
+ //
+ // t := select( macroPlan, Unit.Lane.LaneLeg.Trip, tempP,
+ // tempP.LaneLeg().Lane().Unit().Name() = unitName and
+ // tempP.Departure().Date() = tpcell.TransferPlanColumn().ColumnDate() );
+ // p := select( macroPlan, Product_MP, tempPMP, tempPMP.ID() = tpr.ProductID() );
+ // info( not isnull( t ) );
+ // if ( [Number]tpcell.Value() > 0 and not isnull( t ) and not isnull( p ) ) {
+ // ProductInTrip::CreateOrUpdateForTrip( t, p, [Real]tpcell.Value() );
+ // Transaction::Transaction().PropagateAll();
+ // }
+ }
+ }
+ }
+ }
+ *]
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_ApplicationMacroPlanner/Component_ActionBarGroupScenarioSelection.def b/_Main/UI/MacroPlannerWebApp/Component_ApplicationMacroPlanner/Component_ActionBarGroupScenarioSelection.def
new file mode 100644
index 0000000..c8a46d0
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_ApplicationMacroPlanner/Component_ActionBarGroupScenarioSelection.def
@@ -0,0 +1,8 @@
+Quintiq file version 2.0
+Component ActionBarGroupScenarioSelection #extension
+{
+ Children:
+ [
+ #child: PanelScenarioSelection
+ ]
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_ApplicationMacroPlanner/Component_ActionBarPageScenarioSelection.def b/_Main/UI/MacroPlannerWebApp/Component_ApplicationMacroPlanner/Component_ActionBarPageScenarioSelection.def
index 024119c..18ff83a 100644
--- a/_Main/UI/MacroPlannerWebApp/Component_ApplicationMacroPlanner/Component_ActionBarPageScenarioSelection.def
+++ b/_Main/UI/MacroPlannerWebApp/Component_ApplicationMacroPlanner/Component_ActionBarPageScenarioSelection.def
@@ -1,6 +1,10 @@
Quintiq file version 2.0
Component ActionBarPageScenarioSelection #extension
{
+ Children:
+ [
+ #child: ActionBarGroupScenarioSelection
+ ]
Properties:
[
Taborder: 22
diff --git a/_Main/UI/MacroPlannerWebApp/Component_ApplicationMacroPlanner/Component_ContextMenuPublishSAP.def b/_Main/UI/MacroPlannerWebApp/Component_ApplicationMacroPlanner/Component_ContextMenuPublishSAP.def
index 87434ae..b2c6de5 100644
--- a/_Main/UI/MacroPlannerWebApp/Component_ApplicationMacroPlanner/Component_ContextMenuPublishSAP.def
+++ b/_Main/UI/MacroPlannerWebApp/Component_ApplicationMacroPlanner/Component_ContextMenuPublishSAP.def
@@ -25,6 +25,16 @@
Title: 'SAP MS64'
]
}
+ Component mAPIMS64ProductRelation
+ {
+ #keys: '[730572.0.167360055]'
+ BaseType: 'WebMenu'
+ Properties:
+ [
+ Taborder: 2
+ Title: '宸ュ巶浜у搧瀵瑰簲鍏崇郴'
+ ]
+ }
]
Properties:
[
diff --git a/_Main/UI/MacroPlannerWebApp/Component_ApplicationMacroPlanner/Component_PanelScenarioSelection.def b/_Main/UI/MacroPlannerWebApp/Component_ApplicationMacroPlanner/Component_PanelScenarioSelection.def
new file mode 100644
index 0000000..4df0cd4
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_ApplicationMacroPlanner/Component_PanelScenarioSelection.def
@@ -0,0 +1,14 @@
+Quintiq file version 2.0
+Component PanelScenarioSelection #extension
+{
+ Children:
+ [
+ Component DropDownListScenario id:DropDownListScenario_886 #extension
+ {
+ Properties:
+ [
+ NumberOfColumns: 40
+ ]
+ }
+ ]
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_ApplicationMacroPlanner/Response_MacroPlanner_ContextMenuPublishSAP_mAPIMS64ProductRelation_OnClick.def b/_Main/UI/MacroPlannerWebApp/Component_ApplicationMacroPlanner/Response_MacroPlanner_ContextMenuPublishSAP_mAPIMS64ProductRelation_OnClick.def
new file mode 100644
index 0000000..e5dbfe4
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_ApplicationMacroPlanner/Response_MacroPlanner_ContextMenuPublishSAP_mAPIMS64ProductRelation_OnClick.def
@@ -0,0 +1,16 @@
+Quintiq file version 2.0
+#parent: ContextMenuPublishSAP/mAPIMS64ProductRelation
+Response OnClick () id:Response_MacroPlanner_ContextMenuPublishSAP_mAPIMS64ProductRelation_OnClick
+{
+ #keys: '[730572.0.167360231]'
+ CanBindMultiple: false
+ DefinitionID: 'Responsedef_WebMenu_OnClick'
+ QuillAction
+ {
+ Body:
+ [*
+ ApplicationScope.ViewManager().ResetUserViewById( "APIMS64ProductRelation", true );
+ *]
+ GroupServerCalls: false
+ }
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_DialogZEDPPSMS64/Component_lstRight590.def b/_Main/UI/MacroPlannerWebApp/Component_DialogZEDPPSMS64/Component_lstRight590.def
index 375b58a..85538ec 100644
--- a/_Main/UI/MacroPlannerWebApp/Component_DialogZEDPPSMS64/Component_lstRight590.def
+++ b/_Main/UI/MacroPlannerWebApp/Component_DialogZEDPPSMS64/Component_lstRight590.def
@@ -11,7 +11,7 @@
BaseType: 'WebDataExtractor'
Properties:
[
- DataType: 'external[MacroPlan]'
+ DataType: 'MacroPlan'
Source: 'MacroPlan'
Taborder: 0
Transformation: 'Product_MP'
diff --git a/_Main/UI/MacroPlannerWebApp/Component_DialogZEDPPSMS64/Method_OnOk.def b/_Main/UI/MacroPlannerWebApp/Component_DialogZEDPPSMS64/Method_OnOk.def
index 28ea388..704d831 100644
--- a/_Main/UI/MacroPlannerWebApp/Component_DialogZEDPPSMS64/Method_OnOk.def
+++ b/_Main/UI/MacroPlannerWebApp/Component_DialogZEDPPSMS64/Method_OnOk.def
@@ -16,7 +16,8 @@
if( sucproduct.Size() = loginfo.SAPResponseLoginfo( relsize ) ){
WebMessageBox::Success( ApplicationMacroPlanner, '鎺ㄩ�佹垚鍔�' );
}else{
- WebMessageBox::Warning( ApplicationMacroPlanner, msg, 'Yes|No' );
+ // WebMessageBox::Warning( ApplicationMacroPlanner, msg, 'Yes|No' );
+ WebMessageBox::Success( ApplicationMacroPlanner, Translations::A_VWED_Success() );
}
}
Form.Close();
diff --git a/_Main/UI/MacroPlannerWebApp/Component_DialogZEDPPSMS64/Response_lstRight590_OnCreated.def b/_Main/UI/MacroPlannerWebApp/Component_DialogZEDPPSMS64/Response_lstRight590_OnCreated.def
new file mode 100644
index 0000000..c6cda36
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_DialogZEDPPSMS64/Response_lstRight590_OnCreated.def
@@ -0,0 +1,28 @@
+Quintiq file version 2.0
+#parent: lstRight590
+Response OnCreated () id:Response_lstRight590_OnCreated
+{
+ #keys: '[730572.0.167230490]'
+ CanBindMultiple: false
+ DefinitionID: 'Responsedef_WebComponent_OnCreated'
+ QuillAction
+ {
+ Body:
+ [*
+ this.CheckAll();
+
+ apims64pr := selectset( InterfaceDataset, APIRMS64ProductRelation, tempAPIMS64PR,
+ ifexpr( ddslFactory.Text() = "All", true, tempAPIMS64PR.Factory() = ddslFactory.Text() ) );
+
+ pmps := selectset( MacroPlan, Product_MP, tempPMP,
+ tempPMP.IsLeaf() and
+ not exists( apims64pr, Elements, tempAPIMS64PR, tempAPIMS64PR.Product() = tempPMP.ID() )
+ );
+
+ traverse ( pmps, Elements, pmp ) {
+ this.UnCheckByKey( pmp.Key() );
+ }
+ *]
+ GroupServerCalls: false
+ }
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_DialogZEDPPSMS64/Response_pnlLeft_88_ddslFactory_OnSelectionChanged.def b/_Main/UI/MacroPlannerWebApp/Component_DialogZEDPPSMS64/Response_pnlLeft_88_ddslFactory_OnSelectionChanged.def
new file mode 100644
index 0000000..008d7b9
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_DialogZEDPPSMS64/Response_pnlLeft_88_ddslFactory_OnSelectionChanged.def
@@ -0,0 +1,28 @@
+Quintiq file version 2.0
+#parent: pnlLeft_88/ddslFactory
+Response OnSelectionChanged () id:Response_pnlLeft_88_ddslFactory_OnSelectionChanged
+{
+ #keys: '[730572.0.167230570]'
+ CanBindMultiple: false
+ DefinitionID: 'Responsedef_WebDropDownStringList_OnSelectionChanged'
+ QuillAction
+ {
+ Body:
+ [*
+ lstRight590.CheckAll();
+
+ apims64pr := selectset( InterfaceDataset, APIRMS64ProductRelation, tempAPIMS64PR,
+ ifexpr( this.Text() = "All", true, tempAPIMS64PR.Factory() = this.Text() ) );
+
+ pmps := selectset( MacroPlan, Product_MP, tempPMP,
+ tempPMP.IsLeaf() and
+ not exists( apims64pr, Elements, tempAPIMS64PR, tempAPIMS64PR.Product() = tempPMP.ID() )
+ );
+
+ traverse ( pmps, Elements, pmp ) {
+ lstRight590.UnCheckByKey( pmp.Key() );
+ }
+ *]
+ GroupServerCalls: false
+ }
+}
diff --git "a/_Main/UI/MacroPlannerWebApp/Component_DialogZEDPPSPIR/Component_abpRight481\0431.def" "b/_Main/UI/MacroPlannerWebApp/Component_DialogZEDPPSPIR/Component_abpRight481\0431.def"
new file mode 100644
index 0000000..d47c1b4
--- /dev/null
+++ "b/_Main/UI/MacroPlannerWebApp/Component_DialogZEDPPSPIR/Component_abpRight481\0431.def"
@@ -0,0 +1,10 @@
+Quintiq file version 2.0
+Component abpRight481 id:abpRight481_1
+{
+ #keys: '[730572.0.145570670]'
+ BaseType: 'listActionBarPage'
+ Properties:
+ [
+ Taborder: 1
+ ]
+}
diff --git "a/_Main/UI/MacroPlannerWebApp/Component_DialogZEDPPSPIR/Component_cmRight681\0431.def" "b/_Main/UI/MacroPlannerWebApp/Component_DialogZEDPPSPIR/Component_cmRight681\0431.def"
new file mode 100644
index 0000000..d2cc0e4
--- /dev/null
+++ "b/_Main/UI/MacroPlannerWebApp/Component_DialogZEDPPSPIR/Component_cmRight681\0431.def"
@@ -0,0 +1,10 @@
+Quintiq file version 2.0
+Component cmRight681 id:cmRight681_1
+{
+ #keys: '[730572.0.145570672]'
+ BaseType: 'listContextMenu'
+ Properties:
+ [
+ Taborder: 0
+ ]
+}
diff --git "a/_Main/UI/MacroPlannerWebApp/Component_DialogZEDPPSPIR/Component_lstRight590\04371.def" "b/_Main/UI/MacroPlannerWebApp/Component_DialogZEDPPSPIR/Component_lstRight590\04371.def"
new file mode 100644
index 0000000..f794292
--- /dev/null
+++ "b/_Main/UI/MacroPlannerWebApp/Component_DialogZEDPPSPIR/Component_lstRight590\04371.def"
@@ -0,0 +1,44 @@
+Quintiq file version 2.0
+Component lstRight590 id:lstRight590_71
+{
+ #keys: '[730572.0.145570668]'
+ BaseType: 'WebList'
+ Children:
+ [
+ Component deRight862
+ {
+ #keys: '[730572.0.145570669]'
+ BaseType: 'WebDataExtractor'
+ Properties:
+ [
+ DataType: 'MacroPlan'
+ Source: 'MacroPlan'
+ Taborder: 0
+ Transformation: 'Product_MP'
+ ]
+ }
+ #child: abpRight481_1
+ Component dslRight661
+ {
+ #keys: '[730572.0.145570671]'
+ BaseType: 'WebDataSetLevel'
+ Children:
+ [
+ #child: cmRight681_1
+ ]
+ Properties:
+ [
+ Columns: '[{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"ID","title":"ID","subtotals":"","tooltip":"","width":-1,"display":"shown","attribute":"ID"}}]'
+ ContextMenu: 'cmRight681'
+ FixedFilter: "object.IsLeaf() and object.ParentID() <> '绱х己浠�'"
+ SortCriteria: 'ID'
+ Taborder: 2
+ ]
+ }
+ ]
+ Properties:
+ [
+ SelectionCheckboxes: true
+ Taborder: 1
+ ]
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_DialogZEDPPSPIR/Component_pnlContent.def b/_Main/UI/MacroPlannerWebApp/Component_DialogZEDPPSPIR/Component_pnlContent.def
index f1a2cd6..9aab117 100644
--- a/_Main/UI/MacroPlannerWebApp/Component_DialogZEDPPSPIR/Component_pnlContent.def
+++ b/_Main/UI/MacroPlannerWebApp/Component_DialogZEDPPSPIR/Component_pnlContent.def
@@ -6,9 +6,11 @@
Children:
[
#child: pnlLeft
+ #child: pnlRight_836
]
Properties:
[
+ Orientation: 'horizontal'
Padding: 'true'
Taborder: 0
]
diff --git a/_Main/UI/MacroPlannerWebApp/Component_DialogZEDPPSPIR/Component_pnlLeft.def b/_Main/UI/MacroPlannerWebApp/Component_DialogZEDPPSPIR/Component_pnlLeft.def
index 68c7490..7767ba2 100644
--- a/_Main/UI/MacroPlannerWebApp/Component_DialogZEDPPSPIR/Component_pnlLeft.def
+++ b/_Main/UI/MacroPlannerWebApp/Component_DialogZEDPPSPIR/Component_pnlLeft.def
@@ -50,6 +50,7 @@
]
Properties:
[
+ Border: true
Taborder: 0
]
}
diff --git "a/_Main/UI/MacroPlannerWebApp/Component_DialogZEDPPSPIR/Component_pnlRight\043836.def" "b/_Main/UI/MacroPlannerWebApp/Component_DialogZEDPPSPIR/Component_pnlRight\043836.def"
new file mode 100644
index 0000000..afeba25
--- /dev/null
+++ "b/_Main/UI/MacroPlannerWebApp/Component_DialogZEDPPSPIR/Component_pnlRight\043836.def"
@@ -0,0 +1,25 @@
+Quintiq file version 2.0
+Component pnlRight id:pnlRight_836
+{
+ #keys: '[730572.0.145570666]'
+ BaseType: 'WebPanel'
+ Children:
+ [
+ Component dhProducts
+ {
+ #keys: '[730572.0.145570667]'
+ BaseType: 'WebDataHolder'
+ Databinding: 'structured[Product_MP]*'
+ Properties:
+ [
+ Taborder: 0
+ ]
+ }
+ #child: lstRight590_71
+ ]
+ Properties:
+ [
+ Taborder: 1
+ Title: '浜у搧'
+ ]
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_DialogZEDPPSPIR/Method_OnOk.def b/_Main/UI/MacroPlannerWebApp/Component_DialogZEDPPSPIR/Method_OnOk.def
index 659b1a1..181cb35 100644
--- a/_Main/UI/MacroPlannerWebApp/Component_DialogZEDPPSPIR/Method_OnOk.def
+++ b/_Main/UI/MacroPlannerWebApp/Component_DialogZEDPPSPIR/Method_OnOk.def
@@ -16,12 +16,14 @@
dsEndDate.Date(),
QuintiqUser::CurrentUser().DisplayName(),
msg,
- InterfaceDataset.IsPushSAP_PIR() );
+ InterfaceDataset.IsPushSAP_PIR(),
+ dhProducts.Data() );
sucproduct := selectuniquevalues( loginfo, SAPResponseLoginfo, e, e.IsSuccess(), e.Msg_v1() );
if( sucproduct.Size() = loginfo.SAPResponseLoginfo( relsize ) ){
WebMessageBox::Success( ApplicationMacroPlanner, '鎺ㄩ�佹垚鍔�' );
}else{
- WebMessageBox::Warning( ApplicationMacroPlanner, msg, 'Yes|No' );
+ // WebMessageBox::Warning( ApplicationMacroPlanner, msg, 'Yes|No' );
+ WebMessageBox::Success( ApplicationMacroPlanner, Translations::A_VWED_Success() );
}
}
Form.Close();
diff --git "a/_Main/UI/MacroPlannerWebApp/Component_DialogZEDPPSPIR/Response_lstRight590_71_OnCheckedChanged\043338.def" "b/_Main/UI/MacroPlannerWebApp/Component_DialogZEDPPSPIR/Response_lstRight590_71_OnCheckedChanged\043338.def"
new file mode 100644
index 0000000..a7c60a9
--- /dev/null
+++ "b/_Main/UI/MacroPlannerWebApp/Component_DialogZEDPPSPIR/Response_lstRight590_71_OnCheckedChanged\043338.def"
@@ -0,0 +1,19 @@
+Quintiq file version 2.0
+#parent: lstRight590_71
+Response OnCheckedChanged (
+ structured[Product_MP] checkeditems
+) id:Response_lstRight590_71_OnCheckedChanged_338
+{
+ #keys: '[730572.0.145570662]'
+ CanBindMultiple: false
+ DefinitionID: 'Responsedef_WebList_OnCheckedChanged'
+ QuillAction
+ {
+ Body:
+ [*
+ products := checkeditems.Copy();
+ dhProducts.Data( &products );
+ *]
+ GroupServerCalls: false
+ }
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_DialogZEDPPSPIR/Response_lstRight590_71_OnCheckedChanged.def b/_Main/UI/MacroPlannerWebApp/Component_DialogZEDPPSPIR/Response_lstRight590_71_OnCheckedChanged.def
new file mode 100644
index 0000000..2327d59
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_DialogZEDPPSPIR/Response_lstRight590_71_OnCheckedChanged.def
@@ -0,0 +1,16 @@
+Quintiq file version 2.0
+#parent: lstRight590_71
+Response OnCheckedChanged () id:Response_lstRight590_71_OnCheckedChanged
+{
+ #keys: '[730572.0.145570663]'
+ CanBindMultiple: false
+ DefinitionID: 'Responsedef_WebList_OnCheckedChanged'
+ QuillAction
+ {
+ Body:
+ [*
+ dhProducts.Data().Flush();
+ *]
+ GroupServerCalls: false
+ }
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_DialogZEDPPSPIR/Response_lstRight590_71_OnCreated.def b/_Main/UI/MacroPlannerWebApp/Component_DialogZEDPPSPIR/Response_lstRight590_71_OnCreated.def
new file mode 100644
index 0000000..18fbe6d
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_DialogZEDPPSPIR/Response_lstRight590_71_OnCreated.def
@@ -0,0 +1,28 @@
+Quintiq file version 2.0
+#parent: lstRight590_71
+Response OnCreated () id:Response_lstRight590_71_OnCreated
+{
+ #keys: '[730572.0.166121446]'
+ CanBindMultiple: false
+ DefinitionID: 'Responsedef_WebComponent_OnCreated'
+ QuillAction
+ {
+ Body:
+ [*
+ this.CheckAll();
+
+ apims64pr := selectset( InterfaceDataset, APIRMS64ProductRelation, tempAPIMS64PR,
+ ifexpr( ddslFactory.Text() = "All", true, tempAPIMS64PR.Factory() = ddslFactory.Text() ) );
+
+ pmps := selectset( MacroPlan, Product_MP, tempPMP,
+ tempPMP.IsLeaf() and
+ not exists( apims64pr, Elements, tempAPIMS64PR, tempAPIMS64PR.Product() = tempPMP.ID() )
+ );
+
+ traverse ( pmps, Elements, pmp ) {
+ this.UnCheckByKey( pmp.Key() );
+ }
+ *]
+ GroupServerCalls: false
+ }
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_DialogZEDPPSPIR/Response_pnlLeft_ddslFactory_OnSelectionChanged.def b/_Main/UI/MacroPlannerWebApp/Component_DialogZEDPPSPIR/Response_pnlLeft_ddslFactory_OnSelectionChanged.def
new file mode 100644
index 0000000..d5a2d35
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_DialogZEDPPSPIR/Response_pnlLeft_ddslFactory_OnSelectionChanged.def
@@ -0,0 +1,30 @@
+Quintiq file version 2.0
+#parent: pnlLeft/ddslFactory_424
+Response OnSelectionChanged () id:Response_pnlLeft_ddslFactory_OnSelectionChanged
+{
+ #keys: '[730572.0.167280424]'
+ CanBindMultiple: false
+ DefinitionID: 'Responsedef_WebDropDownStringList_OnSelectionChanged'
+ QuillAction
+ {
+ Body:
+ [*
+ lstRight590.CheckAll();
+
+ apims64pr := selectset( InterfaceDataset, APIRMS64ProductRelation, tempAPIMS64PR,
+ ifexpr( this.Text() = "All", true, tempAPIMS64PR.Factory() = this.Text() ) );
+
+ pmps := selectset( MacroPlan, Product_MP, tempPMP,
+ tempPMP.IsLeaf() and
+ not exists( apims64pr, Elements, tempAPIMS64PR, tempAPIMS64PR.Product() = tempPMP.ID() )
+ );
+
+ //info( pmps.Size() );
+
+ traverse ( pmps, Elements, pmp ) {
+ lstRight590.UnCheckByKey( pmp.Key() );
+ }
+ *]
+ GroupServerCalls: false
+ }
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormAPIRMS64ProductRelation/Component_List920.def b/_Main/UI/MacroPlannerWebApp/Component_FormAPIRMS64ProductRelation/Component_List920.def
new file mode 100644
index 0000000..bda7a09
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormAPIRMS64ProductRelation/Component_List920.def
@@ -0,0 +1,59 @@
+Quintiq file version 2.0
+Component List920
+{
+ #keys: '[730572.0.166102291]'
+ BaseType: 'WebList'
+ Children:
+ [
+ Component DataExtractor376
+ {
+ #keys: '[730572.0.166102292]'
+ BaseType: 'WebDataExtractor'
+ Properties:
+ [
+ DataType: 'InterfaceDataset'
+ Source: 'InterfaceDataset'
+ Taborder: 0
+ Transformation: 'APIRMS64ProductRelation'
+ ]
+ }
+ #child: listActionBarPage590
+ Component DataSetLevel195
+ {
+ #keys: '[730572.0.166102297]'
+ BaseType: 'WebDataSetLevel'
+ Children:
+ [
+ #child: listContextMenu519
+ ]
+ Properties:
+ [
+ Columns: '[{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"Factory","title":"Factory","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"Factory"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"Product","title":"Product","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"Product"}}]'
+ ContextMenu: 'listContextMenu519'
+ Taborder: 2
+ ]
+ }
+ ]
+ Properties:
+ [
+ Taborder: 0
+ ]
+ ResponseDefinitions:
+ [
+ DelegatedResponseDefinition OnClick id:Responsedef_List920_WebMenu_OnClick
+ {
+ #keys: '[730572.0.167350332]'
+ Initiator: 'WebMenu'
+ IsInherited: false
+ ResponseType: 'OnClick'
+ Arguments:
+ [
+ ResponseDefinitionArgument selection
+ {
+ #keys: '[207.0.11974633]'
+ Binding: 'this.Selection()'
+ }
+ ]
+ }
+ ]
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormAPIRMS64ProductRelation/Component_listActionBarPage590.def b/_Main/UI/MacroPlannerWebApp/Component_FormAPIRMS64ProductRelation/Component_listActionBarPage590.def
new file mode 100644
index 0000000..2536bc6
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormAPIRMS64ProductRelation/Component_listActionBarPage590.def
@@ -0,0 +1,10 @@
+Quintiq file version 2.0
+Component listActionBarPage590
+{
+ #keys: '[730572.0.166102294]'
+ BaseType: 'listActionBarPage'
+ Properties:
+ [
+ Taborder: 1
+ ]
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormAPIRMS64ProductRelation/Component_listContextMenu519.def b/_Main/UI/MacroPlannerWebApp/Component_FormAPIRMS64ProductRelation/Component_listContextMenu519.def
new file mode 100644
index 0000000..a08b591
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormAPIRMS64ProductRelation/Component_listContextMenu519.def
@@ -0,0 +1,24 @@
+Quintiq file version 2.0
+Component listContextMenu519
+{
+ #keys: '[730572.0.166102299]'
+ BaseType: 'listContextMenu'
+ Children:
+ [
+ Component mDelete
+ {
+ #keys: '[730572.0.167350446]'
+ BaseType: 'WebMenu'
+ Properties:
+ [
+ Image: 'DELETE'
+ Taborder: 3
+ Title: 'Delete'
+ ]
+ }
+ ]
+ Properties:
+ [
+ Taborder: 0
+ ]
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormAPIRMS64ProductRelation/Component_pContent.def b/_Main/UI/MacroPlannerWebApp/Component_FormAPIRMS64ProductRelation/Component_pContent.def
new file mode 100644
index 0000000..fcb87cc
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormAPIRMS64ProductRelation/Component_pContent.def
@@ -0,0 +1,14 @@
+Quintiq file version 2.0
+Component pContent
+{
+ #keys: '[730572.0.166102177]'
+ BaseType: 'WebPanel'
+ Children:
+ [
+ #child: List920
+ ]
+ Properties:
+ [
+ Taborder: 1
+ ]
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormAPIRMS64ProductRelation/Component_pHeader.def b/_Main/UI/MacroPlannerWebApp/Component_FormAPIRMS64ProductRelation/Component_pHeader.def
new file mode 100644
index 0000000..316e7d7
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormAPIRMS64ProductRelation/Component_pHeader.def
@@ -0,0 +1,47 @@
+Quintiq file version 2.0
+Component pHeader
+{
+ #keys: '[730572.0.166102162]'
+ BaseType: 'WebPanel'
+ Children:
+ [
+ Component ddslFactory
+ {
+ #keys: '[730572.0.166102447]'
+ BaseType: 'WebDropDownStringList'
+ Properties:
+ [
+ Label: '宸ュ巶'
+ Strings: 'VWED CC;VWED DL'
+ Taborder: 0
+ ]
+ }
+ Component ddslProduct
+ {
+ #keys: '[730572.0.166102507]'
+ BaseType: 'WebDropDownStringList'
+ Properties:
+ [
+ Label: '浜у搧'
+ Taborder: 1
+ ]
+ }
+ Component bCreate
+ {
+ #keys: '[730572.0.167350289]'
+ BaseType: 'WebButton'
+ Properties:
+ [
+ Image: 'ADD2'
+ Taborder: 2
+ ]
+ }
+ ]
+ Properties:
+ [
+ Border: true
+ FixedSize: true
+ Orientation: 'horizontal'
+ Taborder: 0
+ ]
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormAPIRMS64ProductRelation/Response_List920_mDelete_OnClick.def b/_Main/UI/MacroPlannerWebApp/Component_FormAPIRMS64ProductRelation/Response_List920_mDelete_OnClick.def
new file mode 100644
index 0000000..4377551
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormAPIRMS64ProductRelation/Response_List920_mDelete_OnClick.def
@@ -0,0 +1,18 @@
+Quintiq file version 2.0
+#parent: List920
+Response OnClick (
+ APIRMS64ProductRelation selection
+) id:Response_List920_mDelete_OnClick
+{
+ #keys: '[730572.0.167350349]'
+ DefinitionID => /List920/Responsedef_List920_WebMenu_OnClick
+ Initiator: 'mDelete'
+ QuillAction
+ {
+ Body:
+ [*
+ selection.Delete();
+ *]
+ GroupServerCalls: false
+ }
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormAPIRMS64ProductRelation/Response_pHeader_bCreate_OnClick.def b/_Main/UI/MacroPlannerWebApp/Component_FormAPIRMS64ProductRelation/Response_pHeader_bCreate_OnClick.def
new file mode 100644
index 0000000..a41b389
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormAPIRMS64ProductRelation/Response_pHeader_bCreate_OnClick.def
@@ -0,0 +1,18 @@
+Quintiq file version 2.0
+#parent: pHeader/bCreate
+Response OnClick () id:Response_pHeader_bCreate_OnClick
+{
+ #keys: '[730572.0.167350572]'
+ CanBindMultiple: false
+ DefinitionID: 'Responsedef_WebButton_OnClick'
+ QuillAction
+ {
+ Body:
+ [*
+ InterfaceDataset.APIRMS64ProductRelation( relnew,
+ Factory := ddslFactory.Text(),
+ Product := ddslProduct.Text() );
+ *]
+ GroupServerCalls: false
+ }
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormAPIRMS64ProductRelation/Response_pHeader_ddslProduct_OnCreated.def b/_Main/UI/MacroPlannerWebApp/Component_FormAPIRMS64ProductRelation/Response_pHeader_ddslProduct_OnCreated.def
new file mode 100644
index 0000000..d7b04fb
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormAPIRMS64ProductRelation/Response_pHeader_ddslProduct_OnCreated.def
@@ -0,0 +1,18 @@
+Quintiq file version 2.0
+#parent: pHeader/ddslProduct
+Response OnCreated () id:Response_pHeader_ddslProduct_OnCreated
+{
+ #keys: '[730572.0.167390234]'
+ CanBindMultiple: false
+ DefinitionID: 'Responsedef_WebComponent_OnCreated'
+ QuillAction
+ {
+ Body:
+ [*
+ ids := selectuniquevalues( MacroPlan, Product_MP, tempPMP, tempPMP.IsLeaf(), tempPMP.ID() );
+
+ this.Strings( ids.Concatenate( ";" ) );
+ *]
+ GroupServerCalls: false
+ }
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormAPIRMS64ProductRelation/_ROOT_Component_FormAPIRMS64ProductRelation.def b/_Main/UI/MacroPlannerWebApp/Component_FormAPIRMS64ProductRelation/_ROOT_Component_FormAPIRMS64ProductRelation.def
new file mode 100644
index 0000000..8b92b1c
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormAPIRMS64ProductRelation/_ROOT_Component_FormAPIRMS64ProductRelation.def
@@ -0,0 +1,13 @@
+Quintiq file version 2.0
+#root
+#parent: MacroPlannerWebApp
+OrphanComponent FormAPIRMS64ProductRelation
+{
+ #keys: '[730572.0.166101908]'
+ BaseType: 'WebForm'
+ Children:
+ [
+ #child: pHeader
+ #child: pContent
+ ]
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormActualDailyProduction/Component_ListActualDailyProduction.def b/_Main/UI/MacroPlannerWebApp/Component_FormActualDailyProduction/Component_ListActualDailyProduction.def
index d2910b8..7b2123b 100644
--- a/_Main/UI/MacroPlannerWebApp/Component_FormActualDailyProduction/Component_ListActualDailyProduction.def
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormActualDailyProduction/Component_ListActualDailyProduction.def
@@ -11,7 +11,7 @@
BaseType: 'WebDataExtractor'
Properties:
[
- DataType: 'external[Archive]'
+ DataType: 'Archive'
Source: 'Archive'
Taborder: 0
Transformation: 'ActualDailyProductionData'
diff --git "a/_Main/UI/MacroPlannerWebApp/Component_FormAssemblyOnlinePlanVersion/Component_MatrixEditorTable\043384.def" "b/_Main/UI/MacroPlannerWebApp/Component_FormAssemblyOnlinePlanVersion/Component_MatrixEditorTable\043384.def"
index 37837b4..901e355 100644
--- "a/_Main/UI/MacroPlannerWebApp/Component_FormAssemblyOnlinePlanVersion/Component_MatrixEditorTable\043384.def"
+++ "b/_Main/UI/MacroPlannerWebApp/Component_FormAssemblyOnlinePlanVersion/Component_MatrixEditorTable\043384.def"
@@ -17,10 +17,10 @@
BaseType: 'WebDataExtractor'
Properties:
[
- DataType: 'InterfaceDataset'
- Source: 'InterfaceDataset'
+ DataType: 'structured[AssemblyOnlinePlanVersionRow]'
+ Source: 'dhRows'
Taborder: 0
- Transformation: 'AssemblyOnlinePlanVersion.Row.Cell'
+ Transformation: 'Elements.Cell'
]
}
]
@@ -44,12 +44,10 @@
BaseType: 'WebDataExtractor'
Properties:
[
- DataType: 'InterfaceDataset'
- FilterArguments: 'units:QLibMacroPlannerWebUI::ApplicationMacroPlanner.DataHolderUnit;products:QLibMacroPlannerWebUI::ApplicationMacroPlanner.DataHolderProduct'
- FixedFilter: '( units.Size() = 0 or exists( units, Elements, unit, unit.ID() = object.ProductionLine() ) ) and ( products.Size() = 0 or exists( products, Elements, product, product.ID() = object.Name() ) )'
- Source: 'InterfaceDataset'
+ DataType: 'structured[AssemblyOnlinePlanVersionRow]'
+ Source: 'dhRows'
Taborder: 0
- Transformation: 'AssemblyOnlinePlanVersion.Row'
+ Transformation: 'Elements'
]
}
]
@@ -72,13 +70,13 @@
BaseType: 'WebDataExtractor'
Properties:
[
- DataType: 'InterfaceDataset'
+ DataType: 'structured[AssemblyOnlinePlanVersionRow]'
Description: '( search.StartDate().IsMinInfinity() or object.StartDate() >= search.StartDate() ) and ( search.EndDate().IsMaxInfinity() or object.StartDate() <= search.EndDate() )'
FilterArguments: 'search:QMacroPlanner::FormAssemblyOnlinePlanVersion.dhSearch'
FixedFilter: 'object.Filter( search )'
- Source: 'InterfaceDataset'
+ Source: 'dhRows'
Taborder: 0
- Transformation: 'AssemblyOnlinePlanVersion.Column'
+ Transformation: 'Elements.Cell.Column'
]
}
]
diff --git "a/_Main/UI/MacroPlannerWebApp/Component_FormAssemblyOnlinePlanVersion/Component_PanelTable\043273.def" "b/_Main/UI/MacroPlannerWebApp/Component_FormAssemblyOnlinePlanVersion/Component_PanelTable\043273.def"
index 3db3b8c..424feff 100644
--- "a/_Main/UI/MacroPlannerWebApp/Component_FormAssemblyOnlinePlanVersion/Component_PanelTable\043273.def"
+++ "b/_Main/UI/MacroPlannerWebApp/Component_FormAssemblyOnlinePlanVersion/Component_PanelTable\043273.def"
@@ -6,6 +6,33 @@
Children:
[
#child: MatrixEditorTable_384
+ Component dhRows
+ {
+ #keys: '[730572.0.144480758]'
+ BaseType: 'WebDataHolder'
+ Databinding: 'structured[AssemblyOnlinePlanVersionRow]*'
+ Children:
+ [
+ Component deRows
+ {
+ #keys: '[730572.0.144480804]'
+ BaseType: 'WebDataExtractor'
+ Properties:
+ [
+ DataType: 'InterfaceDataset'
+ FilterArguments: 'units:QLibMacroPlannerWebUI::ApplicationMacroPlanner.DataHolderUnit;products:QLibMacroPlannerWebUI::ApplicationMacroPlanner.DataHolderProduct'
+ FixedFilter: 'not object.Version().IsShow() and ( units.Size() = 0 or exists( units, Elements, unit, unit.ID() = object.ProductionLine() ) ) and ( products.Size() = 0 or exists( products, Elements, product, product.ID() = object.Name() ) )'
+ Source: 'InterfaceDataset'
+ Taborder: 0
+ Transformation: 'AssemblyOnlinePlanVersion.Row'
+ ]
+ }
+ ]
+ Properties:
+ [
+ Taborder: 1
+ ]
+ }
]
Properties:
[
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormInventoryInterfaceData/Response_pHeader_bFilter_OnClick.def b/_Main/UI/MacroPlannerWebApp/Component_FormInventoryInterfaceData/Response_pHeader_bFilter_OnClick.def
index a36cf44..4af384d 100644
--- a/_Main/UI/MacroPlannerWebApp/Component_FormInventoryInterfaceData/Response_pHeader_bFilter_OnClick.def
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormInventoryInterfaceData/Response_pHeader_bFilter_OnClick.def
@@ -9,6 +9,9 @@
{
Body:
[*
+ // 鏇存柊搴撳瓨
+ InventoryInterfaceData::UpdateInventoryQuantity( InterfaceDataset, dsStart.Date(), dsEnd.Date() );
+
dhStartDate.Data( dsStart.Date().Format( "YM2D2" ) )
dhEndDate.Data( dsEnd.Date().Format( "YM2D2" ) );
*]
diff --git "a/_Main/UI/MacroPlannerWebApp/Component_FormInventoryPlanArchive/Component_MatrixEditorTable\043791.def" "b/_Main/UI/MacroPlannerWebApp/Component_FormInventoryPlanArchive/Component_MatrixEditorTable\043791.def"
index bb0a572..fb2dbde 100644
--- "a/_Main/UI/MacroPlannerWebApp/Component_FormInventoryPlanArchive/Component_MatrixEditorTable\043791.def"
+++ "b/_Main/UI/MacroPlannerWebApp/Component_FormInventoryPlanArchive/Component_MatrixEditorTable\043791.def"
@@ -17,10 +17,10 @@
BaseType: 'WebDataExtractor'
Properties:
[
- DataType: 'InterfaceDataset'
- Source: 'InterfaceDataset'
+ DataType: 'structured[InventoryPlanArchiveRow]'
+ Source: 'dhRows'
Taborder: 0
- Transformation: 'InventoryPlanArchiveVersion.Row.Cell'
+ Transformation: 'Elements.Cell'
]
}
]
@@ -44,12 +44,10 @@
BaseType: 'WebDataExtractor'
Properties:
[
- DataType: 'InterfaceDataset'
- FilterArguments: 'units:QLibMacroPlannerWebUI::ApplicationMacroPlanner.DataHolderUnit;products:QLibMacroPlannerWebUI::ApplicationMacroPlanner.DataHolderProduct'
- FixedFilter: '( units.Size() = 0 or exists( units, Elements, unit, unit.ID() = object.Unit() ) ) and ( products.Size() = 0 or exists( products, Elements, product, product.ID() = object.Name() ) )'
- Source: 'InterfaceDataset'
+ DataType: 'structured[InventoryPlanArchiveRow]'
+ Source: 'dhRows'
Taborder: 0
- Transformation: 'InventoryPlanArchiveVersion.Row'
+ Transformation: 'Elements'
]
}
]
@@ -72,13 +70,13 @@
BaseType: 'WebDataExtractor'
Properties:
[
- DataType: 'InterfaceDataset'
+ DataType: 'structured[InventoryPlanArchiveRow]'
Description: '( search.StartDate().IsMinInfinity() or object.StartDate() >= search.StartDate() ) and ( search.EndDate().IsMaxInfinity() or object.StartDate() <= search.EndDate() )'
FilterArguments: 'search:QMacroPlanner::FormInventoryPlanArchive.dhSearch'
FixedFilter: 'object.Filter( search )'
- Source: 'InterfaceDataset'
+ Source: 'dhRows'
Taborder: 0
- Transformation: 'InventoryPlanArchiveVersion.Column'
+ Transformation: 'Elements.Cell.Column'
]
}
]
diff --git "a/_Main/UI/MacroPlannerWebApp/Component_FormInventoryPlanArchive/Component_PanelPeriod\04371.def" "b/_Main/UI/MacroPlannerWebApp/Component_FormInventoryPlanArchive/Component_PanelPeriod\04371.def"
index f1e7c43..8bc5af4 100644
--- "a/_Main/UI/MacroPlannerWebApp/Component_FormInventoryPlanArchive/Component_PanelPeriod\04371.def"
+++ "b/_Main/UI/MacroPlannerWebApp/Component_FormInventoryPlanArchive/Component_PanelPeriod\04371.def"
@@ -26,6 +26,17 @@
Taborder: 1
]
}
+ Component bSynchronizeActualInventory
+ {
+ #keys: '[730572.0.167441650]'
+ BaseType: 'WebButton'
+ Properties:
+ [
+ Label: '鍚屾瀹為檯搴撳瓨'
+ Taborder: 2
+ Visible: false
+ ]
+ }
]
Properties:
[
diff --git "a/_Main/UI/MacroPlannerWebApp/Component_FormInventoryPlanArchive/Component_PanelTable\043881.def" "b/_Main/UI/MacroPlannerWebApp/Component_FormInventoryPlanArchive/Component_PanelTable\043881.def"
index e265e3f..c75cd20 100644
--- "a/_Main/UI/MacroPlannerWebApp/Component_FormInventoryPlanArchive/Component_PanelTable\043881.def"
+++ "b/_Main/UI/MacroPlannerWebApp/Component_FormInventoryPlanArchive/Component_PanelTable\043881.def"
@@ -6,6 +6,33 @@
Children:
[
#child: MatrixEditorTable_791
+ Component dhRows
+ {
+ #keys: '[730572.0.172650978]'
+ BaseType: 'WebDataHolder'
+ Databinding: 'structured[InventoryPlanArchiveRow]*'
+ Children:
+ [
+ Component deRows
+ {
+ #keys: '[730572.0.172651057]'
+ BaseType: 'WebDataExtractor'
+ Properties:
+ [
+ DataType: 'InterfaceDataset'
+ FilterArguments: 'units:QLibMacroPlannerWebUI::ApplicationMacroPlanner.DataHolderUnit;products:QLibMacroPlannerWebUI::ApplicationMacroPlanner.DataHolderProduct'
+ FixedFilter: 'not object.Version().IsShow() and ( units.Size() = 0 or exists( units, Elements, unit, unit.ID() = object.Unit() ) ) and ( products.Size() = 0 or exists( products, Elements, product, product.ID() = object.Name() ) )'
+ Source: 'InterfaceDataset'
+ Taborder: 0
+ Transformation: 'InventoryPlanArchiveVersion.Row'
+ ]
+ }
+ ]
+ Properties:
+ [
+ Taborder: 1
+ ]
+ }
]
Properties:
[
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormInventoryPlanArchive/Response_PanelPeriod_71_bSynchronizeActualInventory_OnClick.def b/_Main/UI/MacroPlannerWebApp/Component_FormInventoryPlanArchive/Response_PanelPeriod_71_bSynchronizeActualInventory_OnClick.def
new file mode 100644
index 0000000..2b84b3e
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormInventoryPlanArchive/Response_PanelPeriod_71_bSynchronizeActualInventory_OnClick.def
@@ -0,0 +1,18 @@
+Quintiq file version 2.0
+#parent: PanelPeriod_71/bSynchronizeActualInventory
+Response OnClick () id:Response_PanelPeriod_71_bSynchronizeActualInventory_OnClick
+{
+ #keys: '[730572.0.167291731]'
+ CanBindMultiple: false
+ DefinitionID: 'Responsedef_WebButton_OnClick'
+ QuillAction
+ {
+ Body:
+ [*
+ InventoryPlanArchiveCell::SynchronizeActualInventory( InterfaceDataset, Archive );
+
+ WebMessageBox::Success( Translations::A_VWED_Success(), true );
+ *]
+ GroupServerCalls: false
+ }
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormInventoryPointSelection/Component_ListInventoryPointSelection.def b/_Main/UI/MacroPlannerWebApp/Component_FormInventoryPointSelection/Component_ListInventoryPointSelection.def
index 6cb9c14..f3d542d 100644
--- a/_Main/UI/MacroPlannerWebApp/Component_FormInventoryPointSelection/Component_ListInventoryPointSelection.def
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormInventoryPointSelection/Component_ListInventoryPointSelection.def
@@ -29,7 +29,7 @@
]
Properties:
[
- Columns: '[{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"ImgIsIncluded","title":"ImgIsIncluded","subtotals":"","tooltip":"","width":-1,"display":"shown","attribute":"ImgIsIncluded"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"ProductID","title":"ProductID","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"ProductID"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"InventoryPoint","title":"InventoryPoint","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"InventoryPoint"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"StockpoingPoint","title":"StockpoingPoint","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"StockpoingPoint"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"Quantity","title":"Quantity","subtotals":"","tooltip":"","width":-1,"display":"shown","attribute":"Quantity"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"Fac","title":"Fac","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"Fac"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"Dtype","title":"Dtype","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"Dtype"}}]'
+ Columns: '[{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"ImgIsIncluded","title":"ImgIsIncluded","subtotals":"","tooltip":"","width":-1,"display":"shown","attribute":"ImgIsIncluded"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"ProductID","title":"ProductID","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"ProductID"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"InventoryPoint","title":"InventoryPoint","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"InventoryPoint"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"StockpoingPoint","title":"StockingPoint","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"StockpoingPoint"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"Quantity","title":"Quantity","subtotals":"","tooltip":"","width":-1,"display":"shown","attribute":"Quantity"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"Fac","title":"Fac","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"Fac"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"Dtype","title":"Dtype","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"Dtype"}}]'
ContextMenu: 'listContextMenuInventoryPointSelection'
Taborder: 2
]
diff --git "a/_Main/UI/MacroPlannerWebApp/Component_FormNewAssemblyOnlinePlan/Component_pHeader\043136.def" "b/_Main/UI/MacroPlannerWebApp/Component_FormNewAssemblyOnlinePlan/Component_pHeader\043136.def"
index 4c7dcdd..6c04f80 100644
--- "a/_Main/UI/MacroPlannerWebApp/Component_FormNewAssemblyOnlinePlan/Component_pHeader\043136.def"
+++ "b/_Main/UI/MacroPlannerWebApp/Component_FormNewAssemblyOnlinePlan/Component_pHeader\043136.def"
@@ -35,6 +35,16 @@
Taborder: 0
]
}
+ Component bDetectingNegativeValues id:bDetectingNegativeValues_791
+ {
+ #keys: '[730572.0.159950553]'
+ BaseType: 'WebButton'
+ Properties:
+ [
+ Label: 'Detecting negative values'
+ Taborder: 3
+ ]
+ }
]
Properties:
[
diff --git "a/_Main/UI/MacroPlannerWebApp/Component_FormNewAssemblyOnlinePlan/Response_pHeader_136_bDetectingNegativeValues_OnClick\043812.def" "b/_Main/UI/MacroPlannerWebApp/Component_FormNewAssemblyOnlinePlan/Response_pHeader_136_bDetectingNegativeValues_OnClick\043812.def"
new file mode 100644
index 0000000..1d3bbbf
--- /dev/null
+++ "b/_Main/UI/MacroPlannerWebApp/Component_FormNewAssemblyOnlinePlan/Response_pHeader_136_bDetectingNegativeValues_OnClick\043812.def"
@@ -0,0 +1,18 @@
+Quintiq file version 2.0
+#parent: pHeader_136/bDetectingNegativeValues_791
+Response OnClick () id:Response_pHeader_bDetectingNegativeValues_OnClick_812
+{
+ #keys: '[730572.0.159950552]'
+ CanBindMultiple: false
+ DefinitionID: 'Responsedef_WebButton_OnClick'
+ QuillAction
+ {
+ Body:
+ [*
+ res := NewAssemblyOnlinePlanCell::DetectingNegativeValues( MacroPlan );
+
+ WebMessageBox::Success( res, true );
+ *]
+ GroupServerCalls: false
+ }
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormNewOfflinePlan/Component_pHeader.def b/_Main/UI/MacroPlannerWebApp/Component_FormNewOfflinePlan/Component_pHeader.def
index 2858b6f..77cee8c 100644
--- a/_Main/UI/MacroPlannerWebApp/Component_FormNewOfflinePlan/Component_pHeader.def
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormNewOfflinePlan/Component_pHeader.def
@@ -75,6 +75,16 @@
Taborder: 6
]
}
+ Component bDetectingNegativeValues
+ {
+ #keys: '[730572.0.159670034]'
+ BaseType: 'WebButton'
+ Properties:
+ [
+ Label: 'Detecting negative values'
+ Taborder: 7
+ ]
+ }
]
Properties:
[
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormNewOfflinePlan/Response_pHeader_bDetectingNegativeValues_OnClick.def b/_Main/UI/MacroPlannerWebApp/Component_FormNewOfflinePlan/Response_pHeader_bDetectingNegativeValues_OnClick.def
new file mode 100644
index 0000000..97ecb8f
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormNewOfflinePlan/Response_pHeader_bDetectingNegativeValues_OnClick.def
@@ -0,0 +1,18 @@
+Quintiq file version 2.0
+#parent: pHeader/bDetectingNegativeValues
+Response OnClick () id:Response_pHeader_bDetectingNegativeValues_OnClick
+{
+ #keys: '[730572.0.159870568]'
+ CanBindMultiple: false
+ DefinitionID: 'Responsedef_WebButton_OnClick'
+ QuillAction
+ {
+ Body:
+ [*
+ res := NewOfflinePlanCell::DetectingNegativeValues( MacroPlan );
+
+ WebMessageBox::Success( res, true );
+ *]
+ GroupServerCalls: false
+ }
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormOfflinePlanArchive/Component_PanelPeriod.def b/_Main/UI/MacroPlannerWebApp/Component_FormOfflinePlanArchive/Component_PanelPeriod.def
index dda4554..ff2928f 100644
--- a/_Main/UI/MacroPlannerWebApp/Component_FormOfflinePlanArchive/Component_PanelPeriod.def
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormOfflinePlanArchive/Component_PanelPeriod.def
@@ -26,6 +26,17 @@
Taborder: 1
]
}
+ Component ButtonPeriod
+ {
+ #keys: '[730572.0.144413017]'
+ BaseType: 'WebButton'
+ Properties:
+ [
+ Image: 'ARROW_CIRCLE2'
+ Label: '鍚屾瀹為檯浜ч噺'
+ Taborder: 2
+ ]
+ }
]
Properties:
[
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormOfflinePlanArchive/Component_PanelTable.def b/_Main/UI/MacroPlannerWebApp/Component_FormOfflinePlanArchive/Component_PanelTable.def
index 8388d74..7a23f47 100644
--- a/_Main/UI/MacroPlannerWebApp/Component_FormOfflinePlanArchive/Component_PanelTable.def
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormOfflinePlanArchive/Component_PanelTable.def
@@ -21,7 +21,7 @@
[
DataType: 'InterfaceDataset'
FilterArguments: 'units:QLibMacroPlannerWebUI::ApplicationMacroPlanner.DataHolderUnit;products:QLibMacroPlannerWebUI::ApplicationMacroPlanner.DataHolderProduct'
- FixedFilter: '( units.Size() = 0 or exists( units, Elements, unit, unit.ID() = object.ProductionLine() ) ) and ( products.Size() = 0 or exists( products, Elements, product, product.ID() = object.Name() ) )'
+ FixedFilter: 'not object.Version().IsShow() and ( units.Size() = 0 or exists( units, Elements, unit, unit.ID() = object.ProductionLine() ) ) and ( products.Size() = 0 or exists( products, Elements, product, product.ID() = object.Name() ) )'
Source: 'InterfaceDataset'
Taborder: 0
Transformation: 'OfflinePlanArchiveVersion.Row'
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormOfflinePlanArchive/Response_PanelPeriod_ButtonPeriod_OnClick.def b/_Main/UI/MacroPlannerWebApp/Component_FormOfflinePlanArchive/Response_PanelPeriod_ButtonPeriod_OnClick.def
new file mode 100644
index 0000000..c3d67a9
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormOfflinePlanArchive/Response_PanelPeriod_ButtonPeriod_OnClick.def
@@ -0,0 +1,18 @@
+Quintiq file version 2.0
+#parent: PanelPeriod/ButtonPeriod
+Response OnClick () id:Response_PanelPeriod_ButtonPeriod_OnClick
+{
+ #keys: '[730572.0.156334897]'
+ CanBindMultiple: false
+ DefinitionID: 'Responsedef_WebButton_OnClick'
+ QuillAction
+ {
+ Body:
+ [*
+ OfflinePlanArchiveCell::SynchronizeActualProduction( InterfaceDataset, Archive );
+
+ WebMessageBox::Success( Translations::A_VWED_Success() );
+ *]
+ GroupServerCalls: false
+ }
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormSAP_PIR/Response_List391_bPush_OnClick.def b/_Main/UI/MacroPlannerWebApp/Component_FormSAP_PIR/Response_List391_bPush_OnClick.def
index 4dbe266..f379cbc 100644
--- a/_Main/UI/MacroPlannerWebApp/Component_FormSAP_PIR/Response_List391_bPush_OnClick.def
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormSAP_PIR/Response_List391_bPush_OnClick.def
@@ -12,7 +12,7 @@
{
Body:
[*
- AOnlineAndMOfflinePlanPIR::Publish( InterfaceDataset, selection.InterfaceLoginfo() );
+ //AOnlineAndMOfflinePlanPIR::Publish( InterfaceDataset, selection.InterfaceLoginfo() );
*]
GroupServerCalls: false
}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormTransferPlan/Component_pHeader.def b/_Main/UI/MacroPlannerWebApp/Component_FormTransferPlan/Component_pHeader.def
index 74595a4..1bdd3af 100644
--- a/_Main/UI/MacroPlannerWebApp/Component_FormTransferPlan/Component_pHeader.def
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormTransferPlan/Component_pHeader.def
@@ -35,6 +35,16 @@
Taborder: 2
]
}
+ Component bWriteBackTheTransferPlan
+ {
+ #keys: '[730572.0.154074820]'
+ BaseType: 'WebButton'
+ Properties:
+ [
+ Label: 'Write back'
+ Taborder: 3
+ ]
+ }
]
Properties:
[
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormTransferPlan/Response_pHeader_bWriteBackTheTransferPlan_OnClick.def b/_Main/UI/MacroPlannerWebApp/Component_FormTransferPlan/Response_pHeader_bWriteBackTheTransferPlan_OnClick.def
new file mode 100644
index 0000000..7b7c6b9
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormTransferPlan/Response_pHeader_bWriteBackTheTransferPlan_OnClick.def
@@ -0,0 +1,22 @@
+Quintiq file version 2.0
+#parent: pHeader/bWriteBackTheTransferPlan
+Response OnClick () id:Response_pHeader_bWriteBackTheTransferPlan_OnClick
+{
+ #keys: '[730572.0.154074898]'
+ CanBindMultiple: false
+ DefinitionID: 'Responsedef_WebButton_OnClick'
+ Precondition:
+ [*
+ return not isnull( MacroPlan );
+ *]
+ QuillAction
+ {
+ Body:
+ [*
+ TransferPlanCell::WriteBackTheTransferPlan( MacroPlan, DataHolderCheckedProduct.Data() );
+
+ WebMessageBox::Success( Translations::A_VWED_Success() );
+ *]
+ GroupServerCalls: false
+ }
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Views/APIMS64ProductRelation.vw b/_Main/UI/MacroPlannerWebApp/Views/APIMS64ProductRelation.vw
new file mode 100644
index 0000000..5a5187c
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Views/APIMS64ProductRelation.vw
@@ -0,0 +1,307 @@
+Quintiq file version 2.0
+{
+ viewcontents
+ {
+ forms
+ {
+ form_FormAPIRMS64ProductRelation
+ {
+ title: 'QMacroPlanner::FormAPIRMS64ProductRelation'
+ shown: true
+ componentID: 'QMacroPlanner::FormAPIRMS64ProductRelation'
+ layout
+ {
+ mode: 'open'
+ rowPosition: 1
+ rowSpan: 13
+ columnPosition: 1
+ columnSpan: 12
+ }
+ components
+ {
+ FormAPIRMS64ProductRelation_pHeader
+ {
+ sizeRatio: 1
+ }
+ FormAPIRMS64ProductRelation_pContent
+ {
+ sizeRatio: 1
+ }
+ FormAPIRMS64ProductRelation_List920
+ {
+ }
+ FormAPIRMS64ProductRelation_DataSetLevel195
+ {
+ groupDepth: -1
+ column_Factory
+ {
+ columnId: 'Factory'
+ dataPath: 'Factory'
+ dataType: 'string'
+ index: 0
+ subtotals: ''
+ width: 252
+ }
+ column_Product
+ {
+ columnId: 'Product'
+ dataPath: 'Product'
+ dataType: 'string'
+ index: 1
+ subtotals: ''
+ width: 239
+ }
+ }
+ }
+ }
+ form_FormOptimizerPuzzles
+ {
+ title: 'Optimizer Puzzles'
+ shown: false
+ componentID: 'FormOptimizerPuzzles'
+ layout
+ {
+ mode: 'dockright'
+ index: 0
+ }
+ components
+ {
+ FormOptimizerPuzzles_ListOptimizerPuzzles
+ {
+ }
+ FormOptimizerPuzzles_DataSetLevelOptimizerPuzzles
+ {
+ groupDepth: -1
+ column_All_constraints
+ {
+ columnId: 'All constraints'
+ dataPath: 'All constraints'
+ dataType: 'string'
+ title: 'All constraints'
+ index: 0
+ subtotals: ''
+ width: 32
+ }
+ column_Name
+ {
+ columnId: 'Name'
+ dataPath: 'Name'
+ dataType: 'string'
+ title: 'Name'
+ index: 1
+ subtotals: ''
+ width: 109
+ }
+ column_Description
+ {
+ columnId: 'Description'
+ dataPath: 'Description'
+ dataType: 'string'
+ title: 'Description'
+ index: 2
+ subtotals: ''
+ width: 207
+ }
+ }
+ }
+ }
+ form_FormSanityCheck
+ {
+ title: 'Sanity Check'
+ shown: false
+ componentID: 'FormSanityCheck'
+ layout
+ {
+ mode: 'dockright'
+ index: 1
+ }
+ components
+ {
+ FormSanityCheck_PanelSanityCheckToolbar
+ {
+ sizeRatio: 1
+ }
+ FormSanityCheck_PanelSanityCheckContent
+ {
+ sizeRatio: 1
+ }
+ FormSanityCheck_PanelSanityCheckGroup
+ {
+ sizeRatio: 4
+ }
+ FormSanityCheck_ListSanityCheckGroup
+ {
+ }
+ FormSanityCheck_DataSetLevelSanityCheckGroup
+ {
+ groupDepth: -1
+ sort: 'DESC:IsShown,DESC:SanityCheckHighestCategory,DESC:_Expr3'
+ column_All_constraints
+ {
+ columnId: 'All constraints'
+ dataPath: 'All constraints'
+ dataType: 'string'
+ index: 0
+ subtotals: ''
+ width: 31
+ }
+ column_Show
+ {
+ columnId: 'Show'
+ dataPath: 'Show'
+ dataType: 'string'
+ index: 1
+ subtotals: ''
+ width: 31
+ }
+ column_Category
+ {
+ columnId: 'Category'
+ dataPath: 'Category'
+ dataType: 'string'
+ index: 2
+ subtotals: ''
+ width: 31
+ }
+ column_Group
+ {
+ columnId: 'Group'
+ dataPath: 'Group'
+ dataType: 'string'
+ index: 3
+ subtotals: ''
+ width: 235
+ }
+ column__Expr3
+ {
+ columnId: '_Expr3'
+ dataPath: '_Expr3'
+ dataType: 'number'
+ index: 4
+ subtotals: ''
+ width: 85
+ }
+ }
+ FormSanityCheck_PanelSanityCheckMessage
+ {
+ sizeRatio: 5
+ }
+ FormSanityCheck_ListSanityCheckMessage
+ {
+ }
+ FormSanityCheck_DataSetLevelSanityCheckMessage
+ {
+ groupDepth: -1
+ sort: 'DESC:IsShown,SanityCheckGroup.Type,SanityCheckGroup.Group,Description'
+ column_All_constraints
+ {
+ columnId: 'All constraints'
+ dataPath: 'All constraints'
+ dataType: 'string'
+ index: 0
+ subtotals: ''
+ width: 31
+ }
+ column_Show
+ {
+ columnId: 'Show'
+ dataPath: 'Show'
+ dataType: 'string'
+ index: 1
+ subtotals: ''
+ width: 31
+ }
+ column_Category
+ {
+ columnId: 'Category'
+ dataPath: 'Category'
+ dataType: 'string'
+ index: 2
+ subtotals: ''
+ width: 31
+ }
+ column_Messages
+ {
+ columnId: 'Messages'
+ dataPath: 'Messages'
+ dataType: 'string'
+ index: 3
+ subtotals: ''
+ width: 31
+ }
+ column_Description
+ {
+ columnId: 'Description'
+ dataPath: 'Description'
+ dataType: 'string'
+ index: 4
+ subtotals: ''
+ width: 505
+ }
+ }
+ }
+ }
+ form_FormOptimizerStrategiesSlideIn
+ {
+ title: 'Optimizer Strategies'
+ shown: true
+ componentID: 'FormOptimizerStrategiesSlideIn'
+ layout
+ {
+ mode: 'dockright'
+ index: 2
+ }
+ components
+ {
+ FormOptimizerStrategiesSlideIn_ListOptimizerStrategiesSlideIn
+ {
+ }
+ FormOptimizerStrategiesSlideIn_DataSetLevelOptimizerStrategiesSlideIn
+ {
+ groupDepth: -1
+ column_All_constraints
+ {
+ columnId: 'All constraints'
+ dataPath: 'All constraints'
+ dataType: 'string'
+ index: 0
+ subtotals: ''
+ width: 32
+ }
+ column_ImgIsValid
+ {
+ columnId: 'ImgIsValid'
+ dataPath: 'ImgIsValid'
+ dataType: 'string'
+ index: 1
+ subtotals: ''
+ width: 32
+ }
+ column_Name
+ {
+ columnId: 'Name'
+ dataPath: 'Name'
+ dataType: 'string'
+ index: 2
+ subtotals: ''
+ width: 270
+ }
+ }
+ }
+ }
+ }
+ userconfigurableinformation
+ {
+ }
+ page: ''
+ group: ''
+ index: 0
+ image: 'BEAR'
+ description: ''
+ }
+ formatversion: 2
+ id: 'APIMS64ProductRelation'
+ name: 'APIMS64ProductRelation'
+ isglobal: false
+ isroot: true
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Views/Inventory_plan_archive_report.vw b/_Main/UI/MacroPlannerWebApp/Views/Inventory_plan_archive_report.vw
index a8856d6..54be4ee 100644
--- a/_Main/UI/MacroPlannerWebApp/Views/Inventory_plan_archive_report.vw
+++ b/_Main/UI/MacroPlannerWebApp/Views/Inventory_plan_archive_report.vw
@@ -23,11 +23,19 @@
{
sizeRatio: 1
}
+ FormInventoryPlanArchive_PanelRowSearch
+ {
+ sizeRatio: 1
+ }
FormInventoryPlanArchive_PanelUnit
{
sizeRatio: 1
}
FormInventoryPlanArchive_PanelProduct
+ {
+ sizeRatio: 1
+ }
+ FormInventoryPlanArchive_PanelColumnSearch
{
sizeRatio: 1
}
@@ -49,13 +57,56 @@
}
FormInventoryPlanArchive_MatrixEditorTable
{
- totalHeaderWidth: 200
+ gridColor: '#c4c4c4'
+ totalHeaderWidth: 378
attributeHeaderWidthRatio: 0.6
nameHeaderWidthRatio: 0.4
columnWidth: 100
horizontalGrid: true
verticalGrid: true
- gridColor: '#c4c4c4'
+ backendState
+ {
+ componentId: 'QMacroPlanner::FormInventoryPlanArchive.MatrixEditorTable'
+ state
+ {
+ cells
+ {
+ attributes
+ {
+ attribute_PlanQuantity
+ {
+ type: 'MatrixEditorWebApiCellDataModelInterest'
+ index: 0
+ rowsubtotal: ''
+ columnsubtotal: ''
+ attribute: 'PlanQuantity'
+ }
+ attribute_ActualQuantity
+ {
+ type: 'MatrixEditorWebApiCellDataModelInterest'
+ index: 1
+ rowsubtotal: ''
+ columnsubtotal: ''
+ attribute: 'ActualQuantity'
+ }
+ }
+ }
+ columns
+ {
+ sorting
+ {
+ criteria: "datamember:'StartDate'"
+ }
+ }
+ rows
+ {
+ sorting
+ {
+ criteria: "datamember:'Name'"
+ }
+ }
+ }
+ }
}
}
}
@@ -65,7 +116,7 @@
}
page: ''
group: ''
- index: 31
+ index: 0
image: 'WAREHOUSE'
description: ''
}
--
Gitblit v1.9.3