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

13.11.11

Администрирование - Информационная безопасность

Многие, достаточно важные настройки доступа,  задаются в конфигурациях 1С как значения дополнительных прав пользователей. И часто у начинающих внедренцев возникают проблемы при их настройке. Разберем их на примере конфигурации Управление Производственным Предприятием.

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

 

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

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

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

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

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

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

Дальше программа ищет значение «истина» в этом массиве. 

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

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

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

 

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

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


 

Вступайте в нашу телеграмм-группу Инфостарт

См. также

Работа с интерфейсом Анализ учета Мониторинг 1С v8.3 8.3.14 1C:Бухгалтерия 1С:Бухгалтерия 3.0 1С:Библиотека стандартных подсистем 1С:ERP Управление предприятием 2 1С:Управление холдингом 1С:Комплексная автоматизация 2.х 1С:Управление нашей фирмой 3.0 1С:Управление торговлей 11 Платные (руб)

Скачайте бесплатную обработку "Анализ данных для использования в подсистеме 1С Инфоборды" и узнайте возможность внедрения подсистемы у себя в конфигурации! Создайте свой функциональный интерфейс в любой конфигурации 1С с помощью расширения Infostart Dashboard. Настраивайте панели виджетов с метриками, индикаторами и показателями на начальном экране.

28800 руб.

27.03.2025    21846    25    18    

36

Работа с интерфейсом Рабочее место 1С v8.3 Управляемые формы 1C:Бухгалтерия Платные (руб)

Универсальный редактор картинок 1С предназначен для обработки изображений в режиме «Предприятие», с возможностью рисовать на них. Поддерживается работа как в обычных формах (толстый клиент) так и на управляемых формах (тонкий клиент). Обработка позволяет редактировать как картинки, хранимые в базе, так и графические файлы с диска на файловой системе. Помимо базовых функций (изменение размеров, преобразование формата, обрезание картинки, повороты и т.п.) – редактор имеет богатый набор инструментов для рисования. Доступна функция вставки изображения из буфера обмена. Объект может быть использован: на стороне клиента, на стороне сервера, из внешнего соединения. Обработка будет особенно полезна тем, кто вносит картинки в базу (изображения номенклатуры, фотографии физических лиц и т.п.). Функционал реализуется с использованием JavaScript и бесплатного ПО ImageMagick (без использования внешних компонент).

6000 руб.

16.01.2015    66354    45    60    

84

Работа с интерфейсом Программист 1С v8.3 1C:Бухгалтерия 1С:ERP Управление предприятием 2 Платные (руб)

Обработка предназначена для создания и управления дашбордами.

5160 руб.

29.06.2020    21958    32    6    

49

Работа с интерфейсом Программист 1С v8.3 Управляемые формы 1C:Бухгалтерия Россия Платные (руб)

Редактор графов в 1С - внешний отчет, который формирует графы на основе таблицы значений, используя рисунки табличного документа. Есть возможность добавления, редактирования объектов графа и выгрузки результата в таблицу значений.

5040 руб.

06.10.2020    11853    8    8    

14

Работа с интерфейсом Программист Стажер 1С v8.3 Бесплатно (free)

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

20.08.2024    38378    mrXoxot    44    

136

Работа с интерфейсом Программист 1С v8.3 1C:Бухгалтерия Абонемент ($m)

"MVC плохо применима в 1С" - познакомьтесь с моделью состояния и, возможно, ваше мнение поменяется! Представленное решение является эволюционным развитием идеи реализации MVC для 1С. В новой версии добавлены DSL для описания модели состояния, а также параметризация свойств параметров и элементов формы.

1 стартмани

05.07.2022    13000    kalyaka    8    

35

WEB-интеграция Работа с интерфейсом Пользователь 1С v8.3 1С:Розница 2 Платные (руб)

Связка из веб-приложения и расширения для конфигурации 1С:Розница 2.3.

3600 руб.

29.04.2022    15497    2    10    

13

Работа с интерфейсом Программист 1С v8.3 1C:Бухгалтерия Бесплатно (free)

Реализовал простой способ программного создания новых элементов, команд и реквизитов на форме.

25.11.2021    12978    AtamanovYS    19    

153
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
0. Sybr 242 14.11.11 09:33 Сейчас в теме
Многие, достаточно важные настройки доступа, задаются в конфигурациях 1С как значения дополнительных прав пользователей. И часто у начинающих внедренцев возникают проблемы при их настройке. Разберем их на примере конфигурации Управление Производственным Предприятием.

Перейти к публикации

1. iov 408 14.11.11 09:33 Сейчас в теме
И всё? Типа настраивайте профиль? Там ролей до жопы и есть места где просто каждый раз проверять надо что с правами. + обновления иногда с "сюрпризами" то права пропадут но наоборот появятся. А тут даже на листовку текста не наберется.... Вам мое - фи.
2. Sybr 242 27.11.11 20:47 Сейчас в теме
(1) iov, Причем тут роли? Речь идет о дополнительных правах кажется, а не о правах на объекты.
3. iov 408 27.11.11 21:02 Сейчас в теме
4. Ranika 04.01.12 03:02 Сейчас в теме
мне показалось суховат рассказ, на публикацию мало тянет, больше на коммент к большой публикации. Но повторюсь, это мое личное мнение
5. 3sf 30.01.13 16:42 Сейчас в теме
А если у пользователя задана минимальная отпускная цена одна, а у группы в которую он входит другая, то на какую цену будет ориентироваться 1С?
6. Yuki44 04.07.19 10:25 Сейчас в теме
Спасибо, мил человек, три часа искала, где разрешить все функции в интерфейсе кассира
Для отправки сообщения требуется регистрация/авторизация