Sub Querysave(Source As Notesuidocument, Continue As Variant)
On Error Goto handler ' обработчик ошибок
Const FuncName = {Sub "Querysave" }' обработчик ошибок
Dim ErrStr As String' обработчик ошибок
Dim db As NotesDatabase 'переменная класса базы данных
Dim doc As NotesDocument 'переменная класса документ базы данных
Dim currDoc As NotesDocument 'переменная класса документ базы данных
Dim view As notesView ' класс вид
Dim ws As New NotesUIWorkspace
'Dim ws As New NotesUIWorkspace 'текущий открытый документ
Dim ndc As NotesDocumentCollection 'переменная класса колекции документов
Set doc = source.Document 'получаем ссылку на текущий документ "заднего плана"
Set db = doc.ParentDatabase 'получаем ссылку на текущую БД
If ( source.FieldGetText( "OrgTitle" ) = "" ) Then
Messagebox( "Заполните поле наименование организации" )
Call source.GotoField( "OrgTitle" )
continue = False
Else
If ( source.FieldGetText( "OrgID" ) = "" ) Then
Messagebox( "Отсутствует краткое наименование организации" )
Call source.GotoField( "OrgID" )
continue = False
Else
Set view=ws.CurrentDatabase.Database.GetView("(Hidden)\Main View")
Set ndc=view.GetAllDocumentsByKey(source.FieldGetText( "OrgID" ), True)
If ndc.Count > 0 Then
Set currDoc= ndc.GetFirstDocument
Do While Not currDoc Is Nothing
If currDoc.UniversalID <> doc.UniversalID Then
Msgbox "Документ с таким названием уже существует.",16
continue = False
Exit Sub
End If
Set currDoc= ndc.GetNextDocument(currDoc)
Loop
End If
Messagebox( "Данные успешно сохранены" )
End If
End If
Goto Endh' обработчик ошибок
handler:' обработчик ошибок
ErrStr = FuncName & ": " & Err &", в стр " & Erl & nLine & Error$' обработчик ошибок
Msgbox ErrStr, 16, "Error!"' обработчик ошибок
Resume endh' обработчик ошибок
Endh:' обработчик ошибок
End Sub