вью

  • Автор темы jmp
  • Дата начала
A

Akupaka

я бы так предложил:

Код:
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
 
M

morpheus

Medevic
а где ж переход к след. документу

Akupaka
а где-ж удаление из базы ненужных доков?
 

Kizarek86

Green Team
20.07.2007
875
8
BIT
126
Medevic
так вообще не 1 документ удалятся не будет, а надо только чтобы определённой формы не удалялись)
 
A

Akupaka

товарисч Morpheus, Вы заметили в обработчике какого события код написан? :)
 
M

morpheus

Akupaka
пля... я понял... всё сваливаю с форума
 

Medevic

Что это ? :)
Green Team
10.12.2004
3 334
1
BIT
6

Kizarek86

Green Team
20.07.2007
875
8
BIT
126
В этом же событии смотришь NotesUIWorkspace.CurrentView.ViewName
дык это уже дело второе))) можно чтобы вообще не удалялись) не только из вью. по поводу вью я думал есть способ в событиях самой вью неразрешать удаление документов.
 

Medevic

Что это ? :)
Green Team
10.12.2004
3 334
1
BIT
6
Ну ладно. :)
Хотя никто не мешает скопировать ссылки и удалить документ из самого документа. ;)

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

Kizarek86

Green Team
20.07.2007
875
8
BIT
126
Вот в общем что получилось:

Код:
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

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

Akupaka

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

Код:
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


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

Turochek

Добрый день.
Подскажите, как обработать событие OnClick
на вьюхе, используя LotusScript
Спасибо
 
A

Akupaka

по-идее, обработать можно только те события, для которых нотес сам создал шаблон обработчика...
 
T

Turochek

а кто-нибудь пользуется
ActiveX- контролами
т.е. - Create-Object-Control
какие плюсы/минусы
спасибо
 
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!