Имя: Пароль:
1C
 
Перехватить открытие формы
0 Облачко
 
26.01.24
14:43
В общем, у объекта есть форма. На форме есть динамический список, в нём связь к объекту, на который у одной роли не хватает прав. Как бы так сделать, чтобы при определённой роли эта форма не открывалась.
1 Облачко
 
26.01.24
14:44
Если написать проверку в присозданиинасервере() формы, то до нее дело не доходит. Программа в ошибка падает раньше.
2 Волшебник
 
26.01.24
14:44
В событии ПередОткрытием проверить РольДоступна и Отказ=Истина
3 Облачко
 
26.01.24
14:47
Нету у меня перед открытием. Есть при открытии, но это поздно уже.
4 2S
 
26.01.24
14:47
обработкаполученияформы
можно думаю и там изгалиться
5 vicof
 
26.01.24
14:49
ПриЧтенииНаСервере
6 vde69
 
26.01.24
14:50
присозданиинасервере
7 vicof
 
26.01.24
14:51
А вообще лучше сначала проверять права, а потом уже открывать формы.
8 Облачко
 
26.01.24
14:56
ПриЧтенииНаСервере - нету, ПриСозданииНаСервере -поздно, падаю раньше. ОбработкаПолученияФормы - нету в преодопределенных для объекта.
9 Облачко
 
26.01.24
14:57
(7) там так не выходит. У роли прав нет, а у роли вместе с другой ролью права должны быть.
10 vde69
 
26.01.24
15:04
(8) ПриСозданииНаСервере - это еще форма НЕ СУЩЕСТВУЕТ, более раннего события просто нет

единственное чего еще можно попробовать это в модуле менеджера "обработкаполученияформы"
11 Облачко
 
26.01.24
15:07
(10) пробовал, падаю раньше. В запросе как-то можно на роль провериться?
12 Волшебник
 
26.01.24
15:11
(11) ВЫБРАТЬ РАЗРЕШЕННЫЕ
13 Облачко
 
26.01.24
15:30
Помогло комбо из ВыбратьРазрешенные + заменить условие связи. В условии связи был вызов реквизита ссылки из табличнойчасти БП через точку. Заменил на реквизит БП и связал их между собой. Всем спасибо! Кейс решен.
14 mikecool
 
26.01.24
18:04
вместо формы надо использовать команду, в которой проверять права и по разрешению - открывать форму
15 Волшебник
 
26.01.24
18:36
(14) 👍
16 sitex
 
naïve
26.01.24
22:23
(0) Задача тривиальная просто проверить доступность Роли или юрез включен в эту роль.
Программист всегда исправляет последнюю ошибку.