RLS начинаю изучать. Доступ к типам цен
Показывать по
10
20
40
сообщений
- 1
- 2
23.03.2011
18:05
#11
Спасибо! Буду пробовать варианты.
и последнее - в некоторых местах встречается следующее -на одной строке "Прочие поля" - "вызов шаблона", а на второй строке "Ссылка,Владелец,Код" - а колонка "ограничение доступа " - пустая(т.е. нет никакого шаблона, нет запроса и тп).
почему так? какие поля будут в таблице, с которой будет работать шаблон?
и последнее - в некоторых местах встречается следующее -на одной строке "Прочие поля" - "вызов шаблона", а на второй строке "Ссылка,Владелец,Код" - а колонка "ограничение доступа " - пустая(т.е. нет никакого шаблона, нет запроса и тп).
почему так? какие поля будут в таблице, с которой будет работать шаблон?
23.03.2011
18:52
#12
"Раз ограничения нет, значит будут доступны все записи. Иначе говоря Ссылка,Владелец,Код доступны всем - это позволяет избежать проблем с доступом вообще, т.к. ссылки часто используются, а вставлять везде проверки - утомительно.
А вот ограничение по остальным полям - как раз и дают нужный эффект доступа.
В таблице с которой работает запрос РЛС всегда все поля.
Еще раз: РЛС - это всего лишь фильтр по записям. А поля - это "уровни" доступа.
Представьте у вас есть справочник с реквизитом "доступ", где записано число 1, 2 или 3 (ну и ссылка, код, наименование). И Параметр Сеанса УровеньДоступа. Есть для чтения следующие права: на Ссылку - никаких ограничений; На Код и Наименование: ТекущаяТаблица Где Доступ-1 <= &УровеньДоступа.
На остальные поля (в том числе и поле доступ) ТекущаяТаблица Где Доступ <= &УровеньДоступа.
Итог будет таким для всех пользователей доступно получить Ссылку. Для Пользователя у которого УровеньДоступа = 1, доступно получение Кода и Наименования всех элементов с Доступом = 1 или 2. А вот получить все реквизиты он может только для элементов с Доступом = 1
Поэтому, если в списке только Код и Наименование, то пользователь видит все элементы с Доступом = 1 или 2, но открыть элемент (где на форме другие поля) может только с Доступом = 1.
В общем чем больше полей тем больше способов управления, но и запутаннее. Обычно хватает 1, 2-х (+ "прочие") выделений по полям."
А вот ограничение по остальным полям - как раз и дают нужный эффект доступа.
В таблице с которой работает запрос РЛС всегда все поля.
Еще раз: РЛС - это всего лишь фильтр по записям. А поля - это "уровни" доступа.
Представьте у вас есть справочник с реквизитом "доступ", где записано число 1, 2 или 3 (ну и ссылка, код, наименование). И Параметр Сеанса УровеньДоступа. Есть для чтения следующие права: на Ссылку - никаких ограничений; На Код и Наименование: ТекущаяТаблица Где Доступ-1 <= &УровеньДоступа.
На остальные поля (в том числе и поле доступ) ТекущаяТаблица Где Доступ <= &УровеньДоступа.
Итог будет таким для всех пользователей доступно получить Ссылку. Для Пользователя у которого УровеньДоступа = 1, доступно получение Кода и Наименования всех элементов с Доступом = 1 или 2. А вот получить все реквизиты он может только для элементов с Доступом = 1
Поэтому, если в списке только Код и Наименование, то пользователь видит все элементы с Доступом = 1 или 2, но открыть элемент (где на форме другие поля) может только с Доступом = 1.
В общем чем больше полей тем больше способов управления, но и запутаннее. Обычно хватает 1, 2-х (+ "прочие") выделений по полям."
23.03.2011
22:55
#13
Ну вроде все понятно.
Теперь мой пример:
1. Создал регистр сведений "ДоступКТипамЦен". Измерения - "Пользователь", "ТипЦенНоменклатуры" и создал 2 записи: Менеджер - Оптовая, Менеджер - Розничная.
2. ТипЦенНоменклатуры - справочник - содержит 5 типов цен.
Задача - показывать в спискеСправочника - только записи, соответствие которых есть в регистре "ДоступКТипамЦен" по реквизиту "ТипЦенНоменклатуры" у данного пользователя.
У пользователя Менеджер - роли - пользователь и менеджерПродаж.
в этих ролях создаю шаблон с именем "ТипЦен". Прописываю текст:
ТекущаяТаблица ИЗ #ТекущаяТаблица КАК ТекущаяТаблица
Внутреннее Соединение РегистрСведений.ДоступКТипамЦен КАК ДоступКТипамЦен
ПО ТекущаяТаблица.Ссылка = ДоступКТипамЦен.ТипЦенНоменклатуры.Ссылка
ГДЕ
ДоступКТипамЦен.Пользователь.Ссылка = &ТекущийПользователь
В справочнике "Типы цен номенклатуры" по каждой роли в правах ставлю галочки "Чтение" и "Просмотр". На "Чтении" в ограничении прав создаю строку - "прочие поля" и ограничения доступа "#ТипЦен".
И НЕ РАБОТАЕТ(((((((( запускаю под менеджером - он видит весь справочник "ТипыЦенНоменклатуры".
А где ошибка или недопонимание?!?!
Теперь мой пример:
1. Создал регистр сведений "ДоступКТипамЦен". Измерения - "Пользователь", "ТипЦенНоменклатуры" и создал 2 записи: Менеджер - Оптовая, Менеджер - Розничная.
2. ТипЦенНоменклатуры - справочник - содержит 5 типов цен.
Задача - показывать в спискеСправочника - только записи, соответствие которых есть в регистре "ДоступКТипамЦен" по реквизиту "ТипЦенНоменклатуры" у данного пользователя.
У пользователя Менеджер - роли - пользователь и менеджерПродаж.
в этих ролях создаю шаблон с именем "ТипЦен". Прописываю текст:
ТекущаяТаблица ИЗ #ТекущаяТаблица КАК ТекущаяТаблица
Внутреннее Соединение РегистрСведений.ДоступКТипамЦен КАК ДоступКТипамЦен
ПО ТекущаяТаблица.Ссылка = ДоступКТипамЦен.ТипЦенНоменклатуры.Ссылка
ГДЕ
ДоступКТипамЦен.Пользователь.Ссылка = &ТекущийПользователь
В справочнике "Типы цен номенклатуры" по каждой роли в правах ставлю галочки "Чтение" и "Просмотр". На "Чтении" в ограничении прав создаю строку - "прочие поля" и ограничения доступа "#ТипЦен".
И НЕ РАБОТАЕТ(((((((( запускаю под менеджером - он видит весь справочник "ТипыЦенНоменклатуры".
А где ошибка или недопонимание?!?!
23.03.2011
23:10
#16
БЛАГОДАРЮ ЗА СОВЕТЫ!!!!! ВСЕ ЗАРАБОТАЛО!!!! принцип понятен!!!
буду разбираться дальше!
Вот человек по-взрослому дал советы, а не отправлял в гугл, ИТС и тд.
буду разбираться дальше!
Вот человек по-взрослому дал советы, а не отправлял в гугл, ИТС и тд.
28.03.2011
18:34
#17
еще один вопросик -
Ситуация - доступ к типам цен номенклатуры закрыт, за исключением тех, которые в регистре "Доступные типы цен"(пример - Розничная, Дисконт). т.е. пользователь в списках не видит их. В документе реализация интерактивно выбрать может только Доступная и дисконт. Но когда он выбирает договор, если в договоре установлен тип цен другой, то он должен проставляться туда автоматом, и по модулю присваивает реквизит "валюта","НДСВключен" и тд. из этого типа цен (УТ 10.3). А у меня естесственно вываливается - ошибка доступа!
Как нибудь возможно такое реализовать? или тут уже "медицина бессильна"?
Ситуация - доступ к типам цен номенклатуры закрыт, за исключением тех, которые в регистре "Доступные типы цен"(пример - Розничная, Дисконт). т.е. пользователь в списках не видит их. В документе реализация интерактивно выбрать может только Доступная и дисконт. Но когда он выбирает договор, если в договоре установлен тип цен другой, то он должен проставляться туда автоматом, и по модулю присваивает реквизит "валюта","НДСВключен" и тд. из этого типа цен (УТ 10.3). А у меня естесственно вываливается - ошибка доступа!
Как нибудь возможно такое реализовать? или тут уже "медицина бессильна"?
- 1
- 2
Читают тему
(гостей: 1)