Настраиваем права доступа в 1С Университет ПРОФ. Часть 1. Базовые права

Оглавление
Часть 1. Базовые права
Часть 2. Ограничение доступа к справочникам
Часть 3. Концепция ограничения доступа к дополнительным (внешним) обработкам

Дано: установленный 1С Университет ПРОФ (версия 2.0.7).
Задача: настроить права доступа для пользователей с минимумом изменений в типовой конфигурации.

Вариантов настроить права доступа в 1С множество, в том числе полное переписывание системы ролей под себя. Создание своих ролей, конечно, было бы самим правильным и тонко настраиваемым решением, однако, не всем это под силу (нужен 1С-специалист) и  такие роли требуют постоянной актуализации при обновлении (если поменялись или добавились какие-либо объекты в системе или логика какого-либо процесса).
Т.к. перед нами стоит задача минимального затрагивания конфигурации, здесь я постаралась рассмотреть способ, позволяющий настроить доступ через интерфейс программы, минуя настройку в конфигураторе. У него тоже есть свои недостатки, о которых указано ниже в статье, а также предложены варианты их обхода.



Итак, начнем. Допустим, что администратор в базе уже есть со следующими ролями (задано через конфигуратор) - администратор, администратор системы, администрирование, обновление конфигурации базы данных, полные права.


Если необходим также пользователь с полными правами, также желательно создать его в конфигураторе и задать роль "Полные права".

Далее все действия производим в режиме "Предприятие" (не в конфигураторе) под администратором.

Этапы:
1) Предварительная подготовка (настройка программы и профилей)
2) Создание групп и настройка прав (на конкретные документы)
3) Создание пользователей
4) Настройка интерфейсов (шаблоны пользователей)
5) Дополнительная защита

Условимся, что:
- Пользователи не должны беспрепятственно создавать любые документы или редактировать чужие.
- Пользователи разных подразделений должны видеть физических лиц только своего подразделения (например, сотрудники кафедры видят только своих преподавателей, а сотрудники факультетов - только своих студентов).

1. Предварительная подготовка (настройка программы и профилей)

Предварительно настроим профиль групп доступа "Пользователи", установив ему роль "Пользователь".
Для этого переходим на "Администрирование" - "Настройка пользователей и прав" - "Профили групп доступа" - Пользователи:


Далее устанавливаем роль "Пользователь":



Сохраняем. Переходим по ссылке "Группы доступа" и проверяем, что группа и профиль пользователей соответствуют друг другу:


Это сделано для того, чтобы данный профиль затем можно было назначать всем пользователям системы. Они получат базовые права, от которых и будем в дальнейшем отталкиваться. Они получат доступ к справочникам, но не к документам.
Примечание: есть один замеченный глюк - если зайти в профиль групп доступа "Администратор", то иногда у него слетают роли "Администратор" и "Администрирование". Проявляется это чаще всего, когда пытаетесь начать редактировать пользователей и появляется сообщение, что нет доступа. Если так, то нужно зайти в конфигуратор и снова установить у администратора эти права. Такая же беда иногда случается с пользователем, которого закреплена роль "Полные права" - если в режиме 1С:Предприятие зайти в его профиль и попытаться изучить права, то может слететь эта роль (лечится опять же через конфигуратор).
Также включаем следующие параметры:
1) Ограничивать доступ на уровне записей. Благодаря этому, у каждого документа появляется ответственное лицо, которое его создало, что позволяет настраивать доступ только к "своим" документам и к каждому документу в отдельности. Например, если сделать нужные настройки, то операторы ПК будут иметь доступ только к созданным ими заявлениям абитуриентов.
2) Группы пользователей (так мы сможем группировать пользователей с одинаковыми правами доступа, чтобы не назначать права отдельно каждому пользователю)
3) Разграничивать доступ к справочнику "Физические лица" (чтобы каждое подразделение видело только "своих" физических лиц)



2. Создание групп и настройка прав (на конкретные документы)

Теперь необходимо определить категории пользователей, например: оператор ПК, секретарь ПК, сотрудник УМУ, сотрудник деканата, отдел кадров студентов и т.п.
В качестве примера, рассмотрим приемную комиссию. Выделим две категории оператор ПК и секретарь ПК.
На вкладке "Пользователи" создаем, например, такие группы: Приемная комиссия - а ней две подгруппы "Операторы ПК" и "Секретари ПК":


Теперь на группу "Секретари ПК" через механизм "Администрирование прав объекта" назначим следующие права на документы:


Похожий список прав рекомендовали сами разработчики в инструкции на своем сайте - см. Инструкция по настройке прав доступа сотрудников ПК по адресу sgu-infocom.ru/support/instructions

Чтобы попасть в окно "Администрирование прав объекта" группы, нажмите "Изменить" в контекстном меню группы "Секретари" и затем кнопку с изображением "папки с шестеренкой":


Не перепутайте и не нажмите кнопку случайно на каком-нибудь пользователе, иначе права будут на конкретного пользователя, а не на группу.
В открывшемся окне выберите перечисленные выше объекты доступа (предопределенные документы из справочника "Объекты метаданных") и расставьте права ("галочки") напротив соответствующих документов.
Этим действием мы указали, что все пользователи, входящие в данную группу, будут иметь доступ к указанным документам. Если документ со значением "Все значения", то пользователь сможет править документы других пользователей, есть написано "Секретарь ПК", то только свои.


Для группы "Операторы ПК" можно сделать следующие права:


Для УМУ, например, так:


И т.д. Частично информацию по составу документов для различных категорий можно почерпнуть из инструкции разработчиков по внедрению от 2011 года - new.1c-universitet.ru/Media/Default/files/user_introduction.pdf

Эксперименты с созданием групп-подгрупп показали, что права, назначенные на группу, не наследуются на подгруппу, хотя этот было бы удобно. Таким образом, получается, что права надо задавать именно на последнюю по иерархии группу, т.е. ту, где непосредственно будут находиться пользователи.

3. Создание пользователей

Теперь создаем непосредственно пользователей системы. Выбираем группу, например, "Секретари ПК" и нажимаем "Создать":


Создание пользователя стандартное. Стоит обратить внимание на поле "Подразделение". На его основании программа предоставляет доступ к справочнику физических лиц: т.е. если указано конкретное подразделение (например, факультет), то пользователь будет видеть только студентов (физических лиц) этого факультета. Если нужен полный доступ к физическим лицам, то нужно установить корневой элемент структуры вуза (обычно это наименование вуза).

Далее пользователю необходимо присвоить группу доступа "Пользователь", которую мы настраивали в разделе 1. Делается это следующим образом:


Создайте столько пользователей, сколько нужно.
Одного пользователя при необходимости можно включать в несколько групп пользователей.

Если создается пользователь приемной комиссии, то нужно не забыть назначить ему доступные приемные кампании:


В принципе, всё необходимое сделано и можно уже останавливаться на данном этапе - пользователи созданы, права на документы предоставлены - можно начинать работать. Все последующие разделы направлены на урезание прав пользователей и защиты базы от изменений.

4. Настройка интерфейсов (шаблоны пользователей)

Пользователи созданы, однако по умолчанию они видят все подсистемы в программе, кроме администрирования (планирование учебного процесса, расписание, приемная комиссия, структура и т.п.), например, так:


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

Итак, под шаблонных пользователей лучше создать отдельную группу, например, "Шаблоны пользователей".
Создаем пользователей-шаблонов для секретарей и операторов (создание такое же, как и обычных пользователей):



Теперь заходим в программу под каждым из этих шаблонных пользователей и настраиваем интерфейс.
Убираем лишние подсистемы и ссылки на документы и справочники.
Также многим пользователям с небольшими мониторами не удобно работать с интерфейсом со вкладками, поэтому мы переключили их в режим работы "Формы в отдельном окне" (через "Параметры"):


В итоге, например, у оператора может быть вот такой интерфейс:


Теперь скопируем сделанные настройки на основных пользователей. Для этого в разделе "Настройки пользователей и прав" переходим по ссылке "Копировать настройки":


В открывшемся окне выбираем одного шаблонного пользователя как источника и нужных пользователей в качестве приемников:


Нажимаем "Скопировать и закрыть" и делаем тоже самое для других шаблонов.
Это удобно при массовых изменениях интерфейсов групп пользователей.
После копирования желательно у шаблонов отключить возможность входа в систему.

5. Дополнительная защита

Главный недостаток подобного способа настройки ролей - пользователи хоть и не имеют доступа к документам, они имеют доступ ко всем справочникам (кроме физ.лиц): они могут добавлять элементы и изменять существующие (удалить не смогут).
А также, если пользователь догадается как включить "Все функции", то он сможет изменять константы, запускать любые обработки, бизнес-процессы (ирония в том, что если он сможет добраться через "Все функции", например, до константы "Ограничивать доступ на уровне записей", то ничто не помешает ему ее отключить…).
Это повышает требования к пользователям, но зачастую они меняют элементы сами того не подозревая, без злого умысла.

О способах дополнительной защиты и обхода вышеуказанной проблемы читайте в следующей части статьи.

(с) Ella S.
Если Вам понравилась статья, пожалуйста, поставьте лайк, сделайте репост или оставьте комментарий. Если у Вас есть какие-либо замечания, также пишите комментарии.

9 комментариев :

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

    ОтветитьУдалить
    Ответы
    1. Как я поняла, это очень ресурсоемкая настройка, если физ.лиц много. Если проверяю на локальной базе (например, на файловой копии БД на моем ПК), то зависает надолго (но в конце концов отображается). На серверной базе (SQL) работает в разы быстрее, задержки почти нет. Вы локально проверяете?

      Удалить
    2. Ella Svetlaya спасибо. Да причина в этом, я тестировал файловую. Если можно еще такой вопрос возник: Почему при создании роли путем копирования типовой, например "Пользователь". Она совсем не работает, при всех установленных "галочках" не один пользователь не может по ней зайти.

      Удалить
    3. А что именно не получается? Какую ошибку выдает?

      Удалить
    4. Да банально "нет прав для запуска требуемого вида клиента", хотя естественно для этой роли все установлено на уровне с роль "полные права"

      Удалить
    5. Проверьте, что у пользователя установлен параметр "Вход в программу разрешен". По крайней мере именно такая ошибка у меня появлялась, если этот параметр не установлен.

      Удалить
  2. Доброго времени суток! Возникла следующая ситуация: Пользователю назначена типовая роль пользователь, с измененным отключенным режимом "Все функции", добавлены все документы в окне "Администрирование прав объектов" со всеми правами(чтение, добавление, изменение), возникла проблема с документами "приказы", а именно с определенными их видами:распределение по группам, восстановление. При проведении нового приказа появляется следующая ошибка "Ошибка при вызове метода контекста (записать). Самое интересное что записать документ позволяет, отменить проведение, пометить на удаление, провести документ созданный до назначения прав тоже. Подскажите в чем может быть проблема и где вообще копать? Платформа 8.3.8.2027, конфигурация Университет 2.0.7.1

    ОтветитьУдалить
    Ответы
    1. Сложно сказать, мы пока с таким не сталкивались. Какие можно предложить варианты?
      1) Может быть эти приказы связаны с какими-либо другими документами, на которые у пользователя нет прав. Но Вы говорите, что задали права на все документы, поэтому вариант не подходит.
      2) Может быть приказ меняет реквизиты физического лица, а у пользователя ограничены к нему права доступа (например, через заданное подразделение). Хотя, если он как-то выбрать физ.лицо в приказе, значит доступ должен быть. Вы никак дополнительно не ограничивали доступ к справочникам?
      3) Возможно при создании приказа есть какое-то незаполненное обязательное поле, отсутствие которого при записи некорректно отрабатывается в коде (ошибка разработчиков?). Попробуйте провести приказ, заполнив все возможные поля.
      4) Запустите программу в режиме отладки и получите более подробное описание ошибки, может оно укажет на причину.

      Удалить
  3. В новой версии (2.0.8) что-то изменили в базовых правах. Я назначала пользователям стандартные роли "Пользователь" и "Пользователь базовые права". После обновления не смогла войти в программу под пользователем. Методом "тыка" выяснила, что вместо "Пользователь базовые права" надо назначать просто "Базовые права".

    ОтветитьУдалить