Getdocumentbyunid

Тема в разделе "Библиотеки скриптов", создана пользователем morpheus, 8 апр 2008.

  1. morpheus

    morpheus скриптописец

    Регистрация:
    7 авг 2006
    Сообщения:
    3.927
    Симпатии:
    0
    Очень часто в скрипте необходимо получиться NotesDocument зная его UNID . И для этого у класса NotesDataBase есть ф-ция Getdocumentbyunid. Вот только заковырка в том что частень эта ф-ция возвращает ошибку ( недоступен по разным причинам )
    Предлагаю использовать "обёртку" для этой ф-ции дополнив её обработчиком ошибок и некоторыми проверками

    Код (Text):
    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, и не станет райзить ошибки

    Обсуждение
     
  2. hosm

    hosm * so what *

    Регистрация:
    18 май 2009
    Сообщения:
    2.450
    Симпатии:
    7
    из той же темы небольшое замечание насчет проверки на итемы (справедливо и для IsEmpty):
     
Загрузка...
Похожие Темы - Getdocumentbyunid
  1. wowa
    Ответов:
    62
    Просмотров:
    24.709

Поделиться этой страницей