From 2f841fb68d79b4276da8ebabee845cc7f961ffb9 Mon Sep 17 00:00:00 2001
From: lihongji <3117313295@qq.com>
Date: 星期四, 16 五月 2024 11:33:02 +0800
Subject: [PATCH] 发动机匹配
---
_Main/UI/MacroPlannerWebApp/Component_DialogCreateEditThreeDigitCode/Method_OnOK.def | 15
_Main/BL/InfoMessages.qbl | 43
_Main/UI/MacroPlannerWebApp/Component_DialogCreateEditThreeDigitCode/Component_pnlActions.def | 40
_Main/UI/MacroPlannerWebApp/Component_Form989/Component_listContextMenu852.def | 69 +
_Main/UI/MacroPlannerWebApp/Component_DialogCreateEditSixDigitCode/Component_pnlContent.def | 113 ++
_Main/UI/MacroPlannerWebApp/Component_FormSixDigitCode/Response_List531_836_mSelectAll_OnClick.def | 17
_Main/BL/Type_SixDigitCode/Attribute_Power.qbl | 8
_Main/BL/Relations/Relation_PR_PP_Budget_MacroPlan_MacroPlan_PR_PP_Budget.qbl | 23
_Main/BL/Type_SixDigitCode/_ROOT_Type_SixDigitCode.qbl | 9
_Main/UI/MacroPlannerWebApp/Component_FormPR_PP_Budget/Response_List531_mDelete_OnClick.def | 19
_Main/UI/MacroPlannerWebApp/Component_DialogCreateEditPR_PP_Budget/Response_pnlActions_btnOk_OnClick.def | 31
_Main/UI/MacroPlannerWebApp/Component_Form989/Response_pHeader_bExport_OnClick.def | 12
_Main/BL/Type_PR_PP_Budget/Attribute_VehicleModel.qbl | 8
_Main/BL/Type_SixDigitCode/Attribute_Remarks.qbl | 8
_Main/UI/MacroPlannerWebApp/Component_DialogCreateEditSixDigitCode/Response_pnlActions_btnOk_OnClick.def | 15
_Main/UI/MacroPlannerWebApp/Component_DialogCreateEditSixDigitCode/Method_Edit.def | 16
_Main/BL/Type_Product_MP/_ROOT_Type_Product_MP.qbl | 6
_Main/UI/MacroPlannerWebApp/Component_FormSixDigitCode/Response_List531_836_mDelete_OnClick.def | 19
_Main/UI/MacroPlannerWebApp/Component_FormSixDigitCode/Response_pHeader_393_bExport_OnClick.def | 12
_Main/UI/MacroPlannerWebApp/Component_FormSixDigitCode/Response_List531_836_mNew_OnClick.def | 23
_Main/UI/MacroPlannerWebApp/Component_DialogCreateEditPR_PP_Budget/Component_pnlActions.def | 40
_Main/UI/MacroPlannerWebApp/Views/PR_PP_Budget.vw | 146 ++
_Main/UI/MacroPlannerWebApp/Component_DialogCreateEditPR_PP_Budget/Response_pnlContent_ddlEnginePartNumber_OnSelectionChanged.def | 16
_Main/UI/MacroPlannerWebApp/Component_Form989/Response_List531_mNew_OnClick.def | 23
_Main/UI/MacroPlannerWebApp/Component_FormSixDigitCode/Component_pContent#925.def | 14
_Main/UI/MacroPlannerWebApp/Component_DialogCreateEditThreeDigitCode/Component_pnlContent.def | 36
_Main/BL/Type_PR_PP_Budget/Attribute_Engine.qbl | 7
_Main/UI/MacroPlannerWebApp/Component_Form989/Response_List531_mDelete_OnClick.def | 19
_Main/UI/MacroPlannerWebApp/Component_DialogCreateEditSixDigitCode/Response_pnlActions_btnCancel_OnClick.def | 15
_Main/UI/MacroPlannerWebApp/Component_Form989/_ROOT_Component_FormThreeDigitCode#989.def | 18
_Main/BL/Relations/Relation_ThreeDigitCode_MacroPlan_MacroPlan_ThreeDigitCode.qbl | 23
_Main/UI/MacroPlannerWebApp/Component_FormPR_PP_Budget/Component_List531.def | 59 +
_Main/BL/Relations/_ROOT_Relations.qbl | 6
_Main/UI/MacroPlannerWebApp/Component_DialogCreateEditPR_PP_Budget/Component_pnlContent.def | 125 ++
_Main/BL/Type_PR_PP_Budget/StaticMethod_ValidateInput.qbl | 45
_Main/UI/MacroPlannerWebApp/Component_FormPR_PP_Budget/Response_pHeader_bImport_OnClick.def | 12
_Main/UI/MacroPlannerWebApp/Component_DialogCreateEditPR_PP_Budget/Response_pnlContent_ddlVehicleModel_OnSelectionChanged.def | 16
_Main/UI/MacroPlannerWebApp/Component_FormPR_PP_Budget/Response_List531_mEdit_OnClick.def | 21
_Main/UI/MacroPlannerWebApp/Component_FormPR_PP_Budget/Response_List531_mSelectAll_OnClick.def | 17
_Main/UI/MacroPlannerWebApp/Component_FormPR_PP_Budget/Component_listContextMenu852.def | 69 +
_Main/BL/Type_ThreeDigitCode/_ROOT_Type_ThreeDigitCode.qbl | 9
_Main/BL/Type_DMF_CustomLogic/_ROOT_Type_DMF_CustomLogic.qbl | 6
_Main/UI/MacroPlannerWebApp/Component_Form989/Component_listActionBarPage453.def | 10
_Main/UI/MacroPlannerWebApp/Component_Form989/Response_List531_mSelectAll_OnClick.def | 17
_Main/UI/MacroPlannerWebApp/Component_FormSixDigitCode/Component_listContextMenu852#1.def | 69 +
_Main/UI/MacroPlannerWebApp/Component_DialogCreateEditPR_PP_Budget/Method_Edit.def | 23
_Main/UI/MacroPlannerWebApp/Component_DialogCreateEditPR_PP_Budget/Method_New.def | 14
_Main/UI/MacroPlannerWebApp/Component_ApplicationMacroPlanner/Component_cmEngineMatching.def | 46
_Main/UI/MacroPlannerWebApp/Component_FormSixDigitCode/Component_List531#836.def | 59 +
_Main/UI/MacroPlannerWebApp/Views/SixDigitCode.vw | 244 ++++
_Main/UI/MacroPlannerWebApp/Component_DialogCreateEditSixDigitCode/_ROOT_Component_DialogCreateEditSixDigitCode.def | 31
_Main/BL/Relations/Relation_SixDigitCode_MacroPlan_MacroPlan_SixDigitCode.qbl | 23
_Main/UI/MacroPlannerWebApp/Component_FormPR_PP_Budget/_ROOT_Component_FormPR_PP_Budget.def | 18
_Main/UI/MacroPlannerWebApp/Component_Form989/Component_pContent.def | 14
_Main/UI/MacroPlannerWebApp/Component_FormPR_PP_Budget/Component_listActionBarPage453.def | 10
_Main/BL/Type_SixDigitCode/Attribute_EnginePartNumber.qbl | 8
_Main/UI/MacroPlannerWebApp/Component_DialogCreateEditThreeDigitCode/Method_New.def | 14
_Main/BL/Type_PR_PP_Budget/Attribute_EngineFourDigitCode.qbl | 8
_Main/UI/MacroPlannerWebApp/Component_FormPR_PP_Budget/Response_List531_mNew_OnClick.def | 23
_Main/BL/Type_SalesSegment_MP/_ROOT_Type_SalesSegment_MP.qbl | 6
_Main/BL/Type_MacroPlan/_ROOT_Type_MacroPlan.qbl | 6
_Main/UI/MacroPlannerWebApp/Component_ApplicationMacroPlanner/Response_MacroPlanner_cmEngineMatching_m3DigitCode_OnClick.def | 16
_Main/UI/MacroPlannerWebApp/Component_DialogCreateEditThreeDigitCode/Response_pnlActions_btnOk_OnClick.def | 15
_Main/BL/Dataset_Archive/_ROOT_Dataset_Archive.qbl | 9
_Main/UI/MacroPlannerWebApp/Component_FormSixDigitCode/Component_listActionBarPage453#1.def | 10
_Main/UI/MacroPlannerWebApp/Component_Form989/Response_List531_mEdit_OnClick.def | 21
_Main/BL/Type_DMF_CustomLogic/Method_OnFinished.qbl | 58 +
_Main/UI/MacroPlannerWebApp/Component_DialogCreateEditThreeDigitCode/_ROOT_Component_DialogCreateEditThreeDigitCode.def | 31
_Main/BL/Type_SixDigitCode/Attribute_Code.qbl | 8
_Main/BL/Type_ThreeDigitCode/Attribute_Code.qbl | 8
_Main/BL/Type_PR_PP_Budget/Attribute_EnginePartNumber.qbl | 8
_Main/BL/Type_SixDigitCode/Attribute_ProducingArea.qbl | 8
_Main/UI/MacroPlannerWebApp/Component_Form989/Component_pHeader.def | 36
_Main/UI/MacroPlannerWebApp/Component_FormSixDigitCode/Response_pHeader_393_bImport_OnClick.def | 12
_Main/BL/Type_Archive/StaticMethod_OnServerStartup.qbl | 23
_Main/UI/MacroPlannerWebApp/Component_FormSixDigitCode/_ROOT_Component_FormSixDigitCode.def | 18
_Main/UI/MacroPlannerWebApp/Component_DialogCreateEditSixDigitCode/Method_New.def | 14
.gitignore | 42
_Main/UI/MacroPlannerWebApp/Component_DialogCreateEditThreeDigitCode/Method_Edit.def | 16
_Main/UI/MacroPlannerWebApp/Component_ApplicationMacroPlanner/Response_MacroPlanner_cmEngineMatching_m6DigitCode_OnClick.def | 16
_Main/BL/Type_SixDigitCode/Attribute_Engine.qbl | 8
_Main/UI/MacroPlannerWebApp/Component_DialogCreateEditThreeDigitCode/Response_pnlActions_btnCancel_OnClick.def | 15
_Main/BL/Type_ThreeDigitCode/Attribute_VehicleModel.qbl | 8
_Main/UI/MacroPlannerWebApp/Component_DialogCreateEditPR_PP_Budget/Method_OnOK.def | 20
_Main/BL/Type_SixDigitCode/Attribute_Curve.qbl | 7
_Main/UI/MacroPlannerWebApp/Component_FormPR_PP_Budget/Component_pContent.def | 14
_Main/UI/MacroPlannerWebApp/Component_DialogCreateEditPR_PP_Budget/Response_pnlActions_btnCancel_OnClick.def | 15
_Main/UI/MacroPlannerWebApp/Component_DialogCreateEditSixDigitCode/Component_pnlActions.def | 40
_Main/UI/MacroPlannerWebApp/Component_Form989/Component_List531.def | 59 +
_Main/BL/Type_PR_PP_Budget/StaticMethod_Download.qbl | 44
_Main/UI/MacroPlannerWebApp/Component_ApplicationMacroPlanner/_ROOT_Component_ApplicationMacroPlanner.def | 1
_Main/UI/MacroPlannerWebApp/Component_DialogCreateEditSixDigitCode/Method_OnOK.def | 15
_Main/BL/Type_SixDigitCode/Attribute_EngineFourDigitCode.qbl | 8
_Main/UI/MacroPlannerWebApp/Component_ApplicationMacroPlanner/Component_ActionBarPageSales.def | 8
_Main/BL/Type_SixDigitCode/Attribute_VehicleModel.qbl | 8
_Main/UI/MacroPlannerWebApp/Component_FormPR_PP_Budget/Component_pHeader.def | 36
_Main/UI/MacroPlannerWebApp/Views/ThreeDigitCode.vw | 181 +++
_Main/UI/MacroPlannerWebApp/Component_FormSixDigitCode/Component_pHeader#393.def | 36
_Main/BL/Type_PR_PP_Budget/StaticMethod_ExportCreateCell.qbl | 15
_Main/BL/Type_Archive/_ROOT_Type_Archive.qbl | 9
_Main/UI/MacroPlannerWebApp/Component_DialogCreateEditPR_PP_Budget/_ROOT_Component_DialogCreateEditPR_PP_Budget.def | 43
_Main/UI/MacroPlannerWebApp/Component_FormSixDigitCode/Response_List531_836_mEdit_OnClick.def | 21
_Main/UI/MacroPlannerWebApp/Component_Form989/Response_pHeader_bImport_OnClick.def | 12
_Main/BL/Type_PR_PP_Budget/Attribute_ProducingArea.qbl | 8
_Main/BL/Type_PR_PP_Budget/Attribute_Model.qbl | 7
_Main/UI/MacroPlannerWebApp/Component_ApplicationMacroPlanner/Response_MacroPlanner_cmEngineMatching_mPR_PP_Budget_OnClick.def | 16
_Main/UI/MacroPlannerWebApp/Component_FormPR_PP_Budget/Response_pHeader_bExport_OnClick.def | 22
_Main/UI/MacroPlannerWebApp/Component_ApplicationMacroPlanner/Component_abgRequirementPreprocessing.def | 29
_Main/BL/Type_PR_PP_Budget/Attribute_ModelCode.qbl | 7
_Main/BL/Type_PR_PP_Budget/_ROOT_Type_PR_PP_Budget.qbl | 9
110 files changed, 2,972 insertions(+), 9 deletions(-)
diff --git a/.gitignore b/.gitignore
index 32858aa..d3a0bd1 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,12 +1,36 @@
-*.class
+# Specifies files or directories that the Git version control system should not track.
+# You can add model-specific ignore rules, e.g. to exclude large or frequently updated binary files.
+# For the format of .gitignore rules, refer to the Quintiq version control documentation or search the internet; it is a standard Git feature.
-# Mobile Tools for Java (J2ME)
-.mtj.tmp/
+# Do not store these settings in version control, they are machine/user specific
+**/Settings/UserSettings/**
+Local*.properties
-# Package Files #
-*.jar
-*.war
-*.ear
+# Excel files will quickly let repository sizes grow out of control.
-# virtual machine crash logs, see http://www.java.com/en/download/help/error_hotspot.xml
-hs_err_pid*
+# The lock file is created/used by Quintiq components to synchronize which component can write to the model; it does not need to be in version control.
+/Lock
+# Files commonly left behind by merge tools or text editors (if not configured to clean up those files)
+*.rej
+*.orig
+*.bak
+*.tmp
+*.qdataset
+
+**/Settings/UserLibSettings/**
+
+**/UserSettings/**
+**/LibUserSettings/**
+
+/.idea
+_Main/UI/MacroPlannerWebApp/_ROOT_Project_MacroPlannerWebApp.qp
+#*.properties
+_var/_Main/ProjSettings/MacroPlanner/Views/Empty__dialog_initialization__\[124808.0.140900041\].vw
+_Main/UI/MacroPlannerWebApp/_ROOT_Project_MacroPlannerWebApp.qp
+_var/_Main/Data/.keep
+
+_var/_Main/LibProjSettings/LibSCIIntegration/LibSCIIntegrationWeb/ColSch
+_var/_Main/LibProjSettings/LibMacroPlannerIntegration/LibMacroPlannerIntegration/ColSch
+_var/_Main/ProjSettings/MacroPlannerWebApp/ColSch
+
+_var/_Main/ProjSettings/MacroPlannerWebApp/Views/
\ No newline at end of file
diff --git a/_Main/BL/Dataset_Archive/_ROOT_Dataset_Archive.qbl b/_Main/BL/Dataset_Archive/_ROOT_Dataset_Archive.qbl
new file mode 100644
index 0000000..e7f57f6
--- /dev/null
+++ b/_Main/BL/Dataset_Archive/_ROOT_Dataset_Archive.qbl
@@ -0,0 +1,9 @@
+Quintiq file version 2.0
+#root
+#parent: #DomainModel
+Dataset Archive
+{
+ #keys: '2[413988.0.1153445593][413988.0.1153445592]'
+ DefaultMDSName: 'Archive'
+ InstanceType: Archive
+}
diff --git a/_Main/BL/InfoMessages.qbl b/_Main/BL/InfoMessages.qbl
new file mode 100644
index 0000000..220018c
--- /dev/null
+++ b/_Main/BL/InfoMessages.qbl
@@ -0,0 +1,43 @@
+Quintiq file version 2.0
+#parent: #root
+InfoMessages id:#InfoMessages #extension
+{
+ InfoMessage A_VWED_PR_PP_Budget_VerificationRules1 (
+ const String fieldName
+ )
+ {
+ DefaultText: 'Missing mandatory field锛欯fieldName@'
+ }
+ InfoMessage A_VWED_PR_PP_Budget_Engine
+ {
+ DefaultText: 'Engine'
+ }
+ InfoMessage A_VWED_PR_PP_Budget_EnginePartNumber
+ {
+ DefaultText: 'Engine Part Number'
+ }
+ InfoMessage A_VWED_PR_PP_Budget_Model
+ {
+ DefaultText: 'Model'
+ }
+ InfoMessage A_VWED_PR_PP_Budget_ModelCode
+ {
+ DefaultText: 'Model Code'
+ }
+ InfoMessage A_VWED_PR_PP_Budget_VehicleModel
+ {
+ DefaultText: 'Vehicle Model'
+ }
+ InfoMessage A_VWED_PR_PP_Budget_VerificationRules2
+ {
+ DefaultText: 'Car model and system Sales Segments do not match'
+ }
+ InfoMessage A_VWED_PR_PP_Budget_VerificationRules3
+ {
+ DefaultText: 'The engine part number does not match the system Products'
+ }
+ InfoMessage A_VWED_PR_PP_Budget_VerificationRules4
+ {
+ DefaultText: 'The vehicle model, engine part number, and existing data do not match'
+ }
+}
diff --git a/_Main/BL/Relations/Relation_PR_PP_Budget_MacroPlan_MacroPlan_PR_PP_Budget.qbl b/_Main/BL/Relations/Relation_PR_PP_Budget_MacroPlan_MacroPlan_PR_PP_Budget.qbl
new file mode 100644
index 0000000..42fc2bd
--- /dev/null
+++ b/_Main/BL/Relations/Relation_PR_PP_Budget_MacroPlan_MacroPlan_PR_PP_Budget.qbl
@@ -0,0 +1,23 @@
+Quintiq file version 2.0
+#parent: #root
+Relation PR_PP_Budget_MacroPlan_MacroPlan_PR_PP_Budget
+{
+ #keys: '1[413988.0.1140900048]'
+ DefaultRelationStrategy
+ {
+ }
+ RelationSide.LeftSide MacroPlan
+ {
+ #keys: '3[413988.0.1140900050][413988.0.1140900049][413988.0.1140900051]'
+ Cardinality: '0to1'
+ ObjectDefinition: PR_PP_Budget
+ OwningSide: 'Reference'
+ }
+ RelationSide.RightSide PR_PP_Budget
+ {
+ #keys: '3[413988.0.1140900053][413988.0.1140900052][413988.0.1140900054]'
+ Cardinality: '1toN'
+ ObjectDefinition: MacroPlan
+ OwningSide: 'Owned'
+ }
+}
diff --git a/_Main/BL/Relations/Relation_SixDigitCode_MacroPlan_MacroPlan_SixDigitCode.qbl b/_Main/BL/Relations/Relation_SixDigitCode_MacroPlan_MacroPlan_SixDigitCode.qbl
new file mode 100644
index 0000000..cb38985
--- /dev/null
+++ b/_Main/BL/Relations/Relation_SixDigitCode_MacroPlan_MacroPlan_SixDigitCode.qbl
@@ -0,0 +1,23 @@
+Quintiq file version 2.0
+#parent: #root
+Relation SixDigitCode_MacroPlan_MacroPlan_SixDigitCode
+{
+ #keys: '1[413988.0.1141654607]'
+ DefaultRelationStrategy
+ {
+ }
+ RelationSide.LeftSide MacroPlan
+ {
+ #keys: '3[413988.0.1141654609][413988.0.1141654608][413988.0.1141654610]'
+ Cardinality: '0to1'
+ ObjectDefinition: SixDigitCode
+ OwningSide: 'Reference'
+ }
+ RelationSide.RightSide SixDigitCode
+ {
+ #keys: '3[413988.0.1141654612][413988.0.1141654611][413988.0.1141654613]'
+ Cardinality: '1toN'
+ ObjectDefinition: MacroPlan
+ OwningSide: 'Owned'
+ }
+}
diff --git a/_Main/BL/Relations/Relation_ThreeDigitCode_MacroPlan_MacroPlan_ThreeDigitCode.qbl b/_Main/BL/Relations/Relation_ThreeDigitCode_MacroPlan_MacroPlan_ThreeDigitCode.qbl
new file mode 100644
index 0000000..b46b0e2
--- /dev/null
+++ b/_Main/BL/Relations/Relation_ThreeDigitCode_MacroPlan_MacroPlan_ThreeDigitCode.qbl
@@ -0,0 +1,23 @@
+Quintiq file version 2.0
+#parent: #root
+Relation ThreeDigitCode_MacroPlan_MacroPlan_ThreeDigitCode
+{
+ #keys: '1[413988.0.1146011023]'
+ DefaultRelationStrategy
+ {
+ }
+ RelationSide.LeftSide MacroPlan
+ {
+ #keys: '3[413988.0.1146011025][413988.0.1146011024][413988.0.1146011026]'
+ Cardinality: '0to1'
+ ObjectDefinition: ThreeDigitCode
+ OwningSide: 'Reference'
+ }
+ RelationSide.RightSide ThreeDigitCode
+ {
+ #keys: '3[413988.0.1146011028][413988.0.1146011027][413988.0.1146011029]'
+ Cardinality: '1toN'
+ ObjectDefinition: MacroPlan
+ OwningSide: 'Owned'
+ }
+}
diff --git a/_Main/BL/Relations/_ROOT_Relations.qbl b/_Main/BL/Relations/_ROOT_Relations.qbl
new file mode 100644
index 0000000..ff1ff51
--- /dev/null
+++ b/_Main/BL/Relations/_ROOT_Relations.qbl
@@ -0,0 +1,6 @@
+Quintiq file version 2.0
+#root
+#parent: #DomainModel
+Relations id:#Relations #extension
+{
+}
diff --git a/_Main/BL/Type_Archive/StaticMethod_OnServerStartup.qbl b/_Main/BL/Type_Archive/StaticMethod_OnServerStartup.qbl
new file mode 100644
index 0000000..3f79c19
--- /dev/null
+++ b/_Main/BL/Type_Archive/StaticMethod_OnServerStartup.qbl
@@ -0,0 +1,23 @@
+Quintiq file version 2.0
+#parent: #root
+StaticMethod OnServerStartup
+{
+ TextBody:
+ [*
+ // lihongji May-15-2024 (created)
+ folder := DomainModel::Domain().MDSFolderDefinitions().FindFolder( "/root" );
+
+ datasetName := typeof( Archive ).Name();
+
+ oinfo := MDSEditor::Editor().ObjectInfos( datasetName, folder.FolderID(), datasetName );
+
+ o := select( oinfo, Elements, o, not o.IsLoaded() );
+ emptydataset := isnull( o );
+
+ if ( emptydataset ) {
+ MDSArchive::CreateMDS( datasetName, DMF_Utility::GetStorageState() );
+ } else {
+ MDSArchive::LoadMDSAndConvert( o.MDSID(), DMF_Utility::GetStorageState() );
+ }
+ *]
+}
diff --git a/_Main/BL/Type_Archive/_ROOT_Type_Archive.qbl b/_Main/BL/Type_Archive/_ROOT_Type_Archive.qbl
new file mode 100644
index 0000000..fe15069
--- /dev/null
+++ b/_Main/BL/Type_Archive/_ROOT_Type_Archive.qbl
@@ -0,0 +1,9 @@
+Quintiq file version 2.0
+#root
+#parent: #DomainModel
+Type Archive
+{
+ #keys: '5[413988.0.1153445587][413988.0.1153445585][0.0.0][413988.0.1153445586][413988.0.1153445588]'
+ BaseType: Object
+ StructuredName: 'Archives'
+}
diff --git a/_Main/BL/Type_DMF_CustomLogic/Method_OnFinished.qbl b/_Main/BL/Type_DMF_CustomLogic/Method_OnFinished.qbl
new file mode 100644
index 0000000..5202502
--- /dev/null
+++ b/_Main/BL/Type_DMF_CustomLogic/Method_OnFinished.qbl
@@ -0,0 +1,58 @@
+Quintiq file version 2.0
+#parent: #root
+MethodOverride OnFinished #extension
+{
+ TextBody:
+ [*
+ // MODELING HANDLE
+ // The server will create a memory only dataset if the ODBC is not started before the server is started
+ //Enable / disable internal data depending on server startup mode
+ DomainModel::Domain().MDSStorageDefinitionManager().DatabaseEnabled( GlobalParameters_MP::IsFullStorageState() or
+ GlobalParameters_MP::IsPartialStorageState() or
+ GlobalParameters_MP::IsCachedStorageState() or
+ GlobalParameters_MP::IsHybridStorage() );
+
+ // 鍒涘缓瀛樻。鏁版嵁闆�
+ Archive::OnServerStartup();
+
+ // Create MPDomainHandler
+ MPDomainHandler::OnServerStartup();
+
+ // Create datasets for DataExchangeFramework, ideally it should be done before loading MacroPlans.
+ LibDEF_API::OnServerStartup();
+ // 3DSpace library, on top of DEF
+ LibInt_IntegratorProxy::InitializeIntegrationLibrary();
+ integratorConfig := select( DomainModel::Domain(), IntegratorConfigManager.IntegratorConfigurations, ic, true );
+ Lib3DS_API::Initialize( integratorConfig.Name() );
+
+ // Create ScenarioManager
+ ScenarioManager::OnServerStartUp();
+
+ // Create a MemoryOnly-dataset that is used to receive SOAP-calls from the DataManager.
+ MDSScenarioManager::CreateMemoryOnlyMDS( ScenarioManager::GetDatasetNameReceiver() );
+
+ // Create dataset for MPSync on startup.
+ MPSync::OnServerStartUp();
+
+ // Create dataset for S&OP Workflow
+ SWF_WorkflowDataset::OnServerStartup( GlobalParameters_MP::GetStorageState(),
+ SWF_Utility::MDSName_WorkflowDatatset() );
+
+ // Create Communicaiton dataset
+ SWF_CommunicationDataset::OnServerStartup( GlobalParameters_MP::GetStorageState(),
+ SWF_Utility::MDSKind_CommunicationDataset() );
+ // Create or load a dataset for the UnitTestFramework
+ LibUTF::OnServerStartup( MDSInterface::MemoryOnlyState() );
+
+ LibInt_IntegratorProxy::InitializeIntegrationLibrary();
+ KpiTracker::OnServerStartup();
+
+ this.OnFinishedCustom();
+
+ // Create or load a dataset for the Monitoring Library
+ LibMon_Monitor::OnServerStartup( MDSInterface::MemoryOnlyState() );
+ smangerOption := DatasetFindOptions::Construct().Kind( typeof( ScenarioManager ).ShortName() );
+ smDataset := MDSScenarioManager::Find( smangerOption );
+ smDataset->LibMon_CollectInfo();
+ *]
+}
diff --git a/_Main/BL/Type_DMF_CustomLogic/_ROOT_Type_DMF_CustomLogic.qbl b/_Main/BL/Type_DMF_CustomLogic/_ROOT_Type_DMF_CustomLogic.qbl
new file mode 100644
index 0000000..00963f9
--- /dev/null
+++ b/_Main/BL/Type_DMF_CustomLogic/_ROOT_Type_DMF_CustomLogic.qbl
@@ -0,0 +1,6 @@
+Quintiq file version 2.0
+#root
+#parent: #DomainModel
+TypeSpecialization DMF_CustomLogic #extension
+{
+}
diff --git a/_Main/BL/Type_MacroPlan/_ROOT_Type_MacroPlan.qbl b/_Main/BL/Type_MacroPlan/_ROOT_Type_MacroPlan.qbl
new file mode 100644
index 0000000..6ac381e
--- /dev/null
+++ b/_Main/BL/Type_MacroPlan/_ROOT_Type_MacroPlan.qbl
@@ -0,0 +1,6 @@
+Quintiq file version 2.0
+#root
+#parent: #DomainModel
+Type MacroPlan #extension
+{
+}
diff --git a/_Main/BL/Type_PR_PP_Budget/Attribute_Engine.qbl b/_Main/BL/Type_PR_PP_Budget/Attribute_Engine.qbl
new file mode 100644
index 0000000..22e0c39
--- /dev/null
+++ b/_Main/BL/Type_PR_PP_Budget/Attribute_Engine.qbl
@@ -0,0 +1,7 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute Engine
+{
+ #keys: '3[413988.0.1140900087][413988.0.1140900086][413988.0.1140900088]'
+ ValueType: String
+}
diff --git a/_Main/BL/Type_PR_PP_Budget/Attribute_EngineFourDigitCode.qbl b/_Main/BL/Type_PR_PP_Budget/Attribute_EngineFourDigitCode.qbl
new file mode 100644
index 0000000..0c8071e
--- /dev/null
+++ b/_Main/BL/Type_PR_PP_Budget/Attribute_EngineFourDigitCode.qbl
@@ -0,0 +1,8 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute EngineFourDigitCode
+{
+ #keys: '3[413988.0.1140900127][413988.0.1140900126][413988.0.1140900128]'
+ Description: '鍙戝姩鏈哄洓浣嶇爜'
+ ValueType: String
+}
diff --git a/_Main/BL/Type_PR_PP_Budget/Attribute_EnginePartNumber.qbl b/_Main/BL/Type_PR_PP_Budget/Attribute_EnginePartNumber.qbl
new file mode 100644
index 0000000..a2baa5f
--- /dev/null
+++ b/_Main/BL/Type_PR_PP_Budget/Attribute_EnginePartNumber.qbl
@@ -0,0 +1,8 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute EnginePartNumber
+{
+ #keys: '3[413988.0.1140900117][413988.0.1140900116][413988.0.1140900118]'
+ Description: '鍙戝姩鏈洪浂浠跺彿'
+ ValueType: String
+}
diff --git a/_Main/BL/Type_PR_PP_Budget/Attribute_Model.qbl b/_Main/BL/Type_PR_PP_Budget/Attribute_Model.qbl
new file mode 100644
index 0000000..2607b37
--- /dev/null
+++ b/_Main/BL/Type_PR_PP_Budget/Attribute_Model.qbl
@@ -0,0 +1,7 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute Model
+{
+ #keys: '3[413988.0.1140900067][413988.0.1140900066][413988.0.1140900068]'
+ ValueType: String
+}
diff --git a/_Main/BL/Type_PR_PP_Budget/Attribute_ModelCode.qbl b/_Main/BL/Type_PR_PP_Budget/Attribute_ModelCode.qbl
new file mode 100644
index 0000000..046e05d
--- /dev/null
+++ b/_Main/BL/Type_PR_PP_Budget/Attribute_ModelCode.qbl
@@ -0,0 +1,7 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute ModelCode
+{
+ #keys: '3[413988.0.1140900077][413988.0.1140900076][413988.0.1140900078]'
+ ValueType: String
+}
diff --git a/_Main/BL/Type_PR_PP_Budget/Attribute_ProducingArea.qbl b/_Main/BL/Type_PR_PP_Budget/Attribute_ProducingArea.qbl
new file mode 100644
index 0000000..1e4d56b
--- /dev/null
+++ b/_Main/BL/Type_PR_PP_Budget/Attribute_ProducingArea.qbl
@@ -0,0 +1,8 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute ProducingArea
+{
+ #keys: '3[413988.0.1140900097][413988.0.1140900096][413988.0.1140900098]'
+ Description: '浜у湴'
+ ValueType: String
+}
diff --git a/_Main/BL/Type_PR_PP_Budget/Attribute_VehicleModel.qbl b/_Main/BL/Type_PR_PP_Budget/Attribute_VehicleModel.qbl
new file mode 100644
index 0000000..457350c
--- /dev/null
+++ b/_Main/BL/Type_PR_PP_Budget/Attribute_VehicleModel.qbl
@@ -0,0 +1,8 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute VehicleModel
+{
+ #keys: '3[413988.0.1140900107][413988.0.1140900106][413988.0.1140900108]'
+ Description: '杞﹀瀷'
+ ValueType: String
+}
diff --git a/_Main/BL/Type_PR_PP_Budget/StaticMethod_Download.qbl b/_Main/BL/Type_PR_PP_Budget/StaticMethod_Download.qbl
new file mode 100644
index 0000000..de2a8ce
--- /dev/null
+++ b/_Main/BL/Type_PR_PP_Budget/StaticMethod_Download.qbl
@@ -0,0 +1,44 @@
+Quintiq file version 2.0
+#parent: #root
+StaticMethod Download (
+ MacroPlan macroPlan
+) as BinaryValue
+{
+ TextBody:
+ [*
+ xmlDOMI := XMLDOMImplementation::Create();
+ xmlDOM := xmlDOMI.CreateDocumentFromString( '<?xml version="1.0" encoding="UTF-16"?><table><name>Sheet1</name><column><name>Model</name><type>String</type></column><column><name>Model Code</name><type>String</type></column><column><name>Engine</name><type>String</type></column><column><name>浜у湴</name><type>String</type></column><column><name>杞﹀瀷</name><type>String</type></column><column><name>鍙戝姩鏈洪浂浠跺彿</name><type>String</type></column><column><name>鍙戝姩鏈哄洓浣嶇爜</name><type>String</type></column></table>' );
+
+ tableElement := xmlDOM.GetElementByTagName( "table", 0 );
+
+ modelColumn := tableElement.GetElementByTagName( "column", 0 ); // Model
+ modelCodeColumn := tableElement.GetElementByTagName( "column", 1 ); // Model Code
+ engineColumn := tableElement.GetElementByTagName( "column", 2 ); // Engine
+ productingAreaColumn := tableElement.GetElementByTagName( "column", 3 ); // 浜у湴
+ vehicleModelColumn := tableElement.GetElementByTagName( "column", 4 ); // 杞﹀瀷
+ enginePartNumberColumn := tableElement.GetElementByTagName( "column", 5 ); // 鍙戝姩鏈洪浂浠跺彿
+ engineFourDigitCodeColumn := tableElement.GetElementByTagName( "column", 6 ); // 鍙戝姩鏈哄洓浣嶇爜
+
+ traverse ( macroPlan, PR_PP_Budget, prppb ) {
+ PR_PP_Budget::ExportCreateCell( xmlDOM, modelColumn, prppb.Model() ); // Model
+ PR_PP_Budget::ExportCreateCell( xmlDOM, modelCodeColumn, prppb.ModelCode() ); // Model Code
+ PR_PP_Budget::ExportCreateCell( xmlDOM, engineColumn, prppb.Engine() ); // Engine
+ PR_PP_Budget::ExportCreateCell( xmlDOM, productingAreaColumn, prppb.ProducingArea() ); // 浜у湴
+ PR_PP_Budget::ExportCreateCell( xmlDOM, vehicleModelColumn, prppb.VehicleModel() ); // 杞﹀瀷
+ PR_PP_Budget::ExportCreateCell( xmlDOM, enginePartNumberColumn, prppb.EnginePartNumber() ); // 鍙戝姩鏈洪浂浠跺彿
+ PR_PP_Budget::ExportCreateCell( xmlDOM, engineFourDigitCodeColumn, prppb.EngineFourDigitCode() ); // 鍙戝姩鏈哄洓浣嶇爜
+ }
+
+ xmlString := xmlDOMI.CreateSerializer().WriteToString( xmlDOM )
+
+ //info( xmlString );
+
+ tableGroupHandle := TableGroupHandle::Create( "Sheet1" );
+ tableHandle := TableHandle::ImportXML( BinaryValue::Construct( xmlString ) );
+ tableGroupHandle.Add( tableHandle );
+
+ binaryData := XLS::SaveTableGroupToBinaryData( tableGroupHandle, true );
+
+ return binaryData.AsBinaryValue();
+ *]
+}
diff --git a/_Main/BL/Type_PR_PP_Budget/StaticMethod_ExportCreateCell.qbl b/_Main/BL/Type_PR_PP_Budget/StaticMethod_ExportCreateCell.qbl
new file mode 100644
index 0000000..73774b9
--- /dev/null
+++ b/_Main/BL/Type_PR_PP_Budget/StaticMethod_ExportCreateCell.qbl
@@ -0,0 +1,15 @@
+Quintiq file version 2.0
+#parent: #root
+StaticMethod ExportCreateCell (
+ XMLDOMDocument xmlDOM,
+ XMLDOMElement column,
+ String value
+)
+{
+ TextBody:
+ [*
+ cell := xmlDOM.CreateElement( "cell" );
+ cell.SetAttribute( "value", value );
+ column.AppendChild( cell );
+ *]
+}
diff --git a/_Main/BL/Type_PR_PP_Budget/StaticMethod_ValidateInput.qbl b/_Main/BL/Type_PR_PP_Budget/StaticMethod_ValidateInput.qbl
new file mode 100644
index 0000000..12b34c0
--- /dev/null
+++ b/_Main/BL/Type_PR_PP_Budget/StaticMethod_ValidateInput.qbl
@@ -0,0 +1,45 @@
+Quintiq file version 2.0
+#parent: #root
+StaticMethod ValidateInput (
+ output String feedback_o,
+ output String sanitycheckfeedback_o,
+ MacroPlan macroPlan,
+ String model,
+ String modelCode,
+ String engine,
+ String productingArea,
+ String vehicleModel,
+ String enginePartNumber,
+ String engineFourDigitCode,
+ PR_PP_Budget selection
+) declarative remote as Boolean
+{
+ TextBody:
+ [*
+ // lihongji May-14-2024 (created)
+ feedback_o := "";
+ sanitycheckfeedback_o := "";
+
+ if ( model.TrimBoth() = "" or modelCode.TrimBoth() = "" or engine.TrimBoth() = "" or vehicleModel.TrimBoth() = "" or enginePartNumber = "" ) {
+ feedback_o := ifexpr( model.TrimBoth() = "", Translations::A_VWED_PR_PP_Budget_Model() + "銆�", "" ) +
+ ifexpr( modelCode.TrimBoth() = "", Translations::A_VWED_PR_PP_Budget_ModelCode() + "銆�", "" ) +
+ ifexpr( engine.TrimBoth() = "", Translations::A_VWED_PR_PP_Budget_Engine() + "銆�", "" ) +
+ ifexpr( vehicleModel.TrimBoth() = "", Translations::A_VWED_PR_PP_Budget_VehicleModel() + "銆�", "" ) +
+ ifexpr( enginePartNumber.TrimBoth() = "", Translations::A_VWED_PR_PP_Budget_EnginePartNumber() + "銆�", "" );
+ feedback_o := Translations::A_VWED_PR_PP_Budget_VerificationRules1( guard( feedback_o.SubString( 0, feedback_o.Length() - 1 ), "error" ) );
+ sanitycheckfeedback_o := SanityCheckCategoryLevel::GetSanityCheckCategoryPlanningWarning();
+ } else if ( vehicleModel.TrimBoth() <> "" and not exists( macroPlan, SalesSegment_MP, tempSSMP, tempSSMP.Name() = vehicleModel ) ) {
+ feedback_o := Translations::A_VWED_PR_PP_Budget_VerificationRules2();
+ sanitycheckfeedback_o := SanityCheckCategoryLevel::GetSanityCheckCategoryPlanningWarning();
+ } else if ( enginePartNumber.TrimBoth() <> "" and not exists( macroPlan, Product_MP, tempPMP, tempPMP.ID() = enginePartNumber ) ) {
+ feedback_o := Translations::A_VWED_PR_PP_Budget_VerificationRules3();
+ sanitycheckfeedback_o := SanityCheckCategoryLevel::GetSanityCheckCategoryPlanningWarning();
+ } else if ( guard( select( macroPlan, PR_PP_Budget, tempPRPPB, tempPRPPB.Model() = model and tempPRPPB.ModelCode() = modelCode and tempPRPPB.Engine() = engine and tempPRPPB <> selection ).VehicleModel() <> vehicleModel.TrimBoth(), false ) or
+ guard( select( macroPlan, PR_PP_Budget, tempPRPPB, tempPRPPB.Model() = model and tempPRPPB.ModelCode() = modelCode and tempPRPPB.Engine() = engine and tempPRPPB <> selection ).EnginePartNumber() <> enginePartNumber.TrimBoth(), false) ) {
+ feedback_o := Translations::A_VWED_PR_PP_Budget_VerificationRules4();
+ sanitycheckfeedback_o := SanityCheckCategoryLevel::GetSanityCheckCategoryPlanningWarning();
+ }
+
+ return feedback_o = "";
+ *]
+}
diff --git a/_Main/BL/Type_PR_PP_Budget/_ROOT_Type_PR_PP_Budget.qbl b/_Main/BL/Type_PR_PP_Budget/_ROOT_Type_PR_PP_Budget.qbl
new file mode 100644
index 0000000..f5d905d
--- /dev/null
+++ b/_Main/BL/Type_PR_PP_Budget/_ROOT_Type_PR_PP_Budget.qbl
@@ -0,0 +1,9 @@
+Quintiq file version 2.0
+#root
+#parent: #DomainModel
+Type PR_PP_Budget
+{
+ #keys: '5[413988.0.1140900045][413988.0.1140900043][0.0.0][413988.0.1140900044][413988.0.1140900046]'
+ BaseType: Object
+ StructuredName: 'PR_PP_Budgets'
+}
diff --git a/_Main/BL/Type_Product_MP/_ROOT_Type_Product_MP.qbl b/_Main/BL/Type_Product_MP/_ROOT_Type_Product_MP.qbl
new file mode 100644
index 0000000..69754d9
--- /dev/null
+++ b/_Main/BL/Type_Product_MP/_ROOT_Type_Product_MP.qbl
@@ -0,0 +1,6 @@
+Quintiq file version 2.0
+#root
+#parent: #DomainModel
+Type Product_MP #extension
+{
+}
diff --git a/_Main/BL/Type_SalesSegment_MP/_ROOT_Type_SalesSegment_MP.qbl b/_Main/BL/Type_SalesSegment_MP/_ROOT_Type_SalesSegment_MP.qbl
new file mode 100644
index 0000000..2fb1fb8
--- /dev/null
+++ b/_Main/BL/Type_SalesSegment_MP/_ROOT_Type_SalesSegment_MP.qbl
@@ -0,0 +1,6 @@
+Quintiq file version 2.0
+#root
+#parent: #DomainModel
+Type SalesSegment_MP #extension
+{
+}
diff --git a/_Main/BL/Type_SixDigitCode/Attribute_Code.qbl b/_Main/BL/Type_SixDigitCode/Attribute_Code.qbl
new file mode 100644
index 0000000..a9f5213
--- /dev/null
+++ b/_Main/BL/Type_SixDigitCode/Attribute_Code.qbl
@@ -0,0 +1,8 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute Code
+{
+ #keys: '3[413988.0.1146000058][413988.0.1146000057][413988.0.1146000059]'
+ Description: '鍏綅鐮�'
+ ValueType: String
+}
diff --git a/_Main/BL/Type_SixDigitCode/Attribute_Curve.qbl b/_Main/BL/Type_SixDigitCode/Attribute_Curve.qbl
new file mode 100644
index 0000000..85e05e4
--- /dev/null
+++ b/_Main/BL/Type_SixDigitCode/Attribute_Curve.qbl
@@ -0,0 +1,7 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute Curve
+{
+ #keys: '3[413988.0.1141654626][413988.0.1141654625][413988.0.1141654627]'
+ ValueType: String
+}
diff --git a/_Main/BL/Type_SixDigitCode/Attribute_Engine.qbl b/_Main/BL/Type_SixDigitCode/Attribute_Engine.qbl
new file mode 100644
index 0000000..90e017c
--- /dev/null
+++ b/_Main/BL/Type_SixDigitCode/Attribute_Engine.qbl
@@ -0,0 +1,8 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute Engine
+{
+ #keys: '3[413988.0.1141654656][413988.0.1141654655][413988.0.1141654657]'
+ Description: '鍙戝姩鏈�'
+ ValueType: String
+}
diff --git a/_Main/BL/Type_SixDigitCode/Attribute_EngineFourDigitCode.qbl b/_Main/BL/Type_SixDigitCode/Attribute_EngineFourDigitCode.qbl
new file mode 100644
index 0000000..84821ed
--- /dev/null
+++ b/_Main/BL/Type_SixDigitCode/Attribute_EngineFourDigitCode.qbl
@@ -0,0 +1,8 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute EngineFourDigitCode
+{
+ #keys: '3[413988.0.1146000035][413988.0.1146000034][413988.0.1146000036]'
+ Description: '鍙戝姩鏈哄洓浣嶇爜'
+ ValueType: String
+}
diff --git a/_Main/BL/Type_SixDigitCode/Attribute_EnginePartNumber.qbl b/_Main/BL/Type_SixDigitCode/Attribute_EnginePartNumber.qbl
new file mode 100644
index 0000000..f21a7e1
--- /dev/null
+++ b/_Main/BL/Type_SixDigitCode/Attribute_EnginePartNumber.qbl
@@ -0,0 +1,8 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute EnginePartNumber
+{
+ #keys: '3[413988.0.1146000025][413988.0.1146000024][413988.0.1146000026]'
+ Description: '鍙戝姩鏈洪浂浠跺彿'
+ ValueType: String
+}
diff --git a/_Main/BL/Type_SixDigitCode/Attribute_Power.qbl b/_Main/BL/Type_SixDigitCode/Attribute_Power.qbl
new file mode 100644
index 0000000..fc3c4c5
--- /dev/null
+++ b/_Main/BL/Type_SixDigitCode/Attribute_Power.qbl
@@ -0,0 +1,8 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute Power
+{
+ #keys: '3[413988.0.1145944630][413988.0.1145944629][413988.0.1145944631]'
+ Description: '鍔熺巼'
+ ValueType: String
+}
diff --git a/_Main/BL/Type_SixDigitCode/Attribute_ProducingArea.qbl b/_Main/BL/Type_SixDigitCode/Attribute_ProducingArea.qbl
new file mode 100644
index 0000000..f5754cc
--- /dev/null
+++ b/_Main/BL/Type_SixDigitCode/Attribute_ProducingArea.qbl
@@ -0,0 +1,8 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute ProducingArea
+{
+ #keys: '3[413988.0.1141654646][413988.0.1141654645][413988.0.1141654647]'
+ Description: '浜у湴'
+ ValueType: String
+}
diff --git a/_Main/BL/Type_SixDigitCode/Attribute_Remarks.qbl b/_Main/BL/Type_SixDigitCode/Attribute_Remarks.qbl
new file mode 100644
index 0000000..21f9ae2
--- /dev/null
+++ b/_Main/BL/Type_SixDigitCode/Attribute_Remarks.qbl
@@ -0,0 +1,8 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute Remarks
+{
+ #keys: '3[413988.0.1146000048][413988.0.1146000047][413988.0.1146000049]'
+ Description: '澶囨敞'
+ ValueType: String
+}
diff --git a/_Main/BL/Type_SixDigitCode/Attribute_VehicleModel.qbl b/_Main/BL/Type_SixDigitCode/Attribute_VehicleModel.qbl
new file mode 100644
index 0000000..feabc8a
--- /dev/null
+++ b/_Main/BL/Type_SixDigitCode/Attribute_VehicleModel.qbl
@@ -0,0 +1,8 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute VehicleModel
+{
+ #keys: '3[413988.0.1141654636][413988.0.1141654635][413988.0.1141654637]'
+ Description: '杞﹀瀷'
+ ValueType: String
+}
diff --git a/_Main/BL/Type_SixDigitCode/_ROOT_Type_SixDigitCode.qbl b/_Main/BL/Type_SixDigitCode/_ROOT_Type_SixDigitCode.qbl
new file mode 100644
index 0000000..e80edeb
--- /dev/null
+++ b/_Main/BL/Type_SixDigitCode/_ROOT_Type_SixDigitCode.qbl
@@ -0,0 +1,9 @@
+Quintiq file version 2.0
+#root
+#parent: #DomainModel
+Type SixDigitCode
+{
+ #keys: '5[413988.0.1141654604][413988.0.1141654602][0.0.0][413988.0.1141654603][413988.0.1141654605]'
+ BaseType: Object
+ StructuredName: 'SixDigitCodes'
+}
diff --git a/_Main/BL/Type_ThreeDigitCode/Attribute_Code.qbl b/_Main/BL/Type_ThreeDigitCode/Attribute_Code.qbl
new file mode 100644
index 0000000..47be48e
--- /dev/null
+++ b/_Main/BL/Type_ThreeDigitCode/Attribute_Code.qbl
@@ -0,0 +1,8 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute Code
+{
+ #keys: '3[413988.0.1146011039][413988.0.1146011038][413988.0.1146011040]'
+ Description: '涓変綅鐮�'
+ ValueType: String
+}
diff --git a/_Main/BL/Type_ThreeDigitCode/Attribute_VehicleModel.qbl b/_Main/BL/Type_ThreeDigitCode/Attribute_VehicleModel.qbl
new file mode 100644
index 0000000..b65ccfb
--- /dev/null
+++ b/_Main/BL/Type_ThreeDigitCode/Attribute_VehicleModel.qbl
@@ -0,0 +1,8 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute VehicleModel
+{
+ #keys: '3[413988.0.1146011049][413988.0.1146011048][413988.0.1146011050]'
+ Description: '杞﹀瀷'
+ ValueType: String
+}
diff --git a/_Main/BL/Type_ThreeDigitCode/_ROOT_Type_ThreeDigitCode.qbl b/_Main/BL/Type_ThreeDigitCode/_ROOT_Type_ThreeDigitCode.qbl
new file mode 100644
index 0000000..2a9091c
--- /dev/null
+++ b/_Main/BL/Type_ThreeDigitCode/_ROOT_Type_ThreeDigitCode.qbl
@@ -0,0 +1,9 @@
+Quintiq file version 2.0
+#root
+#parent: #DomainModel
+Type ThreeDigitCode
+{
+ #keys: '5[413988.0.1146011020][413988.0.1146011018][0.0.0][413988.0.1146011019][413988.0.1146011021]'
+ BaseType: Object
+ StructuredName: 'ThreeDigitCodes'
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_ApplicationMacroPlanner/Component_ActionBarPageSales.def b/_Main/UI/MacroPlannerWebApp/Component_ApplicationMacroPlanner/Component_ActionBarPageSales.def
new file mode 100644
index 0000000..08c6546
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_ApplicationMacroPlanner/Component_ActionBarPageSales.def
@@ -0,0 +1,8 @@
+Quintiq file version 2.0
+Component ActionBarPageSales #extension
+{
+ Children:
+ [
+ #child: abgRequirementPreprocessing
+ ]
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_ApplicationMacroPlanner/Component_abgRequirementPreprocessing.def b/_Main/UI/MacroPlannerWebApp/Component_ApplicationMacroPlanner/Component_abgRequirementPreprocessing.def
new file mode 100644
index 0000000..b4b4725
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_ApplicationMacroPlanner/Component_abgRequirementPreprocessing.def
@@ -0,0 +1,29 @@
+Quintiq file version 2.0
+Component abgRequirementPreprocessing
+{
+ #keys: '[413988.0.1139790760]'
+ BaseType: 'WebActionBarGroup'
+ Children:
+ [
+ Component bEngineMatching
+ {
+ #keys: '[413988.0.1139760887]'
+ BaseType: 'WebButton'
+ Children:
+ [
+ #child: cmEngineMatching
+ ]
+ Properties:
+ [
+ Image: 'INDUSTRIAL_ROBOT'
+ Label: 'Engine matching'
+ Taborder: 0
+ ]
+ }
+ ]
+ Properties:
+ [
+ Category: 'Actions-3'
+ Taborder: 4
+ ]
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_ApplicationMacroPlanner/Component_cmEngineMatching.def b/_Main/UI/MacroPlannerWebApp/Component_ApplicationMacroPlanner/Component_cmEngineMatching.def
new file mode 100644
index 0000000..d0da2fb
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_ApplicationMacroPlanner/Component_cmEngineMatching.def
@@ -0,0 +1,46 @@
+Quintiq file version 2.0
+Component cmEngineMatching
+{
+ #keys: '[413988.0.1141020488]'
+ BaseType: 'WebContextMenu'
+ Children:
+ [
+ Component mPR_PP_Budget
+ {
+ #keys: '[413988.0.1141020489]'
+ BaseType: 'WebMenu'
+ Properties:
+ [
+ Image: 'TAG'
+ Taborder: 0
+ Title: 'PR&PP&Budget'
+ ]
+ }
+ Component m6DigitCode
+ {
+ #keys: '[413988.0.1139722046]'
+ BaseType: 'WebMenu'
+ Properties:
+ [
+ Image: 'KEYBOARD_KEY_6'
+ Taborder: 1
+ Title: '6-digit code'
+ ]
+ }
+ Component m3DigitCode
+ {
+ #keys: '[413988.0.1139722069]'
+ BaseType: 'WebMenu'
+ Properties:
+ [
+ Image: 'KEYBOARD_KEY_3'
+ Taborder: 2
+ Title: '3-digit code'
+ ]
+ }
+ ]
+ Properties:
+ [
+ Taborder: 0
+ ]
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_ApplicationMacroPlanner/Response_MacroPlanner_cmEngineMatching_m3DigitCode_OnClick.def b/_Main/UI/MacroPlannerWebApp/Component_ApplicationMacroPlanner/Response_MacroPlanner_cmEngineMatching_m3DigitCode_OnClick.def
new file mode 100644
index 0000000..1bc655a
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_ApplicationMacroPlanner/Response_MacroPlanner_cmEngineMatching_m3DigitCode_OnClick.def
@@ -0,0 +1,16 @@
+Quintiq file version 2.0
+#parent: cmEngineMatching/m3DigitCode
+Response OnClick () id:Response_MacroPlanner_cmEngineMatching_m3DigitCode_OnClick
+{
+ #keys: '[413988.0.1141220432]'
+ CanBindMultiple: false
+ DefinitionID: 'Responsedef_WebMenu_OnClick'
+ GroupServerCalls: true
+ QuillAction
+ {
+ Body:
+ [*
+ ApplicationScope.ViewManager().ResetUserViewById( "ThreeDigitCode", true );
+ *]
+ }
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_ApplicationMacroPlanner/Response_MacroPlanner_cmEngineMatching_m6DigitCode_OnClick.def b/_Main/UI/MacroPlannerWebApp/Component_ApplicationMacroPlanner/Response_MacroPlanner_cmEngineMatching_m6DigitCode_OnClick.def
new file mode 100644
index 0000000..c2ff182
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_ApplicationMacroPlanner/Response_MacroPlanner_cmEngineMatching_m6DigitCode_OnClick.def
@@ -0,0 +1,16 @@
+Quintiq file version 2.0
+#parent: cmEngineMatching/m6DigitCode
+Response OnClick () id:Response_MacroPlanner_cmEngineMatching_m6DigitCode_OnClick
+{
+ #keys: '[413988.0.1141349890]'
+ CanBindMultiple: false
+ DefinitionID: 'Responsedef_WebMenu_OnClick'
+ GroupServerCalls: true
+ QuillAction
+ {
+ Body:
+ [*
+ ApplicationScope.ViewManager().ResetUserViewById( "SixDigitCode", true );
+ *]
+ }
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_ApplicationMacroPlanner/Response_MacroPlanner_cmEngineMatching_mPR_PP_Budget_OnClick.def b/_Main/UI/MacroPlannerWebApp/Component_ApplicationMacroPlanner/Response_MacroPlanner_cmEngineMatching_mPR_PP_Budget_OnClick.def
new file mode 100644
index 0000000..d80ffd4
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_ApplicationMacroPlanner/Response_MacroPlanner_cmEngineMatching_mPR_PP_Budget_OnClick.def
@@ -0,0 +1,16 @@
+Quintiq file version 2.0
+#parent: cmEngineMatching/mPR_PP_Budget
+Response OnClick () id:Response_MacroPlanner_cmEngineMatching_mPR_PP_Budget_OnClick
+{
+ #keys: '[413988.0.1141011461]'
+ CanBindMultiple: false
+ DefinitionID: 'Responsedef_WebMenu_OnClick'
+ GroupServerCalls: true
+ QuillAction
+ {
+ Body:
+ [*
+ ApplicationScope.ViewManager().ResetUserViewById( "PR_PP_Budget", true );
+ *]
+ }
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_ApplicationMacroPlanner/_ROOT_Component_ApplicationMacroPlanner.def b/_Main/UI/MacroPlannerWebApp/Component_ApplicationMacroPlanner/_ROOT_Component_ApplicationMacroPlanner.def
index 719ed35..075a217 100644
--- a/_Main/UI/MacroPlannerWebApp/Component_ApplicationMacroPlanner/_ROOT_Component_ApplicationMacroPlanner.def
+++ b/_Main/UI/MacroPlannerWebApp/Component_ApplicationMacroPlanner/_ROOT_Component_ApplicationMacroPlanner.def
@@ -10,6 +10,7 @@
Children:
[
#child: ActionBarPageData
+ #child: ActionBarPageSales
]
}
]
diff --git a/_Main/UI/MacroPlannerWebApp/Component_DialogCreateEditPR_PP_Budget/Component_pnlActions.def b/_Main/UI/MacroPlannerWebApp/Component_DialogCreateEditPR_PP_Budget/Component_pnlActions.def
new file mode 100644
index 0000000..13779a3
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_DialogCreateEditPR_PP_Budget/Component_pnlActions.def
@@ -0,0 +1,40 @@
+Quintiq file version 2.0
+Component pnlActions
+{
+ #keys: '[413988.0.1141931967]'
+ BaseType: 'WebPanel'
+ Children:
+ [
+ Component btnOk
+ {
+ #keys: '[413988.0.1141931971]'
+ BaseType: 'WebButton'
+ Properties:
+ [
+ Label: 'OK'
+ Taborder: 0
+ ]
+ }
+ Component btnCancel
+ {
+ #keys: '[413988.0.1141931973]'
+ BaseType: 'WebButton'
+ Properties:
+ [
+ Label: 'Cancel'
+ Taborder: 1
+ ]
+ }
+ ]
+ Properties:
+ [
+ Alignment: 'trailing'
+ Border: true
+ ExcludeFromActiveComponent: true
+ FixedSize: true
+ Orientation: 'horizontal'
+ Padding: 'true'
+ Style: 'footer'
+ Taborder: 1
+ ]
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_DialogCreateEditPR_PP_Budget/Component_pnlContent.def b/_Main/UI/MacroPlannerWebApp/Component_DialogCreateEditPR_PP_Budget/Component_pnlContent.def
new file mode 100644
index 0000000..fb37708
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_DialogCreateEditPR_PP_Budget/Component_pnlContent.def
@@ -0,0 +1,125 @@
+Quintiq file version 2.0
+Component pnlContent
+{
+ #keys: '[413988.0.1141931965]'
+ BaseType: 'WebPanel'
+ Children:
+ [
+ Component efModel
+ {
+ #keys: '[413988.0.1143411690]'
+ BaseType: 'WebEditField'
+ Properties:
+ [
+ DataBinding: 'DataHolderDialogData.Data.Model'
+ Label: 'Model'
+ Taborder: 0
+ ]
+ }
+ Component efModelCode
+ {
+ #keys: '[413988.0.1143411710]'
+ BaseType: 'WebEditField'
+ Properties:
+ [
+ DataBinding: 'DataHolderDialogData.Data.ModelCode'
+ Label: 'Model Code'
+ Taborder: 1
+ ]
+ }
+ Component efEngine
+ {
+ #keys: '[413988.0.1143411712]'
+ BaseType: 'WebEditField'
+ Properties:
+ [
+ DataBinding: 'DataHolderDialogData.Data.Engine'
+ Label: 'Engine'
+ Taborder: 2
+ ]
+ }
+ Component efProducingArea
+ {
+ #keys: '[413988.0.1143411714]'
+ BaseType: 'WebEditField'
+ Properties:
+ [
+ DataBinding: 'DataHolderDialogData.Data.ProducingArea'
+ Enabled: false
+ Label: 'Producing Area'
+ Taborder: 3
+ ]
+ }
+ Component efEngineFourDigitCode
+ {
+ #keys: '[413988.0.1143411720]'
+ BaseType: 'WebEditField'
+ Properties:
+ [
+ DataBinding: 'DataHolderDialogData.Data.EngineFourDigitCode'
+ Enabled: false
+ Label: 'Engine Four Digit Code'
+ Taborder: 6
+ ]
+ }
+ Component ddlEnginePartNumber
+ {
+ #keys: '[413988.0.1154740853]'
+ BaseType: 'WebDropDownList'
+ Databinding: 'Product_MP'
+ Children:
+ [
+ Component deContent
+ {
+ #keys: '[413988.0.1154740855]'
+ BaseType: 'WebDataExtractor'
+ Properties:
+ [
+ DataType: 'MacroPlan'
+ Source: 'MacroPlan'
+ Taborder: 0
+ Transformation: 'Product_MP'
+ ]
+ }
+ ]
+ Properties:
+ [
+ DisplayField: 'ID'
+ Label: 'Engine Part Number'
+ Taborder: 5
+ ]
+ }
+ Component ddlVehicleModel
+ {
+ #keys: '[413988.0.1156632659]'
+ BaseType: 'WebDropDownList'
+ Databinding: 'SalesSegment_MP'
+ Children:
+ [
+ Component deContent199
+ {
+ #keys: '[413988.0.1156632661]'
+ BaseType: 'WebDataExtractor'
+ Properties:
+ [
+ DataType: 'MacroPlan'
+ Source: 'MacroPlan'
+ Taborder: 0
+ Transformation: 'SalesSegment_MP'
+ ]
+ }
+ ]
+ Properties:
+ [
+ DisplayField: 'Name'
+ Label: 'Vehicle Model'
+ Taborder: 4
+ ]
+ }
+ ]
+ Properties:
+ [
+ Padding: 'true'
+ Taborder: 0
+ ]
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_DialogCreateEditPR_PP_Budget/Method_Edit.def b/_Main/UI/MacroPlannerWebApp/Component_DialogCreateEditPR_PP_Budget/Method_Edit.def
new file mode 100644
index 0000000..60d3a7a
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_DialogCreateEditPR_PP_Budget/Method_Edit.def
@@ -0,0 +1,23 @@
+Quintiq file version 2.0
+#parent: #root
+Method Edit (
+ PR_PP_Budget selection
+) id:Method_DialogCreateEditPR_PP_Budget_Edit
+{
+ #keys: '[413988.0.1144540442]'
+ Body:
+ [*
+ data := shadow( selection );
+
+ ssmp := select( MacroPlan, SalesSegment_MP, tempSSMP, tempSSMP.Name() = selection.VehicleModel() );
+ ddlVehicleModel.Data( ssmp );
+
+ pmp := select( MacroPlan, Product_MP, tempPMP, tempPMP.ID() = selection.EnginePartNumber() );
+ ddlEnginePartNumber.Data( pmp );
+
+ DataHolderDialogData.Data( &data );
+ dhSelectionPR_PP_Budget.Data( selection );
+
+ ApplicationMacroPlanner.ShowFormModal( this );
+ *]
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_DialogCreateEditPR_PP_Budget/Method_New.def b/_Main/UI/MacroPlannerWebApp/Component_DialogCreateEditPR_PP_Budget/Method_New.def
new file mode 100644
index 0000000..3926351
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_DialogCreateEditPR_PP_Budget/Method_New.def
@@ -0,0 +1,14 @@
+Quintiq file version 2.0
+#parent: #root
+Method New () id:Method_DialogCreateEditPR_PP_Budget_New
+{
+ #keys: '[413988.0.1141932163]'
+ Body:
+ [*
+ data := MacroPlan.PR_PP_Budget( relshadow );
+
+ DataHolderDialogData.Data( &data );
+
+ ApplicationMacroPlanner.ShowFormModal( this );
+ *]
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_DialogCreateEditPR_PP_Budget/Method_OnOK.def b/_Main/UI/MacroPlannerWebApp/Component_DialogCreateEditPR_PP_Budget/Method_OnOK.def
new file mode 100644
index 0000000..247400a
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_DialogCreateEditPR_PP_Budget/Method_OnOK.def
@@ -0,0 +1,20 @@
+Quintiq file version 2.0
+#parent: #root
+Method OnOK () id:Method_DialogCreateEditPR_PP_Budget_OnOK
+{
+ #keys: '[413988.0.1143412444]'
+ Body:
+ [*
+ // On ok
+ Form.ApplyChanges();
+
+ data := DataHolderDialogData.Data();
+
+ data.VehicleModel( guard( ddlVehicleModel.Data().Name(), "" ) );
+ data.EnginePartNumber( guard( ddlEnginePartNumber.Data().ID(), "" ) );
+
+ data.Commit();
+
+ Form.Close();
+ *]
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_DialogCreateEditPR_PP_Budget/Response_pnlActions_btnCancel_OnClick.def b/_Main/UI/MacroPlannerWebApp/Component_DialogCreateEditPR_PP_Budget/Response_pnlActions_btnCancel_OnClick.def
new file mode 100644
index 0000000..8ce843e
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_DialogCreateEditPR_PP_Budget/Response_pnlActions_btnCancel_OnClick.def
@@ -0,0 +1,15 @@
+Quintiq file version 2.0
+#parent: pnlActions/btnCancel
+Response OnClick () id:Response_pnlActions_btnCancel_OnClick
+{
+ #keys: '[413988.0.1141931977]'
+ DefinitionID: 'Responsedef_WebButton_OnClick'
+ GroupServerCalls: true
+ QuillAction
+ {
+ Body:
+ [*
+ Form.Close();
+ *]
+ }
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_DialogCreateEditPR_PP_Budget/Response_pnlActions_btnOk_OnClick.def b/_Main/UI/MacroPlannerWebApp/Component_DialogCreateEditPR_PP_Budget/Response_pnlActions_btnOk_OnClick.def
new file mode 100644
index 0000000..0e9b2f2
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_DialogCreateEditPR_PP_Budget/Response_pnlActions_btnOk_OnClick.def
@@ -0,0 +1,31 @@
+Quintiq file version 2.0
+#parent: pnlActions/btnOk
+Response OnClick () id:Response_pnlActions_btnOk_OnClick
+{
+ #keys: '[413988.0.1141931976]'
+ DefinitionID: 'Responsedef_WebButton_OnClick'
+ Precondition:
+ [*
+ sanitycheckfeedback := '';
+ return PR_PP_Budget::ValidateInput( feedback,
+ sanitycheckfeedback,
+ MacroPlan,
+ efModel.Text(),
+ efModelCode.Text(),
+ efEngine.Text(),
+ efProducingArea.Text(),
+ ddlVehicleModel.Data().Name(),
+ ddlEnginePartNumber.Data().ID(),
+ efEngineFourDigitCode.Text(),
+ dhSelectionPR_PP_Budget.Data() );
+ *]
+ QuillAction
+ {
+ Body:
+ [*
+ // On ok
+ Form.OnOK();
+ *]
+ GroupServerCalls: false
+ }
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_DialogCreateEditPR_PP_Budget/Response_pnlContent_ddlEnginePartNumber_OnSelectionChanged.def b/_Main/UI/MacroPlannerWebApp/Component_DialogCreateEditPR_PP_Budget/Response_pnlContent_ddlEnginePartNumber_OnSelectionChanged.def
new file mode 100644
index 0000000..b1a7900
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_DialogCreateEditPR_PP_Budget/Response_pnlContent_ddlEnginePartNumber_OnSelectionChanged.def
@@ -0,0 +1,16 @@
+Quintiq file version 2.0
+#parent: pnlContent/ddlEnginePartNumber
+Response OnSelectionChanged () id:Response_pnlContent_ddlEnginePartNumber_OnSelectionChanged
+{
+ #keys: '[413988.0.1156661093]'
+ CanBindMultiple: false
+ DefinitionID: 'Responsedef_WebDropDownList_OnSelectionChanged'
+ QuillAction
+ {
+ Body:
+ [*
+ efEngineFourDigitCode.Text( guard( this.Data().Notes(), "" ) );
+ *]
+ GroupServerCalls: false
+ }
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_DialogCreateEditPR_PP_Budget/Response_pnlContent_ddlVehicleModel_OnSelectionChanged.def b/_Main/UI/MacroPlannerWebApp/Component_DialogCreateEditPR_PP_Budget/Response_pnlContent_ddlVehicleModel_OnSelectionChanged.def
new file mode 100644
index 0000000..007efcd
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_DialogCreateEditPR_PP_Budget/Response_pnlContent_ddlVehicleModel_OnSelectionChanged.def
@@ -0,0 +1,16 @@
+Quintiq file version 2.0
+#parent: pnlContent/ddlVehicleModel
+Response OnSelectionChanged () id:Response_pnlContent_ddlVehicleModel_OnSelectionChanged
+{
+ #keys: '[413988.0.1156813119]'
+ CanBindMultiple: false
+ DefinitionID: 'Responsedef_WebDropDownList_OnSelectionChanged'
+ QuillAction
+ {
+ Body:
+ [*
+ efProducingArea.Text( guard( this.Data().Parent().Parent().Name(), "" ) );
+ *]
+ GroupServerCalls: false
+ }
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_DialogCreateEditPR_PP_Budget/_ROOT_Component_DialogCreateEditPR_PP_Budget.def b/_Main/UI/MacroPlannerWebApp/Component_DialogCreateEditPR_PP_Budget/_ROOT_Component_DialogCreateEditPR_PP_Budget.def
new file mode 100644
index 0000000..deda280
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_DialogCreateEditPR_PP_Budget/_ROOT_Component_DialogCreateEditPR_PP_Budget.def
@@ -0,0 +1,43 @@
+Quintiq file version 2.0
+#root
+#parent: MacroPlannerWebApp
+OrphanComponent DialogCreateEditPR_PP_Budget
+{
+ #keys: '[413988.0.1141931963]'
+ BaseType: 'WebForm'
+ Children:
+ [
+ #child: pnlContent
+ #child: pnlActions
+ Component DataHolderDialogData
+ {
+ #keys: '[413988.0.1141932924]'
+ BaseType: 'WebDataHolder'
+ Databinding: 'shadow[PR_PP_Budget]*'
+ Properties:
+ [
+ Taborder: 2
+ ]
+ }
+ Component dhSelectionPR_PP_Budget
+ {
+ #keys: '[413988.0.1155802684]'
+ BaseType: 'WebDataHolder'
+ Databinding: 'PR_PP_Budget'
+ Properties:
+ [
+ Taborder: 3
+ ]
+ }
+ ]
+ Properties:
+ [
+ Alignment: 'trailing'
+ EnterButton: 'btnOk'
+ EscapeButton: 'btnCancel'
+ ExcludeFromActiveComponent: true
+ MinimumColumns: 50
+ Padding: 'false'
+ Title: 'PR_PP_Budget'
+ ]
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_DialogCreateEditSixDigitCode/Component_pnlActions.def b/_Main/UI/MacroPlannerWebApp/Component_DialogCreateEditSixDigitCode/Component_pnlActions.def
new file mode 100644
index 0000000..0b80965
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_DialogCreateEditSixDigitCode/Component_pnlActions.def
@@ -0,0 +1,40 @@
+Quintiq file version 2.0
+Component pnlActions
+{
+ #keys: '[413988.0.1148570670]'
+ BaseType: 'WebPanel'
+ Children:
+ [
+ Component btnOk
+ {
+ #keys: '[413988.0.1148570674]'
+ BaseType: 'WebButton'
+ Properties:
+ [
+ Label: 'OK'
+ Taborder: 0
+ ]
+ }
+ Component btnCancel
+ {
+ #keys: '[413988.0.1148570676]'
+ BaseType: 'WebButton'
+ Properties:
+ [
+ Label: 'Cancel'
+ Taborder: 1
+ ]
+ }
+ ]
+ Properties:
+ [
+ Alignment: 'trailing'
+ Border: true
+ ExcludeFromActiveComponent: true
+ FixedSize: true
+ Orientation: 'horizontal'
+ Padding: 'true'
+ Style: 'footer'
+ Taborder: 1
+ ]
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_DialogCreateEditSixDigitCode/Component_pnlContent.def b/_Main/UI/MacroPlannerWebApp/Component_DialogCreateEditSixDigitCode/Component_pnlContent.def
new file mode 100644
index 0000000..17b8dc0
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_DialogCreateEditSixDigitCode/Component_pnlContent.def
@@ -0,0 +1,113 @@
+Quintiq file version 2.0
+Component pnlContent
+{
+ #keys: '[413988.0.1148570668]'
+ BaseType: 'WebPanel'
+ Children:
+ [
+ Component efCode
+ {
+ #keys: '[413988.0.1148720681]'
+ BaseType: 'WebEditField'
+ Properties:
+ [
+ DataBinding: 'DataHolderDialogData.Data.Code'
+ Label: 'Code'
+ Taborder: 0
+ ]
+ }
+ Component efCurve
+ {
+ #keys: '[413988.0.1148720709]'
+ BaseType: 'WebEditField'
+ Properties:
+ [
+ DataBinding: 'DataHolderDialogData.Data.Curve'
+ Label: 'Curve'
+ Taborder: 1
+ ]
+ }
+ Component efVehicleModel
+ {
+ #keys: '[413988.0.1148720711]'
+ BaseType: 'WebEditField'
+ Properties:
+ [
+ DataBinding: 'DataHolderDialogData.Data.VehicleModel'
+ Label: 'Vehicle Model'
+ Taborder: 2
+ ]
+ }
+ Component efProducingArea
+ {
+ #keys: '[413988.0.1148720713]'
+ BaseType: 'WebEditField'
+ Properties:
+ [
+ DataBinding: 'DataHolderDialogData.Data.ProducingArea'
+ Label: 'Producing Area'
+ Taborder: 3
+ ]
+ }
+ Component efEngine
+ {
+ #keys: '[413988.0.1148720715]'
+ BaseType: 'WebEditField'
+ Properties:
+ [
+ DataBinding: 'DataHolderDialogData.Data.Engine'
+ Label: 'Engine'
+ Taborder: 4
+ ]
+ }
+ Component efPower
+ {
+ #keys: '[413988.0.1148720717]'
+ BaseType: 'WebEditField'
+ Properties:
+ [
+ DataBinding: 'DataHolderDialogData.Data.Power'
+ Label: 'Power'
+ Taborder: 5
+ ]
+ }
+ Component efEnginePartNumber
+ {
+ #keys: '[413988.0.1148720719]'
+ BaseType: 'WebEditField'
+ Properties:
+ [
+ DataBinding: 'DataHolderDialogData.Data.EnginePartNumber'
+ Label: 'Engine Part Number'
+ Taborder: 6
+ ]
+ }
+ Component efEngineFourDigitCode
+ {
+ #keys: '[413988.0.1148720721]'
+ BaseType: 'WebEditField'
+ Properties:
+ [
+ DataBinding: 'DataHolderDialogData.Data.EngineFourDigitCode'
+ Label: 'Engine Four Digit Code'
+ Taborder: 7
+ ]
+ }
+ Component efRemarks
+ {
+ #keys: '[413988.0.1148720723]'
+ BaseType: 'WebEditField'
+ Properties:
+ [
+ DataBinding: 'DataHolderDialogData.Data.Remarks'
+ Label: 'Remarks'
+ Taborder: 8
+ ]
+ }
+ ]
+ Properties:
+ [
+ Padding: 'true'
+ Taborder: 0
+ ]
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_DialogCreateEditSixDigitCode/Method_Edit.def b/_Main/UI/MacroPlannerWebApp/Component_DialogCreateEditSixDigitCode/Method_Edit.def
new file mode 100644
index 0000000..26e644b
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_DialogCreateEditSixDigitCode/Method_Edit.def
@@ -0,0 +1,16 @@
+Quintiq file version 2.0
+#parent: #root
+Method Edit (
+ SixDigitCode selection
+) id:Method_DialogCreateEditSixDigitCode_Edit
+{
+ #keys: '[413988.0.1147490410]'
+ Body:
+ [*
+ data := shadow( selection );
+
+ DataHolderDialogData.Data( &data );
+
+ ApplicationMacroPlanner.ShowFormModal( this );
+ *]
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_DialogCreateEditSixDigitCode/Method_New.def b/_Main/UI/MacroPlannerWebApp/Component_DialogCreateEditSixDigitCode/Method_New.def
new file mode 100644
index 0000000..218cf4a
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_DialogCreateEditSixDigitCode/Method_New.def
@@ -0,0 +1,14 @@
+Quintiq file version 2.0
+#parent: #root
+Method New () id:Method_DialogCreateEditSixDigitCode_New
+{
+ #keys: '[413988.0.1147490412]'
+ Body:
+ [*
+ data := MacroPlan.SixDigitCode( relshadow );
+
+ DataHolderDialogData.Data( &data );
+
+ ApplicationMacroPlanner.ShowFormModal( this );
+ *]
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_DialogCreateEditSixDigitCode/Method_OnOK.def b/_Main/UI/MacroPlannerWebApp/Component_DialogCreateEditSixDigitCode/Method_OnOK.def
new file mode 100644
index 0000000..f533f6c
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_DialogCreateEditSixDigitCode/Method_OnOK.def
@@ -0,0 +1,15 @@
+Quintiq file version 2.0
+#parent: #root
+Method OnOK () id:Method_DialogCreateEditSixDigitCode_OnOK
+{
+ #keys: '[413988.0.1147490413]'
+ Body:
+ [*
+ // On ok
+ Form.ApplyChanges();
+
+ DataHolderDialogData.Data().Commit();
+
+ Form.Close();
+ *]
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_DialogCreateEditSixDigitCode/Response_pnlActions_btnCancel_OnClick.def b/_Main/UI/MacroPlannerWebApp/Component_DialogCreateEditSixDigitCode/Response_pnlActions_btnCancel_OnClick.def
new file mode 100644
index 0000000..13d615f
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_DialogCreateEditSixDigitCode/Response_pnlActions_btnCancel_OnClick.def
@@ -0,0 +1,15 @@
+Quintiq file version 2.0
+#parent: pnlActions/btnCancel
+Response OnClick () id:Response_pnlActions_btnCancel_OnClick
+{
+ #keys: '[413988.0.1148570680]'
+ DefinitionID: 'Responsedef_WebButton_OnClick'
+ GroupServerCalls: true
+ QuillAction
+ {
+ Body:
+ [*
+ Form.Close();
+ *]
+ }
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_DialogCreateEditSixDigitCode/Response_pnlActions_btnOk_OnClick.def b/_Main/UI/MacroPlannerWebApp/Component_DialogCreateEditSixDigitCode/Response_pnlActions_btnOk_OnClick.def
new file mode 100644
index 0000000..dc55f58
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_DialogCreateEditSixDigitCode/Response_pnlActions_btnOk_OnClick.def
@@ -0,0 +1,15 @@
+Quintiq file version 2.0
+#parent: pnlActions/btnOk
+Response OnClick () id:Response_pnlActions_btnOk_OnClick
+{
+ #keys: '[413988.0.1148570679]'
+ DefinitionID: 'Responsedef_WebButton_OnClick'
+ QuillAction
+ {
+ Body:
+ [*
+ Form.OnOK();
+ *]
+ GroupServerCalls: false
+ }
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_DialogCreateEditSixDigitCode/_ROOT_Component_DialogCreateEditSixDigitCode.def b/_Main/UI/MacroPlannerWebApp/Component_DialogCreateEditSixDigitCode/_ROOT_Component_DialogCreateEditSixDigitCode.def
new file mode 100644
index 0000000..ce45008
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_DialogCreateEditSixDigitCode/_ROOT_Component_DialogCreateEditSixDigitCode.def
@@ -0,0 +1,31 @@
+Quintiq file version 2.0
+#root
+#parent: MacroPlannerWebApp
+OrphanComponent DialogCreateEditSixDigitCode
+{
+ #keys: '[413988.0.1148570666]'
+ BaseType: 'WebForm'
+ Children:
+ [
+ #child: pnlContent
+ #child: pnlActions
+ Component DataHolderDialogData
+ {
+ #keys: '[413988.0.1148630765]'
+ BaseType: 'WebDataHolder'
+ Databinding: 'shadow[SixDigitCode]*'
+ Properties:
+ [
+ Taborder: 2
+ ]
+ }
+ ]
+ Properties:
+ [
+ Alignment: 'trailing'
+ EnterButton: 'btnOk'
+ EscapeButton: 'btnCancel'
+ ExcludeFromActiveComponent: true
+ Padding: 'false'
+ ]
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_DialogCreateEditThreeDigitCode/Component_pnlActions.def b/_Main/UI/MacroPlannerWebApp/Component_DialogCreateEditThreeDigitCode/Component_pnlActions.def
new file mode 100644
index 0000000..7d9539f
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_DialogCreateEditThreeDigitCode/Component_pnlActions.def
@@ -0,0 +1,40 @@
+Quintiq file version 2.0
+Component pnlActions
+{
+ #keys: '[413988.0.1149411977]'
+ BaseType: 'WebPanel'
+ Children:
+ [
+ Component btnOk
+ {
+ #keys: '[413988.0.1149411981]'
+ BaseType: 'WebButton'
+ Properties:
+ [
+ Label: 'OK'
+ Taborder: 0
+ ]
+ }
+ Component btnCancel
+ {
+ #keys: '[413988.0.1149411983]'
+ BaseType: 'WebButton'
+ Properties:
+ [
+ Label: 'Cancel'
+ Taborder: 1
+ ]
+ }
+ ]
+ Properties:
+ [
+ Alignment: 'trailing'
+ Border: true
+ ExcludeFromActiveComponent: true
+ FixedSize: true
+ Orientation: 'horizontal'
+ Padding: 'true'
+ Style: 'footer'
+ Taborder: 1
+ ]
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_DialogCreateEditThreeDigitCode/Component_pnlContent.def b/_Main/UI/MacroPlannerWebApp/Component_DialogCreateEditThreeDigitCode/Component_pnlContent.def
new file mode 100644
index 0000000..b6fcc49
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_DialogCreateEditThreeDigitCode/Component_pnlContent.def
@@ -0,0 +1,36 @@
+Quintiq file version 2.0
+Component pnlContent
+{
+ #keys: '[413988.0.1149411975]'
+ BaseType: 'WebPanel'
+ Children:
+ [
+ Component efCode
+ {
+ #keys: '[413988.0.1149413253]'
+ BaseType: 'WebEditField'
+ Properties:
+ [
+ DataBinding: 'DataHolderDialogData.Data.Code'
+ Label: 'Code'
+ Taborder: 0
+ ]
+ }
+ Component efVehicleModel
+ {
+ #keys: '[413988.0.1149413314]'
+ BaseType: 'WebEditField'
+ Properties:
+ [
+ DataBinding: 'DataHolderDialogData.Data.VehicleModel'
+ Label: 'Vehicle Model'
+ Taborder: 1
+ ]
+ }
+ ]
+ Properties:
+ [
+ Padding: 'true'
+ Taborder: 0
+ ]
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_DialogCreateEditThreeDigitCode/Method_Edit.def b/_Main/UI/MacroPlannerWebApp/Component_DialogCreateEditThreeDigitCode/Method_Edit.def
new file mode 100644
index 0000000..d7fa2f6
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_DialogCreateEditThreeDigitCode/Method_Edit.def
@@ -0,0 +1,16 @@
+Quintiq file version 2.0
+#parent: #root
+Method Edit (
+ ThreeDigitCode selection
+) id:Method_DialogCreateEditThreeDigitCode_Edit
+{
+ #keys: '[413988.0.1149412223]'
+ Body:
+ [*
+ data := shadow( selection );
+
+ DataHolderDialogData.Data( &data );
+
+ ApplicationMacroPlanner.ShowFormModal( this );
+ *]
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_DialogCreateEditThreeDigitCode/Method_New.def b/_Main/UI/MacroPlannerWebApp/Component_DialogCreateEditThreeDigitCode/Method_New.def
new file mode 100644
index 0000000..899f48d
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_DialogCreateEditThreeDigitCode/Method_New.def
@@ -0,0 +1,14 @@
+Quintiq file version 2.0
+#parent: #root
+Method New () id:Method_DialogCreateEditThreeDigitCode_New
+{
+ #keys: '[413988.0.1149412225]'
+ Body:
+ [*
+ data := MacroPlan.ThreeDigitCode( relshadow );
+
+ DataHolderDialogData.Data( &data );
+
+ ApplicationMacroPlanner.ShowFormModal( this );
+ *]
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_DialogCreateEditThreeDigitCode/Method_OnOK.def b/_Main/UI/MacroPlannerWebApp/Component_DialogCreateEditThreeDigitCode/Method_OnOK.def
new file mode 100644
index 0000000..f4fee66
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_DialogCreateEditThreeDigitCode/Method_OnOK.def
@@ -0,0 +1,15 @@
+Quintiq file version 2.0
+#parent: #root
+Method OnOK () id:Method_DialogCreateEditThreeDigitCode_OnOK
+{
+ #keys: '[413988.0.1149412226]'
+ Body:
+ [*
+ // On ok
+ Form.ApplyChanges();
+
+ DataHolderDialogData.Data().Commit();
+
+ Form.Close();
+ *]
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_DialogCreateEditThreeDigitCode/Response_pnlActions_btnCancel_OnClick.def b/_Main/UI/MacroPlannerWebApp/Component_DialogCreateEditThreeDigitCode/Response_pnlActions_btnCancel_OnClick.def
new file mode 100644
index 0000000..63a96d3
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_DialogCreateEditThreeDigitCode/Response_pnlActions_btnCancel_OnClick.def
@@ -0,0 +1,15 @@
+Quintiq file version 2.0
+#parent: pnlActions/btnCancel
+Response OnClick () id:Response_pnlActions_btnCancel_OnClick
+{
+ #keys: '[413988.0.1149411987]'
+ DefinitionID: 'Responsedef_WebButton_OnClick'
+ GroupServerCalls: true
+ QuillAction
+ {
+ Body:
+ [*
+ Form.Close();
+ *]
+ }
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_DialogCreateEditThreeDigitCode/Response_pnlActions_btnOk_OnClick.def b/_Main/UI/MacroPlannerWebApp/Component_DialogCreateEditThreeDigitCode/Response_pnlActions_btnOk_OnClick.def
new file mode 100644
index 0000000..34c846c
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_DialogCreateEditThreeDigitCode/Response_pnlActions_btnOk_OnClick.def
@@ -0,0 +1,15 @@
+Quintiq file version 2.0
+#parent: pnlActions/btnOk
+Response OnClick () id:Response_pnlActions_btnOk_OnClick
+{
+ #keys: '[413988.0.1149411986]'
+ DefinitionID: 'Responsedef_WebButton_OnClick'
+ QuillAction
+ {
+ Body:
+ [*
+ Form.OnOK();
+ *]
+ GroupServerCalls: false
+ }
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_DialogCreateEditThreeDigitCode/_ROOT_Component_DialogCreateEditThreeDigitCode.def b/_Main/UI/MacroPlannerWebApp/Component_DialogCreateEditThreeDigitCode/_ROOT_Component_DialogCreateEditThreeDigitCode.def
new file mode 100644
index 0000000..d8b80bf
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_DialogCreateEditThreeDigitCode/_ROOT_Component_DialogCreateEditThreeDigitCode.def
@@ -0,0 +1,31 @@
+Quintiq file version 2.0
+#root
+#parent: MacroPlannerWebApp
+OrphanComponent DialogCreateEditThreeDigitCode
+{
+ #keys: '[413988.0.1149411973]'
+ BaseType: 'WebForm'
+ Children:
+ [
+ #child: pnlContent
+ #child: pnlActions
+ Component DataHolderDialogData id:DataHolderDialogData_545
+ {
+ #keys: '[413988.0.1149412161]'
+ BaseType: 'WebDataHolder'
+ Databinding: 'shadow[ThreeDigitCode]*'
+ Properties:
+ [
+ Taborder: 2
+ ]
+ }
+ ]
+ Properties:
+ [
+ Alignment: 'trailing'
+ EnterButton: 'btnOk'
+ EscapeButton: 'btnCancel'
+ ExcludeFromActiveComponent: true
+ Padding: 'false'
+ ]
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_Form989/Component_List531.def b/_Main/UI/MacroPlannerWebApp/Component_Form989/Component_List531.def
new file mode 100644
index 0000000..e67c89d
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_Form989/Component_List531.def
@@ -0,0 +1,59 @@
+Quintiq file version 2.0
+Component List531
+{
+ #keys: '[413988.0.1147414065]'
+ BaseType: 'WebList'
+ Children:
+ [
+ Component DataExtractor611
+ {
+ #keys: '[413988.0.1147414066]'
+ BaseType: 'WebDataExtractor'
+ Properties:
+ [
+ DataType: 'MacroPlan'
+ Source: 'MacroPlan'
+ Taborder: 0
+ Transformation: 'ThreeDigitCode'
+ ]
+ }
+ #child: listActionBarPage453
+ Component DataSetLevel933
+ {
+ #keys: '[413988.0.1147414068]'
+ BaseType: 'WebDataSetLevel'
+ Children:
+ [
+ #child: listContextMenu852
+ ]
+ Properties:
+ [
+ Columns: '[{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"Code","title":"Code","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"Code"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"VehicleModel","title":"VehicleModel","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"VehicleModel"}}]'
+ ContextMenu: 'listContextMenu852'
+ Taborder: 2
+ ]
+ }
+ ]
+ Properties:
+ [
+ Taborder: 0
+ ]
+ ResponseDefinitions:
+ [
+ DelegatedResponseDefinition OnClick id:Responsedef_List531_WebMenu_OnClick
+ {
+ #keys: '[413988.0.1147414057]'
+ Initiator: 'WebMenu'
+ IsInherited: false
+ ResponseType: 'OnClick'
+ Arguments:
+ [
+ ResponseDefinitionArgument selection
+ {
+ #keys: '[2899.0.17454228]'
+ Binding: 'this.Selection()'
+ }
+ ]
+ }
+ ]
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_Form989/Component_listActionBarPage453.def b/_Main/UI/MacroPlannerWebApp/Component_Form989/Component_listActionBarPage453.def
new file mode 100644
index 0000000..ef65321
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_Form989/Component_listActionBarPage453.def
@@ -0,0 +1,10 @@
+Quintiq file version 2.0
+Component listActionBarPage453
+{
+ #keys: '[413988.0.1147414067]'
+ BaseType: 'listActionBarPage'
+ Properties:
+ [
+ Taborder: 1
+ ]
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_Form989/Component_listContextMenu852.def b/_Main/UI/MacroPlannerWebApp/Component_Form989/Component_listContextMenu852.def
new file mode 100644
index 0000000..46b3d8b
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_Form989/Component_listContextMenu852.def
@@ -0,0 +1,69 @@
+Quintiq file version 2.0
+Component listContextMenu852
+{
+ #keys: '[413988.0.1147414069]'
+ BaseType: 'listContextMenu'
+ Children:
+ [
+ Component MenuSeparator
+ {
+ #keys: '[121142.1.1147171519]'
+ BaseType: 'MenuSeparator'
+ IsDerived: true
+ Properties:
+ [
+ Taborder: 3
+ ]
+ }
+ Component mNew
+ {
+ #keys: '[413988.0.1147414070]'
+ BaseType: 'WebMenu'
+ Properties:
+ [
+ Image: 'ADD2'
+ Taborder: 4
+ Title: 'New'
+ ]
+ }
+ Component mEdit
+ {
+ #keys: '[413988.0.1147414071]'
+ BaseType: 'WebMenu'
+ Properties:
+ [
+ BindOnDoubleClick: true
+ Image: 'PENCIL'
+ Taborder: 5
+ Title: 'Edit'
+ ]
+ }
+ Component mDelete
+ {
+ #keys: '[413988.0.1147414072]'
+ BaseType: 'WebMenu'
+ Properties:
+ [
+ Image: 'DELETE'
+ Taborder: 6
+ Title: 'Delete'
+ ]
+ }
+ Component mSelectAll
+ {
+ #keys: '[413988.0.1147414073]'
+ BaseType: 'WebMenu'
+ Properties:
+ [
+ Image: 'SELECTION_VIEW'
+ Shortcut: 'Ctrl+A'
+ Taborder: 2
+ Title: 'Select all'
+ ]
+ }
+ ]
+ Properties:
+ [
+ Taborder: 0
+ ]
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_Form989/Component_pContent.def b/_Main/UI/MacroPlannerWebApp/Component_Form989/Component_pContent.def
new file mode 100644
index 0000000..4d374b1
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_Form989/Component_pContent.def
@@ -0,0 +1,14 @@
+Quintiq file version 2.0
+Component pContent
+{
+ #keys: '[413988.0.1147414064]'
+ BaseType: 'WebPanel'
+ Children:
+ [
+ #child: List531
+ ]
+ Properties:
+ [
+ Taborder: 1
+ ]
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_Form989/Component_pHeader.def b/_Main/UI/MacroPlannerWebApp/Component_Form989/Component_pHeader.def
new file mode 100644
index 0000000..731789f
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_Form989/Component_pHeader.def
@@ -0,0 +1,36 @@
+Quintiq file version 2.0
+Component pHeader
+{
+ #keys: '[413988.0.1147413981]'
+ BaseType: 'WebPanel'
+ Children:
+ [
+ Component bExport
+ {
+ #keys: '[413988.0.1147413982]'
+ BaseType: 'WebButton'
+ Properties:
+ [
+ Label: 'Download'
+ Taborder: 0
+ ]
+ }
+ Component bImport
+ {
+ #keys: '[413988.0.1147413983]'
+ BaseType: 'WebButton'
+ Properties:
+ [
+ Label: 'Upload'
+ Taborder: 1
+ ]
+ }
+ ]
+ Properties:
+ [
+ Border: true
+ FixedSize: true
+ Orientation: 'horizontal'
+ Taborder: 0
+ ]
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_Form989/Response_List531_mDelete_OnClick.def b/_Main/UI/MacroPlannerWebApp/Component_Form989/Response_List531_mDelete_OnClick.def
new file mode 100644
index 0000000..f355243
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_Form989/Response_List531_mDelete_OnClick.def
@@ -0,0 +1,19 @@
+Quintiq file version 2.0
+#parent: List531
+Response OnClick (
+ structured[ThreeDigitCode] selection
+) id:Response_List531_mDelete_OnClick
+{
+ #keys: '[413988.0.1147414062]'
+ CanBindMultiple: false
+ DefinitionID => /List531/Responsedef_List531_WebMenu_OnClick
+ Initiator: 'mDelete'
+ QuillAction
+ {
+ Body:
+ [*
+ MacroPlan::DeleteObjects( selection );
+ *]
+ GroupServerCalls: false
+ }
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_Form989/Response_List531_mEdit_OnClick.def b/_Main/UI/MacroPlannerWebApp/Component_Form989/Response_List531_mEdit_OnClick.def
new file mode 100644
index 0000000..98661c5
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_Form989/Response_List531_mEdit_OnClick.def
@@ -0,0 +1,21 @@
+Quintiq file version 2.0
+#parent: List531
+Response OnClick (
+ ThreeDigitCode selection
+) id:Response_List531_mEdit_OnClick
+{
+ #keys: '[413988.0.1147414061]'
+ CanBindMultiple: false
+ DefinitionID => /List531/Responsedef_List531_WebMenu_OnClick
+ Initiator: 'mEdit'
+ QuillAction
+ {
+ Body:
+ [*
+ dlg := construct( DialogCreateEditThreeDigitCode );
+
+ dlg.Edit( selection );
+ *]
+ GroupServerCalls: false
+ }
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_Form989/Response_List531_mNew_OnClick.def b/_Main/UI/MacroPlannerWebApp/Component_Form989/Response_List531_mNew_OnClick.def
new file mode 100644
index 0000000..4b7a581
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_Form989/Response_List531_mNew_OnClick.def
@@ -0,0 +1,23 @@
+Quintiq file version 2.0
+#parent: List531
+Response OnClick () id:Response_List531_mNew_OnClick
+{
+ #keys: '[413988.0.1147414060]'
+ CanBindMultiple: false
+ DefinitionID => /List531/Responsedef_List531_WebMenu_OnClick
+ Initiator: 'mNew'
+ Precondition:
+ [*
+ return not isnull( MacroPlan );
+ *]
+ QuillAction
+ {
+ Body:
+ [*
+ dlg := construct( DialogCreateEditThreeDigitCode );
+
+ dlg.New();
+ *]
+ GroupServerCalls: false
+ }
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_Form989/Response_List531_mSelectAll_OnClick.def b/_Main/UI/MacroPlannerWebApp/Component_Form989/Response_List531_mSelectAll_OnClick.def
new file mode 100644
index 0000000..05e0fda
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_Form989/Response_List531_mSelectAll_OnClick.def
@@ -0,0 +1,17 @@
+Quintiq file version 2.0
+#parent: List531
+Response OnClick () id:Response_List531_mSelectAll_OnClick
+{
+ #keys: '[413988.0.1147414059]'
+ CanBindMultiple: false
+ DefinitionID => /List531/Responsedef_List531_WebMenu_OnClick
+ Initiator: 'mSelectAll'
+ QuillAction
+ {
+ Body:
+ [*
+ this.SelectAll();
+ *]
+ GroupServerCalls: false
+ }
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_Form989/Response_pHeader_bExport_OnClick.def b/_Main/UI/MacroPlannerWebApp/Component_Form989/Response_pHeader_bExport_OnClick.def
new file mode 100644
index 0000000..a7f6969
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_Form989/Response_pHeader_bExport_OnClick.def
@@ -0,0 +1,12 @@
+Quintiq file version 2.0
+#parent: pHeader/bExport
+Response OnClick () id:Response_pHeader_bExport_OnClick
+{
+ #keys: '[413988.0.1147413980]'
+ CanBindMultiple: false
+ DefinitionID: 'Responsedef_WebButton_OnClick'
+ QuillAction
+ {
+ GroupServerCalls: false
+ }
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_Form989/Response_pHeader_bImport_OnClick.def b/_Main/UI/MacroPlannerWebApp/Component_Form989/Response_pHeader_bImport_OnClick.def
new file mode 100644
index 0000000..3d75f01
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_Form989/Response_pHeader_bImport_OnClick.def
@@ -0,0 +1,12 @@
+Quintiq file version 2.0
+#parent: pHeader/bImport
+Response OnClick () id:Response_pHeader_bImport_OnClick
+{
+ #keys: '[413988.0.1147413979]'
+ CanBindMultiple: false
+ DefinitionID: 'Responsedef_WebButton_OnClick'
+ QuillAction
+ {
+ GroupServerCalls: false
+ }
+}
diff --git "a/_Main/UI/MacroPlannerWebApp/Component_Form989/_ROOT_Component_FormThreeDigitCode\043989.def" "b/_Main/UI/MacroPlannerWebApp/Component_Form989/_ROOT_Component_FormThreeDigitCode\043989.def"
new file mode 100644
index 0000000..505681f
--- /dev/null
+++ "b/_Main/UI/MacroPlannerWebApp/Component_Form989/_ROOT_Component_FormThreeDigitCode\043989.def"
@@ -0,0 +1,18 @@
+Quintiq file version 2.0
+#root
+#parent: MacroPlannerWebApp
+OrphanComponent FormThreeDigitCode
+{
+ #keys: '[413988.0.1147413891]'
+ BaseType: 'WebForm'
+ Children:
+ [
+ #child: pHeader
+ #child: pContent
+ ]
+ Properties:
+ [
+ Image: 'TABLE'
+ Title: 'ThreeDigitCode'
+ ]
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormPR_PP_Budget/Component_List531.def b/_Main/UI/MacroPlannerWebApp/Component_FormPR_PP_Budget/Component_List531.def
new file mode 100644
index 0000000..742cf8b
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormPR_PP_Budget/Component_List531.def
@@ -0,0 +1,59 @@
+Quintiq file version 2.0
+Component List531
+{
+ #keys: '[413988.0.1141382059]'
+ BaseType: 'WebList'
+ Children:
+ [
+ Component DataExtractor611
+ {
+ #keys: '[413988.0.1141382060]'
+ BaseType: 'WebDataExtractor'
+ Properties:
+ [
+ DataType: 'MacroPlan'
+ Source: 'MacroPlan'
+ Taborder: 0
+ Transformation: 'PR_PP_Budget'
+ ]
+ }
+ #child: listActionBarPage453
+ Component DataSetLevel933
+ {
+ #keys: '[413988.0.1141382065]'
+ BaseType: 'WebDataSetLevel'
+ Children:
+ [
+ #child: listContextMenu852
+ ]
+ Properties:
+ [
+ Columns: '[{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"Model","title":"Model","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"Model"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"ModelCode","title":"ModelCode","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"ModelCode"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"Engine","title":"Engine","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"Engine"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"ProducingArea","title":"ProducingArea","subtotals":"","tooltip":"","width":-1,"display":"shown","attribute":"ProducingArea"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"VehicleModel","title":"VehicleModel","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"VehicleModel"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"EnginePartNumber","title":"EnginePartNumber","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"EnginePartNumber"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"EngineFourDigitCode","title":"EngineFourDigitCode","subtotals":"","tooltip":"","width":-1,"display":"shown","attribute":"EngineFourDigitCode"}}]'
+ ContextMenu: 'listContextMenu852'
+ Taborder: 2
+ ]
+ }
+ ]
+ Properties:
+ [
+ Taborder: 0
+ ]
+ ResponseDefinitions:
+ [
+ DelegatedResponseDefinition OnClick id:Responsedef_List531_WebMenu_OnClick
+ {
+ #keys: '[413988.0.1143180584]'
+ Initiator: 'WebMenu'
+ IsInherited: false
+ ResponseType: 'OnClick'
+ Arguments:
+ [
+ ResponseDefinitionArgument selection
+ {
+ #keys: '[2899.0.17454228]'
+ Binding: 'this.Selection()'
+ }
+ ]
+ }
+ ]
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormPR_PP_Budget/Component_listActionBarPage453.def b/_Main/UI/MacroPlannerWebApp/Component_FormPR_PP_Budget/Component_listActionBarPage453.def
new file mode 100644
index 0000000..5c12b85
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormPR_PP_Budget/Component_listActionBarPage453.def
@@ -0,0 +1,10 @@
+Quintiq file version 2.0
+Component listActionBarPage453
+{
+ #keys: '[413988.0.1141382062]'
+ BaseType: 'listActionBarPage'
+ Properties:
+ [
+ Taborder: 1
+ ]
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormPR_PP_Budget/Component_listContextMenu852.def b/_Main/UI/MacroPlannerWebApp/Component_FormPR_PP_Budget/Component_listContextMenu852.def
new file mode 100644
index 0000000..8fccfc8
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormPR_PP_Budget/Component_listContextMenu852.def
@@ -0,0 +1,69 @@
+Quintiq file version 2.0
+Component listContextMenu852
+{
+ #keys: '[413988.0.1141382067]'
+ BaseType: 'listContextMenu'
+ Children:
+ [
+ Component mNew
+ {
+ #keys: '[413988.0.1143000443]'
+ BaseType: 'WebMenu'
+ Properties:
+ [
+ Image: 'ADD2'
+ Taborder: 4
+ Title: 'New'
+ ]
+ }
+ Component mEdit
+ {
+ #keys: '[413988.0.1143000461]'
+ BaseType: 'WebMenu'
+ Properties:
+ [
+ BindOnDoubleClick: true
+ Image: 'PENCIL'
+ Taborder: 5
+ Title: 'Edit'
+ ]
+ }
+ Component mDelete
+ {
+ #keys: '[413988.0.1143000472]'
+ BaseType: 'WebMenu'
+ Properties:
+ [
+ Image: 'DELETE'
+ Taborder: 6
+ Title: 'Delete'
+ ]
+ }
+ Component MenuSeparator
+ {
+ #keys: '[121142.1.1147171519]'
+ BaseType: 'MenuSeparator'
+ IsDerived: true
+ Properties:
+ [
+ Taborder: 3
+ ]
+ }
+ Component mSelectAll
+ {
+ #keys: '[413988.0.1143320620]'
+ BaseType: 'WebMenu'
+ Properties:
+ [
+ Image: 'SELECTION_VIEW'
+ Shortcut: 'Ctrl+A'
+ Taborder: 2
+ Title: 'Select all'
+ ]
+ }
+ ]
+ Properties:
+ [
+ Taborder: 0
+ ]
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormPR_PP_Budget/Component_pContent.def b/_Main/UI/MacroPlannerWebApp/Component_FormPR_PP_Budget/Component_pContent.def
new file mode 100644
index 0000000..3544efb
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormPR_PP_Budget/Component_pContent.def
@@ -0,0 +1,14 @@
+Quintiq file version 2.0
+Component pContent
+{
+ #keys: '[413988.0.1141442642]'
+ BaseType: 'WebPanel'
+ Children:
+ [
+ #child: List531
+ ]
+ Properties:
+ [
+ Taborder: 1
+ ]
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormPR_PP_Budget/Component_pHeader.def b/_Main/UI/MacroPlannerWebApp/Component_FormPR_PP_Budget/Component_pHeader.def
new file mode 100644
index 0000000..81c8be6
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormPR_PP_Budget/Component_pHeader.def
@@ -0,0 +1,36 @@
+Quintiq file version 2.0
+Component pHeader
+{
+ #keys: '[413988.0.1141442630]'
+ BaseType: 'WebPanel'
+ Children:
+ [
+ Component bExport
+ {
+ #keys: '[413988.0.1139762203]'
+ BaseType: 'WebButton'
+ Properties:
+ [
+ Label: 'Download'
+ Taborder: 0
+ ]
+ }
+ Component bImport
+ {
+ #keys: '[413988.0.1141012027]'
+ BaseType: 'WebButton'
+ Properties:
+ [
+ Label: 'Upload'
+ Taborder: 1
+ ]
+ }
+ ]
+ Properties:
+ [
+ Border: true
+ FixedSize: true
+ Orientation: 'horizontal'
+ Taborder: 0
+ ]
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormPR_PP_Budget/Response_List531_mDelete_OnClick.def b/_Main/UI/MacroPlannerWebApp/Component_FormPR_PP_Budget/Response_List531_mDelete_OnClick.def
new file mode 100644
index 0000000..cb216c1
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormPR_PP_Budget/Response_List531_mDelete_OnClick.def
@@ -0,0 +1,19 @@
+Quintiq file version 2.0
+#parent: List531
+Response OnClick (
+ structured[PR_PP_Budget] selection
+) id:Response_List531_mDelete_OnClick
+{
+ #keys: '[413988.0.1141931465]'
+ CanBindMultiple: false
+ DefinitionID => /List531/Responsedef_List531_WebMenu_OnClick
+ Initiator: 'mDelete'
+ QuillAction
+ {
+ Body:
+ [*
+ MacroPlan::DeleteObjects( selection );
+ *]
+ GroupServerCalls: false
+ }
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormPR_PP_Budget/Response_List531_mEdit_OnClick.def b/_Main/UI/MacroPlannerWebApp/Component_FormPR_PP_Budget/Response_List531_mEdit_OnClick.def
new file mode 100644
index 0000000..f2e291e
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormPR_PP_Budget/Response_List531_mEdit_OnClick.def
@@ -0,0 +1,21 @@
+Quintiq file version 2.0
+#parent: List531
+Response OnClick (
+ PR_PP_Budget selection
+) id:Response_List531_mEdit_OnClick
+{
+ #keys: '[413988.0.1143460616]'
+ CanBindMultiple: false
+ DefinitionID => /List531/Responsedef_List531_WebMenu_OnClick
+ Initiator: 'mEdit'
+ QuillAction
+ {
+ Body:
+ [*
+ dlg := construct( DialogCreateEditPR_PP_Budget );
+
+ dlg.Edit( selection );
+ *]
+ GroupServerCalls: false
+ }
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormPR_PP_Budget/Response_List531_mNew_OnClick.def b/_Main/UI/MacroPlannerWebApp/Component_FormPR_PP_Budget/Response_List531_mNew_OnClick.def
new file mode 100644
index 0000000..e3d0446
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormPR_PP_Budget/Response_List531_mNew_OnClick.def
@@ -0,0 +1,23 @@
+Quintiq file version 2.0
+#parent: List531
+Response OnClick () id:Response_List531_mNew_OnClick
+{
+ #keys: '[413988.0.1143360023]'
+ CanBindMultiple: false
+ DefinitionID => /List531/Responsedef_List531_WebMenu_OnClick
+ Initiator: 'mNew'
+ Precondition:
+ [*
+ return not isnull( MacroPlan );
+ *]
+ QuillAction
+ {
+ Body:
+ [*
+ dlg := construct( DialogCreateEditPR_PP_Budget );
+
+ dlg.New();
+ *]
+ GroupServerCalls: false
+ }
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormPR_PP_Budget/Response_List531_mSelectAll_OnClick.def b/_Main/UI/MacroPlannerWebApp/Component_FormPR_PP_Budget/Response_List531_mSelectAll_OnClick.def
new file mode 100644
index 0000000..a874745
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormPR_PP_Budget/Response_List531_mSelectAll_OnClick.def
@@ -0,0 +1,17 @@
+Quintiq file version 2.0
+#parent: List531
+Response OnClick () id:Response_List531_mSelectAll_OnClick
+{
+ #keys: '[413988.0.1143320748]'
+ CanBindMultiple: false
+ DefinitionID => /List531/Responsedef_List531_WebMenu_OnClick
+ Initiator: 'mSelectAll'
+ QuillAction
+ {
+ Body:
+ [*
+ this.SelectAll();
+ *]
+ GroupServerCalls: false
+ }
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormPR_PP_Budget/Response_pHeader_bExport_OnClick.def b/_Main/UI/MacroPlannerWebApp/Component_FormPR_PP_Budget/Response_pHeader_bExport_OnClick.def
new file mode 100644
index 0000000..58beff0
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormPR_PP_Budget/Response_pHeader_bExport_OnClick.def
@@ -0,0 +1,22 @@
+Quintiq file version 2.0
+#parent: pHeader/bExport
+Response OnClick () id:Response_pHeader_bExport_OnClick
+{
+ #keys: '[413988.0.1141930504]'
+ CanBindMultiple: false
+ DefinitionID: 'Responsedef_WebButton_OnClick'
+ Precondition:
+ [*
+ return not isnull( MacroPlan );
+ *]
+ QuillAction
+ {
+ Body:
+ [*
+ binaryValue := PR_PP_Budget::Download( MacroPlan );
+
+ Application.Download( "鍙戝姩鏈哄尮閰�-PR&PP&Budget.xlsx", binaryValue.AsBinaryData() );
+ *]
+ GroupServerCalls: false
+ }
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormPR_PP_Budget/Response_pHeader_bImport_OnClick.def b/_Main/UI/MacroPlannerWebApp/Component_FormPR_PP_Budget/Response_pHeader_bImport_OnClick.def
new file mode 100644
index 0000000..903035c
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormPR_PP_Budget/Response_pHeader_bImport_OnClick.def
@@ -0,0 +1,12 @@
+Quintiq file version 2.0
+#parent: pHeader/bImport
+Response OnClick () id:Response_pHeader_bImport_OnClick
+{
+ #keys: '[413988.0.1141930584]'
+ CanBindMultiple: false
+ DefinitionID: 'Responsedef_WebButton_OnClick'
+ QuillAction
+ {
+ GroupServerCalls: false
+ }
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormPR_PP_Budget/_ROOT_Component_FormPR_PP_Budget.def b/_Main/UI/MacroPlannerWebApp/Component_FormPR_PP_Budget/_ROOT_Component_FormPR_PP_Budget.def
new file mode 100644
index 0000000..b5c0ee4
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormPR_PP_Budget/_ROOT_Component_FormPR_PP_Budget.def
@@ -0,0 +1,18 @@
+Quintiq file version 2.0
+#root
+#parent: MacroPlannerWebApp
+OrphanComponent FormPR_PP_Budget
+{
+ #keys: '[413988.0.1141350288]'
+ BaseType: 'WebForm'
+ Children:
+ [
+ #child: pContent
+ #child: pHeader
+ ]
+ Properties:
+ [
+ Image: 'TABLE'
+ Title: 'PR_PP_Budget'
+ ]
+}
diff --git "a/_Main/UI/MacroPlannerWebApp/Component_FormSixDigitCode/Component_List531\043836.def" "b/_Main/UI/MacroPlannerWebApp/Component_FormSixDigitCode/Component_List531\043836.def"
new file mode 100644
index 0000000..5e5e4ca
--- /dev/null
+++ "b/_Main/UI/MacroPlannerWebApp/Component_FormSixDigitCode/Component_List531\043836.def"
@@ -0,0 +1,59 @@
+Quintiq file version 2.0
+Component List531 id:List531_836
+{
+ #keys: '[413988.0.1146140364]'
+ BaseType: 'WebList'
+ Children:
+ [
+ Component DataExtractor611
+ {
+ #keys: '[413988.0.1146140365]'
+ BaseType: 'WebDataExtractor'
+ Properties:
+ [
+ DataType: 'MacroPlan'
+ Source: 'MacroPlan'
+ Taborder: 0
+ Transformation: 'SixDigitCode'
+ ]
+ }
+ #child: listActionBarPage453_1
+ Component DataSetLevel933
+ {
+ #keys: '[413988.0.1146140367]'
+ BaseType: 'WebDataSetLevel'
+ Children:
+ [
+ #child: listContextMenu852_1
+ ]
+ Properties:
+ [
+ Columns: '[{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"Code","title":"Code","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"Code"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"Curve","title":"Curve","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"Curve"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"VehicleModel","title":"VehicleModel","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"VehicleModel"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"ProducingArea","title":"ProducingArea","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"ProducingArea"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"Engine","title":"Engine","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"Engine"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"Power","title":"Power","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"Power"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"EnginePartNumber","title":"EnginePartNumber","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"EnginePartNumber"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"EngineFourDigitCode","title":"EngineFourDigitCode","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"EngineFourDigitCode"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"Remarks","title":"Remarks","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"Remarks"}}]'
+ ContextMenu: 'listContextMenu852'
+ Taborder: 2
+ ]
+ }
+ ]
+ Properties:
+ [
+ Taborder: 0
+ ]
+ ResponseDefinitions:
+ [
+ DelegatedResponseDefinition OnClick id:Responsedef_List531_836_WebMenu_OnClick
+ {
+ #keys: '[413988.0.1146140356]'
+ Initiator: 'WebMenu'
+ IsInherited: false
+ ResponseType: 'OnClick'
+ Arguments:
+ [
+ ResponseDefinitionArgument selection
+ {
+ #keys: '[2899.0.17454228]'
+ Binding: 'this.Selection()'
+ }
+ ]
+ }
+ ]
+}
diff --git "a/_Main/UI/MacroPlannerWebApp/Component_FormSixDigitCode/Component_listActionBarPage453\0431.def" "b/_Main/UI/MacroPlannerWebApp/Component_FormSixDigitCode/Component_listActionBarPage453\0431.def"
new file mode 100644
index 0000000..3c44d0b
--- /dev/null
+++ "b/_Main/UI/MacroPlannerWebApp/Component_FormSixDigitCode/Component_listActionBarPage453\0431.def"
@@ -0,0 +1,10 @@
+Quintiq file version 2.0
+Component listActionBarPage453 id:listActionBarPage453_1
+{
+ #keys: '[413988.0.1146140366]'
+ BaseType: 'listActionBarPage'
+ Properties:
+ [
+ Taborder: 1
+ ]
+}
diff --git "a/_Main/UI/MacroPlannerWebApp/Component_FormSixDigitCode/Component_listContextMenu852\0431.def" "b/_Main/UI/MacroPlannerWebApp/Component_FormSixDigitCode/Component_listContextMenu852\0431.def"
new file mode 100644
index 0000000..bb99695
--- /dev/null
+++ "b/_Main/UI/MacroPlannerWebApp/Component_FormSixDigitCode/Component_listContextMenu852\0431.def"
@@ -0,0 +1,69 @@
+Quintiq file version 2.0
+Component listContextMenu852 id:listContextMenu852_1
+{
+ #keys: '[413988.0.1146140368]'
+ BaseType: 'listContextMenu'
+ Children:
+ [
+ Component MenuSeparator
+ {
+ #keys: '[121142.1.1147171519]'
+ BaseType: 'MenuSeparator'
+ IsDerived: true
+ Properties:
+ [
+ Taborder: 3
+ ]
+ }
+ Component mNew
+ {
+ #keys: '[413988.0.1146140369]'
+ BaseType: 'WebMenu'
+ Properties:
+ [
+ Image: 'ADD2'
+ Taborder: 4
+ Title: 'New'
+ ]
+ }
+ Component mEdit
+ {
+ #keys: '[413988.0.1146140370]'
+ BaseType: 'WebMenu'
+ Properties:
+ [
+ BindOnDoubleClick: true
+ Image: 'PENCIL'
+ Taborder: 5
+ Title: 'Edit'
+ ]
+ }
+ Component mDelete
+ {
+ #keys: '[413988.0.1146140371]'
+ BaseType: 'WebMenu'
+ Properties:
+ [
+ Image: 'DELETE'
+ Taborder: 6
+ Title: 'Delete'
+ ]
+ }
+ Component mSelectAll
+ {
+ #keys: '[413988.0.1146140372]'
+ BaseType: 'WebMenu'
+ Properties:
+ [
+ Image: 'SELECTION_VIEW'
+ Shortcut: 'Ctrl+A'
+ Taborder: 2
+ Title: 'Select all'
+ ]
+ }
+ ]
+ Properties:
+ [
+ Taborder: 0
+ ]
+}
diff --git "a/_Main/UI/MacroPlannerWebApp/Component_FormSixDigitCode/Component_pContent\043925.def" "b/_Main/UI/MacroPlannerWebApp/Component_FormSixDigitCode/Component_pContent\043925.def"
new file mode 100644
index 0000000..9009a76
--- /dev/null
+++ "b/_Main/UI/MacroPlannerWebApp/Component_FormSixDigitCode/Component_pContent\043925.def"
@@ -0,0 +1,14 @@
+Quintiq file version 2.0
+Component pContent id:pContent_925
+{
+ #keys: '[413988.0.1146140363]'
+ BaseType: 'WebPanel'
+ Children:
+ [
+ #child: List531_836
+ ]
+ Properties:
+ [
+ Taborder: 1
+ ]
+}
diff --git "a/_Main/UI/MacroPlannerWebApp/Component_FormSixDigitCode/Component_pHeader\043393.def" "b/_Main/UI/MacroPlannerWebApp/Component_FormSixDigitCode/Component_pHeader\043393.def"
new file mode 100644
index 0000000..99d689b
--- /dev/null
+++ "b/_Main/UI/MacroPlannerWebApp/Component_FormSixDigitCode/Component_pHeader\043393.def"
@@ -0,0 +1,36 @@
+Quintiq file version 2.0
+Component pHeader id:pHeader_393
+{
+ #keys: '[413988.0.1146140233]'
+ BaseType: 'WebPanel'
+ Children:
+ [
+ Component bExport
+ {
+ #keys: '[413988.0.1146140234]'
+ BaseType: 'WebButton'
+ Properties:
+ [
+ Label: 'Download'
+ Taborder: 0
+ ]
+ }
+ Component bImport
+ {
+ #keys: '[413988.0.1146140235]'
+ BaseType: 'WebButton'
+ Properties:
+ [
+ Label: 'Upload'
+ Taborder: 1
+ ]
+ }
+ ]
+ Properties:
+ [
+ Border: true
+ FixedSize: true
+ Orientation: 'horizontal'
+ Taborder: 0
+ ]
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormSixDigitCode/Response_List531_836_mDelete_OnClick.def b/_Main/UI/MacroPlannerWebApp/Component_FormSixDigitCode/Response_List531_836_mDelete_OnClick.def
new file mode 100644
index 0000000..55df893
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormSixDigitCode/Response_List531_836_mDelete_OnClick.def
@@ -0,0 +1,19 @@
+Quintiq file version 2.0
+#parent: List531_836
+Response OnClick (
+ structured[SixDigitCode] selection
+) id:Response_List531_836_mDelete_OnClick
+{
+ #keys: '[413988.0.1146140361]'
+ CanBindMultiple: false
+ DefinitionID => /List531_836/Responsedef_List531_836_WebMenu_OnClick
+ Initiator: 'mDelete'
+ QuillAction
+ {
+ Body:
+ [*
+ MacroPlan::DeleteObjects( selection );
+ *]
+ GroupServerCalls: false
+ }
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormSixDigitCode/Response_List531_836_mEdit_OnClick.def b/_Main/UI/MacroPlannerWebApp/Component_FormSixDigitCode/Response_List531_836_mEdit_OnClick.def
new file mode 100644
index 0000000..8f7d9f1
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormSixDigitCode/Response_List531_836_mEdit_OnClick.def
@@ -0,0 +1,21 @@
+Quintiq file version 2.0
+#parent: List531_836
+Response OnClick (
+ SixDigitCode selection
+) id:Response_List531_836_mEdit_OnClick
+{
+ #keys: '[413988.0.1146140360]'
+ CanBindMultiple: false
+ DefinitionID => /List531_836/Responsedef_List531_836_WebMenu_OnClick
+ Initiator: 'mEdit'
+ QuillAction
+ {
+ Body:
+ [*
+ dlg := construct( DialogCreateEditSixDigitCode );
+
+ dlg.Edit( selection );
+ *]
+ GroupServerCalls: false
+ }
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormSixDigitCode/Response_List531_836_mNew_OnClick.def b/_Main/UI/MacroPlannerWebApp/Component_FormSixDigitCode/Response_List531_836_mNew_OnClick.def
new file mode 100644
index 0000000..3ef256d
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormSixDigitCode/Response_List531_836_mNew_OnClick.def
@@ -0,0 +1,23 @@
+Quintiq file version 2.0
+#parent: List531_836
+Response OnClick () id:Response_List531_836_mNew_OnClick
+{
+ #keys: '[413988.0.1146140359]'
+ CanBindMultiple: false
+ DefinitionID => /List531_836/Responsedef_List531_836_WebMenu_OnClick
+ Initiator: 'mNew'
+ Precondition:
+ [*
+ return not isnull( MacroPlan );
+ *]
+ QuillAction
+ {
+ Body:
+ [*
+ dlg := construct( DialogCreateEditSixDigitCode );
+
+ dlg.New();
+ *]
+ GroupServerCalls: false
+ }
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormSixDigitCode/Response_List531_836_mSelectAll_OnClick.def b/_Main/UI/MacroPlannerWebApp/Component_FormSixDigitCode/Response_List531_836_mSelectAll_OnClick.def
new file mode 100644
index 0000000..485feff
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormSixDigitCode/Response_List531_836_mSelectAll_OnClick.def
@@ -0,0 +1,17 @@
+Quintiq file version 2.0
+#parent: List531_836
+Response OnClick () id:Response_List531_836_mSelectAll_OnClick
+{
+ #keys: '[413988.0.1146140358]'
+ CanBindMultiple: false
+ DefinitionID => /List531_836/Responsedef_List531_836_WebMenu_OnClick
+ Initiator: 'mSelectAll'
+ QuillAction
+ {
+ Body:
+ [*
+ this.SelectAll();
+ *]
+ GroupServerCalls: false
+ }
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormSixDigitCode/Response_pHeader_393_bExport_OnClick.def b/_Main/UI/MacroPlannerWebApp/Component_FormSixDigitCode/Response_pHeader_393_bExport_OnClick.def
new file mode 100644
index 0000000..079d0f8
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormSixDigitCode/Response_pHeader_393_bExport_OnClick.def
@@ -0,0 +1,12 @@
+Quintiq file version 2.0
+#parent: pHeader_393/bExport
+Response OnClick () id:Response_pHeader_393_bExport_OnClick
+{
+ #keys: '[413988.0.1146140232]'
+ CanBindMultiple: false
+ DefinitionID: 'Responsedef_WebButton_OnClick'
+ QuillAction
+ {
+ GroupServerCalls: false
+ }
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormSixDigitCode/Response_pHeader_393_bImport_OnClick.def b/_Main/UI/MacroPlannerWebApp/Component_FormSixDigitCode/Response_pHeader_393_bImport_OnClick.def
new file mode 100644
index 0000000..506669c
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormSixDigitCode/Response_pHeader_393_bImport_OnClick.def
@@ -0,0 +1,12 @@
+Quintiq file version 2.0
+#parent: pHeader_393/bImport
+Response OnClick () id:Response_pHeader_393_bImport_OnClick
+{
+ #keys: '[413988.0.1146140231]'
+ CanBindMultiple: false
+ DefinitionID: 'Responsedef_WebButton_OnClick'
+ QuillAction
+ {
+ GroupServerCalls: false
+ }
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormSixDigitCode/_ROOT_Component_FormSixDigitCode.def b/_Main/UI/MacroPlannerWebApp/Component_FormSixDigitCode/_ROOT_Component_FormSixDigitCode.def
new file mode 100644
index 0000000..598f24d
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormSixDigitCode/_ROOT_Component_FormSixDigitCode.def
@@ -0,0 +1,18 @@
+Quintiq file version 2.0
+#root
+#parent: MacroPlannerWebApp
+OrphanComponent FormSixDigitCode
+{
+ #keys: '[413988.0.1144800629]'
+ BaseType: 'WebForm'
+ Children:
+ [
+ #child: pHeader_393
+ #child: pContent_925
+ ]
+ Properties:
+ [
+ Image: 'TABLE'
+ Title: 'SixDigitCode'
+ ]
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Views/PR_PP_Budget.vw b/_Main/UI/MacroPlannerWebApp/Views/PR_PP_Budget.vw
new file mode 100644
index 0000000..4c8b214
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Views/PR_PP_Budget.vw
@@ -0,0 +1,146 @@
+Quintiq file version 2.0
+{
+ viewcontents
+ {
+ forms
+ {
+ form_FormPR_PP_Budget
+ {
+ title: 'QMacroPlanner::FormPR_PP_Budget'
+ shown: true
+ componentID: 'QMacroPlanner::FormPR_PP_Budget'
+ layout
+ {
+ mode: 'open'
+ rowPosition: 1
+ rowSpan: 14
+ columnPosition: 1
+ columnSpan: 12
+ }
+ components: null
+ }
+ form_FormOptimizerPuzzles
+ {
+ title: 'Optimizer Puzzles'
+ shown: false
+ componentID: 'FormOptimizerPuzzles'
+ layout
+ {
+ mode: 'dockright'
+ index: 0
+ }
+ components
+ {
+ FormOptimizerPuzzles_ListOptimizerPuzzles
+ {
+ }
+ FormOptimizerPuzzles_DataSetLevelOptimizerPuzzles
+ {
+ groupDepth: -1
+ column_All_constraints
+ {
+ columnId: 'All constraints'
+ dataPath: 'All constraints'
+ dataType: 'string'
+ title: 'All constraints'
+ index: 0
+ subtotals: ''
+ width: 32
+ }
+ column_Name
+ {
+ columnId: 'Name'
+ dataPath: 'Name'
+ dataType: 'string'
+ title: 'Name'
+ index: 1
+ subtotals: ''
+ width: 109
+ }
+ column_Description
+ {
+ columnId: 'Description'
+ dataPath: 'Description'
+ dataType: 'string'
+ title: 'Description'
+ index: 2
+ subtotals: ''
+ width: 207
+ }
+ }
+ }
+ }
+ form_FormKPI
+ {
+ title: 'KPI Dashboard'
+ shown: true
+ componentID: 'FormKPI'
+ layout
+ {
+ mode: 'dockright'
+ index: 1
+ }
+ components
+ {
+ FormKPI_PanelKPI
+ {
+ sizeRatio: 1
+ activeChild: 'PanelKPISelection'
+ }
+ FormKPI_PanelKPIDashboard
+ {
+ sizeRatio: 1
+ }
+ FormKPI_PanelKPISelection
+ {
+ sizeRatio: 1
+ }
+ FormKPI_ListKPISelection
+ {
+ QuillViewData
+ {
+ Food_KPISetting: 'Cost of sales;Fulfillment;Fulfillment target;Inventory holding cost;Labor cost;Margin;Safety stock;Sales;Sourcing cost;Total CO2 emission;Transportation cost;Volume'
+ }
+ }
+ FormKPI_DataSetLevelKPISelection
+ {
+ groupDepth: -1
+ column_All_constraints
+ {
+ columnId: 'All constraints'
+ dataPath: 'All constraints'
+ dataType: 'string'
+ title: 'All constraints'
+ index: 0
+ subtotals: ''
+ width: 32
+ }
+ column_Name
+ {
+ columnId: 'Name'
+ dataPath: 'Name'
+ dataType: 'string'
+ title: 'Name'
+ index: 1
+ subtotals: ''
+ width: 200
+ }
+ }
+ }
+ }
+ }
+ userconfigurableinformation
+ {
+ }
+ page: ''
+ group: ''
+ index: 0
+ image: 'BEAR'
+ description: ''
+ }
+ formatversion: 2
+ id: 'PR_PP_Budget'
+ name: 'PR_PP_Budget'
+ isglobal: false
+ isroot: true
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Views/SixDigitCode.vw b/_Main/UI/MacroPlannerWebApp/Views/SixDigitCode.vw
new file mode 100644
index 0000000..7ee4404
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Views/SixDigitCode.vw
@@ -0,0 +1,244 @@
+Quintiq file version 2.0
+{
+ viewcontents
+ {
+ forms
+ {
+ form_FormSixDigitCode
+ {
+ title: 'QMacroPlanner::FormSixDigitCode'
+ shown: true
+ componentID: 'QMacroPlanner::FormSixDigitCode'
+ layout
+ {
+ mode: 'open'
+ rowPosition: 1
+ rowSpan: 14
+ columnPosition: 1
+ columnSpan: 12
+ }
+ components
+ {
+ FormSixDigitCode_pHeader
+ {
+ sizeRatio: 1
+ }
+ FormSixDigitCode_pContent
+ {
+ sizeRatio: 1
+ }
+ FormSixDigitCode_List531
+ {
+ }
+ FormSixDigitCode_DataSetLevel933
+ {
+ groupDepth: -1
+ column_Code
+ {
+ columnId: 'Code'
+ dataPath: 'Code'
+ dataType: 'string'
+ index: 0
+ subtotals: ''
+ width: 150
+ }
+ column_Curve
+ {
+ columnId: 'Curve'
+ dataPath: 'Curve'
+ dataType: 'string'
+ index: 1
+ subtotals: ''
+ width: 150
+ }
+ column_VehicleModel
+ {
+ columnId: 'VehicleModel'
+ dataPath: 'VehicleModel'
+ dataType: 'string'
+ index: 2
+ subtotals: ''
+ width: 150
+ }
+ column_ProducingArea
+ {
+ columnId: 'ProducingArea'
+ dataPath: 'ProducingArea'
+ dataType: 'string'
+ index: 3
+ subtotals: ''
+ width: 150
+ }
+ column_Engine
+ {
+ columnId: 'Engine'
+ dataPath: 'Engine'
+ dataType: 'string'
+ index: 4
+ subtotals: ''
+ width: 150
+ }
+ column_Power
+ {
+ columnId: 'Power'
+ dataPath: 'Power'
+ dataType: 'string'
+ index: 5
+ subtotals: ''
+ width: 150
+ }
+ column_EnginePartNumber
+ {
+ columnId: 'EnginePartNumber'
+ dataPath: 'EnginePartNumber'
+ dataType: 'string'
+ index: 6
+ subtotals: ''
+ width: 150
+ }
+ column_EngineFourDigitCode
+ {
+ columnId: 'EngineFourDigitCode'
+ dataPath: 'EngineFourDigitCode'
+ dataType: 'string'
+ index: 7
+ subtotals: ''
+ width: 150
+ }
+ column_Remarks
+ {
+ columnId: 'Remarks'
+ dataPath: 'Remarks'
+ dataType: 'string'
+ index: 8
+ subtotals: ''
+ width: 150
+ }
+ }
+ }
+ }
+ form_FormOptimizerPuzzles
+ {
+ title: 'Optimizer Puzzles'
+ shown: false
+ componentID: 'FormOptimizerPuzzles'
+ layout
+ {
+ mode: 'dockright'
+ index: 0
+ }
+ components
+ {
+ FormOptimizerPuzzles_ListOptimizerPuzzles
+ {
+ }
+ FormOptimizerPuzzles_DataSetLevelOptimizerPuzzles
+ {
+ groupDepth: -1
+ column_All_constraints
+ {
+ columnId: 'All constraints'
+ dataPath: 'All constraints'
+ dataType: 'string'
+ title: 'All constraints'
+ index: 0
+ subtotals: ''
+ width: 32
+ }
+ column_Name
+ {
+ columnId: 'Name'
+ dataPath: 'Name'
+ dataType: 'string'
+ title: 'Name'
+ index: 1
+ subtotals: ''
+ width: 109
+ }
+ column_Description
+ {
+ columnId: 'Description'
+ dataPath: 'Description'
+ dataType: 'string'
+ title: 'Description'
+ index: 2
+ subtotals: ''
+ width: 207
+ }
+ }
+ }
+ }
+ form_FormKPI
+ {
+ title: 'KPI Dashboard'
+ shown: true
+ componentID: 'FormKPI'
+ layout
+ {
+ mode: 'dockright'
+ index: 1
+ }
+ components
+ {
+ FormKPI_PanelKPI
+ {
+ sizeRatio: 1
+ activeChild: 'PanelKPISelection'
+ }
+ FormKPI_PanelKPIDashboard
+ {
+ sizeRatio: 1
+ }
+ FormKPI_PanelKPISelection
+ {
+ sizeRatio: 1
+ }
+ FormKPI_ListKPISelection
+ {
+ QuillViewData
+ {
+ Food_KPISetting: 'Cost of sales;Fulfillment;Fulfillment target;Inventory holding cost;Labor cost;Margin;Safety stock;Sales;Sourcing cost;Total CO2 emission;Transportation cost;Volume'
+ }
+ }
+ FormKPI_DataSetLevelKPISelection
+ {
+ groupDepth: -1
+ column_All_constraints
+ {
+ columnId: 'All constraints'
+ dataPath: 'All constraints'
+ dataType: 'string'
+ title: 'All constraints'
+ index: 0
+ subtotals: ''
+ width: 32
+ }
+ column_Name
+ {
+ columnId: 'Name'
+ dataPath: 'Name'
+ dataType: 'string'
+ title: 'Name'
+ index: 1
+ subtotals: ''
+ width: 200
+ }
+ }
+ }
+ }
+ }
+ userconfigurableinformation
+ {
+ }
+ page: ''
+ group: ''
+ index: 0
+ image: 'KEYBOARD_KEY_6'
+ description: ''
+ }
+ formatversion: 2
+ id: 'SixDigitCode'
+ name: 'SixDigitCode'
+ isglobal: false
+ isroot: true
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Views/ThreeDigitCode.vw b/_Main/UI/MacroPlannerWebApp/Views/ThreeDigitCode.vw
new file mode 100644
index 0000000..e803165
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Views/ThreeDigitCode.vw
@@ -0,0 +1,181 @@
+Quintiq file version 2.0
+{
+ viewcontents
+ {
+ forms
+ {
+ form_FormThreeDigitCode
+ {
+ title: 'QMacroPlanner::FormThreeDigitCode'
+ shown: true
+ componentID: 'QMacroPlanner::FormThreeDigitCode'
+ layout
+ {
+ mode: 'open'
+ rowPosition: 1
+ rowSpan: 14
+ columnPosition: 1
+ columnSpan: 12
+ }
+ components
+ {
+ FormThreeDigitCode_pHeader
+ {
+ sizeRatio: 1
+ }
+ FormThreeDigitCode_pContent
+ {
+ sizeRatio: 1
+ }
+ FormThreeDigitCode_List531
+ {
+ }
+ FormThreeDigitCode_DataSetLevel933
+ {
+ groupDepth: -1
+ column_Code
+ {
+ columnId: 'Code'
+ dataPath: 'Code'
+ dataType: 'string'
+ index: 0
+ subtotals: ''
+ width: 150
+ }
+ column_VehicleModel
+ {
+ columnId: 'VehicleModel'
+ dataPath: 'VehicleModel'
+ dataType: 'string'
+ index: 1
+ subtotals: ''
+ width: 150
+ }
+ }
+ }
+ }
+ form_FormOptimizerPuzzles
+ {
+ title: 'Optimizer Puzzles'
+ shown: false
+ componentID: 'FormOptimizerPuzzles'
+ layout
+ {
+ mode: 'dockright'
+ index: 0
+ }
+ components
+ {
+ FormOptimizerPuzzles_ListOptimizerPuzzles
+ {
+ }
+ FormOptimizerPuzzles_DataSetLevelOptimizerPuzzles
+ {
+ groupDepth: -1
+ column_All_constraints
+ {
+ columnId: 'All constraints'
+ dataPath: 'All constraints'
+ dataType: 'string'
+ title: 'All constraints'
+ index: 0
+ subtotals: ''
+ width: 32
+ }
+ column_Name
+ {
+ columnId: 'Name'
+ dataPath: 'Name'
+ dataType: 'string'
+ title: 'Name'
+ index: 1
+ subtotals: ''
+ width: 109
+ }
+ column_Description
+ {
+ columnId: 'Description'
+ dataPath: 'Description'
+ dataType: 'string'
+ title: 'Description'
+ index: 2
+ subtotals: ''
+ width: 207
+ }
+ }
+ }
+ }
+ form_FormKPI
+ {
+ title: 'KPI Dashboard'
+ shown: true
+ componentID: 'FormKPI'
+ layout
+ {
+ mode: 'dockright'
+ index: 1
+ }
+ components
+ {
+ FormKPI_PanelKPI
+ {
+ sizeRatio: 1
+ activeChild: 'PanelKPISelection'
+ }
+ FormKPI_PanelKPIDashboard
+ {
+ sizeRatio: 1
+ }
+ FormKPI_PanelKPISelection
+ {
+ sizeRatio: 1
+ }
+ FormKPI_ListKPISelection
+ {
+ QuillViewData
+ {
+ Food_KPISetting: 'Cost of sales;Fulfillment;Fulfillment target;Inventory holding cost;Labor cost;Margin;Safety stock;Sales;Sourcing cost;Total CO2 emission;Transportation cost;Volume'
+ }
+ }
+ FormKPI_DataSetLevelKPISelection
+ {
+ groupDepth: -1
+ column_All_constraints
+ {
+ columnId: 'All constraints'
+ dataPath: 'All constraints'
+ dataType: 'string'
+ title: 'All constraints'
+ index: 0
+ subtotals: ''
+ width: 32
+ }
+ column_Name
+ {
+ columnId: 'Name'
+ dataPath: 'Name'
+ dataType: 'string'
+ title: 'Name'
+ index: 1
+ subtotals: ''
+ width: 200
+ }
+ }
+ }
+ }
+ }
+ userconfigurableinformation
+ {
+ }
+ page: ''
+ group: ''
+ index: 0
+ image: 'KEYBOARD_KEY_3'
+ description: ''
+ }
+ formatversion: 2
+ id: 'ThreeDigitCode'
+ name: 'ThreeDigitCode'
+ isglobal: false
+ isroot: true
+}
--
Gitblit v1.9.3