Имя: Пароль:
1C
1С v8
РЛС по подразделениям документам начисления и по кадровым документам.
,
0 ZaprosMan
 
08.12.16
17:17
Здравствуйте товарищи!

У меня УНФ 1.6.3.11

Есть задача ограничить видимость объектов по подразделению.
В частности по документам начисления и по кадровым документам.

С горем пополам разобрался как в профиль добавить значения чтобы в настройка пользователя можно было задать ограничение по подразделениям.

https://cloud.mail.ru/public/HjaH/Upjns4hzo

Теперь надо прописать в роль "БазовыеПрава" по этому профилю ограничение.

Я делаю по аналогии с Кассами.
Вот так:
https://cloud.mail.ru/public/9doi/J8b9ey8dR

Текст запроса:
"Подразделения ИЗ (ВЫБРАТЬ
    НастройкаРЛС.ОграниченияПоПодразделениям КАК ОграниченияПоПодразделениям,
    НастройкаРЛС.Пользователь КАК Пользователь
ИЗ
    Справочник.НастройкаРЛС КАК НастройкаРЛС
ГДЕ
    НастройкаРЛС.Пользователь = &ТекущийПользователь) КАК ВложенныйЗапрос, Справочник.Подразделения КАК Подразделения
ГДЕ ВЫБОР
            КОГДА ВложенныйЗапрос.ОграниченияПоПодразделениям
                ТОГДА Подразделения.Ссылка В
                        (ВЫБРАТЬ
                            ОграниченияПоПодразделениям.Подразделение
                        ИЗ
                            Справочник.НастройкаРЛС.Подразделения КАК ОграниченияПоПодразделениям
                        СГРУППИРОВАТЬ ПО
                            ОграниченияПоПодразделениям.Подразделение)
            ИНАЧЕ 1 = 1
        КОНЕЦ"

Но ограничение не работает, пользователь видит документы по подразделениям, по которым указаны ограничения.

Подскажите что не так? Где копать? Что делать? Не знаю куда думать!!!
1 ZaprosMan
 
08.12.16
17:20
Извините, не тот текс запроса.
Вот нужный
СтруктурныеЕдиницы ИЗ (ВЫБРАТЬ РАЗЛИЧНЫЕ
    ГруппыДоступаПользователи.Пользователь КАК Пользователь,
    ГруппыДоступаВидыДоступа.ВсеРазрешены КАК ВсеРазрешены,
    ГруппыДоступаЗначенияДоступа.ЗначениеДоступа КАК ЗначениеДоступа
ИЗ
    Справочник.ГруппыДоступа.Пользователи КАК ГруппыДоступаПользователи
        ЛЕВОЕ СОЕДИНЕНИЕ Справочник.ГруппыДоступа.ВидыДоступа КАК ГруппыДоступаВидыДоступа
        ПО ГруппыДоступаПользователи.Ссылка = ГруппыДоступаВидыДоступа.Ссылка
        ЛЕВОЕ СОЕДИНЕНИЕ Справочник.ГруппыДоступа.ЗначенияДоступа КАК ГруппыДоступаЗначенияДоступа
        ПО ГруппыДоступаПользователи.Ссылка = ГруппыДоступаЗначенияДоступа.Ссылка
ГДЕ
    ГруппыДоступаПользователи.Пользователь = &ТекущийПользователь
    И ГруппыДоступаЗначенияДоступа.ЗначениеДоступа ССЫЛКА Справочник.СтруктурныеЕдиницы) КАК ВложенныйЗапрос
    ЛЕВОЕ СОЕДИНЕНИЕ Справочник.СтруктурныеЕдиницы КАК СтруктурныеЕдиницы
    ПО ВложенныйЗапрос.ЗначениеДоступа = СтруктурныеЕдиницы.Ссылка
2 Blitz
 
08.12.16
17:27
можно воспользоваться шаблонами
3 Blitz
 
08.12.16
17:29
http://catalog.mista.ru/public/313468/
rls настраивал по этой статье, смотри пункт 8
4 Blitz
 
08.12.16
17:30
и ещё если запрос рабочий, и видны все равно все документы, значит где стоит роль, которая открывает полный доступ к документам
5 ZaprosMan
 
08.12.16
17:42
Спасибо, ща буду пробовать!
6 ZaprosMan
 
13.12.16
13:16
В общем что то у меня не выходит "каменный цветок"
Что сделал:
1. Добавил новый справочник "ГруппыДоступаСтруктурнойЕдиницы"
2. В спр. "СтруктурныеЕдиницы" добавил реквизит "ГруппаДоступа" ссылка на нов. спр.
3. В определяемые типы "ЗначениеДоступаСГруппамиЗначенийДоступаОбъект" добавил этот новый справочник и справочник "СтруктурныеЕдиницы".
4. В подписке на события "ОбновитьГруппыЗначенийДоступа" источником указаны определяемые типы "ЗначениеДоступаСГруппамиЗначенийДоступаОбъект".  (ничего не менял)
5. Общий модуль "УправлениеДоступомПереопределяемый" добавил
Процедура ПриЗаполненииВидовДоступа(ВидыДоступа) Экспорт

    ВидДоступа = ВидыДоступа.Добавить();
    ВидДоступа.Имя = "Кассы";
    ВидДоступа.Представление    = НСтр("ru = 'Кассы'");
    ВидДоступа.ТипЗначений      = Тип("СправочникСсылка.Кассы");
    
    ВидДоступа = ВидыДоступа.Добавить();
    ВидДоступа.Имя = "ГруппыКонтрагентов";
    ВидДоступа.Представление    = НСтр("ru = 'Группы контрагентов'");
    ВидДоступа.ТипЗначений      = Тип("СправочникСсылка.Контрагенты");
    ВидДоступа.ТипГруппЗначений = Тип("СправочникСсылка.ГруппыДоступаКонтрагентов");

    //Добавил ***** С.(08.12.2016) +
    ВидДоступа = ВидыДоступа.Добавить();
    ВидДоступа.Имя = "ГруппыПодразделений";
    ВидДоступа.Представление    = НСтр("ru = 'Группы подразделений'");
    ВидДоступа.ТипЗначений      = Тип("СправочникСсылка.СтруктурныеЕдиницы");
    ВидДоступа.ТипГруппЗначений = Тип("СправочникСсылка.ГруппыДоступаСтруктурнойЕдиницы");
    //Добавил ***** С.(08.12.2016) -
КонецПроцедуры

Процедура ПриЗаполненииИспользованияВидаДоступа(ВидДоступа, Использование) Экспорт
    
    Если ВидДоступа = "ГруппыКонтрагентов" Тогда
        Использование = Константы.ИспользоватьГруппыДоступаКонтрагентов.Получить();
    КонецЕсли;
    
    //Добавил ****** С.(08.12.2016) +
     Если ВидДоступа = "ГруппыПодразделений" Тогда
        Использование = Истина;
    КонецЕсли;
    //Добавил ****** С.(08.12.2016) -
    
КонецПроцедуры


Процедура ПриЗаполненииВидовОграниченийПравОбъектовМетаданных(Описание) Экспорт
    
    Описание = Описание + "
    |Справочник.ВерсииФайлов.Чтение.Объект.Документ.АвансовыйОтчет
    ...........................
    |Справочник.ГруппыДоступаКонтрагентов.Чтение.ГруппыКонтрагентов
    |Справочник.Кассы.Чтение.Кассы
    |Справочник.Кассы.Изменение.Кассы
    |Справочник.Контрагенты.Чтение.ГруппыКонтрагентов
    |Справочник.Контрагенты.Изменение.ГруппыКонтрагентов"+"
    //Добавил ****** С.(08.12.2016) +
    |Справочник.СтруктурныеЕдиницы.Чтение.ГруппыПодразделений
    |Справочник.СтруктурныеЕдиницы.Изменение.ГруппыПодразделений"+"
    //Добавил ****** С.(08.12.2016) -
    |Справочник.Файлы.Чтение.Объект.Документ.АвансовыйОтчет
..........

6. Создал новую роль "ОграничениеПодразделений", добавил шаблоны (ПоЗначениям и ПоЗначениямИНаборамРасширенный)
Для Спр. "СтруктурныеПодразделения" в этой роли дал права на чтение и просмотр. Добавил ограничения "ПоЗначениям" (#ПоЗначениям( "Справочник.СтруктурныеЕдиницы","Чтение","",   "ГруппыПодразделений","Ссылка", "","", "","", "","", "","", "","", "","", "","", "","", "","", "","", "","", "","", "","", "","", "","" ))  

7. После выполнения этих манипуляций сделал обработину в которой выполняю процедуру "УправлениеДоступомСлужебный.ОбновитьПараметрыОграниченияДоступа(Истина,Ложь);"

8. В реж. предприятия. Создал два элемента ограничений по структурным подразделениям "Офис" и "Производство"
9. В режиме предприятия создал новый профиль, указал в нем новую роль и добавил ограничения по группе офис.
В подразделениях везде в группе доступа указал или офис или производство.

10. Дал пользователю этот профиль совместно с правами по продаже. У пользователя ставлю ограничение на группу производство.

И НИФИГА НЕ РАБОТАЕТ!!!!!!
GJKMPJDFNTKM ВИДИТ НЕ ТОЛЬКО ВСЕ ПОДРАЗДЕЛЕНИЯ ГДЕ ЕСТЬ ГРУППЫ ПО ОФИСУ НО И САМ ЭЛЕМЕНТ ОФИС.

Подскажите, что не так? Почему РЛС не работает?
Или я его не правильно готовлю?
7 ZaprosMan
 
13.12.16
13:24
И ещё, формирую отчет по правам этого пользователя.
И там ограничение есть.
https://cloud.mail.ru/public/F5in/qgHn1Pasf
8 Serg_1960
 
13.12.16
13:32
"Просмотр не ограничен"(с) :)
9 ZaprosMan
 
13.12.16
13:39
И как же его ограничить то?
10 Фрэнки
 
13.12.16
13:57
ограничение доступа накладывается на какое-то отдельное право. на каждое по отдельности. Допустим, на право "просмотр" ограничение доступа установлено, а на право "чтение" не установлено. Тогда, если сумеешь получить в пользовательскую форму ссылку на объект, то сможешь его в той форме прочитать и отобразить на форме. А в просмотре его видеть не будешь.

У тебя ограничение доступа на каком праве устанавливается?

И еще: во всех ролях, назначаемых пользователю одновременно, ограничение доступа на одном и том же праве надо делать одинаковым.
11 ZaprosMan
 
13.12.16
15:05
Создал роль "ОграничениеПодразделений"
В роль добавил стандартные шаблоны
https://cloud.mail.ru/public/CcCs/1me9wsteb
В права для справочника "СтруктурныеЕдиницы" добавил ограничение для чтения
https://cloud.mail.ru/public/MFUm/DRAesqw7L
12 Фрэнки
 
13.12.16
18:49
и?

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

У тебя проблема как сформулирована? При просмотре списка документов вижу "лишние" документы. Так?
А ты же ничем право "просмотр" не ограничил. И далее,  пишешь, что пытаешься документ открыть/прочитать и он читается - а как иначе будет, если роль твоя у этого юзера не единственная, а другая роль ограничения на это право не содержит?
Компьютеры — это как велосипед. Только для нашего сознания. Стив Джобс