Вход | Регистрация


1С:Предприятие ::

Метки: 

Помогите получить роль

Я
   katerinaUniv
 
05.02.18 - 12:10
Добрый день!
Есть процедура УстановитьДоступность() на управляемом приложении, написана в &НаКлиентеНаСервереБезКонтекста. Она проставляет видимость всех элементов формы документа (запрещено редактировать проведенный и обработанный документ). Мне нужно пользователю с особым набором прав (сделала отдельную роль) можно было редактировать даже проведенный и обработанный документ.
В месте "Если объект.ПРоведени и ЗаявкаЗАкрыта Тогда" я добавляю условие РольДоступна("СуперРоль"). Метод не обнаружен. Пишу функцию &НаСервере и вызываю ее в том условии, все равно функция не обнаружена. Как правильно это сделать?
 
 
   GGDots
 
1 - 05.02.18 - 12:33
Значит каким то чудным образом она выполняется не на сервере.


В общем модуле с галочкой СЕРВЕР пишешь:
Функция ПроверитьНаличиеРоли(п_ТекстРоль) Экспорт
    
    РольДоступна = Ложь;

    Если РольДоступна(п_ТекстРоль) тогда 
         РольДоступна  = Истина;  
    КонецЕсли;

    Возврат РольДоступна;

КонецФункции


   Lexey_
 
2 - 05.02.18 - 12:40
(0) полный текст ошибки какой?
   Lexey_
 
3 - 05.02.18 - 12:43
+(2) либо ошибка не связана с РольДоступна(), лио РольДоступна() вызываешь не как метод глобального контекста, а как метод объекта
   al_zzz
 
4 - 05.02.18 - 12:48
"Я получил эту роль!
Мне выпал счастливый билет!
Я получил эту роль!
Мне выпал счастливый билет!"©ДДТ
Извините, название темы навеяло...
   El_Duke
 
5 - 05.02.18 - 13:02
(0) С этой просьбой к тов.Вайнштейну :)
   Dmitry1c
 
6 - 05.02.18 - 13:06
(4) +
   katerinaUniv
 
7 - 05.02.18 - 15:23
(1) в общем модуле с галочкой сервер не сработало
   katerinaUniv
 
8 - 05.02.18 - 15:24
(2), (3) процедура или функция не обнаружена. Как вызвать правильно?
   AlexTim03
 
9 - 05.02.18 - 15:30
При таком контексте "НаКлиентеНаСервереБезКонтекста" видны только другие такие же (с таким же контекстом) процедуры/функции
   Lexey_
 
10 - 05.02.18 - 15:34
(8) нужен точный текст ошибки, а не изложение своими словами
 
 Рекламное место пустует
   FIXXXL
 
11 - 05.02.18 - 18:12
(0) >Она проставляет видимость всех элементов формы документа (запрещено редактировать проведенный и обработанный документ).

сними галку "Интерактивное изменение проведенных" у ограниченных ролей
заведи на док-т отдельную СуперРоль с такой галкой
   katerinaUniv
 
12 - 05.02.18 - 18:16
(11) Там программно ограничение по конкретным реквизитам. Мне не всю форму открыть надо, а часть реквизитов.
   Вафель
 
13 - 05.02.18 - 18:24
рольдоступна работает только на серевер
   katerinaUniv
 
14 - 05.02.18 - 18:35
(13) это я знаю. почему процедуру на сервере не видно в процедуре наклиентенасерверебезконтекста?
   Вафель
 
15 - 05.02.18 - 18:35
(14) потому что НаКлиенте и еще где-то
   katerinaUniv
 
16 - 05.02.18 - 18:37
как тогда правильно сделать?
   katerinaUniv
 
17 - 05.02.18 - 18:37
я же из клиента могу вызвать сервеную процедуру
   Вафель
 
18 - 05.02.18 - 19:00
добавить еще 1 функцию чисто серверную, тип такой

Функция РольДоступнаСервер(Парам)
   Возврат РольДоступна(Парам)
   katerinaUniv
 
19 - 05.02.18 - 19:08
(18) вот именно так не работает
   katerinaUniv
 
20 - 05.02.18 - 19:09
поэтому и написала здесь
   Lexey_
 
21 - 05.02.18 - 19:18
(20) текст ошибки-то увидим?
   FIXXXL
 
23 - 06.02.18 - 11:11
(14) потому что функция БезКонтекста должна только "отдавать" результат
взаимодействовать с остальным кодом формы безконтекстная функция не может
видимо надо разобраться "кто на ком стоял" :)
Ну и в функции с &НаКлиентеНаСервереБезКонтекста не получится использовать РольДоступна, потому как эта функция доступна только НаСервере

если написать
&НаСервереБезКонтекста
Функция ЕстьРоль(ИмяРоли)
   Возврат РольДоступна(ИмяРоли);
КонецФункции

должно нормально заработать
   katerinaUniv
 
24 - 09.02.18 - 10:45
(23) заработало, но не в общем модуле, а только рядом с функцией



Список тем форума
Рекламное место пустует Рекламное место пустует
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.
Тема не обновлялась длительное время, и была помечена как архивная. Добавление сообщений невозможно.
Но вы можете создать новую ветку и вам обязательно ответят!
Каждый час на Волшебном форуме бывает более 2000 человек.
Рекламное место пустует