Имя: Пароль:
1C
1С v8
Две роли для для одного документа (Проведение)
,
0 SoftIce
 
23.03.16
14:51
Есть Документ ПриходнаяНакладная с реквизитом Организация (СправочникСсылка.Организации)
У этого справочника два предопределенных значения (Новые и БУ)
Я создаю две роли для проведения этого документа ПроведениеНовые и ПроведениеБУ.
Цель: что бы пользователи могли проводить только "свои" документы. Т.е. пользователь с правом ПроведениеНовые мог провести документ с реквизитом Организация = Справочник.Организации.Новые, а пользователь с правом ПроведениеБУ мог проводить документы где Организация = Справочник.Организации.БУ.
В роль ПроведениеБУ в право Изменение я вписываю шаблон
#ПоЗначениям( "Документ.ПриходнаяНакладная", "Изменение","",
"Условие", "Т.Организация = &ТекущаяОрганизацияБУ",
"","", "","", "","", "","", "","", "","", "","", "","", "","", "","", "","", "","", "","", "","", "","")
Соответственно в роль ПроведениеНовые - шаблон
#ПоЗначениям( "Документ.ПриходнаяНакладная", "Изменение","",
"Условие", "Т.Организация = &ТекущаяОрганизацияНовые",
"","", "","", "","", "","", "","", "","", "","", "","", "","", "","", "","", "","", "","", "","", "","")

Проблема: если у пользователя доступна хотя бы одна из ролей, то он проводит документ с любым значением реквизита Организация и плевал на условие в шаблоне.
1 SoftIce
 
23.03.16
15:57
Даже без шаблона делал. Тупо записывал
ГДЕ
   Организация = ЗНАЧЕНИЕ(Справочник.Организации.Новые)

и в другой роли
ГДЕ
   Организация = ЗНАЧЕНИЕ(Справочник.Организации.БУ)

Результат тот же. При наличии у пользователя хотя бы одной роли, проводит все документы.
2 lxs
 
23.03.16
16:20
А видят они ВСЕ документы?
3 SoftIce
 
23.03.16
16:22
(2) Да. Самое интересное, с Чтением такие шаблоны срабатывают. А с Изменением - нет.
4 lxs
 
23.03.16
16:22
+(2) ты уверен, что не существует иных ролей, предоставляющих обозначенные выше полномочию пользователю при работе с указанным объектом?
5 lxs
 
23.03.16
16:23
+(4) то есть если пользователю не предоставить ни одной роли, сможет ли он видеть и/или изменять эти объекты?
6 SoftIce
 
23.03.16
16:26
(4) Уверен.
Убираю обе роли. Получается доступ к документам только на чтение.
Ставлю хотя бы одну из созданных ролей - проводят документы в независимости от реквизита Организация.
7 SoftIce
 
23.03.16
16:35
Еще один прикол. Создал роли с теми же шаблонами для интерактивного добавления документов. Срабатывает нормально.
А для интерактивного проведения документов - нет!!! (((
Как так?!
8 SoftIce
 
23.03.16
16:35
Могло где-то в кэше что-то затесаться?
9 SoftIce
 
23.03.16
16:49
Видимо что-то при отладке где- то что-то затесалось. Обнулил роли предназначенные для проведения. Создал такие же новые.
Обновил справочник "Идентификаторы объектов метаданных" - вроде заработало!
10 SoftIce
 
24.03.16
02:13
Упс... Радость была преждевременной.... Опять те же глюки...
11 zalexey
 
24.03.16
06:26
А не проще подписку на событие сделать и там проверять?
12 SoftIce
 
24.03.16
08:14
Подожду немного. Может еще какие-нибудь идеи возникнут. Программную реализацию оставил на крайний случай.
13 SoftIce
 
24.03.16
09:14
Может кто-нибудь шаблон ПоЗначениям сбросить на почту. Сравню со своим. Может в шаблоне проблема.
mr.softice собака gmail . com
14 SoftIce
 
24.03.16
09:56
Up
15 SoftIce
 
25.03.16
23:36
Никто не делал подобного?
16 hhhh
 
26.03.16
07:49
(15) почему

#ПоЗначениям( "Документ.ПриходнаяНакладная", "Изменение","",

почему "изменение"??

ведь речь идет о проведении документа.
17 SoftIce
 
26.03.16
22:51
(16) Потому что RLS задаются только на права Чтение, Добавление, Изменение и Удаление.
И в шаблонах соответствующая фраза идет.
18 FIXXXL
 
28.03.16
09:53
возможно где-то в коде проведения врубается ПривилегированныйРежим