• Курсы Академии Кодебай, стартующие в мае - июне, от команды The Codeby

    1. Цифровая криминалистика и реагирование на инциденты
    2. ОС Linux (DFIR) Старт: 16 мая
    3. Анализ фишинговых атак Старт: 16 мая Устройства для тестирования на проникновение Старт: 16 мая

    Скидки до 10%

    Полный список ближайших курсов ...

Если документа нет в базе, возвращает ошибку.

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

Akupaka

Кстати, не всегда. Я уже кажется писал об этом. Инода возвращает нулевой документ. На форуме ibm проблема была озвучена. Что с этим делать не понятно.
Поэтому, я как-то больше доверяю представлению с поиском по ключу.

Хм... на сколько мне известно, то т.з. "пустой" документ - это документ, к которому пользователь, выполняющий метод, не имеет доступа на уровне Readers-полей.
Т.е. если в документе есть Readers-поле, со значением: "CN=Вася Пупкин/...", а текущий пользователь Петя Васечкин, то вызов метода вернет "полуинициализированный" объект NotesDocument'а :)
В таких случаях его можно вычислить, вроде, только по итемах - если массив Items пустой... или =EMPTY, точно не помню...
 
M

morpheus

Для: Akupaka
несовсем.... пустой документ это инвалид, и вычисляетсья он свойством IsValid которое у таких документов False
 
S

Sandr

Для: Akupaka
несовсем.... пустой документ это инвалид, и вычисляетсья он свойством IsValid которое у таких документов False

А вот и нифига...
Если искать док по getDocumentByUNID и пользователь не имеет к нему доступа, то полученный документ будет валидным (IsValid вернет тру :D) там надо проверять на IsEmpty(doc.items)...
 
A

Akupaka

Для: Akupaka
несовсем.... пустой документ это инвалид, и вычисляетсья он свойством IsValid которое у таких документов False
мы в таких случаях называем их невалидными :D это могут быть окурки документов, к примеру... а пустые - именно валидные, но у которых не доступны остальные свойства...
 
F

fedotxxl

Объясните теперь мне пожалуйста
Всю жизнь писал
Код:
if not nd is nothing then
и все было нормально... теперь валиды, инвалиды, пустые айтемы... что это??? Где это нужно?
 
M

morpheus

Для: fedotxxl
ну представте что у вас nd - не Nothing .. Вы щасливо начинаете с ним раблотаьт и бац ... ошибка... из ниоткуда казалось бы
 
F

fedotxxl

Для: Morpheus
Никогда ещё не встречал такой ситуации...
Как правильно писать-то? Сначала проверять на существований документа, потом на существование айтемов?
 
S

Sandr

Для: Morpheus
Никогда ещё не встречал такой ситуации...
Как правильно писать-то? Сначала проверять на существований документа, потом на существование айтемов?

Ага сначала на существование, потом на валидность, а потом на наличие итемов...
 
O

Omh

Для: Всех
Ну помоему, такая куча проверок, это немного черезчур.

Вроде IsEmpty(Doc.Items) будет, если у тебя нет даже прав reader'a на документ?
Или в таком случае он просто не вернётся с помощью GetDocumentByUNID?
А в каком случае Doc.IsValid будет False?

Кстати, именно тут ф-ия возвращающая Boolean начинает рулить, т.к. все проверки можно всунуть именно внутрь ф-ии и снаружи не городить всю кучу If-ов.

Так что ф-ия вида GetDocByUNID(db, doc, UNID) возвращающая boolean - то, что доктор прописал.
Попробуйте - Вам понравиться :)
 
A

Akupaka

еще NotesDocument.IsDeleted (boolean) нужно проверять :)

isValid = False, в случае, если документ является "окурком" репликации, например, т.е. еще не документ :D или уже не документ ))
 
Мы в соцсетях:

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