logo

Получение всех пользователей определенной группы сценарием

В статье рассмотрен сценарий, с помощью которого можно получить всех пользователей определенной группы и записать их в переменную.
Примечание
В группе пользователей может быть 3 вида источника:
  1. Пользователи.
  2. Элементы оргструктуры, на которые назначены пользователи.
  3. Другие группы, которые также могут иметь в себе пользователей, элементы оргструктуры и группы.
В нашем случае под "пользователями определенной группы" понимаются только Пользователи.

Пример сценария с использованием PublicAPI

Примечание
Актуальная документация по PublicAPI доступна по ссылке.
Внимание!
Сценарий, указанный ниже, актуален для версий системы ELMA до 3.12.1 включительно.

Контекстная переменная:

  • context.Poljzovateli – переменная типа Пользователь, тип связи – Список.

Пространство имен:

using EleWise.ELMA.API;
Текст сценария:
var grp = PublicAPI.Portal.Security.UserGroup.Filter().SearchString("Все пользователи").Find().First().Users.ToList();
foreach (var item in grp)
{
    context.Poljzovateli.Add(item);
}

Пример сценария без использования PublicAPI

В сценарии используется контекстная переменная:

  • context.Poljzovateli – переменная типа Пользователь, тип связи – Список.

Необходимо подключить пространства имен:

using EleWise.ELMA.Security.Models;
using EleWise.ELMA.Security.Managers;
Текст сценария:
var filter=new UserGroupFilter();
filter.ShowOnlyGroups=true; //поиск только по группам
filter.SearchString="Все пользователи"; //задаем название группы для поиска
var grp=UserGroupManager.Instance.Find(filter,null);
foreach(var item in grp.First().Users.ToList()) 
        {
        	var user=(User)item;
        	context.Poljzovateli.Add(user);
        }