|
v7: Ограничение доступа к группам справочника. | ☑ | ||
---|---|---|---|---|
0
palm1c
19.09.11
✎
16:03
|
Добрый день.
Есть справочник. Нужно ограничить доступ пользователей к группе справочника. 1. Пользователи не должны видеть элементы из этой группы. 2. Пользователи не должны видеть саму группу. Нужны идеи по реализации. Спасибо. |
|||
1
АЛьФ
19.09.11
✎
16:05
|
ИспользоватьСписокЭлементов()
|
|||
2
Ёпрст
19.09.11
✎
16:06
|
(0)
ИспользоватьРодителя(НужнаяГруппа,0); |
|||
3
Tatitutu
19.09.11
✎
16:09
|
если только по первому пункту
то можно использовать Процедура ПриВыбореРодителя(<?>) но саму папку будет видно |
|||
4
Shaman100M
19.09.11
✎
16:14
|
ну и плюс запретить снимать иерархию.
ИерархическийСписок(1,0); |
|||
5
Ёпрст
19.09.11
✎
16:17
|
(4) при (2) пофик - один хрен не "выползет" за пределы этой группы.
|
|||
6
ASU_Diamond
19.09.11
✎
16:21
|
(1) надо ещё смотреть размер справочника, у нас затыкалось.
(2) а если подчиненную группу нужно закрыть? |
|||
7
palm1c
19.09.11
✎
16:21
|
(1) Спасибо, буду пробовать.
|
|||
8
palm1c
19.09.11
✎
16:22
|
(6) То есть тормозило при отборе в список?
|
|||
9
ASU_Diamond
19.09.11
✎
16:23
|
(8) вроде да, может вылетало, точно не помню, давно было. Использовали вариант (4)
|
|||
10
palm1c
19.09.11
✎
16:25
|
Всем спасибо. Буду пробовать оба варианта.
|
|||
11
ASU_Diamond
19.09.11
✎
16:26
|
(+9) считай тебе надо получить список доступных элементов, потом их поместить в список значений, потом платформе отработать этот список значений. Да ещё учитывай что новые элементы не будут отображаться до перевыполнения всех действий заново.
PS. скрываешь элементы справочника номенклатуры? |
|||
12
palm1c
19.09.11
✎
16:28
|
(11) и Контрагентов.
|
|||
13
ASU_Diamond
19.09.11
✎
16:29
|
(12) оборонка?
|
|||
14
palm1c
19.09.11
✎
16:30
|
(13) нет.
|
|||
15
palm1c
19.09.11
✎
16:30
|
(13) не скажу.
|
|||
16
ASU_Diamond
19.09.11
✎
16:34
|
у нас так реализовано:
Процедура ПриВыбореСтроки() Если (ТекущийЭлемент()=Константа.СП) или (ТекущийЭлемент().ПринадлежитГруппе(Константа.СП)=1) Тогда Если Пользователь.ЗакрытьПродукцию=1 Тогда Предупреждение("У вас не достаточно прав"); СтатусВозврата(0); Возврат; КонецЕсли; КонецЕсли; КонецПроцедуры Процедура ПриОткрытии() Если Пользователь.ЗакрытьПродукцию=1 Тогда ИерархическийСписок(1, 0); КонецЕсли; КонецПроцедуры // ПриОткрытии() |
|||
17
ASU_Diamond
19.09.11
✎
16:34
|
Константа.СП - группа справочника, в которой содержатся закрытые элементы
|
|||
18
palm1c
19.09.11
✎
16:36
|
(16) Понятно. Пользователь видит название группы только.
Спасибо. |
|||
19
palm1c
19.09.11
✎
16:36
|
(16) Я сначала хочу попробовать вариант с ИспользоватьСписокЭлементов
|
|||
20
Ёпрст
19.09.11
✎
16:42
|
(18) в случае (16) - пользователь видит ВСЁ.
Только открыть сам элемент не может. |
|||
21
ASU_Diamond
19.09.11
✎
16:45
|
(20) нет, в группу зайти не сможет, соответственно что в группе увидеть то же
|
|||
22
Ёпрст
19.09.11
✎
16:45
|
(21) брехня!
|
|||
23
ASU_Diamond
19.09.11
✎
16:46
|
(22) докажи :)
|
|||
24
Ёпрст
19.09.11
✎
16:47
|
+22 при коде в (16) видит все элементы во всем справочнике (максимум, при условии, что Форма.ОбработкаВыбораСтроки(1) в коде еще есть - не войдет в сам элемент, а видеть в списке будет)
И что в дереве раскрывается группа, что просто на папке, что Ctrl+стрелочки. |
|||
25
Ёпрст
19.09.11
✎
16:51
|
||||
26
Ёпрст
19.09.11
✎
16:52
|
+24 а если еще и редактирование в списке - то вообще всё изменить сможет.
|
|||
27
Ёпрст
19.09.11
✎
16:52
|
+26 так что, код в (16) - профонация.
|
|||
28
ladyFox3
20.09.11
✎
00:17
|
Создаешь реквизит "Видимость"= Перечисление.ДаНет
процедура ПриОткрытии() Сотр=СоздатьОбъект("Справочник.Сотрудники"); Если Сотр.НайтиПоРеквизиту("КодПользователя",ИмяПользователя (),1) = 1 Тогда ТекПользователь = Сотр.ТекущийЭлемент(); КонецЕсли; Если ТекПользователь.УровеньДоступа < 1 ТОгда УстановитьОтбор ("Видимость",Перечисление.ДаНет.Да); Сортировка("Наименование",1); КонецЕсли; Конецпроцедуры |
|||
29
ASU_Diamond
20.09.11
✎
08:38
|
(24) да не увидишь ты элементы, которые в группе, потому что не сможешь войти в группу.
(25) я не знаю как ты там сделал, но у тебя в примере не заполнена константа и не заходит в процедуру ПриВыбореСтроки (27) у нас работает, претензий нет. |
|||
30
Ёпрст
20.09.11
✎
08:39
|
(29) константа выбрана, в ПриВыбореСтроки заходит.
|
|||
31
Ёпрст
20.09.11
✎
08:39
|
(28) при отборе сортировка не работает.
|
|||
32
ASU_Diamond
20.09.11
✎
08:40
|
(26) для этого в ПриОткрытии добавляется
РедактироватьВДиалоге(1,1) |
|||
33
ASU_Diamond
20.09.11
✎
08:42
|
(30) походу глюк какой-то был
пропустил ещё процедуру //****************************************************************************** // Предопределенная процедура // Процедура ПриВыбореРодителя(Родитель) Если (Родитель=Константа.СП) или (Родитель.ПринадлежитГруппе(Константа.СП)=1) Тогда Если Пользователь.ЗакрытьПродукцию=1 Тогда Предупреждение("У вас не достаточно прав"); СтатусВозврата(0); Возврат; КонецЕсли; КонецЕсли; КонецПроцедуры |
|||
34
Ёпрст
20.09.11
✎
08:43
|
||||
35
ASU_Diamond
20.09.11
✎
08:43
|
(0) кстати, а тебе ещё надо подумать о доступе к документам, в них будут видны элементы справочника.
|
|||
36
Ёпрст
20.09.11
✎
08:43
|
(33) зае...сь
|
|||
37
Ёпрст
20.09.11
✎
08:43
|
+36 что ты еще забыл ?
:)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) |
|||
38
ASU_Diamond
20.09.11
✎
08:44
|
(36) ну так давно это было, всего не упомнишь. А сейчас я 8-кой занимаюсь.
|
|||
39
ASU_Diamond
20.09.11
✎
08:44
|
(37) см. (35)
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |