|
RLS ограничение прав на записи. Расшифруйте что написано в руководстве раз-ка. | ☑ | ||
---|---|---|---|---|
0
Ставрогин
09.02.12
✎
11:22
|
Цитата:
"Для каждого ограничения по праву Чтение допускается выбор поля. Выбор поля означает, что в выборке запроса будут присутствовать только данные, в которых по указанному полю будет удовлетворяться условие (проверка производится только по данному полю). Условие Прочие поля означает, что проверка выполнения условия будет производиться по каждому полю, и, если условие выполняется, данные выбираются." Вот это - "Для каждого ограничения по праву Чтение допускается выбор поля. Выбор поля означает, что в выборке запроса будут присутствовать только данные, в которых по указанному полю будет удовлетворяться условие (проверка производится только по данному полю)." Как я понимаю это означает, можно наложить условия на отдельные поля, при этом все остальные поля будут считываться, а то на которое наложено условия, зависит от результата проверки условия. Но это не поттверждается, захожу в базу, накладываю условие на реквизит документа, и в итоге скрываются полностью все документы этого вида для которых не прошло условие, а не только этот реквизит. Тогда что же это значит? |
|||
1
patapum
09.02.12
✎
11:23
|
управляемые формы или нет?
|
|||
2
Ставрогин
09.02.12
✎
11:24
|
Да
|
|||
3
Смешной 1С
09.02.12
✎
11:27
|
"в выборке запроса будут присутствовать только данные, в которых по указанному полю будет удовлетворяться условие"
Условие не удовлетворяется - данные не показываются. Если на одно поле ограничение срабатывает, не показывается весь объект |
|||
4
Dmitrii
гуру
09.02.12
✎
11:27
|
(0) >> Как я понимаю это означает, можно наложить условия на отдельные поля,
Нет. Неверно понимаешь. RLS работает для записей, а не для полей в этих записях. Если указанное поле соответсвует условию запись показывается, если поле не удовлетворяет условию, то вся запись не показывается. |
|||
5
patapum
09.02.12
✎
11:28
|
я так понял, ты говоришь про форму списка? а если проблемную колонку убрать?
|
|||
6
patapum
09.02.12
✎
11:28
|
(4) по моему ты не прав
|
|||
7
Dmitrii
гуру
09.02.12
✎
11:36
|
(6) Твоё право :)
механизм RLS принимает решение показывать запись или нет. Решение принимается либо при анализе определенных полей (условие проверяется только по указанным полям), либо при анализе всех полей (условие "Прочие поля"). Но результатом всегда будет одно решение: показывать или не показывать ЗАПИСЬ. Короче условие "Поле" определяет какие поля анализируются, а не то какие поля показывать, а какие нет. |
|||
8
Ставрогин
09.02.12
✎
11:37
|
(3) И в чем тогда смысл написаного в руководстве? Ваша трактовка?
|
|||
9
Ставрогин
09.02.12
✎
11:38
|
(7)
"Короче условие "Поле" определяет какие поля анализируются..." Что значит анализируются? Анализарую я в условии |
|||
10
Ставрогин
09.02.12
✎
11:39
|
(7) Давай те на примере
|
|||
11
Dmitrii
гуру
09.02.12
✎
11:39
|
(8) >> в чем тогда смысл написаного в руководстве?
В том что при проверке условия будет анализироваться одно поле или все поля записи. |
|||
12
Ставрогин
09.02.12
✎
11:40
|
Есть документ
У него есть ревизит - НашРеквизит Я вставляю ограничение на чтение по этому реквизиту, условием будет вообще другая таблица, ни как не звязанная с этим документом |
|||
13
patapum
09.02.12
✎
11:40
|
(4) в форме списка, возможно так. но форма элемента все таки строится по правам на реквизиты. согласен?
|
|||
14
Ставрогин
09.02.12
✎
11:41
|
И что мы имеем? Какая разница НашРеквизит я выбираю или нет, условие-то никак не связано с ним
|
|||
15
Ставрогин
09.02.12
✎
11:43
|
(11) Что значит анализироваться?
|
|||
16
patapum
09.02.12
✎
11:43
|
(14) так речь сейчас о форме списка? принципиально ли иметь там эту колонку? попробуй ее убрать: а) вообще, б) скрыть видимость
|
|||
17
Ставрогин
09.02.12
✎
11:45
|
(16) Нет, не про форму списка, а просто про документ
|
|||
18
Ставрогин
09.02.12
✎
11:45
|
(16) И про реквизит документа
|
|||
19
Dmitrii
гуру
09.02.12
✎
11:48
|
(13) Механизм вывода полей на управляемые формы с RLS ни как не связан. Не путай. Это другая история.
|
|||
20
patapum
09.02.12
✎
11:48
|
в форме списка все доки показывает?
и что такое просто про документ? в какой форме проблемы??? |
|||
21
Ставрогин
09.02.12
✎
11:48
|
(11) Анализирую я, то есть программа при проверке моего условия, при чем это условие может быть ни связано ни этим документом, ни с выбранным реквизитом. И при чем здесь тогда вообще этот реквизит? Какая разница, какой реквизит выбрать, если результат будет тем же самым?
|
|||
22
Dmitrii
гуру
09.02.12
✎
11:50
|
(21) Читай внимательно (19). Забудь про RLS, если речь идет о том показать пользователю отдельное поле или нет. RLS - для записей, а не для полей.
|
|||
23
patapum
09.02.12
✎
11:52
|
(22) Дмитрий, а объясни, зачем там поля перечисляются при этом?
|
|||
24
patapum
09.02.12
✎
11:52
|
анализ идет не по полям, по запросу. а поля на зачем?
|
|||
25
Ставрогин
09.02.12
✎
11:52
|
(23) Вот и я о том же
(22) Ждем ответа |
|||
26
patapum
09.02.12
✎
11:54
|
(25) а слабо объяснить все таки где ты данные читаешь?
|
|||
27
Ставрогин
09.02.12
✎
11:54
|
(24) Именно. И что вообще значит в этом случаае анализ не понятно. Анализ - это условие, конкрентное поле-то тут при чем?
|
|||
28
Dmitrii
гуру
09.02.12
✎
11:56
|
(23)(25) см.(0): Выбор поля означает, что в выборке запроса будут присутствовать только данные, в которых по указанному полю будет удовлетворяться условие (проверка производится ТОЛЬКО ПО ДАННОМУ ПОЛЮ).
Условие Прочие поля означает, что проверка выполнения условия будет производиться ПО КАЖДОМУ ПОЛЮ, и, если условие выполняется, данные выбираются |
|||
29
Dmitrii
гуру
09.02.12
✎
11:57
|
Думать вы можете всё что вам угодно, но смысл от этого не поменяется - RLS для записей, а не для полей.
На управляемых формах выводом полей можно рулить через функциональные опции. Но опять таки этот механизм не связан с RLS. |
|||
30
Ставрогин
09.02.12
✎
11:58
|
(29) Пример пожалуйста
|
|||
31
Ставрогин
09.02.12
✎
11:58
|
(28) То есть
|
|||
32
patapum
09.02.12
✎
11:58
|
то есть переведя с твоего русского на мой:
есть поля Поле1, Поле2 на Поле2 наложено ограничение если в запросе выбирается только Поле1, все ништяк если выбирается Поле2, то при выполнении условия так? |
|||
33
Ставрогин
09.02.12
✎
12:01
|
(32) Присоединяюсь.
(28) Ждем ответа. |
|||
34
Dmitrii
гуру
09.02.12
✎
12:18
|
(32) >> так?
Нет. RLS плевать на то какие поля тебе нужны в твоём запросе. Если Поле2 не удовлетворяет условию, то такая запись в твой запрос не попадет. |
|||
35
Ставрогин
09.02.12
✎
12:26
|
(34) Нет
Только что написал пример в 1с, (32) Прав |
|||
36
Ставрогин
09.02.12
✎
13:13
|
ИТОГО
Пример: Есть документ, у него есть несколько реквизитов первый - не участвует в запросе динамического списка второй - участвует в запросе динамического списка Если наложить условие на чтение на 1 реквизит, то в списке документа, документы которые не прошли проверку по этому полю не отобразятся. Если наложить условия на 2 реквизит, то в списке документа, будут отображаться все документы. |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |