R
root
Дизайнер->База->Shared Code->Script Libraries->New Lotus Script Library-Declarations
Создаем процедуру в этой же библиотеки.
Сохраняем и называем его Delete Private Views
Designer->База данных->Other-Database Resource->DataBase Script
в Options пишем
в функции Query close пишем
Код:
Const APIModule = "NNOTES"
Const NOTE_CLASS_VIEW= &H0008
Declare Function OSPathNetConstruct Lib APIModule Alias "OSPathNetConstruct" _
( Byval NullPort As Long, Byval Server As String, Byval FIle As String, Byval PathNet As String) As Integer
Declare Function NSFDbOpen Lib APIModule Alias "NSFDbOpen" _
( Byval PathName As String, DbHandle As Long) As Integer
Declare Function NSFDbClose Lib APIModule Alias "NSFDbClose" _
( Byval DbHandle As Long) As Integer
Declare Function NIFFindPrivateDesignNote Lib "NNOTES" Alias "NIFFindPrivateDesignNote" _
( Byval hdb As Long, Byval NoteName As String, Byval NoteClass As Integer, NoteID As Long ) As Integer
Создаем процедуру в этой же библиотеки.
Код:
Sub DeletePrivateView(db As NotesDatabase, vname As String)
'Для открытия базы на сервере, используется функция для получения полного пути.
p$ = String(1024, " ")
OSPathNetConstruct 0, db.Server, db.FilePath, p$
'Эта функция берет путь к базе данных открывает ее и возращает ссылку на нее.
Dim hDB As Long
NSFDbOpen p$, hDB
'Эта функция фозвращает ID часного представления(form, view, folder, helpindex, macro, field,
'or replication formula )
Dim retNoteID As Long
Dim result As Integer
result = NIFFindPrivateDesignNote(hDB, vname, NOTE_CLASS_VIEW, retNoteID)
' если результат что то а не ноль тогда представления не найдены
If result = 0 Then
Dim doc As NotesDocument
' Получение приватного представления по ID
Set doc = db.GetDocumentByID( Hex$(retNoteID) )
Call doc.Remove( True )
Print "Removing : " & vname
End If
' Закрытие базы.
NSFDbClose hDB
End Sub
Сохраняем и называем его Delete Private Views
Designer->База данных->Other-Database Resource->DataBase Script
в Options пишем
Код:
Use "Delete Private Views"
Код:
Call DeletePrivateView(Source.Database , "здесь пишем название своего представления ")
'хочу сразу предупредить у меня представления на русском не работали только на английском