Добрый день! У меня вопрос такого плана: Как правильно написать запрос ограничения доступа к данным в ролях? Мне нужно сделать так, чтобы пользователь подразделения видел документы, данные справочника и. т. д. только своего подразделения. (т.е. ему нельзя видеть данные других подразделений и головного офиса). Пример запроса, если можно. Спасибо, заранее.
Про1С-ник
Группа: Местный
Сообщений: 9564
Из: Kharkiv, UA
Спасибо сказали: 2539 раз
Рейтинг: 0
Для того что бы ограничить данные по подразделению, в объектах тоже должно присутствовать подразделение, такой реквизит стандартно есть только у Документов (возможно не у всех), у справочников и т.д. его по идеологии нет. Вам нужно четко определить что именно нужно ограничить, а так же было бы неплохо что бы Вы указали Вашу конфигурацию.
Личные бесплатные консультации не даю, для этого есть форум!
Для того что бы ограничить данные по подразделению, в объектах тоже должно присутствовать подразделение, такой реквизит стандартно есть только у Документов (возможно не у всех), у справочников и т.д. его по идеологии нет. Вам нужно четко определить что именно нужно ограничить, а так же было бы неплохо что бы Вы указали Вашу конфигурацию.
Конфигурация нашего предприятия УКИТ Алмазавтоматика. Мне нужно ограничить права во всех документах, справочниках, журналах, регистрах. Чтобы данный филиал видел только, то что он создал(т.е. свои документы, своих сотрудников). А вот через справочник "Подразделения", если там создать отдельно группу "Филиал МГОК"(и внутри группы добавлять ихние отделы, сотрудники) по нему нельзя будет сделать запрос? Или в перечислении добавить Подразделения -МГОК,НГОК и т.д . И по перечислению ограничения сделать?
Конфигурация нашего предприятия УКИТ Алмазавтоматика. Мне нужно ограничить права во всех документах, справочниках, журналах, регистрах. Чтобы данный филиал видел только, то что он создал(т.е. свои документы, своих сотрудников). А вот через справочник "Подразделения", если там создать отдельно группу "Филиал МГОК"(и внутри группы добавлять ихние отделы, сотрудники) по нему нельзя будет сделать запрос? Или в перечислении добавить Подразделения -МГОК,НГОК и т.д . И по перечислению ограничения сделать?
Ну например, Контрагенты и Номенклатура! Вы хотите для каждого подразделения иметь СВОЕГО Контрагента и Номенклатуру?
Никогда не бойся делать то, что не умеешь, помни - Ноев ковчег был построен любителем, профессионалы построили Титаник. ЗиУП
Ну например, Контрагенты и Номенклатура! Вы хотите для каждого подразделения иметь СВОЕГО Контрагента и Номенклатуру?
Да. Например, справочник "Сотудники": один большой список. Пользователь подразделения заходит в программу и видит ТОЛЬКО своих сотрудников (т.е отрывок из справочника), а пользователь головного офиса должен зайти и видеть ВСЕ. Одна конфигурация и одна информационная база на всех. Получается как отбор, но он должен быть автоматически при открытии программы. Я сначала сделала План обмена-Распределенная информ база, сказали по другому сделать. Так как ЦОДе много места будет занимать, если у каждого будет своя информационная база. Знаю, что еще можно в ролях, по ограничению доступа данных сделать. Но как? Запрос не могу написать?
ТекущаяТаблица ИЗ #ТекущаяТаблица ГДЕ ТекущаяТаблица.Подразделение = &ТекущееПодразделение
где у нас параметр ТекущееПодразделение является параметром сеанса и должен быть инициализирован
желательно определить новую роль и не забывать, что роли по правам доступа могут пересекаться... т.е. если у вас две роли назначены для одного пользователя, в одной роли установлено ограничение, а в другой нет (но есть права на этот документ), тогда ограничение действовать не будет!
ну и в роли на документ в правах на чтение, поля "Прочие поля" пишем "#Подразделение_Доступ()
где Подразделение_Доступ() имя шаблона... кстати по RLS нормально описано в руководстве пользователя, в ЖКК которые идут в комплекте...
ТекущаяТаблица ИЗ #ТекущаяТаблица ГДЕ ТекущаяТаблица.Подразделение = &ТекущееПодразделение
где у нас параметр ТекущееПодразделение является параметром сеанса и должен быть инициализирован
желательно определить новую роль и не забывать, что роли по правам доступа могут пересекаться... т.е. если у вас две роли назначены для одного пользователя, в одной роли установлено ограничение, а в другой нет (но есть права на этот документ), тогда ограничение действовать не будет!
ну и в роли на документ в правах на чтение, поля "Прочие поля" пишем "#Подразделение_Доступ()
где Подразделение_Доступ() имя шаблона... кстати по RLS нормально описано в руководстве пользователя, в ЖКК которые идут в комплекте...
Спасибо, да нужно делать с помощью параметры сеанса. Почти разобралась.
Завсегдатай
Группа: Местный
Сообщений: 170
Из: Украина
Спасибо сказали: 32 раз
Рейтинг: 0
Завязать на ролях пользователя все и прописать для каждого документа или справочника свою проверку доступности элементов справочника или документа
Прописать что-то наподобие
ТекПользователь = ПользователиИнформационнойБазы.ТекущийПользователь(); Если (ТекПользователь.Роли.Содержит(Метаданные.Роли.Менеджер) Тогда ЭлементыФормы.СуммаПоДокументу.Видимость=Истина;
Иначе ЭлементыФормы.СуммаПоДокументу.Видимость=Ложь;
Про1С-ник
Группа: Местный
Сообщений: 9564
Из: Kharkiv, UA
Спасибо сказали: 2539 раз
Рейтинг: 0
Цитата(Meest @ 18.01.12, 16:23)
Почему?
Потому что изменение всех (или необходимых) документов и справочников это утопия, в виду того что есть другое решение (настройка ролей). Ну и указанный Вами код может не работать в обсуждаемой конфигурации.
Личные бесплатные консультации не даю, для этого есть форум!
Завсегдатай
Группа: Местный
Сообщений: 170
Из: Украина
Спасибо сказали: 32 раз
Рейтинг: 0
Цитата(logist @ 18.01.12, 16:33)
Потому что изменение всех (или необходимых) документов и справочников это утопия, в виду того что есть другое решение (настройка ролей). Ну и указанный Вами код может не работать в обсуждаемой конфигурации.
Доступность элемента справочника или документа для определенного пользователя в настройках ролей прописать нельзя. Код проверен, он отрабатывает свою задачу.
Так как описано БД одна, и распределенных не будет. Какой вариант еще может быть?
1С Предприятие 8.3, 1С Предприятие 8.2, 1С Предприятие 8.1, 1С Предприятие 8.0, 1С Предприятие 7.7, Литература 1С, Общие вопросы по администрированию 1С, Методическая поддержка 1С - всё в одном месте: на Украинском 1С форуме!