Имя: Пароль:
1C
1С v8
RLS в транзакции проведения документа
,
0 OnCheck
 
22.08.12
13:54
Кто знает как отрабатывает запрос RLS?  В зоне видимости транзакции проведения документа, или RLS не видит данные транзакции проведения. Иначе говоря, при проведении документа опрашиваются данные, ограничением на которые рулит сам этот документ. При чем установку этих свойств, которые рулят доступностью ставлю в самое начало документа, а потом опрашиваю эти данные, RLS делает вид, что ни чего не знает о произошедших изменениях. Есть способо обойти или менять постановку задачи? Спасибо.
1 vmv
 
22.08.12
13:58
если псу рявкнуть "сидеть" - он будет сидет, если равкнуть "кусать" - он будет кусать.

В чем трабла чувак, если ты установил привилегии на чтение данных, то РЛС ведет себя точно также как пес, исключение - суки, они, увы, не логичны и даже могут спросить черти шо, типа как в сабже
2 vmv
 
22.08.12
14:00
+(1)

"ставлю в самое начало документа" - ета шо за бред, не владеешь знаниями по локализации видимости свойств и методов, трудно провернуть извилену и выразить мысль профессионально?

*гарчит*
3 OnCheck
 
22.08.12
14:01
(1) я попытался по разному задать вопрос, чтобы было понятнее. Суть в том что находится ли RLS в зоне видимости транзакции или нет? смогу ли я получить данные в документе доступ к которым открывает этот документ. Зря ты так.
4 OnCheck
 
22.08.12
14:02
(2) извини "проведения документа"
5 OnCheck
 
22.08.12
14:04
+(4) заворот мозгов, согласен, блин, ладно, все понимаю, поторопился выкинуть вопрос на форум
6 OnCheck
 
22.08.12
14:04
теперь по сабжу. Что есть "привилегии на чтение данных"?
7 OnCheck
 
22.08.12
14:05
+(6) галочка привилегированный на общем модуле?
8 vmv
 
22.08.12
14:06
(3) да.

если доступ открыт в области видимости (пусть это будет блок кода в методе "Обработка проведения" или вложенным в него), то ничто не помешает читать данные.


(6) УстановитьПривилегированныйРежим()
9 OnCheck
 
22.08.12
14:10
(8) Не кошерно. Мне лишь надо иметь доступными те данные, к которым откроет доступ этот документ и ни чего лишнего. А УстановитьПривилегированныйРежим(), я так понимаю, позволяет читать всё.
10 vmv
 
22.08.12
14:13
(9) тогда ты остаешься один на один с РЛС и доказываешь ей сам, вот в эту щелачку я загляну, а туда ни-ни.

Вообщем я так понимаю строишь космические корабли для полетов в ларек за пивом?
11 vmv
 
22.08.12
14:15
+(9) В таких случаях я уставливаю привилегиованный режим и ограничиваю права по принципам РЛС со своими отклониями туда сатри, а туда не сатри, но это все от лукавого
12 pumbaEO
 
22.08.12
14:15
(9) ты властелин кода. Делай как (11)
13 OnCheck
 
22.08.12
14:16
(11) т.е. на уровне кода?
14 OnCheck
 
22.08.12
14:27
Спасибо, очень помогли.
15 vmv
 
22.08.12
14:28
(13) ну а как еще?

ты пытаещься найти способ работы с РЛС на уровне конфигурирования по принципу матрешки, т.е. есть некая базовая РЛС, но в особых случаях она минимизируется.

Все идет к тому, что РЛС в будущих релизах платформ будет именно такой - матрешечной, но пока такого рода задачи можно решить только в коде
16 OnCheck
 
22.08.12
14:41
(15) Не совсем так. РЛС не минимизируется, она работает по тем же критериям, только РЛС должна видит записи в регистре, которые выполнил документ, но еще не закоммитил. Ведь по сути то она выполняется именно в рамках данной транзакции. В итоге я предпочел вынести установку свойств ограничиваемых объектов за рамки обработки проведения документа. Воткнул в ПриЗаписи запись в регистр отвечающий за доступ. Теперь РЛС в проведение видит наступившие изменения. Теперь думаю где это может вылезти.
17 vmv
 
22.08.12
14:44
(16) все будет в порядке, просто перепроводи каждую ночь документы за 10 лет - ночуй на работе
18 OnCheck
 
22.08.12
14:46
(17) :-) Почему?
19 OnCheck
 
22.08.12
14:52
+(18) записался но не провелся?