Здравствуйте.
1С:Предприятие 8.3 (8.3.8.1784) 1С:ERP Управление предприятием 2.0 (2.0.5.6)
Возникла проблема с настройкой РЛС для НОВОГО регистра сведений. В регистре Три измерения: Номенклатура , Партнер, НаименованиеКлиента(тип строка).
Накладываю РЛС на измерение "Партнер". Использую шаблон :

```1c
    #ПоЗначениям( "РегистрСведений.НаименованиеНоменклатурыПартнеры","Чтение",",
    "ГруппыПартнеров","Партнер", ",", ",", ",", ",", ",", ",", ",", ",", ",", ",", ",", ",", ",", ",", "," )
```

После добавление РЛС пользователь перестает видеть все записи в ЭТОМ регистре. При этом ВАЖНО: шаблон я скопировал(заменив наименование регистра) из РЛС для другого регистра сведений и там пользователь видит все что нужно.

Т.к. регистр сведений новый я обновил параметры работы системы.

Спасибо.
---
Запусти с ключём "/С ЗапуститьОбновлениеИнформационнойБазы" - должны обновится роли и ограничения по ним.
---
А обновлние вспомагательных данных!?
---
Запускал.

```1c
    СтандартныеПодсистемыСервер.ОбновитьПараметрыРаботыПрограммы();
```
---
может что то еще нужно обязательное сделать для нового регистра?
---
Запусти с ключём "/С ЗапуститьОбновлениеИнформационнойБазы" - должны обновится роли и ограничения по ним.
---
Спасибоо. Попробую.
---
/С ЗапуститьОбновлениеИнформационнойБазы
(7)Не помогло.
---
должны обновится роли и ограничения по ним.RLS вообще не связан с 1С-овыми ограничениями и не зависит от них (а также ролями, правами и прочим), и ни в каких дополнительных переобновлениях не нуждается - у 1С в принципе нет доступа к блоку контроллинга и управления RLS в СУБД. Она только пользуется готовыми шаблонами и предоставляемыми функциями.
---
при добавлении новых ролей часто они не перезаполняются назначенным пользователям и как раз обновление вспомогательных данных решает эту проблему!
---
при добавлении новых ролей часто они не перезаполняются назначенным пользователямРоли, может и не перезаполняются - это 1С, ничего удивительного. А RLS - это не галочки в регистрах ролей, которые могут и не перезаполнится.
Эти ограничения накладываются на "объекты" (записи), и ни от каких других регистров или данных не зависят.
А Роль тут - только связующее звено (привязка к Пользователю), потому что больше никак не привязать RLS, нет средств. Роль не управляющий элемент в данной паре.
Поэтому настройки и галочки роли (всякие данные в регистрах, которые могут и не перезаполнится) к RLS отношения не имеют.
Посмотрите, где и на что RLS накладывается, а где - галочки доступа.
---
Эти ограничения накладываются на "объекты" (записи), и ни от каких других регистров или данных не зависят.Они зависят как минимум от того, что записано в ограничении доступа к данным в роли. Если там описана связь с некоторым регистром, значит результат выборки данных из основной таблицы зависит от данных в этом регистре. Например, в прежних версиях БСП все типовые шаблоны ограничений используют регистр сведений "ТаблицыГруппДоступа". Это служебный регистр, которых в штатном режиме заполнялся при добавлении/изменении справочника профилей и групп доступа. В нештатных ситуациях данные этого регистра можно было актуализировать либо специальной обработкой, поставляемой вместе с БСП, либо запуском ИБ с параметром "/С ЗапуститьОбновлениеИнформационнойБазы". О чем, собственно, выше в ветке и идет речь.
---
Например, в прежних версиях БСП все типовые шаблоны ограничений используют регистр сведений "ТаблицыГруппДоступа"К RLS какое отношение это имеет? В тексте запроса что угодно и куда угодно можете обращение и проверку написать.
Это зависит от шаблона, а не от RLS.
Привязались к какой-то там "ТаблицыГруппДоступа" - ну, перезаполняйте теперь каждый раз.
А написали бы свое RLS-ограничение - и работало бы не по служебным-непонятно-как-обновляющимся таблицам, а по своим регистрам.
---
К RLS какое отношение это имеет? В тексте запроса что угодно и куда угодно можете обращение и проверку написать.Непосредственное. Текст запроса же - часть механизма RLS.

Это зависит от шаблона, а не от RLS.Шаблон, как текст запроса - часть механизма RLS. Поэтому мы их и обсуждаем.

Привязались к какой-то там "ТаблицыГруппДоступа" - ну, перезаполняйте теперь каждый раз.В подавляющем большинстве своих проектах при обновлении конфигурации продуктивной базы ИБ запускаю с ключом "/С ЗапуститьОбновлениеИнформационнойБазы". Не вижу ничего зазорного. Более того, очень часто это необходимо.

А написали бы свое RLS-ограничение - и работало бы не по служебным-непонятно-как-обновляющимся таблицам, а по своим регистрам.Во многих ситуациях я доверяю разработчикам 1С больше, чем себе. Зачем городить свой велосипед, если за меня его сделали раньше и лучше? К тому же почти все мои проекты - доработка и внедрение типовых. А значит от типовых шаблонов не уйти.
---
Текст запроса же - часть механизма RLSЭто часть условия к RLS. Там могут быть обращения к регистрам 1С, могут и не быть. А могут быть обращения к справочникам 1С.
Зачем городить свой велосипед, если за меня его сделали раньше и лучше?Затем, что свое работает надежней и качественней и быстрей. Чем "его сделали раньше и лучше" 1С.
Было бы так - не пришлось бы "при обновлении конфигурации продуктивной базы ИБ запускаю с ключом "/С ЗапуститьОбновлениеИнформационнойБазы"". И всю остальную ересь тянуть за собой и к себе.
И база "production" ("используемая в производстве, на предприятии", "рабочая"), а не "продуктивная".
К тому же почти все мои проекты - доработка и внедрение типовых. А значит от типовых шаблонов не уйти.Да элементарно уходишь. Пишешь свою небольшую подсистему прав для большой конфы, и ни от кого не зависишь. И всегда видишь, что где и почему. И где затык или проблема. А не полагаешься на "раньших и лучших", и не взываешь к ним, когда хрен пойми что с правами или ролями.
---
Это часть условия к RLS. Там могут быть обращения к регистрам 1С, могут и не быть. А могут быть обращения к справочникам 1С.Да, я в курсе. О том и речь. Автор поста работает с типовыми ролями и/или шаблонами, значит он зависит от служебных регистров. И рекомендации ему дают соответствующие.

И всю остальную ересь тянуть за собой и к себе.Если речь про БСП, то видимо я просто гораздо более лучшего мнения о ней, чем Вы. Ваше право. В целом я ей доволен.

Затем, что свое работает надежней и качественней и быстрей.Я адекватно оцениваю свои возможности, а потому не соглашусь. В моем случае:
- быстрей - если только за счет урезания функциональности;
- качественней - однозначно нет, т.к. я не обладаю теми же ресурсами и навыками, что целая команда разработчиков библиотеки;
- надежней - в общем случае нет, т.к. у меня как минимум нет той армии пусть и невольных тестировщиков, что у 1С, если только в редких случаях.

И база "production" ("используемая в производстве, на предприятии", "рабочая"), а не "продуктивная".Возьму на вооружение, спасибо. Использую термин так, как и окружающие меня люди, без особого понимания его происхождения.

Пишешь свою небольшую подсистему прав для большой конфы, и ни от кого не зависишь.За это мне не заплатят. Более того, ни служба поддержки заказчика, ни мои коллеги по команде не оценят моего рвения, т.к. это придется сопровождать не только мне. В конце концов кому-то нужна именно что не "небольшая подсистема прав".
---
При этом ВАЖНО: шаблон я скопировал(заменив наименование регистра) из РЛС для другого регистра сведений и там пользователь видит все что нужно. У вас есть какой-то шаблон "#ПоЗначениям", там куча параметров.
Разберитесь, что и как выполняет шаблон, какие поля и какие типы обрабатываются у регистров, которые используют этот шаблон.
А проще - создайте свой шаблон/ограничение на новый регистр, и избежите как проблем с совместимостью, так и с настройкой.
---
Если проблема простая, то чего спрашивать, сделал и забыл.
Я бы начал с того, что посмотрел бы, что за шаблон, какой запрос там внутри и проходит ли хотя бы одна запись из этого регистра через запрос. Вообще РЛС штука весьма муторная в программировании, нужно терпение и время.
---
Вроде все основные шаги прошел. Странно что на практически таком же регистре все работает с этим шаблоном рлс,
но на новом не хочет.
Думаю может есть еще какие то моменты помимо "ОбновитьПараметрыРаботыПрограммы()" для новых регистров.
---
Странно что на практически таком же регистре все работает с этим шаблоном рлс, Там совершенно другой регистр, с чего вы взяли, что то, что подходит там - будет работать здесь? Не с того начали, нужно начать с разбора шаблона "#ПоЗначениям".
---
1. В роли надо использовать

```1c
    #Если &ОграничениеДоступаНаУровнеЗаписейУниверсально #Тогда
    #ДляОбъекта("Партнер")
    #Иначе
    ПоЗначениям( "РегистрСведений.НаименованиеНоменклатурыПартнеры","Чтение",",
    "ГруппыПартнеров","Партнер", ",", ",", ",", ",", ",", ",", ",", ",", ",", ",", ",", ",", ",", ",", "," )
    #КонецЕсли
```

2. В модуле менеджера регистра добавить процедуру

```1c
    Процедура ПриЗаполненииОграниченияДоступа(Ограничение) Экспорт

    Ограничение.Текст =
    "РазрешитьЧтениеИзменение
    |ГДЕ
    | ЧтениеОбъектаРазрешено(Партнер)";

    Ограничение.ТекстДляВнешнихПользователей = Ограничение.Текст;

    КонецПроцедуры
```

3. В определяемый тип ВладелецЗначенийКлючейДоступаНаборЗаписей добавить РС НаименованиеНоменклатурыПартнеры