Общие вопросы > Разработка приложений
При попытке удалить ACLentry пишет ошибку 4005, которая не имеет описания.
Zinych:
тогда удаляемая запись является последним манагером в этой БД,
попробуйте поставить default манагером, если вы оставляете его одного
Sergey_st85:
Вфяснил. Все записи записаны в полном формате записи записи, а не в кратком как "Воробьев В. А./Pens" например.
Вот код, который выставит манагером сервак и дефаулт в ноакесс только с репликацией правом.
Set ACL=db.ACL
Set newACL=newdb.ACL
Set newACLentry=newACL.GetFirstEntry
While Not newACLentry Is Nothing
Set ACLentryToDel=newACLentry
Set newACLentry=newACL.GetNextEntry(newACLentry)
If Ucase(ACLentryToDel.Name)<>Ucase("CN=MopSrv01/O=IFDK") Then
If Instr(Ucase(ACLentryToDel.Name),Ucase("DEFAULT"))=0 Then
Call ACLentryToDel.Remove
Else
ACLentryToDel.CanCreateDocuments=False
ACLentryToDel.CanCreateLSOrJavaAgent=False
ACLentryToDel.CanCreatePersonalAgent=False
ACLentryToDel.CanCreatePersonalFolder=False
ACLentryToDel.CanCreateSharedFolder=False
ACLentryToDel.CanDeleteDocuments=False
ACLentryToDel.CanReplicateOrCopyDocuments=True
ACLentryToDel.IsAdminReaderAuthor=False
ACLentryToDel.IsAdminServer=False
ACLentryToDel.IsGroup=False
ACLentryToDel.IsPerson=False
ACLentryToDel.IsPublicReader=False
ACLentryToDel.IsPublicWriter=False
ACLentryToDel.IsServer=False
ACLentryToDel.Level=0
Forall xxx In ACLentryToDel.Roles
If xxx<>"" Then Call ACLentryToDel.EnableRole(xxx)
End Forall
End If
Else
ACLentryToDel.CanCreateDocuments=True
ACLentryToDel.CanCreateLSOrJavaAgent=True
ACLentryToDel.CanCreatePersonalAgent=True
ACLentryToDel.CanCreatePersonalFolder=True
ACLentryToDel.CanCreateSharedFolder=True
ACLentryToDel.CanDeleteDocuments=True
ACLentryToDel.CanReplicateOrCopyDocuments=True
ACLentryToDel.IsAdminReaderAuthor=True
ACLentryToDel.IsAdminServer=True
ACLentryToDel.IsGroup=False
ACLentryToDel.IsPerson=False
ACLentryToDel.IsPublicReader=True
ACLentryToDel.IsPublicWriter=True
ACLentryToDel.IsServer=True
ACLentryToDel.Level=6
Forall xxx In ACLentryToDel.Roles
Call ACLentryToDel.EnableRole(xxx)
End Forall
End If
Wend
Set newACLentry=newACL.CreateACLEntry("Anonymous",0)
newACLentry.CanReplicateOrCopyDocuments=True
Call newACL.Save()
Sergey_st85:
И тут же другой вопрос: че за шняга:
newACLentry.EnableRole
newACLentry.DisableRole
дизаблю - в асл не увижу, или что?
Zinych:
это функции,
ставят и снимают галочки соответственно с ролей:
call newACLentry.EnableRole("роль")
Sergey_st85:
Но ведь нет галочек в ACL, если ее в GUI смотреть. Есть запись. Есть роли. Усё. Нет галочки ДЛЯ ЗАПИСИ...
Навигация
Перейти к полной версии