lihongji
2024-05-16 2f841fb68d79b4276da8ebabee845cc7f961ffb9
发动机匹配
已修改2个文件
已添加108个文件
2981 ■■■■■ 文件已修改
.gitignore 42 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Dataset_Archive/_ROOT_Dataset_Archive.qbl 9 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/InfoMessages.qbl 43 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Relations/Relation_PR_PP_Budget_MacroPlan_MacroPlan_PR_PP_Budget.qbl 23 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Relations/Relation_SixDigitCode_MacroPlan_MacroPlan_SixDigitCode.qbl 23 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Relations/Relation_ThreeDigitCode_MacroPlan_MacroPlan_ThreeDigitCode.qbl 23 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Relations/_ROOT_Relations.qbl 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_Archive/StaticMethod_OnServerStartup.qbl 23 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_Archive/_ROOT_Type_Archive.qbl 9 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_DMF_CustomLogic/Method_OnFinished.qbl 58 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_DMF_CustomLogic/_ROOT_Type_DMF_CustomLogic.qbl 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_MacroPlan/_ROOT_Type_MacroPlan.qbl 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_PR_PP_Budget/Attribute_Engine.qbl 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_PR_PP_Budget/Attribute_EngineFourDigitCode.qbl 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_PR_PP_Budget/Attribute_EnginePartNumber.qbl 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_PR_PP_Budget/Attribute_Model.qbl 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_PR_PP_Budget/Attribute_ModelCode.qbl 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_PR_PP_Budget/Attribute_ProducingArea.qbl 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_PR_PP_Budget/Attribute_VehicleModel.qbl 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_PR_PP_Budget/StaticMethod_Download.qbl 44 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_PR_PP_Budget/StaticMethod_ExportCreateCell.qbl 15 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_PR_PP_Budget/StaticMethod_ValidateInput.qbl 45 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_PR_PP_Budget/_ROOT_Type_PR_PP_Budget.qbl 9 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_Product_MP/_ROOT_Type_Product_MP.qbl 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_SalesSegment_MP/_ROOT_Type_SalesSegment_MP.qbl 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_SixDigitCode/Attribute_Code.qbl 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_SixDigitCode/Attribute_Curve.qbl 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_SixDigitCode/Attribute_Engine.qbl 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_SixDigitCode/Attribute_EngineFourDigitCode.qbl 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_SixDigitCode/Attribute_EnginePartNumber.qbl 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_SixDigitCode/Attribute_Power.qbl 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_SixDigitCode/Attribute_ProducingArea.qbl 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_SixDigitCode/Attribute_Remarks.qbl 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_SixDigitCode/Attribute_VehicleModel.qbl 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_SixDigitCode/_ROOT_Type_SixDigitCode.qbl 9 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_ThreeDigitCode/Attribute_Code.qbl 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_ThreeDigitCode/Attribute_VehicleModel.qbl 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_ThreeDigitCode/_ROOT_Type_ThreeDigitCode.qbl 9 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_ApplicationMacroPlanner/Component_ActionBarPageSales.def 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_ApplicationMacroPlanner/Component_abgRequirementPreprocessing.def 29 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_ApplicationMacroPlanner/Component_cmEngineMatching.def 46 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_ApplicationMacroPlanner/Response_MacroPlanner_cmEngineMatching_m3DigitCode_OnClick.def 16 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_ApplicationMacroPlanner/Response_MacroPlanner_cmEngineMatching_m6DigitCode_OnClick.def 16 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_ApplicationMacroPlanner/Response_MacroPlanner_cmEngineMatching_mPR_PP_Budget_OnClick.def 16 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_ApplicationMacroPlanner/_ROOT_Component_ApplicationMacroPlanner.def 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_DialogCreateEditPR_PP_Budget/Component_pnlActions.def 40 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_DialogCreateEditPR_PP_Budget/Component_pnlContent.def 125 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_DialogCreateEditPR_PP_Budget/Method_Edit.def 23 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_DialogCreateEditPR_PP_Budget/Method_New.def 14 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_DialogCreateEditPR_PP_Budget/Method_OnOK.def 20 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_DialogCreateEditPR_PP_Budget/Response_pnlActions_btnCancel_OnClick.def 15 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_DialogCreateEditPR_PP_Budget/Response_pnlActions_btnOk_OnClick.def 31 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_DialogCreateEditPR_PP_Budget/Response_pnlContent_ddlEnginePartNumber_OnSelectionChanged.def 16 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_DialogCreateEditPR_PP_Budget/Response_pnlContent_ddlVehicleModel_OnSelectionChanged.def 16 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_DialogCreateEditPR_PP_Budget/_ROOT_Component_DialogCreateEditPR_PP_Budget.def 43 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_DialogCreateEditSixDigitCode/Component_pnlActions.def 40 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_DialogCreateEditSixDigitCode/Component_pnlContent.def 113 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_DialogCreateEditSixDigitCode/Method_Edit.def 16 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_DialogCreateEditSixDigitCode/Method_New.def 14 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_DialogCreateEditSixDigitCode/Method_OnOK.def 15 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_DialogCreateEditSixDigitCode/Response_pnlActions_btnCancel_OnClick.def 15 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_DialogCreateEditSixDigitCode/Response_pnlActions_btnOk_OnClick.def 15 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_DialogCreateEditSixDigitCode/_ROOT_Component_DialogCreateEditSixDigitCode.def 31 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_DialogCreateEditThreeDigitCode/Component_pnlActions.def 40 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_DialogCreateEditThreeDigitCode/Component_pnlContent.def 36 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_DialogCreateEditThreeDigitCode/Method_Edit.def 16 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_DialogCreateEditThreeDigitCode/Method_New.def 14 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_DialogCreateEditThreeDigitCode/Method_OnOK.def 15 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_DialogCreateEditThreeDigitCode/Response_pnlActions_btnCancel_OnClick.def 15 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_DialogCreateEditThreeDigitCode/Response_pnlActions_btnOk_OnClick.def 15 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_DialogCreateEditThreeDigitCode/_ROOT_Component_DialogCreateEditThreeDigitCode.def 31 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_Form989/Component_List531.def 59 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_Form989/Component_listActionBarPage453.def 10 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_Form989/Component_listContextMenu852.def 69 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_Form989/Component_pContent.def 14 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_Form989/Component_pHeader.def 36 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_Form989/Response_List531_mDelete_OnClick.def 19 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_Form989/Response_List531_mEdit_OnClick.def 21 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_Form989/Response_List531_mNew_OnClick.def 23 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_Form989/Response_List531_mSelectAll_OnClick.def 17 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_Form989/Response_pHeader_bExport_OnClick.def 12 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_Form989/Response_pHeader_bImport_OnClick.def 12 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_Form989/_ROOT_Component_FormThreeDigitCode#989.def 18 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_FormPR_PP_Budget/Component_List531.def 59 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_FormPR_PP_Budget/Component_listActionBarPage453.def 10 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_FormPR_PP_Budget/Component_listContextMenu852.def 69 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_FormPR_PP_Budget/Component_pContent.def 14 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_FormPR_PP_Budget/Component_pHeader.def 36 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_FormPR_PP_Budget/Response_List531_mDelete_OnClick.def 19 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_FormPR_PP_Budget/Response_List531_mEdit_OnClick.def 21 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_FormPR_PP_Budget/Response_List531_mNew_OnClick.def 23 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_FormPR_PP_Budget/Response_List531_mSelectAll_OnClick.def 17 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_FormPR_PP_Budget/Response_pHeader_bExport_OnClick.def 22 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_FormPR_PP_Budget/Response_pHeader_bImport_OnClick.def 12 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_FormPR_PP_Budget/_ROOT_Component_FormPR_PP_Budget.def 18 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_FormSixDigitCode/Component_List531#836.def 59 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_FormSixDigitCode/Component_listActionBarPage453#1.def 10 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_FormSixDigitCode/Component_listContextMenu852#1.def 69 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_FormSixDigitCode/Component_pContent#925.def 14 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_FormSixDigitCode/Component_pHeader#393.def 36 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_FormSixDigitCode/Response_List531_836_mDelete_OnClick.def 19 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_FormSixDigitCode/Response_List531_836_mEdit_OnClick.def 21 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_FormSixDigitCode/Response_List531_836_mNew_OnClick.def 23 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_FormSixDigitCode/Response_List531_836_mSelectAll_OnClick.def 17 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_FormSixDigitCode/Response_pHeader_393_bExport_OnClick.def 12 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_FormSixDigitCode/Response_pHeader_393_bImport_OnClick.def 12 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_FormSixDigitCode/_ROOT_Component_FormSixDigitCode.def 18 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Views/PR_PP_Budget.vw 146 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Views/SixDigitCode.vw 244 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Views/ThreeDigitCode.vw 181 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
.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/
_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
}
_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'
  }
}
_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'
  }
}
_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'
  }
}
_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'
  }
}
_Main/BL/Relations/_ROOT_Relations.qbl
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,6 @@
Quintiq file version 2.0
#root
#parent: #DomainModel
Relations id:#Relations #extension
{
}
_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() );
    }
  *]
}
_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'
}
_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();
  *]
}
_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
{
}
_Main/BL/Type_MacroPlan/_ROOT_Type_MacroPlan.qbl
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,6 @@
Quintiq file version 2.0
#root
#parent: #DomainModel
Type MacroPlan #extension
{
}
_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
}
_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
}
_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
}
_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
}
_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
}
_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
}
_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
}
_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();
  *]
}
_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 );
  *]
}
_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 = "";
  *]
}
_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'
}
_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
{
}
_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
{
}
_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
}
_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
}
_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
}
_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
}
_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
}
_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
}
_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
}
_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
}
_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
}
_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'
}
_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
}
_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
}
_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'
}
_Main/UI/MacroPlannerWebApp/Component_ApplicationMacroPlanner/Component_ActionBarPageSales.def
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,8 @@
Quintiq file version 2.0
Component ActionBarPageSales #extension
{
  Children:
  [
    #child: abgRequirementPreprocessing
  ]
}
_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
  ]
}
_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
  ]
}
_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 );
    *]
  }
}
_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 );
    *]
  }
}
_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 );
    *]
  }
}
_Main/UI/MacroPlannerWebApp/Component_ApplicationMacroPlanner/_ROOT_Component_ApplicationMacroPlanner.def
@@ -10,6 +10,7 @@
      Children:
      [
        #child: ActionBarPageData
        #child: ActionBarPageSales
      ]
    }
  ]
_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
  ]
}
_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
  ]
}
_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 );
  *]
}
_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 );
  *]
}
_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();
  *]
}
_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();
    *]
  }
}
_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
  }
}
_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
  }
}
_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
  }
}
_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'
  ]
}
_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
  ]
}
_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
  ]
}
_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 );
  *]
}
_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 );
  *]
}
_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();
  *]
}
_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();
    *]
  }
}
_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
  }
}
_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'
  ]
}
_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
  ]
}
_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
  ]
}
_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 );
  *]
}
_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 );
  *]
}
_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();
  *]
}
_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();
    *]
  }
}
_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
  }
}
_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'
  ]
}
_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()'
        }
      ]
    }
  ]
}
_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
  ]
}
_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
  ]
}
_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
  ]
}
_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
  ]
}
_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
  }
}
_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
  }
}
_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
  }
}
_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
  }
}
_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
  }
}
_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
  }
}
_Main/UI/MacroPlannerWebApp/Component_Form989/_ROOT_Component_FormThreeDigitCode#989.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'
  ]
}
_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()'
        }
      ]
    }
  ]
}
_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
  ]
}
_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
  ]
}
_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
  ]
}
_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
  ]
}
_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
  }
}
_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
  }
}
_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
  }
}
_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
  }
}
_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
  }
}
_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
  }
}
_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'
  ]
}
_Main/UI/MacroPlannerWebApp/Component_FormSixDigitCode/Component_List531#836.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()'
        }
      ]
    }
  ]
}
_Main/UI/MacroPlannerWebApp/Component_FormSixDigitCode/Component_listActionBarPage453#1.def
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,10 @@
Quintiq file version 2.0
Component listActionBarPage453 id:listActionBarPage453_1
{
  #keys: '[413988.0.1146140366]'
  BaseType: 'listActionBarPage'
  Properties:
  [
    Taborder: 1
  ]
}
_Main/UI/MacroPlannerWebApp/Component_FormSixDigitCode/Component_listContextMenu852#1.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
  ]
}
_Main/UI/MacroPlannerWebApp/Component_FormSixDigitCode/Component_pContent#925.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
  ]
}
_Main/UI/MacroPlannerWebApp/Component_FormSixDigitCode/Component_pHeader#393.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
  ]
}
_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
  }
}
_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
  }
}
_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
  }
}
_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
  }
}
_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
  }
}
_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
  }
}
_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'
  ]
}
_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
}
_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
}
_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
}