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

  • Автор темы Автор темы lionk
  • Дата начала Дата начала
L

lionk

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

может ктото уже подобное пытался реализовать?
 
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 документов незвисимо от количества удаляемых документов

может ещё чтото посоветуете?
 
Лучше бери NotesUIWorkspace.CurrentView.View, это точно сработает.
 
Для: lionk
А для чего такая проверка?
В целях защиты или что-то?
 
Коллекцию удаляемых документов надо брать через 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)?
 
Через NotesUIWorkspace можно получить имя вида, потестил вроде работает нормально, чёто я совсем забыл что можно юзать NotesUIWorkspace в Database


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

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

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

всем спасибо, тема закрыта.
 
Мы в соцсетях:

Взломай свой первый сервер и прокачай скилл — Начни игру на HackerLab

Похожие темы