Имя: Пароль:
1C
1С v8
Перебор реквизитов в УФ на клиенте для запрета. Как?
,
0 temsa
 
22.01.15
08:24
УФ. Хочу запретить редактировать юзеру по определенной роли все кроме одного реквизита.
Что-то не могу найти тут примерный код. Как это реализовать?
следующий код не подходит.
Для Каждого Эл Из Элементы Цикл
     Если Эл.Имя = "Ответственный" или Эл.Имя = "Комментарий"  Тогда
     иначе                                                              
    Эл.доступность = Ложь;
     КонецЕсли
КонецЦикла;
тут все элементы и вызывается ошибка для элементов "...РасширеннаяПодсказка"
1 temsa
 
22.01.15
08:28
Полагаю нужно из клиента вызвать серверную функцию в которй перебором соберется в список все имена реквизитов. А после ена клиенет перебираю список и делаю запрет.
Правильно думаю?
2 ShoGUN
 
22.01.15
08:31
(1) Не нужно лезть на сервер, нужно просто типы элементов проверять, не у всего есть Доступность.
3 temsa
 
22.01.15
08:47
типы элементов всегда ведь строка?..
4 Fish
 
22.01.15
09:01
(3) Типы элементов - это тип.
5 чувак
 
22.01.15
09:04
(0) Марат, зачем код писать? Вед есть же назначение прав по реквизитам объектов. Конфа--ПКМ--Все роли
6 temsa
 
22.01.15
09:05
(5) Не хочу городить. Просто код для одного документа в самописке.
7 temsa
 
22.01.15
09:06
+(4) Ты что меня выдаешь. Этот ник ведь у меня для тупых позорных вопросов. :))
8 temsa
 
22.01.15
09:07
ой. В (7) вместо (4) -  (6)
9 чувак
 
22.01.15
09:08
(7) во блин, сам того не ведая
10 temsa
 
22.01.15
09:23
Для тех кому интересно. Вот решение.

Если СвойМодульСервер.глРольДоступна("МенеджерСнабжения") Тогда
        Для Каждого Эл Из Элементы Цикл
            Если ТипЗнч(Эл) = Тип("ПолеФормы") Тогда
                Если Эл.Имя = "Ответственный" или Эл.Имя = "Комментарий"  Тогда
                Иначе    
                    Эл.доступность = Ложь;
                КонецЕсли;    
            КонецЕсли;        
        КонецЦикла;
    КонецЕсли;