M
morpheus
Очень часто в скрипте необходимо получиться NotesDocument зная его UNID . И для этого у класса NotesDataBase есть ф-ция Getdocumentbyunid. Вот только заковырка в том что частень эта ф-ция возвращает ошибку ( недоступен по разным причинам )
Предлагаю использовать "обёртку" для этой ф-ции дополнив её обработчиком ошибок и некоторыми проверками
и если документ не доступен или неполноценный то функция тихонько вернёт нам Nothing, и не станет райзить ошибки
Обсуждение
Предлагаю использовать "обёртку" для этой ф-ции дополнив её обработчиком ошибок и некоторыми проверками
Код:
Function GetDocByUNIDA(db As NotesDatabase, sunid As String) As NotesDocument
On Error Goto err_GetDocByUNIDA
Set GetDocByUNIDA = db.GetDocumentByUNID(sunid)
If Len(GetDocByUNIDA.UniversalID)=0 Then Set GetDocByUNIDA = Nothing ' Проверка что УНИД не пусто
If Not GetDocByUNIDA.IsValid Then Set GetDocByUNIDA = Nothing ' Проверка что валидный
If IsEmpty(GetDocByUNIDA.Items) Then Set GetDocByUNIDA = Nothing ' Проверка что есть итемы
Exit Function
err_GetDocByUNIDA:
Err = 0
Exit Function
End Function
и если документ не доступен или неполноценный то функция тихонько вернёт нам Nothing, и не станет райзить ошибки
Обсуждение