Добавление нового пользователя и назначение ему прав. Добавление нового пользователя и назначение ему прав Группа физических лиц в 1с

Общая информация 17.08.2020
Общая информация

В этой статье я расскажу, как работает механизм настройки «ограничение доступа на уровне записей» в 1С:УПП 1,3. Информация для статьи была подобрана на май 2015 года. С тех пор УПП кардинально не обновляется, т.к флагманом 1С выбрала 1С:ERP. Все же УПП исправно трудится на многих предприятиях, поэтому я выкладываю результаты своих исследований по RLS в УПП в этой статье. Кому-то точно пригодится.

Все сухо, сжато и без воды. Как я люблю))).

Настройки прав доступа.

Схема взаимодействия объектов.

В УПП 1.3 управление доступом осуществляется подсистемой «Управление доступом» из БСП версии 1.2.4.1.

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

  1. Справочник «Профили полномочий пользователей»
  2. Регистр сведений «Значения дополнительных прав пользователей»
  3. План видов характеристик «Права пользователей»
  4. Справочник «Пользователи»
  5. Системный справочник «Пользователи ИБ»
  6. Справочник «Группы пользователей»
  7. Регистр сведений «Настройки пользователей»
  8. План видов характеристик «Настройки пользователей»
  9. Перечисление «Виды объектов доступа»
  10. Регистр сведений «Назначение видов ограничения доступа»
  11. Перечисление «Области данных объектов доступа»
  12. Регистр сведений «Настройки прав доступа пользователей»
  13. Параметр сеанса «Использовать ограничение по <ВидДоступа>».

Включение ограничений доступа на уровне записей.

Ограничение доступа на уровне записей (RLS) включается в интерфейсе
«Администрирование пользователей» -> «Доступ на уровне записей» -> «Параметры».

Доступ на уровне записей определен через виды объектов доступа. Список видов объектов доступа (в скобках указаны соответствующие справочники):

  • «Контрагенты» («Контрагенты»)
  • «Организации» («Организации»)
  • «Физические лица» («Физические лица»)
  • «Проекты» («Проекты»)
  • «Склады («Склады (места хранения)»)
  • «Кандидаты» («Кандидаты»)
  • «Заметки» («Типы записей заметок»)
  • «Подразделения» («Подразделения»)
  • «Подразделения организаций» («Подразделения организации»)
  • «Номенклатура (изменение)» («Номенклатура»)
  • «Спецификации» («Спецификации»)
  • «Цены номенклатуры» («Типы цен номенклатуры»)
  • «Внешние обработки» («Внешние обработки»)

*Перечень возможных видов доступа фиксирован и содержится в перечислении «Виды объектов доступа».

Справочник «Профили полномочий пользователей».

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

Профиль объединяет

Результат настройки профиля – это запись в регистр сведений «Значения дополнительных прав пользователей».
Этот регистр в настройке РЛС не используется.

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

Сам профиль в табличной части «состав ролей» содержит все те роли, которые включены для него. При изменении состава ролей профиля происходит перезаполнение табличной части «Роли» всех пользователей информационной базы (не справочник «Пользователи»), которым присвоен этот профиль.

Связь справочника «Пользователи» и «Пользователи информационной базы» реализована через реквизит «ИдентификаторПользователяИБ» справочника «Пользователи», в котором хранится GUID пользователя ИБ.

Состав ролей пользователя также недоступен для редактирования, если пользователю присвоен определенный профиль.

Для пользователя существует возможность указать «Настройки пользователя». Это различные сервисные настройки типового автоматического поведения системы в определенных ситуациях.

Результат настроек записывается в регистр сведений «Настройки пользователей».

Перечень настроек и их возможных значений содержится в плане видов характеристик «Настройки пользователей».
*В настройках ограничения доступа на уровне записей не используется.

Справочник «Группы пользователей».

Используется для объединения пользователей в группы и в числе прочего для настройки ограничений доступа на уровне записей.

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

В форме группы пользователей можно настроить перечень видов доступа.


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

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

ВАЖНО! Пользователи, которые не включены в какую-либо группу, не смогут работать с теми объектами, доступ к которым определяется на уровне записей. Это относится ко всем объектам – независимо от того, используются ли соответствующие виды объектов доступа или нет.

Если пользователь входит в несколько групп, у которых разные настройки прав доступа на уровне записей, то доступность объекта для пользователя будет определяться объединением настроек от нескольких групп пользователей по «ИЛИ».

ВАЖНО! Включение пользователя в большое количество групп может приводить к падению быстродействия. Поэтому не стоит включать пользователя в большое количество групп.

После записи изменений группы пользователей будет заполнен Регистр сведений «Назначение видов ограничения доступа». В этом регистре хранятся записи о соответствии группе пользователей определенного вида доступа.

*Регистр используется в шаблонах ограничения доступа

Форма «Настройка доступа».

Форма настройки ограничений доступа на уровне записей вызывается командой «Настройка доступа» формы списка справочника «Группы пользователей».

В правой части формы закладками представлены таблицы с настройками по каждому виду доступа, отмеченному флажками в форме группы пользователей.

Форма настройки прав доступа имеет отдельную страницу формы для каждого вида доступа со своим набором настроек. Нужная страница включается, когда в группе пользователя отмечен связанный с ней вид доступа.

Сравнение видов доступа и возможных настроек:

Вид доступа

Настройки вида доступа

Чтение

Запись

Вид наследования прав доступа

Видимость в списке

Просмотр доп информации

Редактирование доп информации

Просмотр данных

Редакти рование данных

Цены компа нии

Цены контр аген тов

Чтение

Запись

Чтение

Запись

Контрагенты
Организации
Физические лица
Проекты
Склады
Кандидаты
Заметки
Подразделения
Подразделения организаций
Номенклатура
Спецификации
Цены номенклатуры
Внешние обработки

Права доступа.

«Чтение » — пользователь будет видеть элемент справочника в списке и сможет открыть его на просмотр, также сможет выбрать его из списка при заполнении реквизитов других объектов.

«Запись » — пользователь сможет изменять:

  • элементы некоторых справочников — видов объектов доступа (не всех – есть исключения, см. ниже),
  • данные (документы, регистры, подчиненные справочники), связанные с этими элементами справочников

Исключение: доступ к элементам некоторых справочников – видов объектов доступа – не зависит от права «Запись». Это справочники Организации, Подразделения, Подразделения организаций, Склады, Проекты. Они относятся к объектам НСИ, поэтому менять их может только пользователь с ролью «Настройка НСИ...».

Для вида объекта доступа «Номенклатура (изменение) » право доступа на «запись » определено только на уровне групп справочника «Номенклатура », нет возможности задать право «запись » для отдельного элемента справочника.

Ограничение доступа на «чтение» справочника «Номенклатура» и связанной с ним информации не предусмотрено, потому что в общем случае неясно, какой доступ должен быть к документу, если список номенклатуры, который есть в документе, содержит и «разрешенные», и «запрещенные» позиции.

Ограничение доступа для справочников «Подразделения» и «Подразделения организаций» не распространяется на информацию к кадровым данным, по персональным данным сотрудников и данным о начислении зарплаты.

Области данных.

Для следующих видов объектов доступа определены области данных:

  • Контрагенты
  • Физические лица
  • Цены номенклатуры

Для вида объекта доступа «Контрагенты»

  • Контрагенты (список) — определяет видимость контрагентов в списке справочника «Контрагенты». Зависит от значения флажка в колонке «Видимость в списке».
  • Контрагенты (доп. информация) — определяет возможность «чтения»/«записи» элемента справочника «Контрагенты» и связанной с ним доп. информации (договоры, контактные лица и т.п.). Зависит от значения флажка в соответствующих колонках «Просмотр доп. информации»/«Редактировании доп. информации».
  • Контрагенты (данные) — определяет возможность «чтения»/«записи» данных (справочники, документы, регистры), связанных со справочником «Контрагенты». Зависит от значения флажка в колонке «Просмотр данных»/«Редактирование данных».

Для вида объекта доступа «Физические лица» предусмотрены следующие области данных:

  • Физические лица (список) — определяет видимость физического лица в списке справочника «Физические лица». Зависит от значения флажка в колонке «Видимость в списке».
  • Физические лица (данные) — определяет возможность «чтения»/«записи» данных (справочники, документы, регистры), связанных со справочником «Физические лица». Зависит от значения флажка в колонке «Просмотр данных»/«Редактирование данных».

Для вида объекта доступа «Цены номенклатуры» предусмотрены следующие области данных:

  • Цены компании — определяет возможность «чтения»/«записи» цен номенклатуры компании.
  • Цены контрагентов — определяет возможность «чтения»/«записи» цен номенклатуры контрагентов.

*Области данных – это закрытый список элементов, содержится в перечислении «Области данных объектов доступа»

Группы доступа.

Для следующих видов объектов доступа настройка прав выполняется только через группы доступа (в скобках указаны названия справочника):

  • «Контрагенты» («Группы доступа контрагентов»)
  • «Физические лица» («Группы доступа физических лиц»)
  • «Кандидаты» («Группы кандидатов»)
  • «Спецификации номенклатуры» («Назначения использования спецификаций»)

Группа доступа указывается для каждого элемента справочника (в специальном реквизите).

Настройки доступа из «группы доступа…» осуществляются в дополнительной форме настройки прав доступа, которая вызывается одной из двух команд:

  • «Доступ к текущему элементы»,
  • «Доступ к справочнику в целом»

в форме списка справочников «Групп доступа...»

Пример: Документ «Приходный ордер на товары» ограничен по видам объектов доступа «Контрагенты», «Организации», «Склады».

Если для вида доступа «Контрагенты» предоставить доступ к пустому значению, то пользователь увидит документы, в которых реквизит «Контрагент» не заполнен.

Доступ к элементу справочника или группе.

В зависимости от того, к чему настраивается доступ — к элементу справочника или к группе, настройка действует либо на сам элемент, либо на подчиненные группе.

Согласно этому, в форме «Настройка прав доступа» в колонке «Вид наследования прав доступа иерархических справочников» устанавливаются следующие значения:

  • Только для текущего права – для элемента справочника, права действуют на указанный элемент
  • Распространить на подчиненных – для группы справочника, права действуют на все подчиненные элементы

После записи настроек ограничения доступа для групп пользователей в системе заполнится Регистр сведений «Настройки прав доступа пользователей».

*Регистр используется в шаблонах ограничения доступа.

Использование шаблонов.

Шаблоны в УПП 1.3 написаны для каждого вида доступа отдельно и для возможных комбинаций видов доступа, как правило, для каждой группы пользователей.

Например , в демо-версии УПП настроена группа пользователей «Закупки». Для этой группы включено использование видов доступа «Организации», «Контрагенты», «Склады». Соответственно в системе создан ряд шаблонов ограничения доступа:

  • «Организация»
  • «Организация_Запись»
  • «Контрагенты»
  • «Контрагенты_Запись»
  • «Склады»
  • «Склады_Запись»
  • «КонтрагентОрганизация»
  • «КонтрагентОрганизация_Запись»
  • «ОрганизацияСклад»
  • «ОрганизацияСклад_Запись»
  • «КонтрагентОрганизацияСклад_Запись»
  • «КонтрагентСклад»
  • «КонтрагентСклад_Запись»

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

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

  1. Проверка включенности проверяемого вида доступа.
  2. К основной таблице присоединяется справочник «Группы пользователей» и проверяется, что пользователь включен хотя бы в одну группу.
  3. К регистру сведений «Назначение видов значений доступа» присоединяется таблица регистра «Настройки прав доступа пользователей» по условиям соединения — Объект доступа – это значение доступа, передаваемой в параметр шаблона. — Вид объекта доступа – зависит от контекста разработки шаблона — Область данных. — Пользователь.

По результату соединения определяется, разрешен доступ или нет.

Конец второй части.

Странный и недокументированный механизм наконец-то прояснился.
Текст ниже не сделает его нормальным, но я хотя бы как-то постараюсь описать это чудо, в надежде, что мой рассказ поможет сэкономить время на изучение.
Под катом много букв из разряда "танчики", с использованием арго 1С, не специалистам - неинтересно.

Все настройки делались для версии 1С Документооборот КОРП 1.4.12.1, клиент-серверный вариант, платформа 1С:Предприятие 8.3 (8.3.6.2152).

Итак, группы доступа предназначены для настройки прав и ограничений прав доступа конкретным пользователям и группам пользователей системы. Набор прав и возможности по их ограничению определяются заданным профилем групп доступа. Например, группа доступа "Менеджеры по продажам ПО делового назначения" с пользователями Иванов и Петров может ссылаться на профиль "Менеджер по продажам", в котором предусмотрена возможность ограничения по виду доступа "Виды номенклатуры ". Тогда если по этому виду доступа для всех значений указать вариант "Запрещены", а в список добавить вид номенклатуры "ПО делового назначения", то Иванову и Петрову будут доступны только те данные и операции, которые связаны с ПО делового назначения.

Такое определение дает справка в программе. Интернет, в основном, цитирует два источника: 200 вопросов и ответов и книжку с учебных курсов 1С, которые на самом деле, ничего толком не проясняют. В частности, лично для меня было совершенно непонятно как настроить ограничения сразу по нескольким критериям: организациям, видам документов, вопросам деятельности и грифам доступа. Ничего полезного я не нашел, поэтому пришлось доходить до истины методом проб и ошибок.

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

Чуть подробнее. За организацию видов доступа в 1С документообороте отвечает план видов характеристик "Виды доступа ", в нем предопределены девять реквизитов, по которым, в типовом решении, возможно настроить ограничения к объектам на уровне записей (RLS):


  • Виды внутренних документов

  • Виды входящих документов

  • Виды исходящих документов

  • Виды мероприятий

  • Вопросы деятельности

  • Грифы доступа

  • Группы корреспондентов

  • Группы доступа физических лиц

  • Организации

Внимательно прочитали список? А цитату из справки 1С выше? Оценили иронию разработчиков? :)

Возьмем за основу очень простую модель - две организации: Фирма-1 и Фирма-2, два вида документов: Счет и Договор и два вопроса деятельности: АХО и Зарплата. Все пользователи будут использовать один общий профиль групп доступа.

Наша цель разделить всех пользователей на группы с доступом только к определенной организации, причем в каждой из них есть те, кто работает с договорами и те, кто работает со счетами. Усложним себе жизнь еще одним ограничением: часть пользователей должна иметь доступ к вопросам деятельности Зарплата, остальные - нет.

Так вот для решения этой простой задачи нам потребуется настроить ни много ни мало ВОСЕМЬ групп доступа:


  1. Фирма-1, Счета, Вопросы Зарплаты

  2. Фирма-1, Счета, Вопросы АХО

  3. Фирма-1, Договоры, Вопросы зарплаты

  4. Фирма-1, Договоры , Вопросы АХО

  5. Фирма-2, Счета, Вопросы Зарплаты

  6. Фирма-2, Счета, Вопросы АХО

  7. Фирма-2, Договоры, Вопросы зарплаты

  8. Фирма-2, Договоры , Вопросы АХО

Зарплатчики каждой организации должны входить попарно-одновременно в две из четырех групп доступа (1,2; 3,4 либо 5,6; 7,8): Зарплатчики, работающие со счетами Фирмы-1 входят в группы 1 и 2. Зарплатчики, работающие с договорами Фирмы-1 входят в группы 3 и 4. Аналогично для Фирмы-2.

В программе нет никакой иерархии и наследования. Количество групп доступа получается перемножением количества вариантов предполагаемых ограничений. Поэтому, если вы надумаете настроить ограничения по десятку вопросов деятельности, для десятка видов документов, в разрезе хотя бы двух организаций, то будьте готовы администрировать 10 * 10 * 2 групп доступа. Добавьте к этому, а точнее умножьте на два-три профиля - пользователи, ресепшен, делопроизводители и ваши волосы вообще больше никогда не лягут обратно на голову.

В подсистеме "Управление доступом ", входящую в состав БСП, настройка доступа к данным на уровне записей таблиц базы данных (RLS) осуществляется с использованием двух справочников - "Профили групп доступа " и "Группы доступа ". Настройка ролей пользователей производится через первый справочник, в то время как настройка RLS может осуществляться через оба упомянутых выше справочника - на выбор администратора БД.

Хочется отметить то, что в подсистеме имеется возможность разграничения доступа к данным как по элементно, так и по совокупности элементов, объединенных вместе по какому-либо признаку. В качестве примера возьмем справочник "Физические лица ", возможность настройки RLS к которому имеется практически во всех типовых конфигурациях, и производится с использованием специального справочника "". Для каждого элемента справочника "Физические лица " имеется возможность указать в его реквизите "Группа доступа " соответствующий ему элемент из справочника "Группы доступа физических лиц ", после чего для каждого пользователя (или группы пользователей) указывается соответствующая ему (им) доступная для работы группа доступа физ. лиц. Т.о. справочник "Физические лица " выступает в качестве предмета ограничения доступа (в качестве такового может выступать практически любой объект системы), а справочник "Группы доступа физических лиц " в качестве средства (инструмента) разграничения доступа к предмету.

Теперь перейдем к тому, что допустим, нам потребовалось организовать разграничение доступа к какому-либо объекту конфигурации по определенному критерию, но возможность настройки такого разграничения в программе отсутствует. В качестве примера для рассмотрения возьмем типовую конфигурацию "Бухгалтерия предприятия 3.0 " (БП), включающую в себя подсистему "Управление доступом ", и в которой отсутствует возможность настройки RLS по справочнику "Контрагенты ". Перед внесением изменений в конфигурацию хотелось бы также сделать оговорку - вносимые изменения зависят от версии БСП, используемой в конфигурации, но принцип остается тем же самым. В рассматриваемой статье используется версия БСП 2.2.2.44.

И так, последовательность наших действий в конфигураторе, целью которых является реализация возможности настройки в конфигурации RLS по справочнику "Контрагенты " (в нашем случае является предметом ограничения доступа), будет следующей:
1. Отфильтровать дерево метаданных конфигурации по подсистеме "Стандартные подсистемы " - "Управление доступом ".
2. Через настройку поддержки конфигурации (в случае использования механизма поддержки) включить возможность изменения следующих объектов конфигурации:
а. Корень конфигурации.
б. Справочник "Контрагенты ".
в. Определяемый тип "ЗначениеДоступа ".
г. Подписка на событие "".
д . Общий модуль "".
3. Добавить в конфигурацию новый справочник "Группы доступа контрагентов ".
4. Добавить в справочник "Конрагенты " новый реквизит "ГруппаДоступа " ссылочного типа на наш новый справочник.
5. Для определяемого типа "ЗначениеДоступа " в составной тип включить ссылки на справочники "Контрагенты " и "Группы доступа контрагентов ".
6. Для подписки на событие " ОбновитьГруппыЗначенийДоступа " в качестве источника также указать справочник "Контрагенты ".
7. Открыть общий модуль " УправлениеДоступомПереопределяемый " и вставить в три его процедуры фрагменты кода, приведенные ниже.
8. Из роли "ИзменениеУчастниковГруппДоступа " скопировать в необходимую вам роль (или роли, определяющие доступ к справочнику) шаблоны RLS с именами "ПоЗначениям " и "ПоЗначениямРасширенный ". Установить в своих ролях использование одного из шаблонов по требуемому праву (например, "Чтение "), как показано на скрине ниже.
9. Запустить конфигурацию в режиме "Предприятия " с параметром запуска "ЗапуститьОбновлениеИнформационнойБазы " (или же вызвать экспортную процедуру "ОбновитьПараметрыОграниченияДоступа " общего модуля подсистемы "УправлениеДоступомСлужебный ").

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

Процедура ПриЗаполненииВидовДоступа(ВидыДоступа) Экспорт ЗарплатаКадры.УправлениеДоступомЗаполнитьСвойстваВидаДоступа(ВидыДоступа); // +Наша вставка ВидДоступа = ВидыДоступа.Добавить(); ВидДоступа.Имя = "ГруппыКонтрагентов"; // имя вида доступа (используется в ролях для RLS) ВидДоступа.Представление = НСтр("ru = "Группы контрагентов""); ВидДоступа.ТипЗначений = Тип("СправочникСсылка.Контрагенты"); // критерий ограничения доступа ВидДоступа.ТипГруппЗначений = Тип("СправочникСсылка.ГруппыДоступаКонтрагентов"); // средство ограничения доступа // -Наша вставка КонецПроцедуры Процедура ПриЗаполненииИспользованияВидаДоступа(ИмяВидаДоступа, Использование) Экспорт ЗарплатаКадры.УправлениеДоступомЗаполнитьИспользованиеВидаДоступа(ИмяВидаДоступа, Использование); // +Наша вставка Если ИмяВидаДоступа = "ГруппыКонтрагентов" Тогда Использование = Истина; КонецЕсли; // -Наша вставка КонецПроцедуры Процедура ПриЗаполненииВидовОграниченийПравОбъектовМетаданных(Описание) Экспорт // +Наша вставка // указание прав объектов метаданных, на которые распространяется RLS Описание = Описание + " |Справочник.Контрагенты.Чтение.ГруппыКонтрагентов |Справочник.Контрагенты.Изменение.ГруппыКонтрагентов |"; // -Наша вставка КонецПроцедуры

После завершения обновления ИБ в программе необходимо проделать следующие действия:
1. Заполнить только что добавленный в систему справочник "Группы доступа контрагентов ".
2. У элементов справочника "Контрагенты " заполнить необходимым образом реквизит "Группа доступа ".
3. В справочнике "Профили групп доступа " (или же в справочнике "Группы доступа ") на закладке "Ограничения доступа " соответствующим образом настроить RLS по группам доступа контрагентов (ниже на скрине - пользователи, которым назначен профиль "Наш новый профиль доступа ", будут работать в справочнике только с контрагентами, входящими в группы доступа "Оптовые " и "Общие ").
4. Возможно потребуется предусмотреть в конфигурации механизм автоматического заполнения реквизита "Группа доступа " для новых элементов справочника "Контрагенты " (в целях облегчения его администрирования).

Резюме: Использование подсистемы "Управление доступом " из состава БСП дает возможность управлять RLS по любым объектам конфигурации, оперируя при этом минимум двумя стандартными справочниками "Профили групп доступа " и "Группы доступа ". Расширение возможностей настройки RLS дается с минимальным внесением изменений в подсистему. В случае, если критерий (или предмет) ограничения прав доступа имеет большой объем и постоянно расширяется (например, справочник "Контрагенты "), то имеется возможность через свой дополнительный справочник (средство разграничения) разделить критерий (или предмет) доступа на определенные области (в нашем случае через " Группы доступа контрагентов ") , в противном случае в качестве разграничителя доступа можно использовать (и имеет смысл) сами элементы справочника (например, в справочнике "Организации "). Неоспоримым плюсом использования подсистемы также является унификация администрирования прав доступа в информационной базе.

Рекомендуем почитать

Наверх