поле Readers глючит

maliy

Well-known member
20.03.2007
164
2
#1
Привет !
у меня проблема -

я создаю документ скриптом (в поле readers вношу имя своё, autors недоступно для редактированния) сохраняю док, и делаю ответы к нему.
далее скриптом открываю документ в интерфейсе пользователя.

По идее только я должен видетьэ тот документ.
Но любой другой человек видет документ в базе

В чём может быть дело ?
 

DNT

Постоялец форума
Lotus team
12.10.2005
594
2
#2
Для: maliy

Алгоритм думаю такой:

if не находится ли бд на локалке?, если нет то
после того как заполнил readers сделай
Dim it As notesitem
Set it = Doc.Getfirstitem("Readers")
it.Isreaders = True
если да то
проверяем
Database->Access control...->Advansed - поставь галку "Enforce ..."
end if

;)
 

maliy

Well-known member
20.03.2007
164
2
#3
Спасибо, разобрался. Только вот мне подсказали , что поле должно быть $Readers , с ним все работает, если просто Readers, то не работает как надо...Не знаю зачем нужен знак $...
 

morpheus

скриптописец
07.08.2006
3 915
1
#4
Для: maliy
$ - означает что поле СИСТЕМНОЕ, так же есть поля автора, ссылка наа главный докумнет и т.д.
 

maliy

Well-known member
20.03.2007
164
2
#5
да , но почему нельзя просто использовать поле Readers. На форумах и в литературе есть понятия Authors и Readers, про $ ниче конкретного не cказано...Если вот использую просто Readers, то вылазиет ошибка Notes Error: You Are Not Authorizied To Perform That Operation, хотя ниче не изменяю.... Хочу просто разобраться в чем проблема, а то с этой темой долго вожусь...
 

Medevic

Что это ? :)
Lotus team
10.12.2004
3 346
1
#6
Для: maliy
Поле должно иметь тип Readers или Authors. А название любое.
 

maliy

Well-known member
20.03.2007
164
2
#8
вот я и о том же..... У меня на форме два поля $Readers тип-Readers и adress(адресат кому хачу отправить) тип-Readers.
При создании дока в поле $Readers заношу ридера следующим кодом

...
Dim item As NotesItem
Set item = newdoc.AppendItemValue("$Readers",session.UserName)
item.IsReaders= True
...
сохраняю док, делаю ответы к нему , и открываю док в UI
патом уже в UI выбираю адресата и отправляю. все работает нормально.

Если меняю поле $Readers на Reader(меняю его имя) , то потом когда выбрал адресата уже , то есть в поле adress занес адресата и хочу отправить выдается ошибка Notes Error: You Are Not Authorizied To Perform That Operation.

По сути поменял только название поля с $Readers на Readers и в коде
Set item = newdoc.AppendItemValue("Readers",session.UserName) и все....

Почему ошибка вылазиет не пойму.....

P.S. Люди, пришлите плиз номера своих асек! Заранее благодарен.
 

Medevic

Что это ? :)
Lotus team
10.12.2004
3 346
1
#9
Представление по-умолчанию имеется? И оно доступно всем?
 

maliy

Well-known member
20.03.2007
164
2
#10
Да , есть представление по умолчанию, оно доступно всем...
 
L

LIGHT

#11
Блин такая же запарка всплыла.
Имею поле SendTo типа Authors - загоняю в него LN имя юзера - получаю полную шляпу - все видят
Вьюха дефолтовая есть, заморочка.
Для: maliy ты решил заморочку эту???
 
L

LIGHT

#12
Блин такая же запарка всплыла.
Имею поле SendTo типа Authors - загоняю в него LN имя юзера - получаю полную шляпу - все видят
Вьюха дефолтовая есть, заморочка.
Для: maliy ты решил заморочку эту???
 
L

LIGHT

#13
Блин такая же запарка всплыла.
Имею поле SendTo типа Authors - загоняю в него LN имя юзера - получаю полную шляпу - все видят
Вьюха дефолтовая есть, заморочка.
Для: maliy ты решил заморочку эту???
 
R
#14
Блин такая же запарка всплыла.
Имею поле SendTo типа Authors - загоняю в него LN имя юзера - получаю полную шляпу - все видят
Вьюха дефолтовая есть, заморочка.
Для: maliy ты решил заморочку эту???
An Authors field works in conjunction with Author access in the database ACL. If you assign users Author access in the ACL, they can read documents in the database but cannot edit their own documents. If you list those users in an Authors field, they can edit documents in the database.
Если вы создаете поле Author, то оно должно иметь свойство SUMMARY READ-WRITE ACCESS. Интересно, что если бы в документе имелось только поле Author, и не было бы поля Reader Names, каждый мог бы увидеть его. Но только пользователи с правами доступа Author к базе данных, перечисленные в поле Author, могут редактировать его, а также каждый, кто имеет права Editor или выше в ACL, независимо от присутствия его/ее имени в поле Author.

Однако, если имеется также поле Reader Names, поле Author служит как списком Reader, так и как списком Editor. Предположим, что имеется некто с правами доступа Editor в ACL, но его имя не указано ни в одном из полей. Этот пользователь не может видеть документ и, следовательно, не может редактировать его, даже если имеет права Editor для всех документов в базе данных. Если имя пользователя находится в поле Reader либо в поле Author документа (может иметься любое количество каждого типа), то этот пользователь может читать и редактировать документ.
 
F

fvoice

#16
if не находится ли бд на локалке?, если нет то
после того как заполнил readers сделай
Dim it As notesitem
Set it = Doc.Getfirstitem("Readers")
it.Isreaders = True
если да то
проверяем
Database->Access control...->Advansed - поставь галку "Enforce ..."
end if
+
Представление по-умолчанию имеется? И оно доступно всем?
+
имя нужно заносить в канонической форме т.е.

Код:
Set item = newdoc.AppendItemValue("$Readers",session.UserName)
- неврно

нужно:
Код:
Dim nam as NotesName
Set nam = session.CreateName(session.UserName)
Set item = newdoc.AppendItemValue("$Readers",nam.Canonical)