diff --git a/entity/Pers_entity/Pers_entity.aod b/entity/Pers_entity/Pers_entity.aod index 6f54575abbf2da0727b7d0a799feba65740a295c..81aaf1e8d1345489c66842e642be591d821c3b95 100644 --- a/entity/Pers_entity/Pers_entity.aod +++ b/entity/Pers_entity/Pers_entity.aod @@ -169,6 +169,7 @@ <columnName>ORG_ID</columnName> <caption></caption> <valueProcess>%aditoprj%/entity/Pers_entity/entityfields/org_id/valueProcess.js</valueProcess> + <onValueChange>%aditoprj%/entity/Pers_entity/entityfields/org_id/onValueChange.js</onValueChange> </entityField> <entityField> <name>REL_USER_NEW</name> @@ -242,7 +243,13 @@ <linkedContextProcess>%aditoprj%/entity/Pers_entity/entityfields/orgname/linkedContextProcess.js</linkedContextProcess> <mandatory v="true" /> <outgoingField>PersOrg_dfo</outgoingField> + <valueProcess>%aditoprj%/entity/Pers_entity/entityfields/orgname/valueProcess.js</valueProcess> <fieldIdProcess>%aditoprj%/entity/Pers_entity/entityfields/orgname/fieldIdProcess.js</fieldIdProcess> + <onValueChange>%aditoprj%/entity/Pers_entity/entityfields/orgname/onValueChange.js</onValueChange> + <onValueChangeTypes> + <element>MASK</element> + <element>PROCESS</element> + </onValueChangeTypes> </entityField> <entityField> <name>ORGID</name> diff --git a/entity/Pers_entity/entityfields/org_id/onValueChange.js b/entity/Pers_entity/entityfields/org_id/onValueChange.js new file mode 100644 index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 diff --git a/entity/Pers_entity/entityfields/org_id/valueProcess.js b/entity/Pers_entity/entityfields/org_id/valueProcess.js index 489cac6bba9429216dd59c901e7ed69e4131de22..2c20db8f32f8bdfebf7e493efb47f02438b5e403 100644 --- a/entity/Pers_entity/entityfields/org_id/valueProcess.js +++ b/entity/Pers_entity/entityfields/org_id/valueProcess.js @@ -5,8 +5,12 @@ import("system.neon"); if(vars.get("$sys.operatingstate") == neon.OPERATINGSTATE_NEW) { - if(vars.exists("$param.OrgId_param") && vars.get("$param.OrgId_param") != null) + if(vars.exists("$image.lookup_orgname") && vars.get("$image.lookup_orgname") == '') + result.string(vars.get("$this.value")); + else if(vars.exists("$param.OrgId_param") && vars.get("$param.OrgId_param") != null) result.string(vars.getString("$param.OrgId_param")); else result.string("0") -} \ No newline at end of file +} +else + result.string(vars.get("$this.value")); diff --git a/entity/Pers_entity/entityfields/orgname/fieldIdProcess.js b/entity/Pers_entity/entityfields/orgname/fieldIdProcess.js index ade38aef1c45226f092ba224bc5c22b5e1acc2f8..7dd987ac84aa202f9d8413756b7c3aa80a32a0da 100644 --- a/entity/Pers_entity/entityfields/orgname/fieldIdProcess.js +++ b/entity/Pers_entity/entityfields/orgname/fieldIdProcess.js @@ -1,11 +1,10 @@ -import("system.logging"); import("system.vars"); import("system.db"); import("system.result"); import("system.neon"); var ret = ""; -var orgid = vars.getString("$field.ORGID").trim(); +var orgid = vars.getString("$field.ORG_ID").trim(); if(orgid == "0") ret = null; diff --git a/entity/Pers_entity/entityfields/orgname/linkedContextProcess.js b/entity/Pers_entity/entityfields/orgname/linkedContextProcess.js index ec9fb8b7c0230514f925409c072072c3b5245b0c..d2f6c19c344fc058cc0085f00f015667ee3acc2d 100644 --- a/entity/Pers_entity/entityfields/orgname/linkedContextProcess.js +++ b/entity/Pers_entity/entityfields/orgname/linkedContextProcess.js @@ -5,7 +5,10 @@ import("system.neon"); var orgid = vars.getString("$field.ORGID"); -if((orgid == null || orgid.trim() == "0") && (vars.get("$sys.operatingstate") != neon.OPERATINGSTATE_NEW)) +if(vars.exists("$image.lookup_orgname") && vars.get("$image.lookup_orgname") != '') + result.string("Org_context"); +else if((orgid == null || orgid.trim() == "0") + && (vars.get("$sys.operatingstate") != neon.OPERATINGSTATE_NEW)) result.string(null); else - result.string("Org_context"); + result.string("Org_context"); diff --git a/entity/Pers_entity/entityfields/orgname/onValueChange.js b/entity/Pers_entity/entityfields/orgname/onValueChange.js new file mode 100644 index 0000000000000000000000000000000000000000..fce9fb549efd4d46f4b6a0626a31665f943ac66c --- /dev/null +++ b/entity/Pers_entity/entityfields/orgname/onValueChange.js @@ -0,0 +1,17 @@ +import("system.logging"); +import("system.db"); +import("system.neon"); +import("system.vars"); + +var org_id = db.cell("select ORG_ID from RELATION where RELATIONID = '" + vars.getString("$field.ORGNAME") + "'"); + +logging.log("value change -> " + org_id); + +if(org_id != '') +{ + neon.setFieldValue("$field.ORG_ID", org_id); + + var org_name = db.cell("select NAME from ORG where ORGID = '" + org_id + "'"); + vars.set("$image.lookup_orgname", org_name); + neon.refresh("", "$field.ORGNAME"); +} diff --git a/entity/Pers_entity/entityfields/orgname/valueProcess.js b/entity/Pers_entity/entityfields/orgname/valueProcess.js new file mode 100644 index 0000000000000000000000000000000000000000..563668cb78ddd14cb5371dff3fe8881c546908d9 --- /dev/null +++ b/entity/Pers_entity/entityfields/orgname/valueProcess.js @@ -0,0 +1,20 @@ +import("system.result"); +import("system.vars"); + +if(!vars.exists("$image.lookup_orgname")) +{ + result.string(vars.get("$this.value")); +} +else +{ + var name = vars.get("$image.lookup_orgname"); + + if(name != null) + { + vars.set("$image.lookup_orgname", null); + result.string(name); + } + else + result.string(vars.get("$this.value")); +} + \ No newline at end of file diff --git a/preferences/_____PREFERENCES_PROJECT/_____PREFERENCES_PROJECT.aod b/preferences/_____PREFERENCES_PROJECT/_____PREFERENCES_PROJECT.aod index 9fb33b2728fdfd126836bddb26f10b1287064351..b0f2142f63120b471b54bfc6315e1e9844692dc3 100644 --- a/preferences/_____PREFERENCES_PROJECT/_____PREFERENCES_PROJECT.aod +++ b/preferences/_____PREFERENCES_PROJECT/_____PREFERENCES_PROJECT.aod @@ -2,7 +2,7 @@ <preferences xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="3.0.1" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/preferences/3.0.1"> <name>_____PREFERENCES_PROJECT</name> <majorModelMode>DISTRIBUTED</majorModelMode> - <projectName>xRM-Basic 5</projectName> + <projectName>xRM-Basic-5</projectName> <jditoMaxContentSize v="57671680" /> <calendarCategoriesEvent> <entry>