Имя: Пароль:
1C
1С v8
RLS И СКД
0 ДедUndead
 
25.04.17
14:14
Коллеги. Подскажите, как лучше сделать. Есть отчет на СКД, в одном из наборов данных запрос к регистру РазмещениеЗаказовПокупателей (УТ 10.3) к полю ЗаказПоставщику.ДатаПоступления и  ЗаказПоставщику.ДатаОтгрузки (доработано). У пользователей в ролью МенеджерПоПродажам настроены правила RLS. В отчете эти даты используются для группировки данных в колонки по месяцам. У пользователей с настроенными правилами RLS эти колонки не выводятся. Вычисляемое поле МесяцПоступления, которое вычисляется по датам из набора данных у этих пользователей вообще не показывается в настройках. Сразу возникает несколько вопросов. Первый путь - изменить RLS так, чтобы ограничения не срабатывали. Но! Неясно, как отловить, какое из этих правил срабатывает. Есть, конечно, предположения, можно действовать методом тыка. Можно как-то изменить отчет. Можно, вероятно, что-то еще... Подскажите.
1 Лефмихалыч
 
25.04.17
14:24
СКД так работает. Если на заказ прав на просмотр нет, то ни какие подчиненные поля заказа в отчет не будут выведены. С этим надо жить.
Придется дать права, раз пользователям нужна эта инфа.
Ну, либо - пойти на денормализацию и писать нужные данные в какой-то дополнительный регистр, на который уже будут права. Смотри сам, что тебе менее больно
2 FIXXXL
 
25.04.17
14:33
(1) еще вариант, для 10-ки, написать на основе УниверсальногоОтчета
3 ДедUndead
 
25.04.17
15:14
Еще момент, для меня неясный. Если у пользователей с этой ролью нет прав на просмотр, то должны ли эти данные выбираться в запросе? Или если только используется РАЗРЕШЕННЫЕ?
4 ДедUndead
 
25.04.17
15:16
(1) Кстати, если эти данные выбирать в привилегированном общем модуле?
5 ДедUndead
 
25.04.17
15:18
(1) Я что-то вообще в тупике. Сейчас только что проверил в сеансе такого пользователя запрос из набора данных

<code>ВЫБРАТЬ РАЗРЕШЕННЫЕ ПЕРВЫЕ 1
    &ЗаказПокупателя,
    РазмещениеЗаказовПокупателейОстатки.ЗаказПоставщику.ДатаПоступления КАК ЗаказДатаПоступления,
    РазмещениеЗаказовПокупателейОстатки.ЗаказПоставщику.ДатаОтгрузки КАК ЗаказДатаОтгрузки
ИЗ
    РегистрНакопления.РазмещениеЗаказовПокупателей.Остатки КАК РазмещениеЗаказовПокупателейОстатки
ГДЕ
    РазмещениеЗаказовПокупателейОстатки.ЗаказПокупателя = &ЗаказПокупателя

УПОРЯДОЧИТЬ ПО
    РазмещениеЗаказовПокупателейОстатки.ЗаказПоставщику.Дата УБЫВ</code>

Он выбирает данные!
6 Windyhead
 
25.04.17
15:28
RLS не влияет на отображение полей в структуре и тд СКД , а влияет на отображение или не отображение значений этих полей.
Если у тебя в СКД пропадают поля значит что-то ты перемудрил в другом месте.
возможно я ошибаюсь.
7 ДедUndead
 
25.04.17
15:36
(6) Возможно, что я перемудрил. Как может RLS влиять на отображение вычисляемого поля у пользователя? Тогда другой вопрос. Что влияет на отображение полей в настройках СКД у разных пользователей?
8 Windyhead
 
25.04.17
16:12
(7) Роли с правами
9 Windyhead
 
25.04.17
16:14
а может настройки скд им свежее подгрузить надо, а то старые автоматом грузятся или еще чего
10 Лефмихалыч
 
25.04.17
16:30
(3) (5) без разницы. СКД эти права перед выводом отдельно проверяет и вырезает к херам все, на что прав нет
11 ДедUndead
 
25.04.17
16:47
(10) Понятно. ((( Причем, похоже, что дело даже не в RLS. Сделал тестовую роль - копию МенеджераПоПродажам, удалил в ней все правила RLS. Не помогло. Как сравнить права доступа на объекты у разных ролей?...
12 Windyhead
 
25.04.17
17:52
(11) в конфигураторе Общие->Роли правой кнопкой клац и выбираешь "Все Роли" далее смотришь по нужному объекту.
13 Fragster
 
гуру
25.04.17
17:53
для вывода в СКД право "Просмотр" нужно. Это, порой, жутко неудобно, но так вот оно работает
14 Windyhead
 
25.04.17
18:00
Я бы все таки начал с кнопки стандартные настройки в СКД , а уж потом ковырять права. Вдруг там вариант сохраненный тянется когда еще не было этих пользовательских полей.
15 ДедUndead
 
26.04.17
12:06
Кнопку стандартные пробовал. Это все проверил. Даже завел копированием нового юзера с того, у которого проявляется проблема. Не помогло. Помогает только, если ставишь ему роль, которая ему не нужна. Поэтому и придется думаю, сравнить роли, чтобы понять, что мешает. Или как-то при запуске отчета проверять роль и, предположим, снимать константу, которая включает использование RLS. Потом включать. Так же можно, как я понимаю?
16 sidalexsandr
 
26.04.17
12:15
(15) Привелигированный режим предлагали?
17 ДедUndead
 
26.04.17
12:17
(16) Еще нет. Там файловая база, должно сработать.
18 ДедUndead
 
26.04.17
12:18
Но у ролей МенеджерПоПродажам и МенеджерПоЗакупкам ОДИНАКОВЫЕ права доступа к документу ЗаказПоставщику и к регистру РазмещениеЗаказовПокупателей!! Но если не ставить пользователю роль МенеджерПоЗакупкам - не работает!! Я в тупике.
19 ДедUndead
 
26.04.17
12:27
Глупый вопрос, возможно. На вычисляемые поля может влиять роль?...
20 sidalexsandr
 
26.04.17
12:27
(17) Привелигированный режим не зависит от того что база файловая или нет.
21 _Batoo
 
26.04.17
12:34
Проверь права на просмотр именно реквизитов документа.
22 ДедUndead
 
26.04.17
12:40
(21) Проверил уже. Есть и просмотр, и редактирование.
23 Так мало знающий
 
26.04.17
12:45
(22) Тип реквизита не составной?
24 Так мало знающий
 
26.04.17
12:46
(23)  Еще такие варинаты помогают: ВЫРАЗИТЬ(РазмещениеЗаказовПокупателейОстатки.ЗаказПоставщику КАК Документ.ЗаказПоставщику).ДатаПоступления
25 Так мало знающий
 
26.04.17
12:53
(22) Права на просмотр должны быть и для регистра накопления.
26 ДедUndead
 
26.04.17
12:56
Алиллуйя! Всем спасибо, реально натолкнули на мысль! В другом наборе данных, с которым связан приведенный выше, есть ссылка на тип документа ВнутренийЗаказ, на который у роли МенеджерПоПродажам не было права на просмотр! Поставил - заработало. Как всегда, чудес не бывает, есть лишь неполное видение общей картины.
Ошибка? Это не ошибка, это системная функция.