Отчет "Схема замещений"

14 12

 

Иногда замещения в организации настроены таким образом, что понять, откуда у пользователя возникли явно не назначенные ему права на документы или папки бывает весьма нелегкой задачей. Поможет разобраться в настроенных замещениях предлагаемый отчет. Отчет формирует структуру замещений в графическом виде.

Для построения отчета используется библиотека (COM-сервер) WinGraphviz, которую можно взять по адресу http://wingraphviz.sourceforge.net/wingraphviz/

Параметры отчета:

  • Дата - дата на которую отображены замещения;
  • Тип замещения - «Полное», «Ассистент» или «Полное и ассистент»;
  • Пользователь - если параметр задан, то отображаются только замещения в которых участвует указанный пользователь, если параметр пустой, то выводятся замещения всех пользователей;
  • Уровень рекурсии - определяет уровень рекурсии выводимых замещений (используется только в случае, если задан пользователь), по умолчанию равен 3.

Пример отчета:

 

В узлах отображаются имена пользователей. Сплошные линии - полные замещения, линии с точками – замещения «Ассистент». Стрелка указывает на замещаемого пользователя. В отчет попадают только действующие и утвержденные записи.

Например, из рисунка видно, что Administrator замещает (полное замещение) SNIG и FEDOR, SNIG «ассистент» у Administrator и SINIC, также SNIG полностью замещает ARBUZ и т.д.

Разработка для DIRECTUM 4.5.1.

SubstitutionsGraph.zip (6,48 Кб)

Исправленный отчет по замечаниям Алены Верновой от 10 марта 2010:

SubstitutionsGraph2.zip (6,61 Кб)

 


 

Обновления в связи с пожеланиями:

  • Добавлены варианты отображения пользователей (имя, полное имя или полное имя и логин - параметр "Отображать"). С русским языком подружится не получилось, поэтому русский отображается транслитом.
  • Добавлены параметры "Отображать закрытых пользователей","Отображать период замещения","Отображать только бессрочные замещения". Закрытые пользователи отображаются в овале с пунктирной линией.
  • Если в параметрах задан пользователь, то он отображается не в овале, а в прямоугольнике, чтобы было видно, относительно какого пользователя строится отчет.

SubstitutionsGraph3.zip (8,81 Кб)

Андрей Полкачев

Гениально! Молодцы ребята, отчет очень облегчит жизнь админам 

Алена Рунова

Здорово!  Отличная идея создать графический отчет!

Алена Рунова

Попробовали Отчет "Схема замещений", в нашей базе логин для входа в DIRECTUM состоит из двух частей фамилия и имя (vernova alena), после выполнения отчета происходит отделение имени от фамилии, вследствие в 2 раза больше объектов. Можно ли это обойти? 

Павел Стрекалов

Алена, отчет исправлен. Спасибо за замечание. 

Дмитрий Третьяков

В качестве пожелания к развитию замечательного и удобного отчета - предоставить на выбор, что выводить в имена объектов - либо логин пользователя, либо полное имя пользователя. На нашем предприятии в качестве логина используется табельный номер сотрудника и схема получается в одних циферках Подмигивающий Кстати, разработку накатили на 4.6.1 - работает!

Павел Стрекалов

Вовыдится логин, а не полное имя пользователя, потому что не получилось подружится с кириллицей в WinGraphviz. Но покапаю еще, раз надо :)

Алексей Пестов

    UsSpr = CreateReference('ПОЛ')
    UserDS = UsSpr.DataSet
    UserDS.Open()
    
    User = UserDS.Locate('Дополнение';SubstitutingNameSpaced)
    SubstitutingNameSpaced = UserDS.Requisites('ISBDescription').AsString  
    UserDS.close()
    
    i = 1
    ResReplaceableNameSpaced = ""
    Translit = " !#$%&()*+-./0123456789:;<=>?@[]\^|{}`~zxcvbnmasdfghjklpoiuytrewqZXCVBNMLKJHGFDSAQWERTYUIOP"
    Translit = Translit & "'"
    Translit = Translit & '"'
    
    while i <= Length(SubstitutingNameSpaced)
      Ch = UpperCase(Copy(SubstitutingNameSpaced;I;1))
      N = CharPos(Ch;Translit)
      if N = 0
        ResReplaceableNameSpaced = ResReplaceableNameSpaced & Char(ord(Ch)-64)
      else
        ResReplaceableNameSpaced = ResReplaceableNameSpaced & ch
      endif
      i = i + 1
    endwhile
Ну вот что то типа получается хоть по русски :)

Вячеслав Смирнов
Вовыдится логин, а не полное имя пользователя, потому что не получилось подружится с кириллицей в WinGraphviz. Но покапаю еще, раз надо

Кто что накопал? Я накопал вот что: http://www.graphviz.org/bugs/b544.html

Судя по описанию, если использовать UTF-8 для задания имен узлов, а также выгружать картинку в PNG, то русский работать будет. Проверил - так и есть.

Проверял на консольной версии программы dot, версии 2.2 - сохранение графов в PNG выполняется с поддержкой кириллицы.

Владимир Винников

Прекрасный инструмент для администратора!

Хотел уточнить, возможно ли построить дерево, в котором отображаются только «полубессрочные»/бессрочные замещения, т.е. не указана дата начала и/или окончания замещения?
А так же в отчете отображаются удаленные пользователи, например уволенные сотрудники, по-моему, это не совсем логично, надо бы в запрашиваемый фильтр добавить ещё одно условие.
Иначе со временем дерево станет нечитабельным.

Павел Стрекалов

Отчет обновлен (см. статью). С русским справится не смог (utf8 пробовал - не помогло), поэтому для русского используется транслит.

Владимир Винников

Здорово!

Спасибо за доработку. И ещё хотел уточнить, возможно ли отчет подружить с другими браузерами, у меня, например, в firefox не отображается.

Вэл Кам

Доброго времени суток. Сложилась ситуация, что пришлось в срочном порядке знакомиться с системой Directum 5.0.
А в замещениях все оказалось крайне заброшено и в полном беспорядке, поэтому такой компонент мне необходим как воздух. Прошу, подскажите ламеру, как установить эти расширения?

Авторизуйтесь, чтобы написать комментарий