Имя: Пароль:
1C
1С v8
ЗУП 2.5 Корп RLS
0 triviumfan
 
11.05.18
09:52
Доброго дня, коллеги.

Была добавлена организация, новая группа пользователей, установлены права доступа для неё.
Так вот... организацию пользователь видит, даже записывать может, но при создании нового сотрудника (именно его!) сей организации происходит ошибка прав.
Конкретнее: открывается форма подбора нового сотрудника; открывается транзакция, создаётся вся связанная информация (физлицо, РС, ...) и на записи справочника "СотрудникиОрганизаций" происходит фейл (откат транзакции), мол, виной РЛС.
Вероятно, это оно:

#ОбщееУправлениеДоступом("ЗаписьСГруппами",
"Организации","","Организация","",
"ФизическиеЛица","ГруппаДоступаФизическогоЛица", "Физлицо", "",
"")


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

Думал, может кто уже встречался? Отладка РЛС дело хитрое и затратное, вдруг можно получить быстрый ответ тут.. (наивен, да =) )
1 triviumfan
 
11.05.18
09:58
ЗЫ: Группы доступа физического лиц не используются
2 kumena
 
11.05.18
11:39
здесь можно посмотреть как правильно настроить группы пользователей и группы доступа для зуп 2.5

http://kumena.ru/blog/razgranichenie-prav-dostupa-dlya-polzovatelej-zup-na-urovne-zapisej-po-obosoblennym-podrazdeleniyam-dlya-zup-25
3 triviumfan
 
11.05.18
12:09
(2) Да это все понятно, прикол с новой организацией.
Сейчас РЛС разбираю... в выборку попадают только группы сотрудников почему-то...
4 triviumfan
 
11.05.18
12:23
Разобрал шаблон, подставил значения... получил такой запрос:

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

Ещё бы понять, что за условия такие хитрые)
5 triviumfan
 
11.05.18
14:34
Убрал виды доступа по физлицам и взлетело...
получается, коль указал доступ по физлицам для группы пользователя, то настраивай их дальше, иначе выключи вообще)