Имя: Пароль:
1C
1С v8
1c 8 Група доступа физ лиц
0 Tumanov
 
08.11.12
17:46
Столкнулся с такой бедой.есть 2 сотрудника, у каждого своя группа доступа к физ лицам. если эти 2 человека помещаются в один документ(у пользователя есть допуск к обоим группам доступа), то выдается ошибка"отказано в доступе". кто нибудь сталкивался с таким? и есть ли решение?
1 dimaldinho
 
08.11.12
17:48
Все должно работать.
2 Tumanov
 
08.11.12
17:55
знаю что должно. но факт есть.
в журнале пишет при этом
Отказ в доступе на добавление документа даже
3 Tumanov
 
08.11.12
18:03
да кстати Управление производственным предприятием, редакция 1.3 (1.3.31.1)
Щас провел эксперемент, если в документе 2 сотрудника с разными групами доступа то пользователь этот документ не видет, если 1 сотрудник в документе, то видет.
4 Naumov
 
08.11.12
18:17
(0) а у открывающего документ доступ только на одного человека?
5 Tumanov
 
08.11.12
18:18
На обоих.
6 shuhard
 
08.11.12
18:28
(5) сделать группу доступа, включающую двух физ.лиц низяяяяя ?
7 Tumanov
 
08.11.12
18:30
нет....
8 shuhard
 
08.11.12
18:33
(7) придётся переписать шаблон RLS
9 Tumanov
 
08.11.12
18:36
#Если &ИспользоватьОграничениеПоФизическиеЛица #Тогда
ТекущаяТаблица ИЗ #ТекущаяТаблица КАК ТекущаяТаблица
   ЛЕВОЕ СОЕДИНЕНИЕ (ВЫБРАТЬ РАЗЛИЧНЫЕ
       СоставГруппы.Ссылка КАК ГруппаПользователей
   ИЗ
       Справочник.ГруппыПользователей.ПользователиГруппы КАК СоставГруппы
   ГДЕ
       СоставГруппы.Пользователь = &ТекущийПользователь) КАК ГруппыПользователей
   ПО (ИСТИНА)
ГДЕ (НЕ 1 В
                   (ВЫБРАТЬ ПЕРВЫЕ 1
                       1 КАК ПолеОтбора
                   ИЗ
                       РегистрСведений.НазначениеВидовОбъектовДоступа КАК НазначениеВидовОбъектовДоступа
                   ГДЕ
                       НазначениеВидовОбъектовДоступа.ГруппаПользователей = ГруппыПользователей.ГруппаПользователей
                       И ВЫБОР
                           КОГДА НазначениеВидовОбъектовДоступа.ВидОбъектаДоступа = ЗНАЧЕНИЕ(Перечисление.ВидыОбъектовДоступа.ФизическиеЛица)
                               ТОГДА ВЫБОР
                                       КОГДА (НЕ 1 В
                                                   (ВЫБРАТЬ ПЕРВЫЕ 1
                                                       1
                                                   ИЗ
                                                       Документ.#Параметр(1) КАК ТабличнаяЧастьДокумента ВНУТРЕННЕЕ СОЕДИНЕНИЕ Справочник.ФизическиеЛица КАК ФизическиеЛица
                                                           ПО
                                                               ФизическиеЛица.Ссылка = ТабличнаяЧастьДокумента.#Параметр(2) ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.НастройкиПравДоступаПользователей КАК НастройкиПравДоступаПользователей
                                                           ПО
                                                               НастройкиПравДоступаПользователей.ОбъектДоступа = ФизическиеЛица.ГруппаДоступаФизическогоЛица
                                                                   И НастройкиПравДоступаПользователей.ВидОбъектаДоступа = ЗНАЧЕНИЕ(Перечисление.ВидыОбъектовДоступа.ФизическиеЛица)
                                                                   И НастройкиПравДоступаПользователей.ОбластьДанных = ЗНАЧЕНИЕ(Перечисление.ОбластиДанныхОбъектовДоступа.ФизическиеЛицаДанные)
                                                                   И НастройкиПравДоступаПользователей.Пользователь = НазначениеВидовОбъектовДоступа.ГруппаПользователей
                                                   ГДЕ
                                                       ТабличнаяЧастьДокумента.Ссылка = ТекущаяТаблица.Ссылка
                                                       И НастройкиПравДоступаПользователей.ОбластьДанных ЕСТЬ NULL ))
                                           ТОГДА ИСТИНА
                                       ИНАЧЕ ЛОЖЬ
                                   КОНЕЦ
                           ИНАЧЕ ИСТИНА
                       КОНЕЦ = ЛОЖЬ))
                       И НЕ ГруппыПользователей.ГруппаПользователей ЕСТЬ NULL
#КонецЕсли                        


можно на этом примере показать что именно минять? у нас всего 16 груп доступа
10 shuhard
 
08.11.12
18:43
(9)[можно на этом примере показать что именно менять]
не исключено, что на форуме найдутся энтузиасты
11 Naumov
 
08.11.12
18:53
(9) Запрос явно работает только с одной группой доступа. Как малой кровью на список групп переделать не знаю, не смотрел.
Т.е. это фича конфигурации, что сотрудники с разными группами доступа надо в разные документы распихивать.