diff --git a/entity/RoleChildren_entity/entityfields/child_role/dropDownProcess.js b/entity/RoleChildren_entity/entityfields/child_role/dropDownProcess.js
index e8c1bbcf927206da45d6bfe07831f3efb0cd25b3..9d8e51b74c8bca7e6cb18db08e92a7179735fa3f 100644
--- a/entity/RoleChildren_entity/entityfields/child_role/dropDownProcess.js
+++ b/entity/RoleChildren_entity/entityfields/child_role/dropDownProcess.js
@@ -1,16 +1,15 @@
+import("system.tools");
 import("system.vars");
-import("system.db");
 import("system.result");
 
-var sqlStr = "select ASYS_ROLES.ROLENAME from ASYS_ROLES";
-var roleNames = db.array(db.COLUMN, sqlStr);
-var parentRole = vars.get("$param.RoleId_param");
 var childRoles = [];
+var parentRole = vars.get("$param.RoleId_param");
+var allCustomAndProjectRoles = tools.getAllRoles(["CUSTOM", "PROJECT"], true);
 
-for each (let roleName in roleNames) {
-    if (roleName != parentRole) {
-        childRoles.push([roleName, roleName]);
+for each (let role in allCustomAndProjectRoles) {
+    if (role[3] != parentRole) {
+        childRoles.push([role[3], role[3]]);
     }
 }
 
-result.object(childRoles);
\ No newline at end of file
+result.object(childRoles.sort());
\ No newline at end of file