Форум программистов, компьютерный форум, киберфорум
HCL Notes: Программирование
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.62/45: Рейтинг темы: голосов - 45, средняя оценка - 4.62
0 / 0 / 0
Регистрация: 23.08.2007
Сообщений: 364

Как Получить Имена Всех Груп Где Состоит Заданный Юзер

17.02.2013, 15:52. Показов 8612. Ответов 6
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
привет всем
как получить имена всех груп где состоит заданный юзер (а не тукущий)? (без поиска в АК во вьюшке "группы")
а еще чтоб вернулись и те группы, где юзер не прописан в прямую (группа в группе).

(или надо чтобы @UserNamesList вовращала все групппу и итп не только для текущего юзера и для заданного )))
(или как работает Effective Access в АСL?)
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
17.02.2013, 15:52
Ответы с готовыми решениями:

Как получить имена всех папок в определенной директории?
Как получить имена всех папок(не файлов!) в данной дир-ие?

Как получить имена всех устройств подключённых к COM портам?
Как получить имена всех устройств подключённых к COM портам?

Как рекурисивно пройтись по каталогам и получить имена всех папок
Как сделать так что бы этот код повторялся, пока не закончаться подкаталаги! For i = 0 To ListBox1.Items.Count - 1 Dim...

6
0 / 0 / 0
Регистрация: 09.12.2012
Сообщений: 101
17.02.2013, 16:14
По мне, лучше где-нибудь "кэшировать" вхождения (по расписанию).
0
0 / 0 / 0
Регистрация: 27.10.2011
Сообщений: 2,124
17.02.2013, 16:32
По группам быстрого решения нет, для произвольного пользователя (или я еще его не знаю )
Если он есть в ACL напрямую то можно часть информации получить так:
NotesDatabase class
Методы:
QueryAccess (доступ)
QueryAccessPrivileges (привелегии)
QueryAccessRoles (роли)
Если его нет, то почитай описание методов, там указано.

По поводу групп:
How do you make a list of all groups a person is in?
Working with groups in LotusScript
Эти две ссылки взяты из темы, которую стоит прочитать полностью.
0
0 / 0 / 0
Регистрация: 18.08.2008
Сообщений: 1,698
17.02.2013, 16:42
Думаю без АК не обойтись/
Тебе же надо знать в каких группах в принципе состоит пользователь.
0
0 / 0 / 0
Регистрация: 23.08.2007
Сообщений: 364
18.02.2013, 09:39
всем спасибо
перечитал все предложенные мануалы
и на основе их создал новый класс

LotusScript
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
Public Class GroupManager
 
=properties
Public Session As NotesSession
Public CurrentDatabase As NotesDatabase
Public AddressBook As NotesDatabase
Public AddressBookView As NotesView
 
=constructor
Public Sub New
 
On Error Goto processError
 
Set Session = New NotesSession
Set CurrentDatabase = Session.CurrentDatabase
Set AddressBook = Session.GetDatabase(CurrentDatabase.Server, "names.nsf", False)
If AddressBook Is Nothyng Then Error 1984, "Невозможно получить адресную книгу!"
Set AddressBookView = AddressBook.GetView("($ServerAccess)")
If AddressBookView Is Nothyng Then Error 1984, "Невозможно получить представление в адресной книге!"
Call AddressBookView.Refresh()
AddressBookView.AutoUpdate = False
 
Exit Sub
processError:
Error Err, "-> CLASS: " + Typename(Me) + "-> " + Cstr(Getthreadinfo(1)) + " (" + Cstr(Erl) + ") " + Error$
End Sub
 
=methods
Public Function GetGroupsForUser(UserName As String) As Variant
 
Dim nn As Variant
Dim AllGroups As Variant
Dim k As Integer
Dim dcol As NotesDocumentCollection
Dim doc As NotesDocument
 
On Error Goto processError
 
GetGroupsForUser = Split("", "")
 
nn = Trim(Cstr(UserName))
If nn = "" Then nn = Session.UserName
Set nn = New NotesName(nn)
nn = Trim(Cstr(nn.Canonical))
 
AllGroups = Split("", "")
AllGroups = Arrayunique(Fulltrim(Arrayappend(AllGroups, nn)), 5)
k = -1
 
Do
k = k + 1
Set dcol = AddressBookView.GetAllDocumentsByKey(AllGroups(k), True)
If dcol.Count > 0 Then
Set doc = dcol.GetFirstDocument()
Do While Not doc Is Nothyng
If Not Isnull(Arraygetindex(doc.Members, AllGroups(k), 5)) Then AllGroups = Arrayunique(Fulltrim(Arrayappend(AllGroups, doc.ListName)), 5)
Set doc = dcol.GetNextDocument(doc)
Loop
End If
Loop While k < Ubound(AllGroups)
 
GetGroupsForUser = Fulltrim(Arrayreplace(AllGroups, AllGroups(0), ""))
 
ENDING:
GetGroupsForUser = Arrayunique(Fulltrim(GetGroupsForUser), 5)
 
Exit Function
processError:
Error Err, "-> CLASS: " + Typename(Me) + "-> " + Cstr(Getthreadinfo(1)) + " (" + Cstr(Erl) + ") " + Error$
End Function
 
End Class
0
0 / 0 / 0
Регистрация: 23.08.2007
Сообщений: 364
18.02.2013, 09:50
строчку
If Not Isnull(Arraygetindex(doc.Members, AllGroups(k), 5)) Then AllGroups = Arrayunique(Fulltrim(Arrayappend(AllGrou ps, doc.ListName)), 5)

заменить просто на
AllGroups = Arrayunique(Fulltrim(Arrayappend(AllGrou ps, doc.ListName)), 5)
0
0 / 0 / 0
Регистрация: 28.05.2005
Сообщений: 347
02.03.2013, 23:48
Вот еще песочница вам в помощь. Похожие темы поднимались неоднократно.

http://193.232.119.19/samples/sandbox.nsf/...,group,demo.nsf

About Group Maint Demo
This database is a subset of the design of the Domino Address Book, with code added to manipulate Group records. There are several sample agents ("GMan Samples") to demonstrate typical applications.
The coding is done using two custom classes, NotesGroup and NotesGroupManager. These are stored in the LotusScript library "GroupManager".
See the Help Using document for a complete description of the classes that implement thys functionality.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
02.03.2013, 23:48
Помогаю со студенческими работами здесь

Как получить имена всех файлов и папок в некоторой директории?
Нужно срочно, я свое гуи пишу на GraphABC. Работает без лагов. Так вот имена всех файлов и папок нужно для того, чтобы написать процедуры...

Как получить размеры окон всех запущенных программ и их имена?
Как получить размеры окон всех запущенных программ и их имена?

Как получить имена всех FOREIGN KEY для определенной таблицы?
Вопрос: как в mysql получить имена всех FOREIGN KEY для определенной таблицы? И еще.... Можно sql запросом дропнуть все FOREIGN ключи,...

Как получить имена всех файлов с данным расширением в данной папке
Есть openfiledialog1. При открытии через него одного файла нужно получить имена всех файлов с таким расширением, находящимися в этой папке.

Как получить в скрипт имена всех файлов из некоторой директории на сервере?
Как получить в скрипт имена всех файлов из некоторой директории на сервере?(проблема доступа не важна)


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Новые блоги и статьи
Символьное дифференцирование
igorrr37 13.02.2026
/ * Логарифм записывается как: (x-2)log(x^2+2) - означает логарифм (x^2+2) по основанию (x-2). Унарный минус обозначается как ! */ #include <iostream> #include <stack> #include <cctype>. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL3_image
8Observer8 10.02.2026
Содержание блога Библиотека SDL3_image содержит инструменты для расширенной работы с изображениями. Пошагово создадим проект для загрузки изображения формата PNG с альфа-каналом (с прозрачным. . .
Установка Qt-версии Lazarus IDE в Debian Trixie Xfce
volvo 10.02.2026
В общем, достали меня глюки IDE Лазаруса, собранной с использованием набора виджетов Gtk2 (конкретно: если набирать текст в редакторе и вызвать подсказку через Ctrl+Space, то после закрытия окошка. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru