Про роли и поля Readers и Authors

  • Автор темы -Guest-
  • Дата начала
Статус
Закрыто для дальнейших ответов.
G

-Guest-

#1
Подскажите с чего следует начинать, никогда ранее этим не занимался.

Есть база, надо установить права доступа (сделать роли) для документов и для вьюверов. Кто что может только просматривать, а кто создавать и редактировать. Каким образом это прописывать в поля Authors и Readers?
 

Medevic

Что это ? :)
Lotus team
10.12.2004
3 346
1
#2
<!--QuoteBegin--Guest-+9:11:2005, 16:08 -->
<span class="vbquote">(-Guest- @ 9:11:2005, 16:08 )</span><!--QuoteEBegin-->Подскажите с чего следует начинать, никогда ранее этим не занимался.
[snapback]26843" rel="nofollow" target="_blank[/snapback]​
[/quote]
Рекомендую залезть сюда и скачать пару книг.
 
G

-Guest-

#3
Книги, это конечно хорошо, но сделать права доступа надо за день-два.
Имелось в виду, что никогда не занимался ролями и раздачей прав доступа.
Может функцию какую или агента?
 

Medevic

Что это ? :)
Lotus team
10.12.2004
3 346
1
#4
Пропиши роли в соотвествующих полях.
Для уже существующих докуемнтов создай агента, который создаст поля типа Authors или Readers.
Роли назначь пользователям или группе. И все.
 
G

-Guest-

#5
Подскажите:

Sub DestinationRoles(doc As NotesDocument)

Dim ses As New NotesSession
Dim db As NotesDatabase
Dim Item As NotesItem

Dim ArRoles (1 To 4) As String

ArRoles(1)="[S20]"
'ArRoles(2)="[W36]"
'ArRoles(3)="[W8]"
'ArRoles(4)="[W20]"
A=doc.Form
If doc.Form="FerroPack" Then
Dim authorsItem As New NotesItem(doc, "AAuthors", ArRoles, AUTHORS)
Call doc.Save(True, True)
End If

End Sub

выдает ошибку type mismatch?
 

Medevic

Что это ? :)
Lotus team
10.12.2004
3 346
1
#6
Надо так:
Код:
If doc.Form(0) = "FerroPack" Then
Т.к. по сути поле - это массив.
 
G

-Guest-

#7
Подскажите:

Как для двух разных документов сделать свой список поля Authors.
Что-то вроде:

Sub DestinationRoles(doc As NotesDocument)

Dim ses As New NotesSession
Dim db As NotesDatabase
Dim Item As NotesItem

Dim ARoles (1 To 2) As String
Dim BRoles (1 To 3) As String

ARoles(1)="[S20]"
ARoles(2)="[W36]"
BRoles(1)="[W8]"
BRoles(2)="[W20]"
BRoles(3)="[W47]"

If doc.Form(0)="Form1" Then
Dim authorsItem As New NotesItem(doc, "AAuthors", ARoles, AUTHORS)
Call doc.Save(True, True)
End If

If doc.Form(0)="Form2" Then
Dim authorsItem As New NotesItem (doc, "AAuthors", BRoles, AUTHORS)
Call doc.Save(True, True)
End If

End Sub

как, если уже authorsItem определен?
 

Medevic

Что это ? :)
Lotus team
10.12.2004
3 346
1
#8
Делаешь так:
Сначала где-нибуль в начале определяешь :
Код:
Dim authorsItem As NotesItem
Потом:
Код:
If doc.Form(0)="Form1" Then
Set authorsItem = New NotesItem(doc, "AAuthors", ARoles, AUTHORS)
Call doc.Save(True, True)
End If

If doc.Form(0)="Form2" Then
Set authorsItem = New NotesItem (doc, "AAuthors", BRoles, AUTHORS)
Call doc.Save(True, True)
End If
 
G

-Guest-

#9
Помогите разобраться:

есть агент, который создает поля типа Authors так:

Dim authorsItem As NotesItem

If doc.Form(0)="Form1" Then
ARoles(0)="[1]"
ARoles(1)="[2]"
ARoles(2)="[3]"

Set authorsItem= New NotesItem(doc, "AAuthors", ARoles, AUTHORS)

End If

Допустим, надо заменить [3] на [4]: если заменить ARoles(2)="[4]" и перезапустить агента, то он создаст еще одно поле типа Authors, а не перезапишет уже существующее. Как перезаписать уже существующее?
 

Medevic

Что это ? :)
Lotus team
10.12.2004
3 346
1
#10
notesDocument.ReplaceItemValue

Перед этим проверить, существует ли такое поле - notesDocument.HasItem.
 
G

-Guest-

#11
А как нибудь по другому можно создать поля типа Authors.
Или Set authorsItem= New NotesItem(doc, "AAuthors", ARoles, AUTHORS) является стандартной?
 
G

-Guest-

#13
Нет, надо скриптом. И в форму ничего не добавлять.
 

Medevic

Что это ? :)
Lotus team
10.12.2004
3 346
1
#14
<!--QuoteBegin--Guest-+24:11:2005, 12:01 -->
<span class="vbquote">(-Guest- @ 24:11:2005, 12:01 )</span><!--QuoteEBegin-->А как нибудь по другому можно создать поля типа Authors.
Или Set authorsItem= New NotesItem(doc, "AAuthors", ARoles, AUTHORS) является стандартной?
[snapback]27569" rel="nofollow" target="_blank[/snapback]​
[/quote]
Можно еще скопировать поле из другого документа. ;)
 
Статус
Закрыто для дальнейших ответов.