diff --git a/entity/Salesproject_entity/Salesproject_entity.aod b/entity/Salesproject_entity/Salesproject_entity.aod index 798fb3726313793717a9b073dc609a438112450b..3b30e194f217324c212e273c3be15a19938c84a2 100644 --- a/entity/Salesproject_entity/Salesproject_entity.aod +++ b/entity/Salesproject_entity/Salesproject_entity.aod @@ -47,6 +47,10 @@ <mandatory v="true" /> <state>EDITABLE</state> <displayValueProcess>%aditoprj%/entity/Salesproject_entity/entityfields/phase/displayValueProcess.js</displayValueProcess> + <onValueChange>%aditoprj%/entity/Salesproject_entity/entityfields/phase/onValueChange.js</onValueChange> + <onValueChangeTypes> + <element>MASK</element> + </onValueChangeTypes> </entityField> <entityField> <name>PROJECTCODE</name> diff --git a/entity/Salesproject_entity/entityfields/phase/onValueChange.js b/entity/Salesproject_entity/entityfields/phase/onValueChange.js new file mode 100644 index 0000000000000000000000000000000000000000..4fbd8be4825302fe3dff5a594409614a6ae1f40f --- /dev/null +++ b/entity/Salesproject_entity/entityfields/phase/onValueChange.js @@ -0,0 +1,25 @@ +import("Sql_lib"); +import("system.neon"); +import("system.vars"); + +var currPobab = parseInt( + newSelect("SALESPROJECT.PROBABILITY") + .from("SALESPROJECT") + .where("SALESPROJECT.SALESPROJECTID", vars.get("$field.SALESPROJECTID")) + .cell() +); +var autoProbab = parseInt( + newSelect("SALESPROJECTPHASEDEFINITION.AUTOPROBABILITY") + .from("SALESPROJECTPHASEDEFINITION") + .where("SALESPROJECTPHASEDEFINITION.PHASE", vars.get("$this.value")) + .cell() +); + +if(isNaN(autoProbab) || autoProbab < currPobab) +{ + neon.setFieldValue("$field.PROBABILITY", currPobab); +} +else +{ + neon.setFieldValue("$field.PROBABILITY", autoProbab); +} diff --git a/entity/Salesproject_entity/recordcontainers/db/onDBUpdate.js b/entity/Salesproject_entity/recordcontainers/db/onDBUpdate.js index 8c73baf3b59dff8e2e959923955c70e1fac50205..c9dfa3fa5c396f3cfb5d459cf9c5f0f91db4a270 100644 --- a/entity/Salesproject_entity/recordcontainers/db/onDBUpdate.js +++ b/entity/Salesproject_entity/recordcontainers/db/onDBUpdate.js @@ -22,17 +22,6 @@ vars.get("$local.changed").forEach(function(fieldName) { switch (fieldName) { case "SALESPROJECT.PHASE": - typeValue = "SalesprojectPhase"; - var autoProbab = newSelect("SALESPROJECTPHASEDEFINITION.AUTOPROBABILITY") - .from("SALESPROJECTPHASEDEFINITION") - .where("SALESPROJECTPHASEDEFINITION.PHASE", vars.get("$field.PHASE")).cell(); - if(!isNaN(parseInt(autoProbab))) - { - newWhere("SALESPROJECT.SALESPROJECTID", vars.get("$field.SALESPROJECTID")) - .updateFields({ - "PROBABILITY": autoProbab - }, "SALESPROJECT"); - } break; case "SALESPROJECT.STATUS": // Milestone