diff --git a/entity/QuickEntry_entity/entityfields/leadquickacquisition/onValueChange.js b/entity/QuickEntry_entity/entityfields/leadquickacquisition/onValueChange.js index c6d127a51319f7caa58cf93e631722e2deeed63d..cda8298ccbbe68e0a66a3fb3ff8f40e08b08e467 100644 --- a/entity/QuickEntry_entity/entityfields/leadquickacquisition/onValueChange.js +++ b/entity/QuickEntry_entity/entityfields/leadquickacquisition/onValueChange.js @@ -1,6 +1,7 @@ import("system.neon"); import("system.vars"); import("Entity_lib"); +import("system.entities"); import("KeywordRegistry_basic"); import("LeadQuickAcquisition_lib"); @@ -37,9 +38,38 @@ if(vars.get("$local.value")) } else if(response.address) { - neon.addRecord("OrgAddresses", { + var orgAddressPresets = { "AddressSearch" : response.address - }); + }; + + var getRowsConfig = entities.createConfigForLoadingRows() + .entity("AddressValidation_entity") + .provider("FullAddressValidation") + .fields(["CITY", "ZIP", "STREET"]) + .addParameter("CurrentValue_param", response.address); + + var rows = entities.getRows(getRowsConfig); + + if (rows.length > 0) + { + var affectedRow = rows[0]; + + if (affectedRow["CITY"]) + orgAddressPresets.CITY = affectedRow["CITY"]; + + if (affectedRow["ZIP"]) + { + orgAddressPresets.ZIP = affectedRow["ZIP"]; + } + + if (affectedRow["STREET"]) + { + orgAddressPresets.ADDRESS = affectedRow["STREET"]; + } + + } + + neon.addRecord("OrgAddresses", orgAddressPresets); } if(response.companyName) neon.setFieldValue("$field.ORGANISATION_NAME", response.companyName);