Имя: Пароль:
1C
1C 7.7
v7: определение прав доступа к объекту
,
0 mpbakunov
 
24.05.13
13:54
Как программно определить права доступа к объекту другого пользователя?
1 1Сергей
 
24.05.13
14:01
в 7 нет разграничения по авторству и прочим атрибутам
2 пипец
 
24.05.13
14:02
кроме доступность (для формы) штатно других методов определения доступности не припомню , так же оно может быть закрыто программно - а это ваще не определяется кроме через попытку исключение
3 пипец
 
24.05.13
14:03
(1) ну через попытку исключение можно извратиться но эт ;))) ндаа
4 1Сергей
 
24.05.13
14:04
(3) чего извернуться? права даются на объекты метаданных типа Константы, Справочники, Документы. Всё. Запретить открывать документы другого пользователя, это уже всё вручную прописывать, так же как и (0)
5 Skom
 
24.05.13
14:06
недокументированная функция ПравоДоступа()
6 Skom
 
24.05.13
14:07
ПравоДоступа(<?>,)
Синтаксис:
ПравоДоступа(<НазваниеПрава>,<Объект>)
Назначение:
Проверяет для текущего пользователя наличие права доступа для заданного объекта. Возвращает: 1 - если право доступа есть, иначе 0.
Параметры:
<НазваниеПрава> - строка с названием права доступа, как оно выводится в конфигурации (без пробелов).
<Объект> - строка с наименованием типа и вида объекта (записывается через точку). Для глобальных прав этот  параметр не указывается. Для объектов, у которых нет вида - записывается только тип объекта, например,  ''Операция''
7 Skom
 
24.05.13
14:08
пример
Если ПравоДоступа("Корректировка","Справочник.ХозОперации")=0 Тогда
8 mpbakunov
 
24.05.13
14:09
(6) это для текущего пользователя, а мне надо для других пользователей!!!
9 пипец
 
24.05.13
14:14
(8) нету такого
(4) чойта для текущего запросто проверю открыл или не открыл
10 ДенисЧ
 
24.05.13
14:14
(8) Зайди по ОЛЕ в базу под другим пользователем и выполни.
11 Skom
 
24.05.13
14:14
(8) создай справочник НАБОРЫПРАВ и пиши туда
12 Skom
 
24.05.13
14:15
+11 если для тебя это критично
а вообще, объяснил бы ситуацию, чего в конечном итоге хочешь получить?
13 пипец
 
24.05.13
14:16
(10) хе - эт парол знат нада
14 Skom
 
24.05.13
14:16
счас попробую найти код, если остался он у меня
15 ДенисЧ
 
24.05.13
14:18
(13) другой вариант - это парсить описание конфигурации.
Или gcomp'ом мдшник расотрошить и там искать
16 Skom
 
24.05.13
14:19
ДенисЧ, погоди, надо сначала услышать чего он хочет добиться.
17 ДенисЧ
 
24.05.13
14:20
(16) да ясно же.... Матрицу наборов прав по объектам, наверняка.
18 mpbakunov
 
24.05.13
14:22
(12) мне надо пакетно проставить в справочнике пользователей определенный флаг в зависимости от доступа к определнному объекту
19 dk
 
24.05.13
14:23
(17) дык проще описание конфигурации распарсить
20 1Сергей
 
24.05.13
14:25
(19) + В конфигураторе меню Конфигурация - Описание структуры метаданных. В конце будут все наборы прав
21 Skom
 
24.05.13
14:32
(18) делаешь справочник НаборыПрав
Делаешь подчиненный справочник туда пишешь

Документ.<ИмяДок>.<Право> | Флаг
При входе пользователя, пробегаешься по метаданным и устанавливаешь нужные флаги.
22 Skom
 
24.05.13
14:33
ну т.е. у тебя для каждого набора прав будет перечень объектов метаданных и к нему список действий и разрешения на эти действия
23 Skom
 
24.05.13
14:34
Я как-то реализовывал универсальный механизм пореквизитной настройки доступа в документах. для каждого набора прав можно было задавать отдельные права на доступ в целом к документу и к его отдельным реквизитам.
24 Mikeware
 
24.05.13
14:34
(21) нахрена? в справочник пользователей - наименование набора прав при входе в систему. Вполне достаточно
25 Skom
 
24.05.13
14:34
+23 не меняя прав в конфигураторе
26 Mikeware
 
24.05.13
14:35
(25) у Садовникова это красиво сделано...
27 Skom
 
24.05.13
14:36
(24) а ну да. отдельный справочник Наборы ему не нужен.
Но мне он нужен был. у меня там настройки расширенные были.
28 Skom
 
24.05.13
14:36
(26) а думаешь у кого я учился))
29 Skom
 
24.05.13
14:39
Хотя, с правами заморачиваться с правами я стал раньше, чем с ним зазнакомился.