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

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

    Скидки до 10%

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

Getdocumentbyunid

  • Автор темы Guest
  • Дата начала
G

Guest

Я пытаюсь вытащить запись из представления при помощи команды GetDocumentByUNID, Ид записи запомнил когда пользователь выбирал запись из PickList. Код:

Set db = session.GetDatabase("Elephant/ICTP","Work/Docs/ContrACC1.nsf")
Set doc = db.GetDocumentByUNID(testID)

На GetDocumentByUNID(testID) он мне отвечает определить Ид Представления для БД не могу ;)
 
M

morpheus

Для: Денис Кириченко
проверте что ваша DB правильно инициилизировалась
 

Medevic

Что это ? :)
Green Team
10.12.2004
3 334
1
BIT
4
GetDocumentByUNID берет запись (документ) не из представления, а из базы.
Если вытащил UNID с помощью PickList, то почему бы вместо этого не получить коллекцию (NotesUIWorkspace.PickListCollection)?
 
G

Guest

Для: Денис Кириченко
проверте что ваша DB правильно инициилизировалась
Morpheus, а как это проверить?

GetDocumentByUNID берет запись (документ) не из представления, а из базы.
Если вытащил UNID с помощью PickList, то почему бы вместо этого не получить коллекцию (NotesUIWorkspace.PickListCollection)?

NotesUIWorkspace.PickListCollection, а это зачем еще надо?
 
O

Omh

Для: Денис Кириченко
Medevic дело говорит: что бы не делать двойную работу.
 

Medevic

Что это ? :)
Green Team
10.12.2004
3 334
1
BIT
4
<!--QuoteBegin-Omh+23:01:2008, 10:32 -->
<span class="vbquote">(Omh @ 23:01:2008, 10:32 )</span><!--QuoteEBegin-->что бы не делать двойную работу.
[snapback]94623" rel="nofollow" target="_blank[/snapback]​
[/quote]
Да там непонятно. Есть подозрение, что UNID хранится в поле документа. Т.е. выбран задолго до.

Для: Денис Кириченко
Кстати, какая точно ошибка? Что-то не видел, что бы GetDocumentByUNID возвращал такую ошибку. Метод выдает только одну - неверный UNID.
 
M

morpheus

<!--QuoteBegin-Денис Кириченко+23:01:2008, 09:28 -->
<span class="vbquote">(Денис Кириченко @ 23:01:2008, 09:28 )</span><!--QuoteEBegin-->Morpheus, а как это проверить?
[snapback]94616" rel="nofollow" target="_blank[/snapback]​
[/quote]
я имел в виду для NotesDocument и не посмотрел что Вам надо NotesViewEntry
 
O

Omh

Для: Medevic
Вполне, не осилил столь сложную задачу с утра...
 

Medevic

Что это ? :)
Green Team
10.12.2004
3 334
1
BIT
4
И лучше писать так:
Set db = session.GetDatabase("Elephant/ICTP","Work/Docs/ContrACC1.nsf", False)
Т.е. если база не найдена, то объект создаваться не будет.
И можно проверить:
If not (db is Nothing) then Set doc = db.GetDocumentByUNID(testID)
 
G

Guest

Да там непонятно. Есть подозрение, что UNID хранится в поле документа. Т.е. выбран задолго до.

100% сначала загнал все в поле:

picklist = workspace.PickListStrings( PICKLIST_CUSTOM, True,"server","db" ,"by status" ,"Выбор документа" ,"Пожалуйста выберите связанный документ" ,10 )
If ( Isempty( picklist ) ) Then
Messagebox "Отменено" , , "Документ не выбран"
Exit Sub
Else
Set session = New NotesSession
Forall plist In picklist
Cdoc.AccountLinks=Cdoc.AccountLinks(0)+plist+","
End Forall

Обект создался все Ок:
If not (db is Nothing) then Set doc = db.GetDocumentByUNID(testID)

ну как не все Ок, пишет что Couldn't get default View id for db (ИмяДБ)
 
O

Omh

Берёшь любое view, открываешь проперти и на второй закладке checkbox "Default when database in first openned"
Вообще, default view необходимо что бы была возможность вставлять линки скриптом у NotesRichtextItem'a
 
Мы в соцсетях:

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