• 🔥 Бесплатный курс от Академии Кодебай: «Анализ защищенности веб-приложений»

    🛡 Научитесь находить и использовать уязвимости веб-приложений.
    🧠 Изучите SQLi, XSS, CSRF, IDOR и другие типовые атаки на практике.
    🧪 Погрузитесь в реальные лаборатории и взломайте свой первый сайт!
    🚀 Подходит новичкам — никаких сложных предварительных знаний не требуется.

    Доступ открыт прямо сейчас Записаться бесплатно

вью

  • Автор темы Автор темы jmp
  • Дата начала Дата начала
я бы так предложил:

Код:
Sub Querydocumentdelete(Source As Notesuidatabase, Continue As Variant)
Dim db As NotesDatabase
Dim collection As NotesDocumentCollection
Dim doc As NotesDocument
Dim uidoc As NotesUIDocument
Set db = Source.Database

Dim doc2 As notesDocument
Set collection = Source.Documents

Set doc = collection.GetFirstDocument
While Not(doc Is Nothing)
Set doc2 = collection.GetNextDocument(doc)

If doc.getitemvalue("Form")(0) = "Spr" Then
Call collection.DeleteDocument(doc)
End If

Set doc = doc2
Wend

' просто так, в принципе
continue = collection.Count > 0
End Sub
 
Medevic
а где ж переход к след. документу

Akupaka
а где-ж удаление из базы ненужных доков?
 
Medevic
так вообще не 1 документ удалятся не будет, а надо только чтобы определённой формы не удалялись)
 
товарисч Morpheus, Вы заметили в обработчике какого события код написан? :)
 
Akupaka
пля... я понял... всё сваливаю с форума
 
В этом же событии смотришь NotesUIWorkspace.CurrentView.ViewName
дык это уже дело второе))) можно чтобы вообще не удалялись) не только из вью. по поводу вью я думал есть способ в событиях самой вью неразрешать удаление документов.
 
Ну ладно. :)
Хотя никто не мешает скопировать ссылки и удалить документ из самого документа. ;)

Хотя никто не мешает скопировать ссылки и удалить документ из самого документа. smile.gif
Это если в зависимости от имени представления удалять. :)
 
Вот в общем что получилось:

Код:
Sub Querydocumentdelete(Source As Notesuidatabase, Continue As Variant)
On Error Goto ends
Dim db As NotesDatabase
Dim collection As NotesDocumentCollection
Dim doc As NotesDocument
Dim uidoc As NotesUIDocument
Set db = Source.Database

Dim doc2 As notesDocument
Set collection = Source.Documents

Set doc = collection.GetFirstDocument
While Not(doc Is Nothing)
Set doc2 = collection.GetNextDocument(doc)

If doc.getitemvalue("Form")(0) = "Spr" Then
Call collection.DeleteDocument(doc)
End If

Set doc = doc2
Set doc2 = collection.GetNextDocument(doc)
Wend
Messagebox "Нельзя удалять справочники.",16,"Внимание!"

continue = collection.Count > 0
ends:
Exit Sub
End Sub

Без обработчика ошибок, при удалении документа другой формы вылезает ошибка, хз почему, будет время разберусь)
 
хм... а зачем тот мессадж при каждом удалении? :)
плюс ошибка из-за того, что ты добавил строки см. ниже

Код:
Sub Querydocumentdelete(Source As Notesuidatabase, Continue As Variant)
'On Error Goto ends
Dim db As NotesDatabase
Dim collection As NotesDocumentCollection
Dim doc As NotesDocument
Dim uidoc As NotesUIDocument
dim shMess as boolean
Set db = Source.Database

Dim doc2 As notesDocument
Set collection = Source.Documents
shMess = false
Set doc = collection.GetFirstDocument
While Not(doc Is Nothing)
Set doc2 = collection.GetNextDocument(doc)

If doc.getitemvalue("Form")(0) = "Spr" Then
shMess = true
Call collection.DeleteDocument(doc)
End If

Set doc = doc2
'Set doc2 = collection.GetNextDocument(doc) ' эта строка лишняя! и из-за нее всегда будет ошибка, т.к. в конце-концов, doc станет равным Nothing, т.е. вся коллекция будет обработана, и метод GetNextDocument(Nothing) будет генерить ошибку!
Wend
if shMess then Messagebox "Нельзя удалять справочники.",16,"Внимание!"

continue = collection.Count > 0
ends:
Exit Sub
End Sub


кроме всего прочего, нужно обработать спец. условия, чтобы была хоть какая-то возможность удаления этих доков, т.к. такая возможность когда-нить да появится...
 
Добрый день.
Подскажите, как обработать событие OnClick
на вьюхе, используя LotusScript
Спасибо
 
по-идее, обработать можно только те события, для которых нотес сам создал шаблон обработчика...
 
а кто-нибудь пользуется
ActiveX- контролами
т.е. - Create-Object-Control
какие плюсы/минусы
спасибо
 
Мы в соцсетях:

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