#0
by hotZED
Много где описан механизм настройки RLS, но, по-моему, не совсем понятно, принцип написания запросов. Например, интересует, чем отличаются код от или Т.е. меня интересует, когда использовать "Внутреннее", "Левое" соединения, и когда "Где"? Можно где-нибудь про это поподробнее узнать? Или хотя бы натолкните на смысл... А то разбираться методом проб и ошибок достаточно долго. Заранее спасибо.
#1
by Хемуль
Про соединения прочитай в описании языка запросов (если в этом вопрос). Ведь язык запросов RLS - всего лишь подмножество "обычного" языка запросов. Результат первых двух конструкций будет одинаковым. Это будет декартовое произведение множеств. Если условие соединения - ПО ИСТИНА, то пофих какое оно левое, правое, полное внешнее. Количество значений в выборке будет = Кол-во записей в таб1 * Кол-во записей в таб2. Не встречал использование полного соединения в практических задачах... А вот если условие соединения нормальное (т.е. по каким-либо полям), то использование условия в "ГДЕ" или в соединении приобретает смысл. Но это проще на примере каких-нить реальных таблиц объяснить...
#3
by Хемуль
В описании встроенного языка вроде изложено про соединения. Книга 2. Глава 2. Работа с запросами. Подраздел Спецификация соединений. Там и примеры запросов и результаты их выполнения. А вообще возьми таблицу справочника Пользователи, таблицу РС НастройкиПользователей и посоединяй их разными способами. Потом добавь новый элемент в спр. Пользователи, посоединяй.
#4
by hotZED
Да-а-а... Методом проб и ошибок вывел закономерность. Но на это ушло время, а хотел, чтобы, раз!, и все получилось :-) Ну да ладно, всем спасибо!
#5
by hotZED
А можно ли узнать из модуля формы при открытии некого объекта, доступен ли этот объект на редактирование для данного пользователя при настроенных RLS? Например, есть справочник из 10 элементов, из которых пользователю видно 4 (остальные не отображаются, т.к. у него нет доступа на чтение), а из этих 4-х всего 1 доступен на редактирование. Так как при открытии какого-либо элемента из 3-х доступных только для чтения, в форме установить только просмотр? Чтобы пользовател уже не пытался его записать, т.к. все равно появится сообщение о недостаточности прав на исполнение операций над базой.
#6
by IronDemon
Можно Для проверки прав текущего пользователя используются специализированные методы глобального контекста ПравоДоступа и ПараметрыДоступа.
#7
by IronDemon
Синтаксис: ПараметрыДоступа(<Наименование права>, <Объект метаданных>, <СписокПолей>) Параметры: <Наименование права> (обязательный) Тип: Строка. Наименование запрашиваемого на объект права, например "Read". <Объект метаданных> (обязательный) Тип: ОбъектМетаданных. Объект метаданных, права на доступ к которому проверяются. <СписокПолей> (обязательный) Тип: Строка. Список полей объекта базы данных, права на доступ к которым проверяются. Поля указываются списком, через запятую. Могут присутствовать имена табличных частей, реквизитов табличных частей, в последнем случае поле описывается как <ИмяТабличнойЧасти>.<ИмяРеквизитаТабличнойЧасти>. Возвращаемое значение: Тип: ПараметрыДоступа. Описание: Позволяет получить права текущего пользователя на заданный объект метаданных с указанием полей. См. также: ПараметрыДоступа
#8
by hotZED
А причем тут ПравоДоступа и ПараметрыДоступа? Они же привязываются конкретно к объектам метаданных, а не отдельным объектам. А мне хотелось бы разграничить именно по объектам, находящимся в базе.
#10
by Гений 1С
Засунь РЛС на редактирование сам знаешь куда. Уже сто раз на мисте звучало - имеют право на жизнь только РЛС на чтение. В 8.1. ваще будут ловушки событий - нафига тогда рЛС на запись???
#12
by hotZED
Гений, я-я... Только переписывать модули не хочется - типовая, а менять нужно только безопасность... Вот и думал, как бы только ролями обойтись, что не очень конечно прикольно, но ... По поводу того, что РЛС нужно тока для ограничения по чтению - думаю, что это верно, но всё равно надо отлавливать те объекты, которые можно редактировать, и те, которые мона тока смотреть...
#13
by Гений 1С
истину глаголю тебе - лучше 10 часов попотеть, зато потом за 5 минут долететь. сделай затычки во все перед записью через парсинг - и в путь... А в 8.1 ваще появятся триггеры, сам их щупал... Так что не иди путем РЛС, это путь в некуда. А ты действительно тот ХЗ, про которого я думаю?
#14
by Гений 1С
Кстати, если лень парсить, поставь затычки в проводки - в модуль набора записей, правда это только на проведение, снятие с проведения... Ну или еще создай план обмена, при записи будет вызываться событие по выдаче объекта в план обмена, тут то ты и подсекешь
#15
by hotZED
Спасибо, Гений 1С, ты всегда умел подкинуть хорошую идею ;-) Буду ставить затычки (надеясь, что всё-таки 1С-овцы скоро выпустят 8.1 и на неё перейдем)
Тэги:
Ответить:
Комментарии доступны только авторизированным пользователям
Похожие вопросы 1С
- УПП Настройка RLS
- RLS на чтение записей регистра бухгалтерии
- Настройка ограничений на уровне записей
- Кнопка "Стандартная настройка" в форме "Настройка списка"
- RLS. Настройка ограничений на уровне записей и полей.
- Шаблон ограничений прав доступа (RLS)
- RLS. Шаблоны ограничений доступа.
- Настройка RLS. Привилегированный Режим.
В этой группе 1С
- Объясните разниwe между Дата, Момент Времени и Граница?
- Как программно определить, это ввод группы или элемента справочника?
- Добавить реквизит табличной части.
- почему не видно поля в строке табличной части?
- Контроль использования внешних обработок
- Сортировка табличного поля по вычисляемой колонке
- Значение константы в зависимости от пользователя
- Выгрузка документов из Торговли в Бухгалтерию без номенклатуры
- Пароль на журнале регистрации
- как в ТиС сделать доверенность для водителя?
- Реквизит шапки и табличной части документа в одном запросе
- Можно ли программно вызвать Процедуру Сформировать()?
- Как переключить раскладку linux fedore gnome
- В чём разница между Розничный склад и Неавтоматизированная торговая точка?
- как в форму документа подтянуть цену из справочника номенклатура?
- как программно Завершить работу системы 1С при простое более К минут
- Операции
- v7: можно ли в обычном журнале сделать закладки отбора по разделителю учета
- не отправляет на печать :(
- Пособие по уходу за ребенком до 3 лет: счет 91.2 или затратный?