Type parameters

Hierarchy

Properties

Readonly code

code: string

Код приложения цели ссылки (код приложения).

Readonly data

data: Based<Partial<UserGroupData>>

Значения полей объекта.

Readonly fields

fields: Readonly<object>

Описание полей объекта.

Readonly id

id: string

Идентификатор цели ссылки.

Readonly namespace

namespace: string

Пространство имен цели ссылки (код раздела приложения).

Methods

addItem

  • Метод позволяет добавить пользователей, элементы оргструктуры, группы в пользовательскую группу.

    Parameters

    • Rest ...children: (UserItemRef | UserGroupItemRef | OrganisationStructureItemRef)[]

      Список пользователей, элементов оргструктуры, групп.

      const targetGroup = await System.userGroups.search().where(f => f.__name.eq("Участники совещания")).first();
      const group = await System.userGroups.search().where(f => f.__name.eq("Руководители")).first();
      const os = await System.organisationStructure.fetchTree();
      const position = os.find('Директор по рекламе');
      
      await targetGroup.addItem(group, position, Context.data.user);
      

    Returns Promise<void>

delete

  • delete(): Promise<void>
  • Метод позволяет удалить группу пользователей.

    const group = await System.userGroups.search().where(f => f.__name.eq("Сотрудники сервиса (Устаревшая)")).first();
    const parentGroups = await group.parentGroups();
    if (parentGroups && parentGroups.length === 0) {
         await group.delete();
    }
    

    Returns Promise<void>

fetch

normalize

  • normalize(): void
  • Удаление дублирующихся данных в массивах.

    Выполнить удаление дубликатов в полях, в которых хранятся массивы ссылок на объекты системы (пользователи, файлы, элементы приложений, документы).

    Этот метод, например, можно вызвать после массового изменения данных в объекте.

    const app1 = await Context.data.app1.fetch();
    const app2 = await Context.data.app2.fetch();
    
    app1.data.executors.push(app2.data.executors);
    app1.normalize();
    
    // Далее перебираем элементы нового массива
    app1.data.executors.forEach( ... );
    

    Returns void

parentGroups

  • Метод позволяет получить список групп, в которые входит выбранная группа.

    const parentGroups = await group.parentGroups();
    

    Returns Promise<UserGroupItem[]>

positions

  • Метод позволяет получить список должностей, включённых в группу.

    const groupName = 'Администраторы раздела';
    const group = await System.userGroups.search().where(g => g.__name.eq(groupName)).first();
    const positions = await group.positions();
    

    Returns Promise<OrganisationStructureItem[]>

save

  • save(): Promise<void>
  • Метод позволяет сохранить группу пользователей.

    const serviceEmployeesGroup = await System.userGroups.search().where(f => f.__name.eq("Сотрудники сервиса")).first();
    await serviceEmployeesGroup.addItem(Context.data.new_employee);
    await serviceEmployeesGroup.save();
    

    Returns Promise<void>

subGroups

  • Метод возвращает все подгруппы.

    const group = await System.userGroups.search().where(f => f.__name.eq("Участники совещания")).first();
    const subGroups = await group.subGroups();
    

    Returns Promise<UserGroupItem[]>

users

  • users(from?: undefined | number, size?: undefined | number): Promise<UserItem[]>
  • Метод возвращает пользователей, состоящих в группе.

    Parameters

    • Optional from: undefined | number

      С какой позиции (в массиве) возвращать пользователей. По умолчанию 0.

    • Optional size: undefined | number

      Сколько пользователей вернуть. По умолчанию 10.

      const group = await System.userGroups.search().where(f => f.__name.eq("Руководители")).first();
      const groupMembers = await group.users(0, 20);
      

    Returns Promise<UserItem[]>