Форум 1С
Форум 1С
Программистам. Бухгалтерам. Администраторам. Пользователям
Задай вопрос - получи решение проблемы. Без троллинга и флуда.
18 Июн 2021, 09:16
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Не получили письмо с кодом активации?
МультиВход
 
collapse

Автор Тема: Ограничение доступа к данным  (Прочитано 6741 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн mzforums

  • *
  • Регистрация: 2016-07-04
  • Сообщений: 21
  • РЕПУТАЦИЯ: 0
  • Профессия: ГлавБух
Добрый день,

1С 8.2 "Управление Сервисным Центром". Управляемое приложение.

Хочу чтобы пользователь Продавец видел только Контрагентов из группы "Физ. лица".
(или не видел группу контрагентов "Компании")
Создал роль "Продавец". Дал ей минимальные права.
Создал пользователя "Продавец". Дал ему единственную Роль - "Продавец".
Потом для этой Роли зашел в Справочник - Контрагенты и прописал в "Правах на чтение".
В "Ограничения доступа к данным":

ГДЕ Родитель <> "Компании"
(см. фото во вложении)

Потом проверяю:

Запускаю 1С с пользователем "Продавец".
Захожу в Контрагенты.

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

Как исправить?
Не работает.



Оффлайн Luzer1C

  • ****
  • Регистрация: 2014-02-17
  • Сообщений: 493
  • РЕПУТАЦИЯ: 62
  • КПД: 13%
    • Skype: kredko_evgeniy
  • Профессия: Программист 1С
1. Установить константу через настройку прав доступа на уровне записей "Контрагенты".
2. Создать группу для пользователя.
3. Включить папку из справочника "Контрагенты" в группу. Т.е. дать доступ к этой папке.
4. Включить пользователя в группу.
5. В роли из конфигуратора доработать RLS. Так не пойдет.
Халамбалам.

Оффлайн mixqn

  • *****
  • Регистрация: 2012-08-15
  • Сообщений: 1348
  • РЕПУТАЦИЯ: 167
  • КПД: 12%
  • Who is John Galt?
  • Профессия: Программист 1С
На вашем скрине написано, цитирую:
Цитировать
ГДЕ ЭтоГруппа <> "Company"
Это выражение ВСЕГДА будет иметь значение ИСТИНА. Потому, что ЭтоГруппа - это признак группы типа булево, имеет значение Истина или Ложь. Ни Истина, ни Ложь, понятное дело, никогда и ни при каких обстоятельствах не будут равны строке "Company", поэтому ваше условие в RLS работать не будет.

Оффлайн mzforums

  • *
  • Регистрация: 2016-07-04
  • Сообщений: 21
  • РЕПУТАЦИЯ: 0
  • Профессия: ГлавБух
1. Установить константу через настройку прав доступа на уровне записей "Контрагенты".
2. Создать группу для пользователя.
3. Включить папку из справочника "Контрагенты" в группу. Т.е. дать доступ к этой папке.
4. Включить пользователя в группу.
5. В роли из конфигуратора доработать RLS. Так не пойдет.

Спасибо за ответ,
1. Как установить константу?
2. Создал группу "Продавцы" (в программе, не в конфигураторе), переместил туда Продавца, но папку никак не могу включить туда - туда только пользователи могут включаться)
Добавлено: 05 Июл 2016, 22:18

На вашем скрине написано, цитирую:
Цитировать
ГДЕ ЭтоГруппа <> "Company"
Это выражение ВСЕГДА будет иметь значение ИСТИНА. Потому, что ЭтоГруппа - это признак группы типа булево, имеет значение Истина или Ложь. Ни Истина, ни Ложь, понятное дело, никогда и ни при каких обстоятельствах не будут равны строке "Company", поэтому ваше условие в RLS работать не будет.

Благодарю за замечание,
Я также вместо ЭтоГруппа пробовал использовать Родитель. Требуемого эффекта тоже не дало.
Добавлено: 05 Июл 2016, 22:21

Вообще, может есть другие способы?
Если еще раз коротко - нужно запретить доступ пользователя к определенной папке в Контрагентах.
Ну или дать доступ только к определенной папке.
Думаю должно быть как то просто.

Оффлайн Luzer1C

  • ****
  • Регистрация: 2014-02-17
  • Сообщений: 493
  • РЕПУТАЦИЯ: 62
  • КПД: 13%
    • Skype: kredko_evgeniy
  • Профессия: Программист 1С
1. Константы ставятся в меню "Операции" - > Константы.
2. Переключить интерфейс на Администрирование пользователей.
3. Меню "Пользователи" - > Группы пользователей. Здесь находим нужную группу и добавляем группу доступа для Контрагентов, к которой нужно открыть доступ. Предварительно установив флажок на "Контрагенты".
4. Из справочника "Пользователи" находим пользователя и включаем его в группу.
5. В роли из конфигуратора в справочнике "Контрагенты" нужно прописать:

#Если &ИспользоватьОграничениеПоКонтрагенты #Тогда
ТекущаяТаблица
ИЗ
    #ТекущаяТаблица КАК ТекущаяТаблица
        ЛЕВОЕ СОЕДИНЕНИЕ (ВЫБРАТЬ РАЗЛИЧНЫЕ
            СоставГруппы.Ссылка КАК ГруппаПользователей
        ИЗ
            Справочник.ГруппыПользователей.ПользователиГруппы КАК СоставГруппы
        ГДЕ
            СоставГруппы.Пользователь = &ТекущийПользователь) КАК ГруппыПользователей
        ПО (ИСТИНА)
ГДЕ
ТекущаяТаблица.ЭтоГруппа
ИЛИ НЕ ГруппыПользователей.ГруппаПользователей ЕСТЬ NULL
И
    (НЕ 1 В
                (ВЫБРАТЬ ПЕРВЫЕ 1
                    1
                ИЗ
                    РегистрСведений.НазначениеВидовОбъектовДоступа КАК НазначениеВидовОбъектовДоступа
                                                               
                    ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.НастройкиПравДоступаПользователей КАК НастройкиПравДоступаПользователей
                        ПО
                            НастройкиПравДоступаПользователей.ОбъектДоступа = ЕСТЬNULL(ТекущаяТаблица.ГруппаДоступаКонтрагента, ЗНАЧЕНИЕ(Справочник.ГруппыДоступаКонтрагентов.ПустаяСсылка))
                                И НастройкиПравДоступаПользователей.ВидОбъектаДоступа = НазначениеВидовОбъектовДоступа.ВидОбъектаДоступа
                                И НастройкиПравДоступаПользователей.ОбластьДанных = ЗНАЧЕНИЕ(Перечисление.ОбластиДанныхОбъектовДоступа.КонтрагентыДопИнформация)
                                                                                               
                                И НастройкиПравДоступаПользователей.Пользователь = ГруппыПользователей.ГруппаПользователей
                ГДЕ                 
                     НазначениеВидовОбъектовДоступа.ГруппаПользователей = ГруппыПользователей.ГруппаПользователей
                           И НазначениеВидовОбъектовДоступа.ВидОбъектаДоступа = ЗНАЧЕНИЕ(Перечисление.ВидыОбъектовДоступа.Контрагенты)
               
                    И НастройкиПравДоступаПользователей.ОбъектДоступа ЕСТЬ NULL))
#КонецЕсли

6. Шуршим весь справочник Контрагенты, на закладке "Прочее" забиваем нужную группу. Можно воспользоваться групповой обработкой.
7. Если у пользователя несколько ролей и в какой-либо роли есть полный доступ к справочнику "Контрагенты", то RLS работать не будет.
8. Это применимо к УПП. Хотя может везде так RLS работает.
9. Т.е. доступ к справочнику "Контрагенты" идет не через папки справочника, а через свои группы.
Халамбалам.

Оффлайн mzforums

  • *
  • Регистрация: 2016-07-04
  • Сообщений: 21
  • РЕПУТАЦИЯ: 0
  • Профессия: ГлавБух
1. Константы ставятся в меню "Операции" - > Константы.
2. Переключить интерфейс на Администрирование пользователей.
3. Меню "Пользователи" - > Группы пользователей. Здесь находим нужную группу и добавляем группу доступа для Контрагентов, к которой нужно открыть доступ. Предварительно установив флажок на "Контрагенты".

У меня нет таких пунктов меню. Приложил 2 скриншота.
Может можно переключить интерфейс?
Добавлено: 06 Июл 2016, 23:33


Оффлайн Luzer1C

  • ****
  • Регистрация: 2014-02-17
  • Сообщений: 493
  • РЕПУТАЦИЯ: 62
  • КПД: 13%
    • Skype: kredko_evgeniy
  • Профессия: Программист 1С
Нужно зайти в параметры и установить флажок "Все функции". Тогда появятся Константы.
Халамбалам.

Оффлайн mzforums

  • *
  • Регистрация: 2016-07-04
  • Сообщений: 21
  • РЕПУТАЦИЯ: 0
  • Профессия: ГлавБух
Спасибо!


Теги:
 


* Живое общение

Не устроил ответ?

Зарегистрируйся и задай свой вопрос. Живое общение приносит результат намного быстрее.


Зарегистрироваться

* Реклама

* Поиск

* Последние задачи на разработку (фриланс)

* Последние вакансии

* Том 10 авторов за месяц

LexaK
69 Сообщений
Геннадий ОбьГЭС Геннадий ОбьГЭС
67 Сообщений
neek666
33 Сообщений
antoneus antoneus
31 Сообщений
Ивашка
25 Сообщений
KATERINA 861
18 Сообщений
Алексей_1985_06
17 Сообщений
SSC
13 Сообщений
alexandr_ll
12 Сообщений
BuhRust
10 Сообщений

* Кто онлайн

  • Точка Гостей: 454
  • Точка Скрытых: 0
  • Точка Пользователей: 5
  • Точка Сейчас на форуме:

* Облако тэгов

* Инструменты

* Дополнительно

Поиск