Пользователи и группы: бизнес-логика¶
Обзор¶
Домен "Пользователи и группы" охватывает три взаимосвязанные сущности: пользователи (учетные записи людей), группы (объединения пользователей для управления правами) и организационная структура (иерархия подразделений и должностей компании). Группы являются основным механизмом назначения прав доступа: все права на категории, специальные права и межгрупповые права назначаются именно группам, а не отдельным пользователям. Оргструктура определяет иерархию подчиненности, используемую для эскалации задач и подписей, а также для автоматического определения руководителей.
Учетные записи и оргструктуру можно создавать вручную, импортировать из Active Directory, 1С или Excel. Для AD поддерживается регулярная односторонняя синхронизация (из AD в 1Ф) по расписанию.
Пользователи¶
Типы пользователей¶
Система разделяет пользователей на три категории:
Сотрудники компании -- пользователи с включенной настройкой "Сотрудник компании" в профиле. Обладают полным доступом к информации о коллегах, группах, отчетах и административным функциям (при наличии соответствующих прав). Видят всю переписку в задачах, могут подписывать к задачам группы целиком.
Внешние пользователи -- пользователи с выключенной настройкой "Сотрудник компании". Это партнеры, клиенты, подрядчики. Их возможности существенно ограничены: видят информацию только о пользователях с тем же значением параметра "Компания", не видят группы других пользователей и не могут подписывать к задаче группу целиком. Дополнительное ограничение видимости пользователей для сотрудников (по группам) настраивается через спецправо «Не видеть информацию о пользователях» — см. groups-visibility-auto-creation.md. Видят только переписку, адресованную им или другим не-сотрудникам. Рядом с именем внешнего пользователя отображается его орг.единица в угловых скобках. Не имеют доступа к отчетам и админ-панели.
Системные учетные записи -- служебные записи, не предназначенные для интерактивной работы: - Systemrobot (Робот 1Ф, диспетчер задач) -- от его имени публикуются автоматические уведомления; должен состоять в группе Administrators. - 1CSync -- используется для обмена данными с 1С. - Support -- техническая запись для сотрудников компании "Первая Форма" (лицензии не требует). - Anonymous и Admin -- устаревшие записи, в новых версиях не используются.
Системные записи указываются в Общих настройках приложения в опциях "Пользователь для анонимных публикаций" и "Диспетчер задач".
Источники: users_and_groups.md, user_profile.md, users_new.md
Карточка пользователя¶
Карточка пользователя -- центральный интерфейс администрирования учетной записи. Содержит следующие вкладки:
Профиль -- основная информация: - Лицензии: тип лицензии на 1Ф (нет / обычная / конкурентная). При отсутствии лицензии пользователю показывается сообщение. - Личное: логин, пароль, ФИО, псевдонимы (рус/англ), язык интерфейса, пол, декретный отпуск, поле "О себе". - Рабочее: орг.единица (должности, одна из которых основная), дата "В компании с". - География: часовой пояс, страна, город, комната, геолокация. - Контакты: мобильный (с верификацией по SMS), рабочие телефоны (до 3), дополнительный, факс, IP-телефония, e-mail, внешний e-mail, внешнее имя, Telegram ID и ник, Facebook, WhatsApp. - Прочее: SID (из AD), провайдер аутентификации, заметки, домен пользователя, 1С GUID. - Кастомные поля: через ключ userProfileInfoExts можно добавить поля JobTitle, Zoom и другие.
- Настройки приватности даты рождения: пользователь может управлять видимостью даты рождения в профиле. Флаг
HideBirthYearскрывает только год рождения, а флагHideBirthDateполностью скрывает дату рождения для других пользователей. Для администраторов дата рождения остаётся доступной. НастройкаHideBirthDateдоступна пользователю для изменения всегда, даже если администратор запретил редактирование блока «Личное» (CanEditPrivateInfo = false). Это позволяет скрыть персональные данные без предоставления прав на редактирование остальных личных полей.
Флаги доступа к редактированию профиля (настраиваются администратором для каждого пользователя): - Может редактировать: аватар, пароль, блок Личное, блок Рабочее, блок География, блок Контакты. - Разрешить кастомизировать UI -- блокирует изменение положения шапки, цвета панели, формата дат и прочего; остается только выбор темы. - Разрешить менять режим отображения имен. - Требовать акцепта всех своих задач для переходов с акцептом заказчика. - Доступ к почте.
Настройки не распространяются на администраторов -- они всегда могут редактировать любые профили. Кнопка "Редактировать профиль" видна пользователю, только если хотя бы одна из настроек редактирования активна.
Персональные настройки (UI) -- уведомления, настройки интерфейса, прочие настройки. Уведомления настраиваются по типам событий (~20 типов: сообщения, подписи, движения по маршруту, создание задач, файлы и т.д.) в трех колонках: Непрочитанные, Видно в ленте, Уведомлять (push/desktop).
Группы -- список групп, в которых состоит пользователь. Позволяет добавлять в группы и удалять из них. Сохраняется история изменения членства. Нельзя вручную добавить/удалить пользователя из группы, связанной с орг.единицей -- только через оргструктуру.
Расширенные свойства -- набор ключей уникальных для каждой инсталляции (пин-код, Telegram-ник, WhatsApp и т.п.). Ключи бывают System, Private (видит только сам пользователь) и Public (отображаются в профиле). Могут участвовать в поиске (мобильное приложение).
Журнал -- информация о действиях пользователя в системе.
Сервис -- инструменты администрирования: статистика неудачных входов, создание индивидуальной группы, режим работы с Exchange, копирование прав от другого пользователя, подписка пользователя на задачи, перенос задач на другого, назначение исполнителем, управление заместителями, синхронизация с AD.
Прочее -- сводка по доменам (доступ ограничивается через группы), специальные права (определяются группами), подписи.
Роли -- две таблицы: "Входит в роли" (роли, назначенные пользователю) и "На него действуют роли" (роли, назначенные другим и затрагивающие данного пользователя).
Источники: user_edit.md, user_profile.md, users_view.md, user_group.md, user_extra.md, user_others.md, user_service.md, user_role.md
Жизненный цикл пользователя¶
Создание: вручную (обязательные поля: логин, фамилия, псевдоним, орг.единица, e-mail -- набор зависит от общих настроек), из AD, из 1С, из Excel. При создании можно сразу добавить в группу, создать индивидуальную группу, получить данные из AD/1С.
Работа: пользователь авторизуется, работает с задачами, получает уведомления. Активность отслеживается (таблица UserActivityInSystem, поле LastOnlineTime в Users).
Увольнение: процедура увольнения удаляет все настройки, связанные с пользователем (права доступа, подписи, автоподписки). Можно передать права другому пользователю, удалить из орг.единиц (должности станут вакантными). Увольнение может быть немедленным или по расписанию (задание FireUsersJob). Имя уволенного отображается серым цветом.
Восстановление: уволенного пользователя можно восстановить, при этом возвращаются все настройки, которые были до увольнения (орг.единицы, группы, права, подписи).
Удаление: полное удаление учетной записи из системы.
Источники: users_new.md, user_profile.md, users_control.md
Просмотр чужого профиля (UX)¶
При просмотре профиля другого пользователя доступны:
Кнопки взаимодействия: - Чат — открывает или создаёт личный чат с пользователем. - Позвонить — открывает меню: Личный звонок (входящий вызов), Войти в персональную конференцию (без вызова), Настройка комнаты, Скопировать ссылку на конференцию. - Поставить отсутствие — создаёт событие в календаре пользователя (требуется право на редактирование календаря при синхронизации с EWS). - Поставить задачу — создаёт новую задачу выбранному пользователю.
Блок «Коллеги»: имена сотрудников, с которыми пользователь чаще всего обменивается сообщениями, в формате «облака тегов» — чем интенсивнее коммуникации, тем крупнее шрифт. По клику — профиль коллеги. Пользователи без лицензии не отображаются.
Блок «Подписчики» / «Подписки»: видимость публикаций пользователя. Подписка — самостоятельное решение пользователя (нельзя подписать другого). При подписке доступны все ранее опубликованные посты. При отписке через группу — пользователь не может отписаться самостоятельно.
Источники: profile.md
Редактирование своего профиля¶
Кнопка «Редактировать профиль» доступна, если хотя бы одна из админских опций «Может редактировать …» включена. Иначе кнопка скрыта — для актуализации данных нужно обращаться к администратору. Поле «О себе» доступно всегда независимо от прав на блок «Личное», а флаг HideBirthDate — независимо от CanEditPrivateInfo.
Блок «Контакты» — настройки личной видеоконференции:
| Опция | Поведение |
|---|---|
| Лобби | Гости (вход «как гость») попадают в лобби и ожидают подтверждения; авторизованные пользователи входят сразу. В профиле сигнализируется иконкой |
| Пароль | Код для гостей. Авторизованных пользователей пароль не запрашивает. Поле пароля видит только сам пользователь. Если пароль установлен в процессе уже идущего звонка — он действует только в рамках этого звонка |
| Разрешить запись | Любой участник может включить/выключить запись |
| Запускать запись при старте | Запись стартует автоматически при начале конференции |
| Разрешить транскрибацию | Любой участник может управлять транскрибацией |
| Запускать транскрибацию при старте | Транскрибация стартует автоматически |
При запрете на редактирование блока «Контакты» все настройки конференции в профиле становятся недоступными.
Маска телефона: при вводе номера применяется маска с автоопределением кода страны. Для коротких внутренних номеров (менее 5 цифр) маска не применяется — поле работает как обычное текстовое.
Локализация имён: рядом с полями Фамилия / Имя / Отчество — иконка локализации, открывает окно ввода имени на разных языках (по умолчанию ru/en, список расширяется администратором).
Сохранение: кнопка «Сохранить» становится активной только при наличии изменений. Возврат старого значения снова делает её неактивной.
Переход в админ-настройки: для пользователя с правами администратора рядом с логином отображается кнопка перехода в форму администрирования профиля.
Источники: edit_profile.md, profile.md
Список сотрудников SPA¶
Открывается по иконке «Сотрудники» на панели навигации. Пользователи сортируются по частоте общения — сначала те, с кем было больше всего переписки в последнее время.
Статусы (цветовая кодировка): - Зелёный — онлайн. - Синий — офлайн (с указанием времени последней активности). - Красный — отсутствует (зарегистрировано отсутствие в календаре). - Серый — уволен.
Дополнительные статусы настраиваются в системе: на встрече, на больничном, на удалённой работе и т.д.
Иконка телефона слева от статуса — вход с мобильного устройства.
Быстрые кнопки при наведении: Чат, Видеоконференция, Перевоплощение (только для администраторов).
Внешние пользователи: отображаются с последним элементом оргструктуры в угловых скобках.
Поиск: по части имени/фамилии, названию должности, email, логину. Без учёта раскладки клавиатуры.
Источники: users_spa.md
Справочник сотрудников¶
Открывается по ссылке «Справочник» из меню «Сотрудники». Табличное представление с поиском по: имени или части имени, основной должности, подразделению, логину, email. Поиск отображает ФИО найденного сотрудника.
К каждой колонке справочника применим фильтр.
Действия из справочника: - Клик по имени — открыть полный профиль. - Клик по адресу email в колонке «Контакты» — форма создания нового письма с предзаполненным получателем (при наличии подключённого почтового ящика; иначе — почтовое приложение устройства).
Источники: users_list.md
Краткая карточка пользователя¶
При нажатии на имя сотрудника в ленте или карточке задачи открывается краткая карточка — компактная сводка с двумя блоками:
Блок 1 — взаимодействие: - Кнопка «Чат» — открыть/создать личный чат. - Кнопка «Позвонить» — запускает видеоконференцию с автоматическим приглашением. Стрелка раскрывает меню: - Личный звонок — то же, что основная кнопка. - Войти в видеоконференцию — открывает персональную комнату пользователя без приглашения. - Скопировать ссылку — на персональную ВКС.
Блок 2 — контекст текущей задачи/чата: - Аватар, текст задачи, название категории и номер. - Кнопка «Пригласить в видеоконференцию» — попадание в ВКС задачи с автоматическим приглашением только этого пользователя (без массового обзвона остальных подписчиков).
Особенности: - Состав информации: орг.структура, личный и рабочий телефоны, текущее отсутствие. - Клик по имени открывает полный профиль. - В собственной карточке нет действий «Чат», «Позвонить», «Личный звонок». - При нахождении пользователя в ВКС в карточке отображается соответствующий статус с приоритетом: название встречи > название задачи (только при наличии прав доступа).
Краткая карточка группы¶
При клике на имя группы — карточка с типом группы и количеством участников. Кнопка в модальном окне открывает полный список участников.
Доступ к профилям других пользователей¶
Видимость чужих профилей регулируется комбинацией настроек:
- Спецправо "Не видеть информацию о пользователях" -- полностью скрывает профили других пользователей (даже по прямой ссылке -- ошибка).
- Право группы на группу "Просматривать профили участников группы" -- восстанавливает видимость профилей конкретных групп при активном спецправе выше.
- Спецправо "Не видеть коммерческую информацию" -- скрывает должность, группу, орг.единицы, блок "Коллеги", кнопку "Чат" в чужих профилях.
Если пользователь состоит в нескольких группах, учитываются права всех групп (суммирование). Собственный профиль всегда доступен.
Источники: user_profile.md, groups_spec.md, groups_rights_groups.md
Группы¶
Назначение групп¶
Группа -- это объединение пользователей с одинаковыми правами доступа. Все права, назначенные группе, распространяются на всех её участников без исключения. Пользователь может входить в несколько групп -- права суммируются (берется максимальный набор, кроме запрета экспорта в Excel, который имеет приоритет запрета).
Группы поддерживают вложенность: в группу "Финансы" могут входить подгруппы "Бухгалтерия" и "Экономисты", а также отдельные пользователи. При этом вложенная группа добавляется как объект -- пользователи вложенной группы не становятся прямыми участниками родительской. При удалении вложенной группы её пользователи не остаются в родительской группе.
Рекомендация: создавать группы по мере необходимости (при настройке категорий), а не заранее.
Источники: groups.md, groups_control.md
Типы групп¶
Каждая группа имеет тип, определяющий её поведение в интерфейсе:
Организационная -- отображается в профилях пользователей и в меню "Контакты". Основной тип для бизнес-использования.
Служебная -- скрыта от пользователей, используется только для администрирования. Системные служебные группы: - Administrators (Администраторы) -- участники получают права администратора и доступ к админ-интерфейсу. Нельзя удалять или переименовывать. - Users (Все пользователи) -- все пользователи системы, добавляются автоматически при создании. Вручную добавить нельзя. Не должна использоваться в настройках прав. Нельзя удалять. - External (Внешние пользователи) -- пользователи, не являющиеся сотрудниками компании. Нельзя удалять или переименовывать.
Индивидуальная -- аналог "Служебной", но состоит из одного пользователя. Позволяет предоставить одному пользователю исключительные права на объект или действие.
Auto managed membership -- служебная группа для миграции. Нельзя добавлять/исключать пользователей, нельзя удалить или связать с орг.единицей.
Параметры типа группы определяют: можно ли добавлять в адресаты, отображать ли в карточке пользователя и в дереве сотрудников, разрешить ли ставить отсутствие членам своей группы, копировать ли членство при копировании прав.
Администратор может создавать собственные типы групп.
Источники: groups_types.md, groups_control.md
Вкладки настройки группы¶
Настройка группы осуществляется через следующие вкладки:
Свойства -- название, тип, домен, SID в AD, связь с орг.единицей, номер задачи в пространствах, описание. Здесь же управление составом участников.
Права на категории -- назначение прав доступа на категории задач (см. раздел "Права" ниже).
Права на группы -- права на выполнение действий с участниками других групп (см. раздел "Межгрупповые права" ниже).
Специальные права -- системные полномочия, выдаваемые группе (см. раздел "Специальные права" ниже).
Подписи -- сводка о подписях, в настройках которых фигурирует данная группа (акцептанты определяются по группам).
Роли -- сводка о ролях, в настройках которых фигурирует данная группа.
Связи -- расширение сферы поиска контактов и доступа к календарям. Пользователь видит в "Сотрудниках" тех, кто состоит в тех же неслужебных группах, а также в связанных группах. Связываемая группа должна быть организационной.
Доступ к доменам -- ограничение входа участников определенными доменами приложения. Если ни одному домену не назначено -- вход с любого домена.
Источники: groups_edit.md, groups_properties.md, groups_dom.md, groups_links.md, groups_signatures.md, groups_others.md
Операции с группами¶
Создание: указывается наименование и тип. Можно создать группы пакетно на основе оргструктуры.
Копирование прав и связей: от одной группы к другой (по кнопке из вкладки состава).
Дублирование: создание полной копии группы с новым именем.
Удаление: запрещено для системной группы Users и для групп с настроенными рабочими местами.
Источники: groups_control.md, group_composition.md
Права и доступ¶
Права группы на категории¶
Группа может получить следующие права на категорию:
| Право | Суть |
|---|---|
| Просмотр всех задач | Видеть все задачи в категории (даже те, где пользователь не участник) и комментировать их |
| Создавать задачи | Право создавать объекты в категории (пользователь выступает Заказчиком) |
| Исполнять | Работать с задачами в качестве исполнителя, выполнять переходы по маршруту |
| Редактировать исполнителей | Назначать и удалять исполнителей, вносить трудозатраты за других |
| Менять заказчика | Редактировать параметр "Заказчик" |
| Переносить срок | Редактировать "Срок исполнения" |
| Добавлять и менять акцептантов | Добавлять акцептантов к запрошенной подписи, делегировать подпись |
| Администратор задач | Полный контроль: менять любые параметры, удалять сообщения, разрывать связи, удалять задачи, принудительный переход на любой статус |
| Администратор категории | Настройка категории, создание фильтров для смарт-поиска, настройка табличного вида |
| Пакетная обработка | Массовые операции с задачами |
| Просмотр зашифрованных задач | Видеть текст и ДП в зашифрованных задачах |
| Запретить экспортировать в Excel | Запрет выгрузки данных категории в Excel (имеет приоритет запрета при пересечении с другими группами) |
Права суммируются по группам (максимальный набор). Заместители получают все права замещаемого, кроме просмотра конфиденциальных задач.
Наследование руководителями: по умолчанию руководители НЕ наследуют право просмотра от подчиненных. Доступны две настройки: кастомный ключ ForbidSubcatRightsInheritanceToDirector (наследование права Просмотр всех задач) и общая настройка "Руководитель наследует право на просмотр задач подчиненных" (просмотр задач, где подчиненные являются заказчиками/исполнителями).
Источники: groups_rights_cats.md
Межгрупповые права (права группы на группу)¶
| Право | Описание |
|---|---|
| Перевоплощаться в членов группы | Войти в систему от лица другого пользователя (не-админ не может перевоплотиться в админа) |
| Просматривать журналы членов группы | Доступ к журналу действий пользователей из целевой группы |
| Просматривать календарные события | Видеть детали календарных событий (без этого права -- только слоты "Занят") |
| Просматривать профили участников группы | Гибкая настройка видимости профилей при включенном спецправе "Не видеть информацию о пользователях" |
| Устанавливать фото пользователя | Доступ к "Белой карточке" -- реальное фото, которое можно устанавливать и удалять |
Источники: groups_rights_groups.md
Специальные права¶
Специальные права выдаются группам и наделяют участников системными полномочиями. Если пользователь в нескольких группах, он получает максимальный набор прав.
Аутентификация и безопасность: - Двухфакторная аутентификация: по Email (FormsAuthWithEmail), по SMS (при входе и при смене пароля), через Telegram (FormsAuthWithTelegram). - Генерация PAT (Personal Access Tokens) -- для не-администраторов (администраторы имеют по умолчанию). - Запретить перевоплощение -- блокирует перевоплощение для участников группы (нельзя выдать группе Administrators). Право не переходит заместителю. - Запрещено восстанавливать пароль.
Видимость интерфейса (скрытие блоков навигации): Календарь, Категории, Почта, Файлы, Отчеты, Wiki, Ваши коллеги, Личное (устарело), дерево категорий и Диск.
Видимость информации: - Не видеть информацию о пользователях (скрывает профили, поиск, справочник сотрудников). - Не видеть коммерческую информацию (скрывает должность, отдел, группы, подзадачи, блок Коллеги, чат в профиле). - Видеть скрытую информацию пользователей/сотрудников в контактах. - Видеть орг.единицы у пользователей (приоритет выше, чем у "Не видеть информацию"). - Запрет просмотра мобильных телефонов. - Видеть всех пользователей в результатах поиска (иначе -- только 10 первых). - Видеть адресатов комментариев в обезличенном ЛК.
Работа с задачами: - Разрешить массовую обработку задач (пакетная обработка: переход по маршруту, смена срока, заказчика, исполнителя, сообщения, подписчики, перенос, удаление, изменение ДП, создание задач, выгрузка файлов). - Разрешить делегировать задачи, назначенные на себя. - Можно подписывать всем (любой пользователь может подписать к задаче, независимо от флага "Сотрудник компании"). - Ограничить подписку (подписать можно только пользователя с правами на задачу).
Подписи и опросы: - Создавать / запрашивать динамическую подпись. - Управление опросами.
Администрирование: - Изменять специальные права доступа. - Редактировать группы и права групп. - Создавать и удалять категории и разделы. - Изменять расширенные поля других пользователей.
Отсутствия и заместители: - Назначать себе заместителя. - Ставить отсутствие любому пользователю.
Прочее: - Пользоваться поиском. - Получать отчет о просроченных задачах. - Просмотр статистики по просроченным задачам (по всем задачам системы). - Приглашать внешних пользователей. - Выгружать контакты в Excel. - Выполнять действия от имени других пользователей (через веб-сервисы). - Использовать Outlook Web Access.
Запрещающие спецправа НЕ переходят заместителю: Запрет просмотра мобильных, Запретить перевоплощение, Запрещено восстанавливать пароль, все "Не видеть блок..." и "Не видеть информацию/коммерческую информацию/тайну", "Не отображать дерево и Диск", "Ограничить подписку".
Источники: groups_spec.md, groups_spec_rights.md
Организационная структура¶
Назначение¶
Оргструктура определяет иерархию подразделений и должностей компании. Используется для: - Визуального представления организационной иерархии. - Определения руководителя пользователя (критично для эскалации задач и подписей). - Управления доступом руководителей к задачам подчиненных. - Автоматического формирования групп, синхронизированных с оргструктурой.
Типы орг.единиц¶
Типы задают уровни иерархии (например: Компания -> Филиал -> Департамент -> Отдел -> Должность). Каждый тип имеет числовой уровень. Дочерний элемент всегда имеет уровень строго больше родительского. Один тип обязательно отмечен как "Является должностью" -- это конечный (нижний) уровень иерархии, к которому привязываются пользователи.
Типы создаются администратором перед настройкой оргструктуры.
Организационная и функциональная структура¶
Система поддерживает два вида оргструктур:
Организационная -- соответствует штатному расписанию. Одна должность может назначаться нескольким сотрудникам из разных подразделений.
Функциональная -- формируется по функциям сотрудников. Несколько должностей из разных подразделений объединяются в функциональную единицу (например, все бухгалтеры из разных филиалов -> "Объединенная бухгалтерия"). Функциональная структура лучше подходит для автоматизации бизнес-процессов, особенно при матричном подчинении.
Функциональными могут быть элементы любого уровня (не только должности, но и подразделения, департаменты).
Параметры орг.единицы¶
- Название, Примечание (только для админов), Комментарий (выводится в интерфейсе пользователя, до 3 строк).
- Входит в -- родительский элемент (только из орг.единиц подходящего типа).
- Тип -- тип организационной единицы.
- Руководитель -- признак, только для должностей. Если включен, должность считается руководящей для родительской орг.единицы.
- Функциональная единица -- переключает вид с организационной на функциональную.
- Актуальный -- неактуальные элементы отображаются серым, нельзя выбрать в профиле.
- Не показывать в орг.структуре -- скрывает элемент от пользователей.
- Не показывать информацию о пользователе.
- Является коммерческой информацией -- видна только группам с правом видеть коммерческую информацию.
- GUID из 1С, Внешний ключ, Внешний ключ родительского элемента -- для интеграций.
Связанные группы¶
Каждой орг.единице можно сопоставить группу для управления правами. Связанная группа автоматически синхронизируется с составом орг.единицы: добавление/удаление пользователя в орг.единицу автоматически обновляет состав группы. Вручную редактировать состав связанной группы нельзя.
Варианты создания связанных групп: - Связать с группой -- создает группу для одной орг.единицы. - Создать группы для всей ветки -- пакетное создание для выбранной ветки и всех дочерних элементов.
В связанную группу включаются: пользователи орг.единицы напрямую + связанные группы дочерних орг.единиц. При изменении оргструктуры можно обновить вложенность связанных групп (кнопка "Обновить вложенность связанных групп").
При удалении орг.единицы у пользователя удаляются и связанные с ней группы.
Определение руководителя¶
Руководитель сотрудника определяется по оргструктуре. Алгоритм: находится орг.единица сотрудника, в ней ищется должность с признаком "Руководитель". Пользователь на этой должности -- линейный руководитель. Руководители уровнями выше определяются аналогично для вышестоящих орг.единиц.
Режим определения задается в Общих настройках приложения (параметр "Режим определения руководителей").
Альтернатива: через расширенное свойство CustomUserDirectorIds можно указать произвольных руководителей вместо определяемых по оргструктуре.
Руководитель используется для: определения акцептанта подписей, эскалации подписей, смарт-доступа к задачам, различных автоматизаций.
Источники: org_structure_view.md, org_structure_types.md
Справочник комнат¶
Справочник комнат содержит перечень кабинетов компании. Номер комнаты отображается в профиле пользователя. Каждая комната имеет признак "Актуальная".
Заместители¶
Механизм замещения позволяет передать права отсутствующего пользователя его заместителю.
Передаваемые права: все права доступа, уведомления, подписка -- кроме права просматривать конфиденциальные задачи и скрытую оценку исполнителей. Заместители не добавляются в исполнители при автоназначении.
Для ДП с настроенной проверкой доступа через SQL-функцию проверка выполняется от имени замещаемого пользователя.
Назначение заместителей: - Пользователь может назначать/удалять только своих заместителей (при наличии спецправа "Назначать себе заместителя"). - В режиме администрирования -- только из карточки замещаемого пользователя. - Если у пользователя есть заместители, он может назначать их исполнителями в задачах даже без соответствующего права на категорию (достаточно права "Исполнитель").
Запрещающие спецправа не переходят заместителю: запрет перевоплощения, запрет восстановления пароля, скрытие блоков навигации, скрытие информации о пользователях, коммерческой информации, ограничение подписки.
Раздел «Заместители» в профиле¶
Карточка замещения находится в разделе «Заместители» (или вкладка «Сервис» в карточке пользователя в админ-режиме) и содержит подвкладки: «Заместитель» (кто замещает текущего) и «Заместитель у» (кого замещает текущий).
Назначение: выбрать пользователя в поле «Кому», указать даты и время начала/окончания, нажать «Добавить». Допускается взаимное замещение — назначить заместителем того, кто в этот же период является заместителем текущего пользователя.
Дополнительные настройки позволяют ограничить замещение конкретными категориями:
| Режим | Поведение |
|---|---|
| Только категории | Заместительство действует только в выбранных категориях |
| Кроме категорий (по умолчанию) | Заместительство действует во всех категориях кроме выбранных. Чаты и приватные задачи в категориях с шифрованием и конфиденциальностью заместителю недоступны |
Эффекты заместительства в UI¶
- Заместитель получает копии писем и комментариев замещаемого, кроме служебных комментариев о его действиях.
- В боковом меню «Избранное» появляется отдельный блок «Избранное (ФИО)» с избранным замещаемого.
- В индикаторах панели навигации, дереве категорий и в боковой панели рядом с числами в скобках отображается количество объектов замещаемого.
Завершение замещения¶
Завершить период досрочно может как замещаемый (вкладка «Заместители»), так и сам заместитель (вкладка «Заместитель у») — по ссылке «Завершить замещение».
- При досрочном завершении до конца текущего дня в профиле остаётся информация о замещении с указанием реального периода.
- С версии 2.265 (Цефей): при удалении кнопкой «Завершить замещение» до начала периода запись из таблицы удаляется (а не остаётся записью «не состоялось»).
Источники: user_service.md, groups_spec.md, assistants.md
Помощник процесса (ProcessAssistant)¶
В отличие от заместителей, процессные помощники не получают дополнительных прав и полномочий. Назначение носит информационный характер — позволяет другим пользователям видеть в профиле, кто помогает с конкретным процессом.
Пример: руководитель отдела назначает помощника по регистрации входящих заявок. Сотрудники видят эту информацию в профиле руководителя и могут обратиться напрямую к помощнику.
Назначение: в разделе «Заместители», блок «Мои помощники» — выбрать пользователя и указать описание процесса. Отменить или изменить назначение может только сам пользователь. Изменению подлежит только описание процесса.
Отображение: информация о процессных помощниках видна в профиле пользователя.
Источники: assistants.md
Аутентификация¶
Способы входа¶
Доступные способы входа настраиваются через ключ AuthConfig в кастомных настройках приложения:
- login-pass -- классический вход по логину и паролю.
- phone-code -- вход по номеру телефона (отправляется 4-значный SMS-код).
- email-code -- вход по e-mail (отправляется 4-значный код на почту).
Каждый способ может быть назначен по умолчанию, может разрешать регистрацию, быть доступен для всех устройств, только для web или только для mobile. Поддерживается пользовательское соглашение при входе и регистрации.
Провайдеры аутентификации¶
Система поддерживает пять типов провайдеров: - ActiveDirectory -- вход через Windows-аутентификацию (по SID). - SAML -- SSO через SAML. - OpenLdap -- LDAP-аутентификация. - Radius -- Radius-аутентификация. - OAuth -- OAuth-аутентификация.
Для каждого провайдера настраивается второй фактор (нет / SMS / Email / Telegram / сервис Мультифактор). Провайдеры могут быть ограничены по группам пользователей.
Двухфакторная аутентификация¶
Настраивается через спецправа групп и провайдеры: - По Email -- код на почту (спецправо FormsAuthWithEmail). - По SMS -- код на мобильный (спецправо "Подтверждение пароля по SMS при входе/смене"). - Через Telegram -- код через Telegram-бота (спецправо FormsAuthWithTelegram). - Через внешний сервис Мультифактор -- настраивается на уровне провайдера.
Источники: auth_types.md, auth_providers.md, groups_spec.md
Синхронизация с внешними системами¶
Active Directory¶
Односторонний обмен (из AD в 1Ф). Синхронизируются: учетные записи, орг.единицы, группы. По расписанию (задание ADSyncJob, по умолчанию ежедневно в 20:00) или вручную. Учетные записи сопоставляются по SID. Поддерживается несколько доменов одновременно (логины должны быть уникальны). Вход через AD возможен по сертификату SSL. Каждые 15 минут фоновая проверка аутентификации. При смене пароля в AD -- автоматическая инвалидация refresh-токенов.
Техническая реализация синхронизации: ../auth/ad-sync-technical-reference.md. Параметры профиля: admin.md.
Бизнес-правила синхронизации AD¶
Однонаправленность: только AD → 1Форма. Обратная синхронизация невозможна.
Идентификация: по SID из AD. SID записывается в профиль пользователя (Users.SID). Для групп — Groups.ADSID.
Многодоменность: поддерживается несколько доменов AD одновременно. Логины должны быть уникальны в рамках приложения; при совпадении ников — использовать формат Domain\Nick.
Запрещённые символы: # и & в логинах и паролях. При нарушении — ошибка синхронизации.
Ограничения иерархии: AD поддерживает 3 уровня иерархии (Организация/Подразделение/Должность). Синхронизация оргструктуры возможна только при чёткой иерархии в AD, где каждый тип однозначно сопоставлен типу оргструктуры 1Ф. Учётные записи могут синхронизироваться без оргструктуры; оргструктура без учётных записей — нельзя.
Динамические группы AD не поддерживаются. Синхронизация динамических групп невозможна.
Инвалидация токенов при смене пароля: при изменении пароля в AD фоновый процесс автоматически инвалидирует все ранее выданные access- и refresh-токены. Попытка обновить → 401 (Unauthorized). Пользователь должен заново ввести учётные данные. UserAuthenticationProviderVerificationJob — каждые 15 минут проверяет аутентификацию активных пользователей.
Автоматическое увольнение при деактивации в AD¶
Три способа:
Способ 1 — distinguishedName: перемещение пользователя в OU уволенных (например, OU=Dismissed Users). Расширенное свойство distinguishedName маппируется из AD. Публикация + задание по таймеру увольняет пользователей по SQL-условию: UserInfoExtValues.Value LIKE '%OU=Dismissed Users%'.
Способ 2 — группа деактивации: создаётся группа в 1Ф, синхронизированная с AD-группой уволенных. Циклическое смарт-расписание увольняет членов группы.
Способ 3 — userAccountControl: параметр userAccountControl синхронизируется в расширенное свойство. Битовая маска: 514 = NORMAL + DISABLE; 66050 = NORMAL + DONT_EXPIRE + DISABLE. Смарт-расписание увольняет пользователей с UserInfoExtValues.IntValue IN (514, 66050). Используется при отсутствии групп для уволенных в AD.
1С¶
Двусторонний или односторонний обмен данными. Используется учетная запись 1CSync и GUID для сопоставления.
Excel¶
Импорт пользователей из файла Excel. Минимальные поля: логин, отображаемое имя, ФИО, фамилия, имя, телефон. После импорта требуется генерация временных паролей и добавление в группы.
Источники: users_ad.md, users_sync_1c.md, users_upload_from_excel.md
Поиск пользователей¶
Режимы поиска настраиваются в Общих настройках приложения: по имени, по фамилии, по имени или фамилии и т.п. Минимальное число символов для подсказок тоже настраивается. Поиск работает с "умным" нечетким сопоставлением (толерантен к опечаткам).
Спецправо "Видеть всех пользователей в результатах поиска" снимает ограничение в 10 первых результатов.
Расширенные свойства пользователя с включенным флагом AllowSearch участвуют в поиске мобильного приложения.
Связи с другими доменами¶
| Домен | Связь |
|---|---|
| Задачи | Пользователи выступают заказчиками, исполнителями, подписчиками. Группы определяют права на категории |
| Категории | Права доступа на категории назначаются через группы |
| Подписи | Акцептанты определяются по группам, эскалация -- по руководителям в оргструктуре |
| Комментарии | Адресаты -- пользователи или группы; видимость зависит от флага "Сотрудник компании" и спецправ |
| Календарь | Синхронизация с Exchange настраивается для каждого пользователя; доступ к чужим событиям -- через права группы на группу |
| Уведомления | Настройки уведомлений -- часть карточки пользователя |
| Почта | Доступ к почте -- настройка профиля пользователя |
| Порталы | Профиль пользователя может быть заменен порталом |
| Отчеты | Спецправа: получать отчет о просроченных, просмотр статистики по просроченным |
| Смарт-логика | Смарт-действия могут добавлять/удалять пользователей из групп, увольнять, менять орг.единицы |
| Файлы | Хранилище (Диск) скрывается спецправом |
| Интеграции | Синхронизация с AD, 1С; OAuth/SAML/LDAP/Radius-провайдеры |
SQL-справочники¶
- workflow.md -- Users, Groups, OrgStructure, OrgStructureUsers
- tables-index.md -- полный каталог таблиц (категория "Пользователи и группы")