Вообще задача выбрать все доступные коннекш роли для определенной сущности.
Роли, которые доступные только для определенных записей, можно получить, выполнив следующий код (пример на C#, на js переписать проблем возникнуть не должно)
X++:
var query = new QueryExpression
{
EntityName = ConnectionRole.EntityLogicalName,
ColumnSet = new ColumnSet("connectionroleid", "name"),
LinkEntities =
{
new LinkEntity
{
LinkToEntityName = ConnectionRoleObjectTypeCode.EntityLogicalName,
LinkToAttributeName = "connectionroleid",
LinkFromEntityName = ConnectionRole.EntityLogicalName,
LinkFromAttributeName = "connectionroleid",
LinkCriteria = new FilterExpression
{
FilterOperator = LogicalOperator.And,
Conditions =
{
new ConditionExpression
{
AttributeName = "associatedobjecttypecode",
Operator = ConditionOperator.In,
Values = { "account" /* или что именно нужно */ }
}
}
}
}
}
};
А вот как найти дополнительно коннекшн роли, доступные для всех типов записей, не понятно.