|
Помогите получить роль | ☑ | ||
---|---|---|---|---|
0
katerinaUniv
05.02.18
✎
12:10
|
Добрый день!
Есть процедура УстановитьДоступность() на управляемом приложении, написана в &НаКлиентеНаСервереБезКонтекста. Она проставляет видимость всех элементов формы документа (запрещено редактировать проведенный и обработанный документ). Мне нужно пользователю с особым набором прав (сделала отдельную роль) можно было редактировать даже проведенный и обработанный документ. В месте "Если объект.ПРоведени и ЗаявкаЗАкрыта Тогда" я добавляю условие РольДоступна("СуперРоль"). Метод не обнаружен. Пишу функцию &НаСервере и вызываю ее в том условии, все равно функция не обнаружена. Как правильно это сделать? |
|||
1
GGDots
05.02.18
✎
12:33
|
Значит каким то чудным образом она выполняется не на сервере.
В общем модуле с галочкой СЕРВЕР пишешь:
|
|||
2
Lexey_
05.02.18
✎
12:40
|
(0) полный текст ошибки какой?
|
|||
3
Lexey_
05.02.18
✎
12:43
|
+(2) либо ошибка не связана с РольДоступна(), лио РольДоступна() вызываешь не как метод глобального контекста, а как метод объекта
|
|||
4
al_zzz
05.02.18
✎
12:48
|
"Я получил эту роль!
Мне выпал счастливый билет! Я получил эту роль! Мне выпал счастливый билет!"©ДДТ Извините, название темы навеяло... |
|||
5
El_Duke
гуру
05.02.18
✎
13:02
|
(0) С этой просьбой к тов.Вайнштейну :)
|
|||
6
Dmitry1c
05.02.18
✎
13:06
|
(4) +
|
|||
7
katerinaUniv
05.02.18
✎
15:23
|
(1) в общем модуле с галочкой сервер не сработало
|
|||
8
katerinaUniv
05.02.18
✎
15:24
|
(2), (3) процедура или функция не обнаружена. Как вызвать правильно?
|
|||
9
AlexTim03
05.02.18
✎
15:30
|
При таком контексте "НаКлиентеНаСервереБезКонтекста" видны только другие такие же (с таким же контекстом) процедуры/функции
|
|||
10
Lexey_
05.02.18
✎
15:34
|
(8) нужен точный текст ошибки, а не изложение своими словами
|
|||
11
FIXXXL
05.02.18
✎
18:12
|
(0) >Она проставляет видимость всех элементов формы документа (запрещено редактировать проведенный и обработанный документ).
сними галку "Интерактивное изменение проведенных" у ограниченных ролей заведи на док-т отдельную СуперРоль с такой галкой |
|||
12
katerinaUniv
05.02.18
✎
18:16
|
(11) Там программно ограничение по конкретным реквизитам. Мне не всю форму открыть надо, а часть реквизитов.
|
|||
13
Вафель
05.02.18
✎
18:24
|
рольдоступна работает только на серевер
|
|||
14
katerinaUniv
05.02.18
✎
18:35
|
(13) это я знаю. почему процедуру на сервере не видно в процедуре наклиентенасерверебезконтекста?
|
|||
15
Вафель
05.02.18
✎
18:35
|
(14) потому что НаКлиенте и еще где-то
|
|||
16
katerinaUniv
05.02.18
✎
18:37
|
как тогда правильно сделать?
|
|||
17
katerinaUniv
05.02.18
✎
18:37
|
я же из клиента могу вызвать сервеную процедуру
|
|||
18
Вафель
05.02.18
✎
19:00
|
добавить еще 1 функцию чисто серверную, тип такой
Функция РольДоступнаСервер(Парам) Возврат РольДоступна(Парам) |
|||
19
katerinaUniv
05.02.18
✎
19:08
|
(18) вот именно так не работает
|
|||
20
katerinaUniv
05.02.18
✎
19:09
|
поэтому и написала здесь
|
|||
21
Lexey_
05.02.18
✎
19:18
|
(20) текст ошибки-то увидим?
|
|||
23
FIXXXL
06.02.18
✎
11:11
|
(14) потому что функция БезКонтекста должна только "отдавать" результат
взаимодействовать с остальным кодом формы безконтекстная функция не может видимо надо разобраться "кто на ком стоял" :) Ну и в функции с &НаКлиентеНаСервереБезКонтекста не получится использовать РольДоступна, потому как эта функция доступна только НаСервере если написать &НаСервереБезКонтекста Функция ЕстьРоль(ИмяРоли) Возврат РольДоступна(ИмяРоли); КонецФункции должно нормально заработать |
|||
24
katerinaUniv
09.02.18
✎
10:45
|
(23) заработало, но не в общем модуле, а только рядом с функцией
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |