Написан простой отчетик на СКД, в котором добавлены поля отбора (3 штуки). При запуске отбор заполняется значениями по умолчанию.

```1c
    Настройки = ЭтотОбъект.КомпоновщикНастроек.Настройки;
    Если Не ЭлементыФормы.Склад.Значение = Справочники.Склады.ПустаяСсылка() Тогда
    Настройки.Отбор.Элементы[0].ПравоеЗначение = ЭлементыФормы.Склад.Значение;
    Настройки.Отбор.Элементы[0].Использование = Истина;
    Настройки.Отбор.Элементы[1].ПравоеЗначение = ЭлементыФормы.Склад.Значение;
    Настройки.Отбор.Элементы[1].Использование = Истина;
    Иначе
    Настройки.Отбор.Элементы[0].Использование = Ложь;
    Настройки.Отбор.Элементы[1].Использование = Ложь;
    КонецЕсли;
```

Так вот грубо говоря пользователь с полными правами нормально открывает этот отчет и пользуется. А пользователь с "нетиповыми" правами открыть отчет не может, так как выдается ошибка про то что в "Настройки.Отбор.Элементы[0]" нет вообще элементов. Права на "Склад" на всякий случай проверил - есть.
По скольку различие у пользователей только в правах- пытаюсь найти проблему в правах.
Подскажите пожалуйста на что нужны права что бы "Отбор" был доступен?
---
woozee, Смотрите пример. Суть примера как обойти отсутствие права на просмотр регистра в СКД.
У вас нет доступа на просмотр регистров (на чтение есть), и из-за этого СКД не работает.
Но можно запросом получить нужные данные и положить их в СКД в набор данных -объект. А дальше уже СКД манипулирует с этими данными, получение которых никак не ни связано с самим СКД, а только обычным запросом к БД.

P.S. за пример просьба не пинать делался за 5 минут для регистра УПП.
---
woozee, проверьте доступ прав на формирование коллекции.
---
anete.anetes, подскажите пожалуйста где это устанавливается?
---
woozee, Вначале попробуйте выбрать разрешенные, если это не поможет:
1) Находите это коллекцию.
2) Ищете все упоминания о ней в куоде объекта/по всей конфигурации.
3) В итоге найдёте что формирование коллекции зависит от определенного модуля/процедуры на которую нужны права
4) Если у вас НЕ внешняя обработка, тогда выставьте права на чтение и редактирование.
5) Есди у вас внешняя обработка, тогда добавьте ещё просмотр.

Искать что за коллекция легче тут:

```1c
    F9 -> Настройки.Отбор.Элементы[0]
```
---
anete.anetes, дело в том что я отчет то не формирую еще.... Я его пытаюсь только открыть. В обработчике "При открытии()" прописано действие которое берет из поля "Склад" значение и подставляет его в СКД в 1 значение отбора. В СКД оно находится в вкладке "Настройки" и во втором поле "Настроки"-"Отбор".
В самом СКД там 3 значения которые нормально читаются с кучей прав стандартных(не полные) но вот с отдельной созданной мной ролью эта вкладка "Отбор" для обработки кода пуста!

То есть СКД еще не запускал свои запросы, в которых вы мне предлагаете проставить "Разрешенные", а "Склады" я могу под этим пользователем открывать для просмотра.
---
woozee, попробуйте полные права на склады поставить, а вообще проще сделать роль с которой заходит туда, и от неё уже плясать, т.к. зависимостей одним_местом жуй, но не все они полезны...
---
woozee, в запросе поставьте разрешенные. Вечный косяк если нету прав.
---
woozee, открываете СКД в конструкторе запросов - дополнительно- галка Разрешенные.
---
Xershi, доступ прав на формирование коллекции.
---
anete.anetes, я на форму не вытягивал элементы отбора, но была ошибка с отчетом решил как в (5)!
---
woozee,
Первое, куда надо лезть при ошибке в правах - журнал регистрации. Там в 90% случаев написано, к какому объекту не хватает и каких прав.
---
AlX0id, в журнале регистрации пишется ошибка с указанием строчки кода в этом отчете. В первом сообщении его кусок..
---
woozee,
Ну тогда смотрите все объекты, используемые в СКД. Раз уж вы говорите, что отчет простенький - это должно быть не сложно.
Скорее всего СКД пытается прилепить ваш отбор на какой-нить из объектов, который не доступен пользователю.
Из простых вариантов поиска проблемы - перебрать все зависимости объектов в запросе.
Из сложных - включить все права (соответственно, отчет должен формироваться в таком случае иначе проблема не в правах) и последовательно их отключать ветками - Константы, Справочники, Документы и т.д. Можно воспользоваться методом половинного деления %)
---
woozee, (5) не решило проблему?
---
woozee, Поподробнее, что за конфа? Не УТ 11??? Текст запроса в студию!!!
---
Насколько помню, все что выдает и читает компановка, должно быть доступно на просмотр, а не только на чтение. Может поле склад из какого-то недоступного регистра тянется?
---
В общем, почитал несколько раз тему... Поставил "просмотр" на РН.ПартииТоваровНаСкладахБУ, и отчет открылся =( Отчет был в справочнике "Внешние отчеты и обработки", добавил его в базу - та же ошибка... без "Просмотра" не работает (((
галка "Разрешенные" проблему не решает((

Не хотелось бы давать права на просмотр регистров.....
---
woozee, Не хотелось бы давать права на просмотр регистров.....
Тогда только путем переписывания запроса в СКД с использованием временных таблиц.
---
woozee, для отчетов надо давать права на чтение, а не просмотр.
---
Release, только если отчет не на СКД
---
Спасибо, не сталкивался, не знал.
---
Запрос старинный, писался давным давно под Бух-ю 8. Сейчас работает на УПП 1.3 почти последней версии))
1 набор данных:

```1c
    ВЫБРАТЬ РАЗРЕШЕННЫЕ
    СУММА(ПартииТоваровНаСкладахБухгалтерскийУчет.Стоимость) КАК Сумма,
    ПартииТоваровНаСкладахБухгалтерскийУчет.Номенклатура,
    СУММА(ПартииТоваровНаСкладахБухгалтерскийУчет.Количество) КАК Количество,
    ПартииТоваровНаСкладахБухгалтерскийУчет.Номенклатура.БазоваяЕдиницаИзмерения КАК ЕдИзм,
    ПартииТоваровНаСкладахБухгалтерскийУчет.Склад,
    ПартииТоваровНаСкладахБухгалтерскийУчет.КорСубконто3 КАК СтатьяЗатрат,
    СчетФактураПолученный.ДатаВходящегоДокумента КАК ДатаСчетаФактуры,
    СчетФактураПолученный.НомерВходящегоДокумента КАК НомерСчетаФактуры,
    ПартииТоваровНаСкладахБухгалтерскийУчет.ДокументОприходования.Контрагент КАК Поставщик
    ИЗ
    РегистрНакопления.ПартииТоваровНаСкладахБухгалтерскийУчет КАК ПартииТоваровНаСкладахБухгалтерскийУчет
    ЛЕВОЕ СОЕДИНЕНИЕ Документ.СчетФактураПолученный КАК СчетФактураПолученный
    ПО ПартииТоваровНаСкладахБухгалтерскийУчет.ДокументОприходования = СчетФактураПолученный.ДокументОснование
    ГДЕ
    ПартииТоваровНаСкладахБухгалтерскийУчет.КорСчет В ИЕРАРХИИ(&Счет20)
    И ПартииТоваровНаСкладахБухгалтерскийУчет.СчетУчета В ИЕРАРХИИ(&Счет10)
    И ПартииТоваровНаСкладахБухгалтерскийУчет.ВидДвижения = ЗНАЧЕНИЕ(ВидДвиженияНакопления.Расход)
    И ПартииТоваровНаСкладахБухгалтерскийУчет.Организация = &ПромТех
    И ПартииТоваровНаСкладахБухгалтерскийУчет.Период МЕЖДУ &НачалоПериода И &КонецПериода

    СГРУППИРОВАТЬ ПО
    ПартииТоваровНаСкладахБухгалтерскийУчет.Номенклатура,
    ПартииТоваровНаСкладахБухгалтерскийУчет.Номенклатура.БазоваяЕдиницаИзмерения,
    ПартииТоваровНаСкладахБухгалтерскийУчет.Склад,
    ПартииТоваровНаСкладахБухгалтерскийУчет.КорСубконто3,
    СчетФактураПолученный.ДатаВходящегоДокумента,
    СчетФактураПолученный.НомерВходящегоДокумента,
    ПартииТоваровНаСкладахБухгалтерскийУчет.ДокументОприходования.Контрагент

    ОБЪЕДИНИТЬ ВСЕ

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

    СГРУППИРОВАТЬ ПО
    ПартииТоваровНаСкладахБухгалтерскийУчет.Стоимость,
    ПартииТоваровНаСкладахБухгалтерскийУчет.Количество,
    ПартииТоваровНаСкладахБухгалтерскийУчет.Номенклатура,
    ПартииТоваровНаСкладахБухгалтерскийУчет.Номенклатура.БазоваяЕдиницаИзмерения,
    Склады.Ссылка,
    ПартииТоваровНаСкладахБухгалтерскийУчет.КорСубконто3,
    СчетФактураПолученный.ДатаВходящегоДокумента,
    СчетФактураПолученный.НомерВходящегоДокумента,
    ПартииТоваровНаСкладахБухгалтерскийУчет.ДокументОприходования.Контрагент
```

2 набор данных:

```1c
    ВЫБРАТЬ РАЗРЕШЕННЫЕ
    СУММА(ПартииТоваровНаСкладахБухгалтерскийУчетОстатки.СтоимостьОстаток) КАК СуммаОстатки,
    СУММА(ПартииТоваровНаСкладахБухгалтерскийУчетОстатки.КоличествоОстаток) КАК КоличествоОстатки,
    ПартииТоваровНаСкладахБухгалтерскийУчетОстатки.Номенклатура.БазоваяЕдиницаИзмерения КАК ЕдИзмОстатки,
    ПартииТоваровНаСкладахБухгалтерскийУчетОстатки.Номенклатура КАК НоменклатураОстатки,
    ПартииТоваровНаСкладахБухгалтерскийУчетОстатки.Склад КАК СкладОстатки,
    СчетФактураПолученный.НомерВходящегоДокумента КАК НомерСчетаФактурыОстатки,
    СчетФактураПолученный.ДатаВходящегоДокумента КАК ДатаСчетаФактурыОстатки,
    СчетФактураПолученный.Контрагент КАК ПоставщикОстатки
    ИЗ
    РегистрНакопления.ПартииТоваровНаСкладахБухгалтерскийУчет.Остатки(
    КОНЕЦПЕРИОДА(&КонецПериода, ДЕНЬ),
    СчетУчета В ИЕРАРХИИ (&Счет10)
    И Организация = &ПромТех) КАК ПартииТоваровНаСкладахБухгалтерскийУчетОстатки
    ЛЕВОЕ СОЕДИНЕНИЕ Документ.СчетФактураПолученный КАК СчетФактураПолученный
    ПО ПартииТоваровНаСкладахБухгалтерскийУчетОстатки.ДокументОприходования = СчетФактураПолученный.ДокументОснование

    СГРУППИРОВАТЬ ПО
    ПартииТоваровНаСкладахБухгалтерскийУчетОстатки.Номенклатура.БазоваяЕдиницаИзмерения,
    ПартииТоваровНаСкладахБухгалтерскийУчетОстатки.Номенклатура,
    ПартииТоваровНаСкладахБухгалтерскийУчетОстатки.Склад,
    СчетФактураПолученный.НомерВходящегоДокумента,
    СчетФактураПолученный.ДатаВходящегоДокумента,
    СчетФактураПолученный.Контрагент
```
---
woozee, у вас же 2 запрос без разрешенных! ВЫБРАТЬ
---
RLS используется?
А вообще запусить откладку под пользователем у которого проблемы с отчетом и глянуть что у него в Настройки.Отбор.Элементы.
---
HitGroove, RLS используется но на все обьекты разрешено "Чтение" без условий. Пока что версия 100% что из за того что нет прав на "Просмотр" РН.Партии...(написано выше) = Настройки.Отбор.Элементы ПУСТОЕ у проблемного пользователя. Но на самом деле право на это регистр "Партии..." лишь позволяет использовать "Справочники.Склад" в Настройки.Отбор.Элементы... При запуске запроса вываливаются другие ошибки, которые схожи по типу если неправильно настроен СКД, но на самом деле если проставить во ВСЕХ регистрах "Просмотр" - отчет будет работать без проблем....
(24) Xershi, у 1-го набора данных в конструкторе запроса ставится в 1 месте галочка "Разрешенные" и она действует на весь набор. Даже если вручную проставить - будет ругаться)

Немного поясню свою глобальность этой проблемы. Недавно стал серьезно заниматься системой прав доступа к УПП, уходить от стандартных распределений прав по подсистемам, так как на нашем предприятии вообще не подходит данное предложение. Отчетов на СКД написанных нашими программистами много. В тестировании нового подхода распределения прав вылезла данная проблема. Ну уж очень не хотелось давать права на просмотр регистров. Хочется обойтись малой кровью... если получиться)
---
Дельного решения не получите здесь, не видя что за права на объекты какие права у пользователей, что в RLS... УПП в плане реализации RLS не плохая конфа, но не понятно что у пользователей в профилях... И как настроен доступ на уровне записей... Что за зверь в компановке "Настройки.Отбор.Элементы[0]"... Зовите в подмогу программиста который глянет БД и подскажет что не так... Если конфу не меняли то копать надо в "доступе на уровне записей", если меняли то нужно предметно смотреть...
---
HitGroove, я же говорю- регистры РС,РН,РБ, справочники, документы у пользователя в правах "Чтение" разрешено без условий. И с таким правом этот отчет запускается без ошибки на "Настройки.Отбор.Элементы[0]" (индекс за границей массива .. или как то так) только в том случае когда даю право на РН.ПартииТоваровНаСкладахБУ на "Просмотр".
---
woozee, логично у вас в СКД это регистр, а не сам склад, юзер не может смотреть склад, т.к. не может смотреть регистр, перепишите запрос, чтобы был там справочник склад и совместите с регистром, должен тогда получиться толк.
---
woozee, Смотрите пример. Суть примера как обойти отсутствие права на просмотр регистра в СКД.
У вас нет доступа на просмотр регистров (на чтение есть), и из-за этого СКД не работает.
Но можно запросом получить нужные данные и положить их в СКД в набор данных -объект. А дальше уже СКД манипулирует с этими данными, получение которых никак не ни связано с самим СКД, а только обычным запросом к БД.

P.S. за пример просьба не пинать делался за 5 минут для регистра УПП.
---
Africa, Тут я так понимаю вопрос малой кровью разобраться с отчетом и пользователем...

О! Чеб ошибки не было мутим так:

Попытка
    Настройки = ЭтотОбъект.КомпоновщикНастроек.Настройки;
    Если Не ЭлементыФормы.Склад.Значение = Справочники.Склады.ПустаяСсылка() Тогда
           Настройки.Отбор.Элементы[0].ПравоеЗначение = ЭлементыФормы.Склад.Значение;
           Настройки.Отбор.Элементы[0].Использование = Истина;
           Настройки.Отбор.Элементы[1].ПравоеЗначение = ЭлементыФормы.Склад.Значение;
           Настройки.Отбор.Элементы[1].Использование = Истина;
    Иначе
        Настройки.Отбор.Элементы[0].Использование = Ложь;
        Настройки.Отбор.Элементы[1].Использование = Ложь;
    КонецЕсли;

Исключение
           Сообщить("Не капитальный ты красавчик... Не могу тебе отбор настроить!!");
КонецПопытки;
---
HitGroove, Да, ошибки в этом случае не будет, также как и не будет данных по складам и другим реквизитам регистра, которые пользователи не имеют право просматривать. С тем же успехом можно запретить пользователям с ограниченными правами формировать отчет.
- Доктор, когда я нагибаюсь, у меня тут болит.
- Так вы не нагибайтесь.
---
Africa, Конечно не будет, откуда они появяться если нет доступа на чтение регистра... Выбирет только то что разрешено... Отсюда вопрос, а нужны данные пользователю или нет... Если нужны добавят ему роль на чтение, а коль не надо то и не чего заморачиваться... Тут уже риторика... А вот запросец бы перерисовал... Не хорошо к физ. таблице обращаться, не людски это...
---
HitGroove, Конечно не будет, откуда они появяться если нет доступа на чтение регистра... Выбирет только то что разрешено...

Так проблема как раз в том, что права на чтение регистра есть, но СКД смотрит не эти права, а права на просмотр, и если их нет, то и не показывает
---
Africa, А я чет и не туда... По чтению заморочился... Хоть так хочь иначе переделывать отчет надо... Отборов не будет... Я вообще не сторонник СКД в УПП... "Универсальный отчет"!!! Мало того он отлично впишется в стиль типовых отчетов, да и париться не нужно с выборкой данных а потом выборкой из выборки... А если данных много, та тем более там еще и физ. таблички пользуют!!! Не не не, переделовать надо на универсальный...
---
Доступ компановка пытается получить к полю регистра, который пользователю вообще запрещено читать! Для пользователя не существует регистра "ПартииТоваровНаСкладахБухгалтерскийУчетОстатки". Чтобы не давать пользователю чтение всего регистра (как вы хотите), найдите у регистра на закладке "Права" роль которая ограничена RLS, установите пользователю эту роль, а в профиле пользователя ограничивайте какие записи он может читать какие нет. А то беред какой то получается есть отчет который должен выдавать какой то результат, но пользователь не может их смотреть...
---
Может Вам надо зайти под пользователем у которого полные права ?
---
Лезу смотреть в свою УПП :)
---
Настройки ни при чем. Надо грамотно базу настроить
---
долго мучился. в итоге обнаружил что отсутствие прав отражается в журнале регистрации.