Имя: Пароль:
1C
1C 7.7
v7: Отчет по правам доступа
0 St17
 
18.10.11
16:37
Доброе время суток.
Решил для себя написать отчетик по правам пользователя!
К примеру выбрал из списка пользователя Петя жму сформировать выдается писок его прав по документам, справочникам, константам и.т.д

Сделал примерчик по правам моим. Но не могу понять как задать конкрентного пользователя Набор прав!?
Петя: набора прав "Оператор"!
Как задать программе выводить данные по набору прав!?

   ПДДокумента=СоздатьОбъект("СписокЗначений");
   ПДДокумента.ДобавитьЗначение("Чтение");
   ПДДокумента.ДобавитьЗначение("ЛюбыеИзменения");
   ПДДокумента.ДобавитьЗначение("ВводНового");
   ПДДокумента.ДобавитьЗначение("Удаление");
   ПДДокумента.ДобавитьЗначение("ПометкаНаУдаление");
   ПДДокумента.ДобавитьЗначение("СнятиеПометкиНаУдаление");
   ПДДокумента.ДобавитьЗначение("Корректировка");
   ПДДокумента.ДобавитьЗначение("Выбор");
   ПДДокумента.ДобавитьЗначение("ПросмотрПодчиненныхДокументов");
   ПДДокумента.ДобавитьЗначение("ПроведениеДокумента");
   ПДДокумента.ДобавитьЗначение("ИзменениеПроведенныхДокументов");
   ПДДокумента.ДобавитьЗначение("ИзменениеДокументовБезПерепроведения");
   
   
   Для Инд = 1 По Метаданные.Документ() Цикл  
   Идент = "Документ." + Метаданные.Документ(Инд).Идентификатор;
       Для Сч=1 по ПДДокумента.РазмерСписка() Цикл
           НазваниеПД=ПДДокумента.ПолучитьЗначение(Сч,);
       
           Если ПравоДоступа(НазваниеПД,Идент) = 1 Тогда
           КонецЕсли;
       КонецЦикла;
   КонецЦикла;
Спасибо за внимание!
1 Aleksey
 
18.10.11
16:38
никак, выгружай структуру в текстовый файл и парсь его
2 andrewks
 
18.10.11
16:39
ПравоДоступа(<?>,)
Синтаксис:
ПравоДоступа(<НазваниеПрава>,<Объект>)
Назначение:
Проверяет для текущего пользователя наличие права доступа для заданного объекта. Возвращает: 1 - если право доступа есть, иначе 0.




ключевое слово: текущего
3 andrewks
 
18.10.11
16:41
можно по оле попробовать извратиться
4 St17
 
18.10.11
16:44
(2)
Видел. вот и задал вопрос!
(1) не совсем понимаю как. можно по подробнее!\
(3) Изврашятся в любом случае придется!
5 Lepochkin
 
18.10.11
16:48
Как вариант насоздавать служебных пользователей со всевозможными правами. При начале работы системы проверяет на что есть правья на что нет и пишет в текстовый файлик ну или в ексель. что бы руками не заходить можно батник написать ну или по оле ими из этой же конфы заходить
6 ДенисЧ
 
18.10.11
16:49
(4) Возьми в конфигураторе Конфигурация - описание метаданных. Получится текстовый файл. Его и читай программно.
7 Kreont
 
18.10.11
16:54
(0) Есть уже такой и красиво написанный :(
Поищи на nashe1c.ru
8 St17
 
18.10.11
19:21
(7) для 8.0 и 8.1 нашол там
(5) Пока ехал домой пришла мысль. Поставить обработку в гл модуль в функцию "при запуске системы". Пусть она создает файлик в каталоге пользователя при входе. И создать обработку каторая будит читать, выводить в печатную форму.
9 St17
 
02.11.11
10:23
Подскажите как проверить права доступа на отчеты и обработки включенные в конфигурацию!
Спасибо за внимание!
10 St17
 
02.11.11
16:39
ой. отвис. проблема снята