api.employee

Персональные настройки сотрудника

  • api.employee.getPersonalSettings(employeeUuid)

    Получение персональных настроек для пользователя.

    Параметр метода:

    • employeeUuid — идентификатор пользователя или суперпользователя. String.

    Возвращает объект с персональными настройками:

    • Если у сотрудника или суперпользователя заданы персональные настройки, тогда возвращаются они.
    • Если персональных настроек нет, то проверяется наличие глобальных настроек заданных в интерфейсе администратора и если они есть, то возвращаются они.
    • Если глобальных настроек тоже нет, то при получении настроек будут возвращены настройки по умолчанию:

      • локаль по умолчанию = 'ru';
      • тема в операторе по умолчанию = 'system#default';
      • часовой пояс по умолчанию = null;
      • домашняя страница = null.

    Методы для получения различных настроек, связанных с пользователем:

    • getLocale() — получение локали;
    • getTimeZone() — получение часового пояса;
    • getThemeOperator() — получение кода темы в интерфейсе оператора;
    • getThemeAdmin() — получение кода темы в интерфейсе администратора;
    • getHomePage() — получение URL домашней страницы.

    Пример 1. Работа с обычным пользователем:

    def settings = api.employee.getPersonalSettings('employee$123') // получение объекта персональных настроек для пользователя 'employee$123'
    String locale = settings.getLocale() // получение кода локали ('ru', 'en' и другие)
    String timeZoneCode = settings.getTimeZone() // получение кода часового пояса ('Asia/Ekaterinburg' и другие)
    String theme = settings.getThemeOperator() // получение кода темы в интерфейсе оператора ('blue', 'site' и другие)

    Пример 2. Работа с суперпользователем:

    def settings = api.employee.getPersonalSettings('superUser$nick') // получение объекта персональных настроек для суперпользователя 'nick'
    String locale = settings.getLocale() // получение кода локали ('ru', 'en' и другие)
    String timeZoneCode = settings.getTimeZone() // получение кода часового пояса ('Asia/Ekaterinburg' и другие)
    String theme = settings.getThemeOperator() // получение кода темы в интерфейсе оператора ('blue', 'site' и другие)
  • api.employee.getTimeZone(employeeUuid)

    Получение объекта часового пояса.

    Данный метод может использоваться в том случае, если часовой пояс в настройках сотрудника является элементом справочника "Часовые пояса".

    Параметр метода:

    • employeeUuid — идентификатор пользователя. String.

    Возвращает:

    • объект часового пояса;
    • null — если часовой пояс в настройках пользователя не указан или не является элементом справочника "Часовые пояса".

    Методы для получения параметров часового пояса:

    • timeZone.code — получение кода часового пояса;
    • timeZone.title — получение названия часового пояса.
  • api.employee.setTimeZone(employee, timeZoneId)

    Установка часового пояса для конкретного сотрудника.

    Параметры метода:

    • employee — объект сотрудника или его идентификатор. Object;
    • timeZoneId — идентификатор часового пояса. String

    Пример:

    api.employee.setTimeZone('employee$123', 'Asia/Ekaterinburg')

  • api.employee.setTimeZoneEntireOu(employee, timeZoneAttrCode)

    Установка часовых поясов вложенным сотрудникам отдела согласно значению, указанному в головном отделе.

    Параметры метода:

    • employee — объект сотрудника или его идентификатор. Object;
    • timeZoneAttrCode — код атрибута типа "Элемент справочника", в котором хранится информация о часовом поясе String.

    Возвращает сообщение об успешной установке часовых поясов.

    Пример.

    api.employee.setTimeZoneEntireOu('ou$123', 'timeZoneAttr')

  • api.employee.setTimeZoneAccordingToLocation(object, timeZoneAttrCode, relatedLocationAttrCode)

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

    Параметры:

    • object — объект отдела или его идентификатор. Object;
    • timeZoneAttrCode — код атрибута типа "Элемент справочника", в котором хранится информация о часовом поясе. String;
    • relatedLocationAttrCode — код атрибута типа "Ссылка на БО", в котором хранится информация об объекте с указанным часовым поясом. String.

    Возвращает сообщение об успешной установке часовых поясов.

    Пример:

    api.employee.setTimeZoneAccordingToLocation('ou$123', 'timeZoneAttr', 'relatedAttrWithTimeZoneAttr')

  • api.employee.setHomePage(employee, homePage)

    Установка домашней страницы для конкретного сотрудника.

    Страницей по умолчанию является часть ссылки после `#`. Метод поддерживает следующие форматы задания значения:

    • Полный или частичный адрес с символом решетки (#) - 'http://example.ru/sd/operator/#uuid:ou$123' или '#uuid:ou$123' (домашней страницей станет - uuid:ou$123).
    • Ожидаемая страница по умолчанию (часть после #) - 'uuid:ou$123'.

    Параметры метода:

    • employee — объект отдела или его идентификатор. Object;
    • homePage — домашняя страница. String;

    Пример:

    api.employee.setHomePage('employee$123', 'uuid:ou$123')

  • api.employee.setLocale(employee, locale)

    Установка локали для конкретного сотрудника.

    Параметры метода:

    • employee — объект отдела или его идентификатор. Object;
    • locale — код локали. String;

    Пример:

    api.employee.setLocale(subject, 'en')

  • api.employee.setTheme(employee, themeCode)

    Установка темы для всех интерфейсов для конкретного сотрудника.

    Параметры метода:

    • employee — объект отдела или его идентификатор. Object;
    • themeCode — код темы. String;

      Коды тем: 'blue' (основная), 'site' (фирменная), 'scheme1' (сине-фиолетовая), 'scheme2' (сине-оранжевая), 'scheme3' (сиреневая), 'scheme4' (оранжевая), 'scheme5' (светлая), 'scheme6' (бронзовая), 'system#default' (тема по умолчанию).

    Пример:

    api.employee.setTheme(subject, 'scheme1')

  • api.employee.setTheme(employee, themeCode, module)

    Установка темы для конкретного интерфейса для конкретного сотрудника.

    Параметры метода:

    • employee — объект отдела или его идентификатор. Object;
    • themeCode — код темы. String;

      Коды тем: 'blue' (основная), 'site' (фирменная), 'scheme1' (сине-фиолетовая), 'scheme2' (сине-оранжевая), 'scheme3' (сиреневая), 'scheme4' (оранжевая), 'scheme5' (светлая), 'scheme6' (бронзовая), 'system#default' (тема по умолчанию).

    • module — модуль ('admin' - для технолога, 'operator' - для оператора). String;

    Пример:

    api.employee.setTheme(subject, 'scheme2', 'admin')

Поиск активных пользователей

  • api.employee.getActiveEmployees()

    Получение активных пользователей (исключая суперпользователей).

  • api.employee.getActiveEmployeesUUIDs()

    Получение идентификаторов активных пользователей (исключая суперпользователей).

    Возвращает UUID'ы активных пользователей.

  • api.employee.getLicensesUsage()

    Получение информации об использовании лицензий. Метод для поиска числа активных пользователей, отсортированных по лицензиям, в том числе нелицензированных пользователей.

    Возвращает ассоциативный список: ключ — код лицензии, значение — число активных пользователей.