helpf.pro
Регистрация

Настройка прав доступа к элнментам справочника.

fox_haus
09.12.2010 09:11Прочитано: 7681
Помогите пожалуйста советом. Как настроить справочник Проекты, что бы доступ на чтение к элементам справочника был не у всех пользователей.
Для информации это УТ 10.3 (8.1) произведена настройка доступа на уровне записей , организаций и контрагентов.
Yandex
Возможно, вас также заинтересует
Реклама на портале
E_Migachev
09.12.2010 11:51Ответ № 1
(0) fox_haus, вовсех Ролях доступа - отключи доступ к этому справочнику! Создай Новую роль "СпрПроекты" в ней укажи параметры доступа, и необходимым людям подключи эту роль
fox_haus
09.12.2010 12:41Ответ № 2
Спасибо. Но при этом получится, что если пользователю нельзя читать весь справочникю А мне надо наложить запрет на элеметы справочника, т.е. он их должен видить избирательно иначе как он сможет Проекты видить например в документе Реализация.
(но все равно Вам спасибо за то что откликнулись).
E_Migachev
09.12.2010 13:28Ответ № 3
(2) fox_haus, в этом случае пишешь в коде ПриОткрытии условия для Пользователя:
Код 1C v 8.х
   Если ИмяПользователя()="ПупкинВася" Тогда
// Условия - что ему видить
КонецЕсли;
snfr1c
10.12.2010 14:29Ответ № 4
Есть ещё вариант как это сделать, чтобы было автоматом и настраивать можно было в базе данных.
1.необходимо создать ПодчиненныйСправочник справочнику Проекты, например "ПравоДоступаНаПроекты"
2. Реквизит Справочника - Пользователи - ссылка на справочник пользователи - устанавливаешь доступ на редактирование справочника необходимым сотрудникам, для всех остальных "просмотр"
3. Далее в коде ПриОткрытии создаешь функцию которая будет возвращать право доступа "ложь" или "Истина", анализируя наличие текущего пользователя с пользователем который хочет справочник Проекты - типа выбрать с отбором, если в отборе есть пользователь - то возврат Истина, если его там нет (ничего после отбора не выбрано) возврат "Ложь"
P.S. я бы так сделал, и права определения дал бы начальнику - пусть сам решает кому можно а кому нельзя, иначе куча проверок на название проектов и к каким проектам пользователи имеют доступ.
fox_haus
11.12.2010 08:01Ответ № 5
Спасибо. Это вариант я еще не пробывала. А сразу встречный вопрос. А при этом варианте когда пользователь будет открывать Справочник проекты (т.е. через вкладку справочники) элементарные записи (т.е. ограниченные на просмотр) у него будут видны в списке?
IKSparrow
13.12.2010 17:59Ответ № 6
А я бы настоятельно не рекомендовал привязываться в коде к ФИО пользователя. Неправильно это с точки зрения методик систем безопасности. Не знаю как в 1С, но в кошерных системах на Watcom C/C++/SQL писанных, точно неправильно. Прикинь, в огромной системе (в случае увольнения человека) надо будет блоки кода менять.
Сделай лучше пустую роль (без прав) и отслеживай доступ по ней.
Условие будет таким:
Код 1C v 8.х
 
Если РольДоступна("ЗапретПросмотраЭлементовСправочникаПроекты") = Истина Тогда
// Чего ему не нада видеть
Иначе
// Чего ему нада видеть
КонецЕсли;
IKSparrow
13.12.2010 17:59Ответ № 7
Ну ещё как вариант динамический список с отбором по пользователю или RLS.
fox_haus
14.12.2010 07:35Ответ № 8
Спасибо. Но еще раз (может я что то не понимаю) у меня стоит задача разгранить доступ на уровне элементов справочника Проекты. Т.е например в справочнике есть 10 элементов, одному пользователю можно видеть все 10 записей а другому 5 записей. Другими словами 10 записей справочника Проекты используе организация А , а организация Б использует только 5 элементов и пользователь организации Б не должен видить, что в справочнике Проекты есть 10 элементов, а должен видить только 5 элементов Проектов.
Спасибо всем кто мне помогал советом, но эта задача мною пока еще не реализавана и буду всем благодарна за идеи.
IKSparrow
14.12.2010 09:48Ответ № 9
(8) fox_haus, А справочник большой? Сколько примерно элементов?
Mokey
14.12.2010 12:21Ответ № 10
Можно через отдельный справочник "ГруппыДоступа". Каждый пользователь принадлежит к одной или нескольким группам доступа, каждый элемент искомого справочника принадлежит какой-то группе доступа. При открытии анализировать группы, к которым принадлежит пользователь и отбирать записи по реквизиту с этими значениями. В коде прописывается только отбор, а регулируется всё непосредственно в базе. Довольно удобно.
Mokey
14.12.2010 12:24Ответ № 11
(8) fox_haus, Если по Вашему примеру, то пользователь организации А входит в группы А и Б, а пользователь организации Б входит в группу Б. 5 записей справочника Проекты имеют значением реквизита ГруппаДоступа значение А, а остальные 5 - Б.
IKSparrow
14.12.2010 13:08Ответ № 12
Вообще, механизмы безопасности лучше сделать универсальными по максимуму. Так что в этом случае, с Mokey я согласен, хоть и увеличится трудоёмкость реализации.
fox_haus
16.12.2010 06:44Ответ № 13
Вопрос закрыт!
Подсказка: Для редактирования своего ответа щелкните по значку (справа)
Вы не можете отправить комментарий анонимно, пожалуйста войдите или зарегистрируйтесь.