Настройка дополнительных прав пользователей. Настройка ролей, прав доступа и интерфейсов пользователей

Настройку доступа можно производить в нескольких местах программы, но рекомендуется выполнять её для профиля пользователя. Заходим в профиль администраторы и что мы видим?

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

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


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

Зачем же тогда сделана возможность заполнять права для группы и пользователя, если они все равно не используются? А использоваться они будут, если пользователю профиль не задан. Какое же из прав будет брать система в этом случае? Посмотрим в конфигураторе:

Функция ПрочитатьЗначениеПраваПользователя(Право, ЗначениеПоУмолчанию, Пользователь) ВозвращаемыеЗначения = Новый Массив ; Запрос = Новый Запрос; Запрос.УстановитьПараметр("Пользователь" , Пользователь); Запрос.УстановитьПараметр("ПравоПользователя" , Право); Запрос.Текст = "ВЫБРАТЬ РАЗРЕШЕННЫЕ РАЗЛИЧНЫЕ | РегистрЗначениеПрав.Значение |ИЗ | РегистрСведений.ЗначенияДополнительныхПравПользователя КАК РегистрЗначениеПрав |ГДЕ | РегистрЗначениеПрав.Право = &ПравоПользователя | И РегистрЗначениеПрав.Пользователь В | (ВЫБРАТЬ | ПользователиГруппы.Ссылка КАК Ссылка | ИЗ | Справочник.ГруппыПользователей.ПользователиГруппы КАК ПользователиГруппы | ГДЕ | ПользователиГруппы.Пользователь = &Пользователь | | ОБЪЕДИНИТЬ ВСЕ | | ВЫБРАТЬ | ЗНАЧЕНИЕ(Справочник.ГруппыПользователей.ВсеПользователи) | | ОБЪЕДИНИТЬ ВСЕ | | ВЫБРАТЬ | &Пользователь)" ; Выборка = Запрос. Выполнить(). Выбрать(); Если Выборка. Количество() = 0 Тогда ВозвращаемыеЗначения. Добавить(ЗначениеПоУмолчанию); Иначе Пока Выборка. Следующий() Цикл ВозвращаемыеЗначения. Добавить(Выборка.Значение); КонецЦикла; КонецЕсли; Возврат ВозвращаемыеЗначения; КонецФункции

Функция возвращает массив значений прав, заданных для пользователя, группы этого пользователя и группы "Все пользователи".

Функция ПравоЕстьУПользователя(Право, ЗначениеПоУмолчанию) МассивЗначенийПрава = ПолучитьЗначениеПраваПользователя(Право, ЗначениеПоУмолчанию); Возврат МассивЗначенийПрава.Найти(Истина) <> Неопределено; КонецФункции

О группе «Все пользователи» не стоит забывать. В нее входят все пользователи системы, но редко кто смотрит, какие права для неё заданы. Так же не верным решением будет устанавливать значение для этой группы, если мы хотим чтобы оно действовало для всех пользователей. Повторюсь, более приоритетным является профиль, именно в нем стоит редактировать дополнительные права.

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

Итак, подведем итоги:

Если у пользователя есть роль «Полные права», то значения дополнительных прав ему задавать не нужно, ему и так все разрешено.Если пользователю задан профиль, то берется значение соответствующего профиля. Если профиль не задан, то система читает значения для группы, пользователя и группы «Все пользователи», и выбирает одно по принципу если разрешено в одном месте, то разрешено вообще.


И так, нам нужно добавить в систему права доступа на ТОЛЬКО ПРОСМОТР информации без прав на редактирование, изменение.

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

Решение

Решение само по себе достаточно простое с несколькими нюансами. Добавим в конфигурацию новую роль "DEV_ТолькоПросмотр". В ней для каждого объекта метаданных конфигурации установим права на чтение и просмотр, получение.


Для удобства дальней разработки и последующей настройки прав для новых объектов, установим опцию "Устанавливать права для новых объектов".

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

// Перед началом работы системы // Процедура ПередНачаломРаботыСистемы(Отказ) Если НЕ РольДоступна(" Пользователь " ) И (НЕ РольДоступна(" ПолныеПрава " ) ) И НЕ РольДоступна(" DEV_ТолькоПросмотр " ) Тогда Предупреждение(" Вам не назначена роль " " Пользователь " " . Запуск конфигурации невозможен. " ) ; Отказ = Истина ; Возврат ; КонецЕсли ; Отказ = НЕ УправлениеПользователями. ПользовательОпределен() ; // ОбновлениеВерсииИБ Отказ = Отказ ИЛИ НЕ ОбновлениеИнформационнойБазыКлиент. ВозможноВыполнитьОбновлениеИнформационнойБазы() ; // Конец ОбновлениеВерсииИБ КонецПроцедуры

Для правильной работы конфигурации также добавим измененим условие экспортной функции "ПользователюРазрешенЗапускКонфигурации" из общего модуля "УправлениеПользователямиСервер":

Функция ПользователюРазрешенЗапускКонфигурации() Экспорт Если НЕ РольДоступна(" Пользователь " ) И (НЕ РольДоступна(" ПолныеПрава " ) ) // !!! Разрешаем запуск для роли "DEV_ТолькоПросмотр" !!! И (НЕ РольДоступна(" DEV_ТолькоПросмотр " ) ) Тогда Возврат Ложь; КонецЕсли ; Возврат Истина; КонецФункции //

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


Очистку состава ролей будем выполнять перед записью элемента справочника "Пользователи". Вот программный код обработчика перед записью справочника:

Процедура DEV_ПередЗаписьюПользователяПередЗаписью(Источник, Отказ) Экспорт ПользовательИБ = ПользователиИнформационнойБазы. НайтиПоУникальномуИдентификатору(Источник. ИдентификаторПользователяИБ) ; Если ПользовательИБ < > Неопределено Тогда Роли = ПользовательИБ. Роли; Если Роли. Содержит(Метаданные. Роли. DEV_ТолькоПросмотр) Тогда Роли. Очистить() ; Роли. Добавить(Метаданные. Роли. DEV_ТолькоПросмотр) ; КонецЕсли ; ПользовательИБ. Записать() ; КонецЕсли ; КонецПроцедуры

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

В режиме 1С:Предприятие

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


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

В программе 1С имеется встроенная система прав доступа, которая находится в Конфигуратор — Общие — Роли.

Чем характеризуется данная система и в чем ее основное предназначение? Она позволяет описывать наборы прав, которые соответствуют должностям пользователей либо видам их деятельности. Данная система прав доступа имеет статический характер, что означает, как выставил администратор права доступа к 1С, так и есть. В дополнение к статической действует вторая система прав доступа — динамическая (RLS). В этой системе права доступа высчитываются динамических способом, в зависимости от заданных параметров,в процессе работы.

Роли в 1С

К наиболее распространенным настройкам безопасности в разных программах является так называемый набор разрешений на чтение/запись для различных групп пользователей и в дальнейшем: включение либо исключение конкретного пользователя из групп. Такая система, например, используется в операционной системе Windows AD (Active Directory). Система безопасности, применяемая в программном обеспечении 1С, получила название - роли. Что это такое? Роли в 1С представляет собой объект, который расположен в конфигурации в ветви: Общие — Роли. Эти роли 1С представляют собой группы, для которых и назначаются права. В дальнейшем каждый пользователь может включаться и исключаться из данной группы.

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

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

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

В случае, когда пользователь открывает какую-нибудь форму, например обработку, и при этом щелкает на ней мышью, то программа на встроенном языке 1С начинает производить конкретные действия, удаления документов, например. За разрешение таких действий, выполняемых программой, отвечают соответственно «просто» права 1С.

В том случае, когда пользователь, открывает журнал и начинает что-то самостоятельно вводить с клавиатуры (новые документы, например), то за разрешение таких действий отвечают «интерактивные» права 1С. Каждому пользователю может быть доступно сразу несколько ролей, тогда складывается разрешение.

RLS в 1С

Вы можете, включить доступ к справочнику (или документу) либо отключить его. Нельзя при этом «включить немножко». Для этой цели и существует определенное расширение системы ролей 1С, которое получило название - RLS. Это динамическая система по правам доступа, которая вносит частичные ограничения в доступ. К примеру, вниманию пользователя становятся доступны только документы определенной организации и склада, остальные он не видит.

Следует иметь в виду тот факт, что систему RLS нужно применять очень аккуратно, так как в ее запутанной схеме довольно непросто разобраться, у разных пользователей при этом могут возникать вопросы, когда они, например, сверяют один и тот же отчет, который сформирован из под различных пользователей. Рассмотрим такой пример. Вы выбираете определенный справочник (организации, например) и конкретное право (чтение, например), то есть Вы разрешаете чтение для роли 1С. При этом в дистанционной панели Ограничения доступа к данным Вами устанавливается текст запроса, согласно которому устанавливается Ложь или Истина, в зависимости от настроек. Обычно настройки сохраняются в специальном регистре сведений.


Этот запрос будет выполняться динамически (при осуществлении попытки организовать чтение), для всех записей справочника. Это работает так: те записи, для которых запрос безопасности присвоил — Истина, пользователь увидит, а другие - нет. Права 1С с установленными ограничениями, подсвечены серым цветом.

Операция копирования одинаковых настроек RLS производится с помощью шаблонов. Для начала Вы создаете шаблон, назвав его, к примеру, МойШаблон, в нем Вы отражаете запрос безопасности. Затем в настройках прав доступа указываете имя этого шаблона таким образом: «#МойШаблон».

Когда пользователь работает в режиме 1С Предприятие, при подключении к работе RLS, может появится сообщение об ошибке вида: «Недостаточно прав» (на чтение справочника ХХХ, например). Это говорит о том, что системой RLS заблокировано чтение некоторых записей. Чтобы это сообщение больше не появлялось, нужно в текст запроса ввести слово РАЗРЕШЕННЫЕ.

   

Право на изменение и право на редактирование - в чем отличие?

В чем собственно отличие?

Кратко:
Изменение - определяет возможность/невозможность вообще изменить объект.
Редактирование - несет интерактивный смысл.

Подробнее:

Интерактивные и основные права

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

Основные и интерактивные права взаимосвязаны. Например, существует основное право Удаление, которому соответствуют два интерактивных права: Интерактивное удаление и Интерактивное удаление помеченных. Если пользователю запрещено Удаление, то и все интерактивные "удаления" также будут запрещены для него. В то же время, если пользователю разрешено Интерактивное удаление помеченных, это значит, что Удаление ему также разрешается.

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

Например, для того, чтобы пользователь имел право Итерактивное удаление помеченных, ему необходимо обладать интерактивными правом Редактирование. Это право, в свою очередь, требует наличия интерактивного права Просмотр:

Право Интерактивное удаление помеченных Удаление . Интерактивное право Редактирование требует наличия основного права Изменение . Интерактивное право Просмотр требует наличия основного права Чтение .

Кроме этого основные права Изменение и Удаление требуют наличия основного права Чтение .

Возможно, вас также заинтересует

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

Некомпетентное внесение данных

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

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

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

Это основные негативные последствия неправильно настроенных прав пользователей. Этот список вы можете дополнить своими ошибками, которые произошли в 1С в следствие неправильно настроенных прав пользователей.
Правильно спроектированная информационная система позволит если не полностью избежать перечисленных ошибок, то минимизировать их и сделать более прогнозируемыми. Что мы понимаем под словом прогнозируемым? Например, если права пользователей настроены таким образом, что в прошедшем числе данные могут изменять ограниченное число пользователей, то круг поиска виновного в ошибке сотрудника сужается. К тому же доступ изменять что-либо в заднем числе предоставляется либо администраторам системы либо наиболее ответственным сотрудникам, которые взвешенно будут подходить к процессу, отвечая за все внесенные изменения.
Условно все права пользователей в 1С (8.1 / 8.2) можно разделить на:
- просмотр данных
- внесение данных
- изменение внесенных данных
- удаление

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

НАСТРОЙКА ПРАВ ЧЕРЕЗ КОНФИГУРАТОР

Ниже приведен пример настройки прав пользователя "Менеджер" для документа "Реализация товаров и услуг" с правом создания и проведения документа и запретом редактирования, изменения задним числом в режиме Конфигуратора.

Каждый из этих параметров может быть присвоен либо для всех объектов программы, либо настроен индивидуально для каждого. Например: пользователь может внести и отредактировать элемент справочника "Номенклатура", но имеет право только просматривать документы "Реализация товаров".
При настройке прав очень важно также учесть все должностные функции сотрудника чтобы не получилась ситуация чрезмерного "зажатия" прав пользователя, да так что он не сможет выполнять свои обязанности. Как раз в этом случае поможет подетальная настройка прав отдельно для каждого объекта конфигурации.
Для правильной настройки прав в 1С , работу должен проводить администратор программы совместно с бизнес-аналитиком или начальником департамента. Для более корректной трансляции должностных обязанностей в программу могут помочь должностные инструкции сотрудников, если такие имеются, чтобы администратор программы лучше разобрался какие именно функции выполняет сотрудник. Также для более удобного доступа к информации рекомендуется использовать интерфейсы программы (маски). Интерфейс представляет из себя набор пунктов меню и пиктограмм быстрого доступа ориентированных на принадлежность к той или иной деятельности: закупки, продажи, запасы, денежные средства, полный. Правильно выбранный или настроенный интерфейс обеспечит более удобное использование программы, избавляет от излишней загруженности программы ненужными функциями и т.д. Но, помните, что некоторые функции и пиктограммы интерфейса могут быть видны, но недоступны пользователю, если у него нет прав для просмотра. Т.е. наличие пункта меню в интерфейсе не гарантирует просмотр или внесение данных в данный пункт раздела.

НАСТРОЙКА ПРАВ ЧЕРЕЗ 1С ПРЕДПРИЯТИЕ

Кроме программных ограничений на проведение и редактирование документов, справочников других объектов в 1С также можно настраивать дополнительные права для удобства автоподстановки в документы: организации, ставки НДС, основного поставщика, подразделения, места составления документов и т.д. Зачастую единожды настроенные значения для автоподстановки могут значительно упростить ввод первичных документов, избавят от операции постоянного выбора повторяющихся реквизитов в документы.



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



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



И также как при настройке основных настроек пользователя выполнить дополнительные настройки:



Мы привели некоторые выдержки из основных правил настройки прав доступа пользователей в программе 1С. Для правильной настройки рекомендуем обратиться к администраторам 1С, или компаниям осуществляющим сервис обслуживания программ 1С.
Если у Вас есть потребность настроить, разделить права пользователей в 1С, или вам необходима консультация - обращайтесь к нам за помощью. Работаем напрямую или удаленно с одинаковой эффективностью.