Имя: Пароль:
1C
 
как проверить потерю прав на просмотр Ссылки (по RLS)
0 vde69
 
16.10.08
13:42
ситуация:
есть переменная в ней Ссылка, на другом компе меняют права RLS на право получения этой ссылки, и ставят мне запрет. При попытки работы с моей переменной у меня валиться 1с,

надо сделать проверку и обнулить переменную, только не пойму как проверить...
1 vde69
 
16.10.08
14:51
ап вопрос актуальный
2 vde69
 
17.10.08
12:34
up

может сегодня повезет
3 vde69
 
20.10.08
09:09
up
4 vde69
 
20.10.08
12:55
быстро тонем, тем не менее АП
5 RomaH
 
naïve
20.10.08
13:08
запрос, РАЗРЕШЕННЫЕ
6 RomaH
 
naïve
20.10.08
13:08
а поптыка/исключение не подходит?
7 vde69
 
20.10.08
13:16
(6) нет, там на уровне платформы стоит принудительный кирдык
(5) я не могу использовать эту ссылку в параметре запроса, то-же валитьтся

вообще эта ссылка может жить только в привелигерованном модуле
8 RomaH
 
naïve
20.10.08
13:21
давай подробнее
что за переменная - где
как определяешь переменную?
9 vde69
 
20.10.08
13:27
есть переменая описаная в модуле формы, в нее я получаю ссылку на текущий обьект из таблици формы.

дальше где-то в сети злодей лишает меня прав на просмотр этой ссылки... мне надо:
1. в Таблице удалить эту строку (не получая всю таблицу целиком)
2. очистить переменную
10 RomaH
 
naïve
20.10.08
13:31
"в нее я получаю ссылку на текущий обьект из таблици формы" - когда получаешь?
11 RomaH
 
naïve
20.10.08
13:52
а разрешить ссылку на чтение никак?
т.е. закрыть все реквизиты RLS, а ссылку оставить
12 vde69
 
20.10.08
13:53
(10) когда мне разрешено
(11) наверно можно, а дальше?
13 RomaH
 
naïve
20.10.08
13:57
что-то я не смог ситуацию воспроизвести
ЗУП - оставляю "пользователю" права на "Прочие поля" только
разрешаю двух физ лиц
выбираю в обработке в ТЧ

запрещаю одного

код проходит без ошибок:
Перем ТекФизЛицо;

Процедура ТабличнаяЧасть1ПриАктивизацииСтроки(Элемент)
   
   ТекФизЛицо = ЭлементыФормы.ТабличнаяЧасть1.ТекущаяСтрока.ФизЛицо;
   
КонецПроцедуры


в переменной - "объект не найден"
14 RomaH
 
naïve
20.10.08
13:59
под "когда" - имел в виду в каком обработчике событий
15 vde69
 
20.10.08
14:01
Перем ТекФизЛицо;


Процедура ТабличнаяЧасть1ПриАктивизацииСтроки(Элемент)
// здесь у тебя должны быть права на чтение    
   ТекФизЛицо = ЭлементыФормы.ТабличнаяЧасть1.ТекущаяСтрока.ФизЛицо;
// здесь у тебя нормальная ссылка    
КонецПроцедуры

// вот тут злодей в другом сеансе рубит тебе доступ

Процедура Кнопка1ПриНажатии(Элемент)
// тут у тея уже НЕТУ доступа    
   _ТекФизЛицо = ТекФизЛицо;
   
КонецПроцедуры
16 Serg_1960
 
20.10.08
14:04
Роман, Вы лучше автора спросите кто этот "злодей" и зачем он сносит права на чтение во время сеанса пользователей...
Дмитрий, зачем это делать, - себе жизнь усложнять? Может быть исходные условия поменяете? :)
17 RomaH
 
naïve
20.10.08
14:08
12 платформа - ошибок нет
18 vde69
 
20.10.08
14:08
(16) есть БП у которого есть адресация, есть точка маршрута "ПерваяЛиния" на которую попадают заявки автоматически не распознаные к какому отделу их отнести, соответсвенно они видны всем отделам, если пользователь исполняет задачу, то весь БП становиться отнесенным имено к его отделу, и остальные отделы его больше не видят.
19 RomaH
 
naïve
20.10.08
14:08
Перем ТекФизЛицо;

Процедура ТабличнаяЧасть1ПриАктивизацииСтроки(Элемент)
   
   ТекФизЛицо = ЭлементыФормы.ТабличнаяЧасть1.ТекущаяСтрока.ФизЛицо;
   
КонецПроцедуры

Процедура ОсновныеДействияФормыОсновныеДействияФормыВыполнить(Кнопка)
   
   ТФ = ТекФизЛицо;
КонецПроцедуры
20 RomaH
 
naïve
20.10.08
14:09
ФизическиеЛица ИЗ Справочник.ФизическиеЛица КАК ФизическиеЛица
   ЛЕВОЕ СОЕДИНЕНИЕ (ВЫБРАТЬ РАЗЛИЧНЫЕ
       СоставГруппы.Ссылка КАК ГруппаПользователей
   ИЗ
       Справочник.ГруппыПользователей.ПользователиГруппы КАК СоставГруппы
   ГДЕ
       СоставГруппы.Пользователь = &ТекущийПользователь) КАК ГруппыПользователей
   ПО (ИСТИНА)
ГДЕ (ФизическиеЛица.ЭтоГруппа
           ИЛИ (НЕ 1 В
                       (ВЫБРАТЬ ПЕРВЫЕ 1
                           1 КАК ПолеОтбора
                       ИЗ
                           РегистрСведений.НазначениеВидовОбъектовДоступа КАК НазначениеВидовОбъектовДоступа
                       ГДЕ
                           НазначениеВидовОбъектовДоступа.ГруппаПользователей = ГруппыПользователей.ГруппаПользователей
                           И ВЫБОР
                               КОГДА НазначениеВидовОбъектовДоступа.ВидОбъектаДоступа = ЗНАЧЕНИЕ(Перечисление.ВидыОбъектовДоступа.ФизическиеЛица)
                                   ТОГДА ВЫБОР
                                           КОГДА 1 В
                                                   (ВЫБРАТЬ ПЕРВЫЕ 1
                                                       1
                                                   ИЗ
                                                       РегистрСведений.НастройкиПравДоступаПользователей КАК НастройкиПравДоступаПользователей
                                                   ГДЕ
                                                       НастройкиПравДоступаПользователей.ОбъектДоступа = ФизическиеЛица.ГруппаФизическихЛиц
                                                       И НастройкиПравДоступаПользователей.ВидОбъектаДоступа = ЗНАЧЕНИЕ(Перечисление.ВидыОбъектовДоступа.ФизическиеЛица)
                                                       И НастройкиПравДоступаПользователей.ОбластьДанных = ЗНАЧЕНИЕ(Перечисление.ОбластиДанныхОбъектовДоступа.ФизическиеЛицаДанные)
                                                       И (НастройкиПравДоступаПользователей.Пользователь = НазначениеВидовОбъектовДоступа.ГруппаПользователей
                                                           ИЛИ НастройкиПравДоступаПользователей.Пользователь = ЗНАЧЕНИЕ(Справочник.ГруппыПользователей.ВсеПользователи)))
                                               ТОГДА ИСТИНА
                                           ИНАЧЕ ЛОЖЬ
                                       КОНЕЦ
                               ИНАЧЕ ИСТИНА
                           КОНЕЦ = ЛОЖЬ))
               И (НЕ ГруппыПользователей.ГруппаПользователей ЕСТЬ NULL ))


это RLS на "Прочие поля" физ лица

больше правил по справочнику нет
21 vde69
 
20.10.08
14:09
(17) у меня 1С:Предприятие 8.1 (8.1.10.50), может обновить стоит ?
22 RomaH
 
naïve
20.10.08
14:13
(21) попробуй ... но может быть разница между БП и справочниками есть
23 RomaH
 
naïve
21.10.08
15:23
(21) ну и как - помогло?