запрет на удаление документов с конкретного представления

lionk

Well-known member
05.04.2007
310
2
#1
ктото знает как запертить удалять доки из определёных представлений,
я так понимаю надо обрабатывать событие Querydocumentdelete, но никак не могу найти где выбраны документы направленные на удаление.

может ктото уже подобное пытался реализовать?
 

lionk

Well-known member
05.04.2007
310
2
#3
Sub Querydocumentdelete(Source As Notesuidatabase, Continue As Variant)
Dim ddoccol As NotesDocumentCollection
Dim ddoc As NotesDocument

Set ddoccol=Source.Documents
Set ddoc=ddoccol.GetFirstDocument
Print ddoc.ParentView.Name
Print ddoc.ParentView.Aliases(0)
End Sub


свойство ddoc.ParentView - пустое

свойство Source.Database.Unprosseddocuments - содержит 0 документов незвисимо от количества удаляемых документов

может ещё чтото посоветуете?
 
G

Guest

#4
Лучше бери NotesUIWorkspace.CurrentView.View, это точно сработает.
 

Omh

Lotus team
04.07.2007
2 210
1
#6
Для: lionk
А для чего такая проверка?
В целях защиты или что-то?
 

Omh

Lotus team
04.07.2007
2 210
1
#8
Коллекцию удаляемых документов надо брать через db.UnprocessedDocuments без вопросов.
Просто добавить проверку вида

Код:
Const PROTECTED_VIEW_NAME = "View"

Dim ws as New NotesUIWorkspace
Dim UIView as NotesUIView
Set UIView = ws.CurrentView
if Not UIView is Nothing then
dim View as NotesView
Set View = UIView.View
if View.Name = PROTECTED_VIEW_NAME then
Continue = False
Exit Sub
end if
End if
Там можно/нужно проверять на алиасы, но это я так, псевдокод типа накидал B)


Для: lionk
А ты там случаем не через script удаляешь?
Типа doc.Remove(True)?
 

lionk

Well-known member
05.04.2007
310
2
#9
Через NotesUIWorkspace можно получить имя вида, потестил вроде работает нормально, чёто я совсем забыл что можно юзать NotesUIWorkspace в Database


Для: Omh
код нормальный токо исправь, Dim ws as New NotesUIWorkspace.

а надо мне чтобы запретить удалять доки из внедрённых представлений, потомучто эти доки должны удалятся через скрипт попутно выполняя определённые действия.
по правеьному надо бы зделать одну функцию в постделит, которая бы в зависимости от значений в доке делала бы пересчёты или нет, а не вешать на кнопки в видах всю эту логику.

Но база мною токо поддерживается и во всю логику вникать лень, то тупой заперт кнопочного удаления из определённых представлений решит мою проблему.

всем спасибо, тема закрыта.