Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Ограничение доступа к данным
Украинский 1С форум: всё про 1С 8.3, 1С 8.2, 1С 8.1, 1С 8.0, 1С 7.7 > Программисту > Программирование в 1С Предприятие 8.1 (8.0)
Моника
Добрый день! У меня вопрос такого плана: Как правильно написать запрос ограничения доступа к данным в ролях? Мне нужно сделать так, чтобы пользователь подразделения видел документы, данные справочника и. т. д. только своего подразделения. (т.е. ему нельзя видеть данные других подразделений и головного офиса). Пример запроса, если можно. Спасибо, заранее.
logist
Для того что бы ограничить данные по подразделению, в объектах тоже должно присутствовать подразделение, такой реквизит стандартно есть только у Документов (возможно не у всех), у справочников и т.д. его по идеологии нет. Вам нужно четко определить что именно нужно ограничить, а так же было бы неплохо что бы Вы указали Вашу конфигурацию.
Моника
Цитата(logist @ 15.12.11, 15:45) необходимо зарегистрироваться для просмотра ссылки
Для того что бы ограничить данные по подразделению, в объектах тоже должно присутствовать подразделение, такой реквизит стандартно есть только у Документов (возможно не у всех), у справочников и т.д. его по идеологии нет. Вам нужно четко определить что именно нужно ограничить, а так же было бы неплохо что бы Вы указали Вашу конфигурацию.

Конфигурация нашего предприятия УКИТ Алмазавтоматика. Мне нужно ограничить права во всех документах, справочниках, журналах, регистрах. Чтобы данный филиал видел только, то что он создал(т.е. свои документы, своих сотрудников).
А вот через справочник "Подразделения", если там создать отдельно группу "Филиал МГОК"(и внутри группы добавлять ихние отделы, сотрудники) по нему нельзя будет сделать запрос? Или в перечислении добавить Подразделения -МГОК,НГОК и т.д . И по перечислению ограничения сделать?
alex040269
Цитата(Моника @ 15.12.11, 10:23) необходимо зарегистрироваться для просмотра ссылки
Конфигурация нашего предприятия УКИТ Алмазавтоматика. Мне нужно ограничить права во всех документах, справочниках, журналах, регистрах. Чтобы данный филиал видел только, то что он создал(т.е. свои документы, своих сотрудников).
А вот через справочник "Подразделения", если там создать отдельно группу "Филиал МГОК"(и внутри группы добавлять ихние отделы, сотрудники) по нему нельзя будет сделать запрос? Или в перечислении добавить Подразделения -МГОК,НГОК и т.д . И по перечислению ограничения сделать?


Ну например, Контрагенты и Номенклатура! Вы хотите для каждого подразделения иметь СВОЕГО Контрагента и Номенклатуру?
Моника
Цитата(alex040269 @ 15.12.11, 18:23) необходимо зарегистрироваться для просмотра ссылки
Ну например, Контрагенты и Номенклатура! Вы хотите для каждого подразделения иметь СВОЕГО Контрагента и Номенклатуру?

Да. Например, справочник "Сотудники": один большой список. Пользователь подразделения заходит в программу и видит ТОЛЬКО своих сотрудников (т.е отрывок из справочника), а пользователь головного офиса должен зайти и видеть ВСЕ. Одна конфигурация и одна информационная база на всех. Получается как отбор, но он должен быть автоматически при открытии программы.
Я сначала сделала План обмена-Распределенная информ база, сказали по другому сделать. Так как ЦОДе много места будет занимать, если у каждого будет своя информационная база. Знаю, что еще можно в ролях, по ограничению доступа данных сделать. Но как? Запрос не могу написать?
logist
Воспользуйтесь поиском по форуму, по запросу "RLS" есть темы в которых можно почерпнуть информацию.
WKBAPKA
ну шото типа такого

ТекущаяТаблица
    ИЗ
        #ТекущаяТаблица
    ГДЕ
        ТекущаяТаблица.Подразделение = &ТекущееПодразделение


где у нас параметр ТекущееПодразделение является параметром сеанса и должен быть инициализирован

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

ну и в роли на документ в правах на чтение, поля "Прочие поля" пишем "#Подразделение_Доступ()

где Подразделение_Доступ()
имя шаблона... кстати по RLS нормально описано в руководстве пользователя, в ЖКК которые идут в комплекте...
Моника
Цитата(WKBAPKA @ 22.12.11, 18:47) необходимо зарегистрироваться для просмотра ссылки
ну шото типа такого

ТекущаяТаблица
    ИЗ
        #ТекущаяТаблица
    ГДЕ
        ТекущаяТаблица.Подразделение = &ТекущееПодразделение


где у нас параметр ТекущееПодразделение является параметром сеанса и должен быть инициализирован

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

ну и в роли на документ в правах на чтение, поля "Прочие поля" пишем "#Подразделение_Доступ()

где Подразделение_Доступ()
имя шаблона... кстати по RLS нормально описано в руководстве пользователя, в ЖКК которые идут в комплекте...



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




Прописать что-то наподобие



   ТекПользователь = ПользователиИнформационнойБазы.ТекущийПользователь();
    Если (ТекПользователь.Роли.Содержит(Метаданные.Роли.Менеджер) Тогда
        ЭлементыФормы.СуммаПоДокументу.Видимость=Истина;
        
    Иначе
        ЭлементыФормы.СуммаПоДокументу.Видимость=Ложь;
sava1
Цитата
Завязать на ролях пользователя все и прописать для каждого документа или справочника свою проверку доступности элементов справочника или документа


???? Бред
logist
Цитата(sava1 @ 18.01.12, 8:04) необходимо зарегистрироваться для просмотра ссылки
???? Бред

Да smile.gif
Meest
Цитата(logist @ 18.01.12, 9:39) необходимо зарегистрироваться для просмотра ссылки
Да smile.gif

Почему?
logist
Цитата(Meest @ 18.01.12, 16:23) необходимо зарегистрироваться для просмотра ссылки
Почему?

Потому что изменение всех (или необходимых) документов и справочников это утопия, в виду того что есть другое решение (настройка ролей).
Ну и указанный Вами код может не работать в обсуждаемой конфигурации.
sava1
Если уж сильно хоцца - есть Подписка на события
Meest
Цитата(logist @ 18.01.12, 16:33) необходимо зарегистрироваться для просмотра ссылки
Потому что изменение всех (или необходимых) документов и справочников это утопия, в виду того что есть другое решение (настройка ролей).
Ну и указанный Вами код может не работать в обсуждаемой конфигурации.



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


Так как описано БД одна, и распределенных не будет. Какой вариант еще может быть?
logist
Цитата(Meest @ 18.01.12, 16:55) необходимо зарегистрироваться для просмотра ссылки
Доступность элемента справочника или документа для определенного пользователя в настройках ролей прописать нельзя.

Можно, назначив ему роль с определенным набором ограничений.

Цитата(Meest @ 18.01.12, 16:55) необходимо зарегистрироваться для просмотра ссылки
Код проверен, он отрабатывает свою задачу.

Оо
откуда конфигурация "УКИТ Алмазавтоматика"??
Meest
Цитата(logist @ 18.01.12, 17:10) необходимо зарегистрироваться для просмотра ссылки
Можно, назначив ему роль с определенным набором ограничений.


Оо
откуда конфигурация "УКИТ Алмазавтоматика"??




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