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

Тема в разделе "Lotus - Программирование", создана пользователем -Guest-, 9 ноя 2005.

Статус темы:
Закрыта.
  1. -Guest-

    -Guest- Гость

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

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

    Medevic Что это ? :)
    Lotus team

    Регистрация:
    10 дек 2004
    Сообщения:
    3.346
    Симпатии:
    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]
    Рекомендую залезть сюда и скачать пару книг.
     
  3. -Guest-

    -Guest- Гость

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

    Medevic Что это ? :)
    Lotus team

    Регистрация:
    10 дек 2004
    Сообщения:
    3.346
    Симпатии:
    2
    Пропиши роли в соотвествующих полях.
    Для уже существующих докуемнтов создай агента, который создаст поля типа Authors или Readers.
    Роли назначь пользователям или группе. И все.
     
  5. -Guest-

    -Guest- Гость

    Подскажите:

    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?
     
  6. Medevic

    Medevic Что это ? :)
    Lotus team

    Регистрация:
    10 дек 2004
    Сообщения:
    3.346
    Симпатии:
    2
    Надо так:
    Код (Text):
    If doc.Form(0) = "FerroPack" Then
    Т.к. по сути поле - это массив.
     
  7. -Guest-

    -Guest- Гость

    Подскажите:

    Как для двух разных документов сделать свой список поля 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 определен?
     
  8. Medevic

    Medevic Что это ? :)
    Lotus team

    Регистрация:
    10 дек 2004
    Сообщения:
    3.346
    Симпатии:
    2
    Делаешь так:
    Сначала где-нибуль в начале определяешь :
    Код (Text):
    Dim authorsItem As NotesItem
    Потом:
    Код (Text):
    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
     
  9. -Guest-

    -Guest- Гость

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

    есть агент, который создает поля типа 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, а не перезапишет уже существующее. Как перезаписать уже существующее?
     
  10. Medevic

    Medevic Что это ? :)
    Lotus team

    Регистрация:
    10 дек 2004
    Сообщения:
    3.346
    Симпатии:
    2
    notesDocument.ReplaceItemValue

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

    -Guest- Гость

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

    Domino6 Гость

    В форме сделать поле тип Авторы
     
  13. -Guest-

    -Guest- Гость

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

    Medevic Что это ? :)
    Lotus team

    Регистрация:
    10 дек 2004
    Сообщения:
    3.346
    Симпатии:
    2
    <!--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]
    Можно еще скопировать поле из другого документа. ;)
     
Загрузка...
Статус темы:
Закрыта.

Поделиться этой страницей