Имя: Пароль:
1C
 
Непонятное поведение RLS
,
0 grayshadow
 
23.12.15
10:51
Ном = Справочники.Номенклатура.НайтиПоКоду("С0002914601");
Об= Ном.ПолучитьОбъект();
Об.ОбменДанными.Загрузка = Истина;
Сообщить(ПравоДоступа("Изменение",Метаданные.Справочники.Номенклатура));
Об.Записать();

сообщает "да", а записать не дает: "У пользователя недостаточно прав на исполнение операции над базой данных." Почему???

з.ы. 8.3.4.482, УПП 1.3.52.1 дописанная не мною
1 grayshadow
 
23.12.15
10:53
неправильно тему назвала, RLS не при чем, ограничение по ном-ре в базе не используется (используется только по контрагентам)
2 Господин ПЖ
 
23.12.15
10:53
в ЖР написано обо что спотыкается
3 grayshadow
 
23.12.15
10:55
(2) ничего не написано, как будто не было попытки даже
может что-то не настроено
4 grayshadow
 
23.12.15
10:56
и обо что оно еще может спотыкаться кроме справочника номенклатуры, если ОбменДанными.Загрузка?:)
5 grayshadow
 
23.12.15
10:56
отладчик ПередЗаписью проходит до конца, в ПриЗаписи уже не попадает
6 Господин ПЖ
 
23.12.15
10:56
>ничего не написано

не тупи
7 Kamelot
 
23.12.15
10:57
Право на интерактивное изменение есть?
8 grayshadow
 
23.12.15
10:58
(6) рада бы! но в ЖР видно только что юзер зашел в базу, а попытка записать ном-ру не отражается
9 Господин ПЖ
 
23.12.15
10:58
>и обо что оно еще может спотыкаться кроме справочника номенклатуры

об подписку, о фоновую задачу, о содержимое ПередЗаписью/ПриЗаписи

>ОбменДанными.Загрузка

это вообще не показатель
10 grayshadow
 
23.12.15
10:58
(7) а при чем тут интерактивное? это как раз программное
я специально этот код написала чтобы исключить высокоуровневые права
11 Господин ПЖ
 
23.12.15
10:59
(8) машу вать... об другую таблицу тупить может
12 Господин ПЖ
 
23.12.15
10:59
настрой ЖР и смотри события отказа доступа

ЗЫ и не тупи
13 grayshadow
 
23.12.15
11:01
настройка ЖР: регистрировать ошибки, предупреждения, информацию, примечания
где я туплю?
14 Господин ПЖ
 
23.12.15
11:02
тут

>и смотри события отказа доступа
15 Kamelot
 
23.12.15
11:02
(5)>>отладчик ПередЗаписью проходит до конца
смотри подписки на события ПередЗаписью.
16 Feunoir
 
23.12.15
11:02
Если я не путаю, то такое сообщение результат работы RLS. Поэтому, если нет RLS на номенклатуру, значит затрагивается ещё что-то при записи.
17 grayshadow
 
23.12.15
11:03
ладно, ступила что ЖР открыла в предприятии под тем же юзером
Отказ в доступе Справочник. Номенклатура Изменение
18 Cyberhawk
 
23.12.15
11:03
Покажи запись ЖР на картинке
19 Feunoir
 
23.12.15
11:03
+(12) ЖР не поможет, а вот ТЖ поможет.
20 Господин ПЖ
 
23.12.15
11:04
(19) ловите наркомана
21 grayshadow
 
23.12.15
11:05
(18) щас склепаю
22 Feunoir
 
23.12.15
11:07
(20) ^_^

ЖР - журнал регистрации
ТЖ - технологический журнал
23 grayshadow
 
23.12.15
11:09
24 vde69
 
23.12.15
11:13
может действительно RLS не дает?
25 Cyberhawk
 
23.12.15
11:18
(23) Исходя из значения в "Данные", запрет сработал не при проверке доступа к объекту целиком (т.е. твой код с проверкой на право "Изменение" по сути не нужен), а при проверке ограничений доступа к данным
Настрой поля регистрации события "Отказ в доступе" через ИР, например
26 grayshadow
 
23.12.15
11:19
(25) что есть ИР?
27 grayshadow
 
23.12.15
11:20
в "Настройке доступа на уровне записей" включены только контрагенты, номенклатура не включена, какого рожна на нее RLS нападает?:)
28 grayshadow
 
23.12.15
11:21
#Если &ИспользоватьОграничениеПоНоменклатура #Тогда
ТекущаяТаблица
ИЗ
    #ТекущаяТаблица КАК ТекущаяТаблица
        ЛЕВОЕ СОЕДИНЕНИЕ (ВЫБРАТЬ РАЗЛИЧНЫЕ
            СоставГруппы.Ссылка КАК ГруппаПользователей
        ИЗ
            Справочник.ГруппыПользователей.ПользователиГруппы КАК СоставГруппы
        ГДЕ
            СоставГруппы.Пользователь = &ТекущийПользователь) КАК ГруппыПользователей
        ПО (ИСТИНА)
ГДЕ
НЕ ГруппыПользователей.ГруппаПользователей ЕСТЬ NULL
И
    (НЕ 1 В
                (ВЫБРАТЬ ПЕРВЫЕ 1
                    1
                ИЗ
                    РегистрСведений.НазначениеВидовОбъектовДоступа КАК НазначениеВидовОбъектовДоступа
                    
                    ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.НастройкиПравДоступаПользователей КАК НастройкиПравДоступаПользователей
                        ПО
                            НастройкиПравДоступаПользователей.ОбъектДоступа = ТекущаяТаблица.Родитель
                            И НастройкиПравДоступаПользователей.ВидОбъектаДоступа = НазначениеВидовОбъектовДоступа.ВидОбъектаДоступа
                            И НастройкиПравДоступаПользователей.ОбластьДанных = ЗНАЧЕНИЕ(Перечисление.ОбластиДанныхОбъектовДоступа.ПустаяСсылка)
                            И НастройкиПравДоступаПользователей.Пользователь = ГруппыПользователей.ГруппаПользователей
                            
                ГДЕ                
                     НазначениеВидовОбъектовДоступа.ГруппаПользователей = ГруппыПользователей.ГруппаПользователей
                           И НазначениеВидовОбъектовДоступа.ВидОбъектаДоступа = ЗНАЧЕНИЕ(Перечисление.ВидыОбъектовДоступа.Номенклатура)
                
                    И НастройкиПравДоступаПользователей.ОбъектДоступа ЕСТЬ NULL))
#КонецЕсли
29 Cyberhawk
 
23.12.15
11:23
(26) Инструменты разработчика (конкретно имел в виду портативные ИР)
(27) Нужно смотреть описание ограничений, удаленку давай что ли
И параметр &ИспользоватьОграничениеПоНоменклатура в параметрах сеанса, видимо, проверь, что он установлен в Ложь
30 Cyberhawk
 
23.12.15
11:26
+(29) или в ФО (функциональных опциях)
31 grayshadow
 
23.12.15
11:27
гробануться! ПараметрыСеанса.ИспользоватьОграничениеПоНоменклатура = Истина
32 Cyberhawk
 
23.12.15
11:29
Ну, теперь, когда известен симптом, ты легко найдешь причину его возникновения
33 grayshadow
 
23.12.15
11:30
спасибо!!!:) да, пошла ковыряться в установке параметров сеанса...
34 Goggy
 
23.12.15
11:36
Дайте-ка угадаю... Пользователь не добавлен в группу доступа?