Форум 1С
Программистам, бухгалтерам, администраторам, пользователям
Задай вопрос - получи решение проблемы
29 мар 2024, 17:39

Настроить доступ посредством RLS. Необходимо, чтобы каждый менеджер мог видеть только свой счет.

Автор xDD, 30 мар 2015, 18:08

0 Пользователей и 1 гость просматривают эту тему.

xDD

Вопрос по стандартным шаблонам, никак не могу понять, что такое Вид доступа и где он в системе.
Правильно ли я понимаю, что это то, что в профиле на вкладке Ограничение доступа? http://gyazo.com/a144366ef2de90dffcbb2bdb9fac857a
Если следовать этой логике, то задачу связанную с тем, чтобы руководитель могли видеть только своих менеджеров, решается следующим образом:
в своей роли в правах на чтение пишу:

#ПоЗначениям( "Документ.ЗаказКлиента","Чтение","",
"Пользователи","Менеджер", "","", "","", "","", "","", "","", "","", "","", "","", "","", "","", "","", "","", "","", "","", "","" )

Далее захожу в профиль и на вкладке ограничение доступа выбираю Пользователи и там пишу запретить всем кроме и выбираю список всех пользователей, кого может видеть руководитель.
В итоге так работает и это классно!

Но на вкладке ограничение доступа, у нас 5 видов доступа, это Организации, Виды цен, Склады, Пользователи, Хозяйственные операции.
Допустим я своему профилю добавляю роль "Добавление и изменение Актов выполненных работ", в которой есть ограничение доступа на документ Акт выполненных работ
#ПоЗначениям( "Документ.АктВыполненныхРабот","Чтение","",
"Организации","Организация",
"Подразделения","Подразделение",
"ГруппыПартнеров","Партнер", "","", "","", "","", "","", "","", "","", "","", "","", "","", "","", "","", "","", "","" )
По логике вещей у меня в моем профиле должны появится все виды доступа из моего шаблона, это Подразделения и ГруппыПартнеров.
В итоге на вкладке ограничение доступа должно стать 7 видов доступа, Организации, Виды цен, Склады, Пользователи, Хозяйственные операции, Подразделения и ГруппыПартнеров. В итоге там ничего не меняется так же 5 видов доступа.

Дмитрий@

По логике вещей у меня в моем профиле должны появится все виды доступа из моего шаблона, это Подразделения и ГруппыПартнеров.
В итоге на вкладке ограничение доступа должно стать 7 видов доступа, Организации, Виды цен, Склады, Пользователи, Хозяйственные операции, Подразделения и ГруппыПартнеров. В итоге там ничего не меняется так же 5 видов доступа.


Нет не так. В ограничениях доступа находятся вид ограничения, значение ограничения, но не факт что этот вид ограничения прописан в вызове запроса, то есть нужно смотреть. В ролях сделаны можно сказать шаблоны, которые ты настраиваешь.
В итоге эта работа просто обыкновенная настройка конфигурации, к сожалению описания этой настройки нигде нет, видимо они считают что программист сам разберется.
Вид ограничения это ограничения, которые прописаны в справочнике.
И когда ты настраиваешь роль, ты даешь системе сопоставление Вид параметра = реквизиту документа (например Пользователь = Менеджер), а список значений находится в регистре сведений. В запросе роли эти данные сопоставляются. Но нужно знать где эти сопоставлении ставить, потому что каждая роль настраивается по разному, поскольку там разные шаблоны, но принцип один и тот же.

xDD

Цитата: Дмитрий@ от 02 апр 2015, 17:28
В ограничениях доступа находятся вид ограничения, значение ограничения, но не факт что этот вид ограничения прописан в вызове запроса, то есть нужно смотреть.

Не совсем понял разговор про ограничения доступа в роли? Или про вкладку ограничения доступа в профиле? Если разговор про ограничения доступа в роли про какой вызов запроса идет речь?
Добавлено: 03 апр 2015, 15:17


Цитата: Дмитрий@ от 02 апр 2015, 17:28
Вид ограничения это ограничения, которые прописаны в справочнике.
Как называется этот справочник?
Если посмотреть в конфигураторе,то в справочнике ПрофилиГруппДоступа в табличной части ВидДоступа, вид доступа имеет тип ОпределяемыйТип.ЗначениеДоступа
http://gyazo.com/0118ca7a7960c22a960d812b7efb729b
Добавлено: 03 апр 2015, 15:38


Цитата: Дмитрий@ от 02 апр 2015, 17:28
И когда ты настраиваешь роль, ты даешь системе сопоставление Вид параметра = реквизиту документа (например Пользователь = Менеджер), а список значений находится в регистре сведений. В запросе роли эти данные сопоставляются. Но нужно знать где эти сопоставлении ставить, потому что каждая роль настраивается по разному, поскольку там разные шаблоны, но принцип один и тот же.
В каком регистре сведений находится значения по виду параметра?
В рамках информации, которая указана в шаблонах роли, например шаблон ПоЗначениям

// ПоЗначениям(Таблица, -, Модификатор, В1,П1, В2,П2, ...,  В(n), П(n)).
// № параметра:      1, 2,           3,  4, 5,  6, 7, ..., 2+n*2,3+n*2.
// Читается так: "ограничение доступа по значениям".
// Параметры:
//     Таблица   - Имя текущей таблицы, например "Документ.ПоступлениеТоваровИУслуг".
//     Модификатор - изменяет шаблон.
//                 1-й модификатор - строка "НеОграничиватьДоступКГруппам" указывает
//                  безусловно выбирать группы иерархического справочника.
//                 Других модификаторов в этой версии шаблона не предусмотрено.
//     В(n)      - Вид доступа - имя вида доступа, например, "Организации". Для полей составного типа, с целью повышения
//                  производительности, лучше указать несколько имен, например, "Организации,ГруппыФизическихЛиц",
//                  чем использовать несколько блоков параметров, с одним и тем же именем поля.
//                  Специальные виды доступа "Условие", "НастройкиПрав", "ПравоЧтения", "ПравоИзменения"
//                  можно использовать только отдельно.
//                 Когда В(n) = "Условие" (или ""), тогда П(n) содержит строку условия на языке запросов, например
//                  "Т.Автор = &АвторизованныйПользователь",
//                  "ТИПЗНАЧЕНИЯ(Т.Владелец) = ТИП(Справочник.Организации)", где Т - псевдоним текущей таблицы.
//                 Когда В(n) = "ПравоЧтения" Или "ПравоИзменения",
//                  выполняется проверка наличия права на таблицу значения Т.П(n).
//     П(n)      - Поле проверяемого значения, кроме случая В(n) = "Условие" (или "").
//  Примечение: максимальное количество одновременно проверяемых значений полей можно увеличить, изменив шаблон, но
// необходимо будет указывать все параметры шаблона, т.е. указывать пустые строки, когда количество полей меньше максимального.
//  Шаблон имеет структуру:
//     <Общая часть условий> <Условие по группе параметров 1> И <Условие по группе параметров 2> И ... <Условие по группе параметров(n)>
//  Пример:
//      ПоЗначениям("Документ.ПоступлениеТоваровИУслуг", "", "",
//      "Организации","Организация",
//      "Поставщики","Контрагент", "","", ...)


#ПоЗначениям( "Документ.ЗаказКлиента","Чтение","",
"Пользователи","Менеджер", "","", "","", "","", "","", "","", "","", "","", "","", "","", "","", "","", "","", "","", "","", "","" )

Получается что запрос шаблона лезет в этот регистр сведений и смотрит есть ли там такой вид доступа, находит вид доступа пользователи и смотрит какие по нему есть значения?

Добавлено: 03 апр 2015, 15:51


При попытке сформировать отчет вылезло сообщение У пользователя недостаточно прав на исполнение операций над базой данных. http://gyazo.com/bf229a3d7b129c68c14eac45007fd17b Как понять что является ограничением доступа к отчету?
Добавлено: 03 апр 2015, 18:27


Есть стандартная роль ДобавлениеИзменениеЗаказовКлиентов в нем есть шаблон
#ПоЗначениям( "Документ.ЗаказКлиента","Чтение","",
"Организации","Организация",
"Склады","Склад",
"ГруппыПартнеров","Партнер",
"Подразделения","Подразделение", "","", "","", "","", "","", "","", "","", "","", "","", "","", "","", "","", "","" )


Есть моя роль РольМенеджерПоПродажам в ней делаю ограничение  каждый менеджер видит только свои заказы
Где менеджер = &ТекущийПользователь()

Есть мой отчет, нужно, чтобы менеджеры видели этот отчет.

Когда в профиле Менеджер по продажам  указываю роль ДобавлениеИзменениеЗаказовКлиентов  отчет сформировывается, когда в профиле оставляю свою роль пишет сообщение: У пользователя недостаточно прав на исполнение операций над базой данных.

Вопрос как это все объединить, чтобы в моей роли и отчет отображался и ограничения по менеджерам срабатывали?

Если в  ДобавлениеИзменениеЗаказовКлиентов пишу вот так

#ПоЗначениям( "Документ.ЗаказКлиента","Чтение","",
"Организации","Организация",
"Склады","Склад",
"ГруппыПартнеров","Партнер",
"Подразделения","Подразделение", "Пользователи","Менеджер", "","", "","", "","", "","", "","", "","", "","", "","", "","", "","", "","" )


или то же самое пишу в своей роли и отключаю роль ДобавлениеИзменениеЗаказовКлиентов, то все равно пишет, что недостаточно прав.


Дмитрий@

ЦитироватьНе совсем понял разговор про ограничения доступа в роли? Или про вкладку ограничения доступа в профиле? Если разговор про ограничения доступа в роли про какой вызов запроса идет речь?
В роли, например для для документа идет вызов шаблона #ПоЗначениям( "Документ.СчетНаОплатуКлиенту","Чтение","",
"Организации","Организация",
"ГруппыПартнеров","Партнер", "Пользователи","Менеджер", "","", "","", "","", "","", "","", "","", "","", "","", "","", "","", "","", "","", "","" )
в шаблоне находится часть запроса. Может быть я не так выразился.
Добавлено: 04 апр 2015, 01:29


ЦитироватьКак называется этот справочник?
Если посмотреть в конфигураторе,то в справочнике ПрофилиГруппДоступа в табличной части ВидДоступа, вид доступа имеет тип ОпределяемыйТип.ЗначениеДоступа
у меня стоит тип ПланВидовХарактеристикСсылка.ВидыДоступа
Добавлено: 04 апр 2015, 02:33


ЦитироватьКогда в профиле Менеджер по продажам  указываю роль ДобавлениеИзменениеЗаказовКлиентов  отчет сформировывается, когда в профиле оставляю свою роль пишет сообщение: У пользователя недостаточно прав на исполнение операций над базой данных.
Сравни права и добавь необходимые права. Посмотреть каких именно прав не хватает нигде нельзя.
Добавлено: 04 апр 2015, 02:36


ЦитироватьЕсть стандартная роль ДобавлениеИзменениеЗаказовКлиентов в нем есть шаблон
#ПоЗначениям( "Документ.ЗаказКлиента","Чтение","",
"Организации","Организация",
"Склады","Склад",
"ГруппыПартнеров","Партнер",
"Подразделения","Подразделение", "","", "","", "","", "","", "","", "","", "","", "","", "","", "","", "","", "","" )
В стандартной УТ11 разве есть справочник подразделения?
Добавлено: 04 апр 2015, 02:39


ЦитироватьВ каком регистре сведений находится значения по виду параметра?
Должен находится в справочнике "ГруппыДоступа" и "ПрофилиГруппДоступа".

Теги:

Похожие темы (5)

Рейтинг@Mail.ru

Поиск