Форум программистов, компьютерный форум, киберфорум
HCL Notes: Программирование
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.86/108: Рейтинг темы: голосов - 108, средняя оценка - 4.86
0 / 0 / 0
Регистрация: 30.11.2007
Сообщений: 43
1

Ссылка на документ.

04.12.2007, 09:46. Показов 20592. Ответов 12
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
В поле (класс NotesRichTextItem) документа
была создана ссылка на другой документ.
(Call rtitem.AppendDocLink(ndoc, ndoc.ID(0)) ).
Мне нужно узнать существует ли документ на который указывает эта ссылка в БД.
Не знаю как "программно" обратиться по ссылке :D.
Версия Lotus 5.0.

Спасибо за помощь.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
04.12.2007, 09:46
Ответы с готовыми решениями:

ссылка на документ
Добрый день!Помогите пожалуйста советом. Существует следующая задача . Был создан договор,если по...

Ссылка на документ
Добрый всем день =) Есть многопользовательская база. Когда создается новый документ, чтобы о нем...

Ссылка на документ
Пытаюсь в событии QueryOpen документа вставить в ричтекст ссылку на документ из другой базы. Все...

Ссылка на документ
Здравствуйте. У меня такая проблема беру ссылку и сохраняю в текстовое поле документа...

12
0 / 0 / 0
Регистрация: 05.07.2007
Сообщений: 102
04.12.2007, 11:30 2
Код
Dim session As New NotesSession
Dim doc As NotesDocument  главный документ на сервере
Set doc = .........
Dim rti As NotesRichTextItem     поле BugReferences для временного хранения ссылок
Set rti = doc.GetFirstItem(BR)
If rti Is Nothyng Then
Messagebox "Document contains no links",, "No links"
uidoc.FieldClear(BR)
Call uidoc.Refresh()
Exit Sub
End If
Dim rtnav As NotesRichTextNavigator
Set rtnav = rti.CreateNavigator
Dim rtlink As NotesRichTextDocLink
Set rtlink = rtnav.GetFirstElement(RTELEM_TYPE_DOCLINK)
While Not(rtlink Is Nothyng )
If rtlink.DocUNID = String$(32, "0") Then
Messagebox "Link does not have a doc component",, "No doc"
Exit Sub
End If
Dim dblink As New NotesDatabase("", "") база данных документа на который указывает ссылка
If Not dblink.OpenByReplicaID(session.CurrentDatabase.Server, rtlink.DbReplicaID) Then
Messagebox "No local replica",, "Cannot find database"
Exit Sub
End If
Dim linkDoc As NotesDocument  документ на который указывает ссылка
Set linkDoc = dblink.GetDocumentByUNID(rtlink.DocUNID)
If linkDoc Is Nothyng Then
Messagebox "Can not find AFER",, "No doc"
Exit Sub
End If
.................
Set rtlink = rtnav.GetNextElement(RTELEM_TYPE_DOCLINK)
Wend
0
0 / 0 / 1
Регистрация: 30.06.2007
Сообщений: 2,153
04.12.2007, 11:45 3
Для: PavelT100
Версия Lotus 5.0.
0
1 / 1 / 0
Регистрация: 04.08.2006
Сообщений: 2,950
04.12.2007, 11:46 4
<!--QuoteBegin-PavelT100+5:12:2007, 11:17 -->
<span class="vbquote">(PavelT100 @ 5:12:2007, 11:17 )</span><!--QuoteEBegin-->Dim rtlink As NotesRichTextDocLink
[snapback]88450" rel="nofollow" target="_blank[/snapback]?[/quote]
Сказал же автор - версия 5ка
0
0 / 0 / 0
Регистрация: 30.11.2007
Сообщений: 43
04.12.2007, 12:18 5
В 5 версии,как уже было замечено выше, классов NotesRichTextDocLink и NotesRichTextNavigator
к сожелению нет.
Вопрос поднимался на многих форумах, такое ощущение,что в 5 версии решения нет...
0
1 / 1 / 0
Регистрация: 04.08.2006
Сообщений: 2,950
04.12.2007, 12:27 6
Для: olegber
имхо призодит на ум разобрать содержимое рт-поля и искать унид докумета и проверять его на существование
0
0 / 0 / 0
Регистрация: 30.11.2007
Сообщений: 43
04.12.2007, 12:44 7
Для: Morpheus
Всё перебрал, разобрал.
Не нашёл таких свойств или методов в NotesRichTextItem для получения UNID документа.
Может быть как-нибудь через дизайн?
0
0 / 0 / 0
Регистрация: 21.10.2007
Сообщений: 37
04.12.2007, 14:29 8
Может использовать служебное поле $Links
0
0 / 0 / 0
Регистрация: 30.11.2007
Сообщений: 43
04.12.2007, 15:13 9
Для: serEJa Shabalin
Такого поля нет в этих документах.
Ссылки содержатся в поле NotesRichTextItem.

Для: serEJa Shabalin
Документы создавались не с помощью формы, а примерно так set doc=db.CreateDocument.
И следовательно у них нет никаких служебных полей типа $Links,$Revisions...
Хотя если их открыть с помощью формы и пересохранить то поле $Links с нужным UNID создаётся
(это уже хорошо).
Одна проблема документов около 10000
0
0 / 0 / 0
Регистрация: 04.12.2004
Сообщений: 3,329
04.12.2007, 16:22 10
Для: olegber
@Command([ToolsRefreshSelectedDocs]) не помогает?
0
0 / 0 / 0
Регистрация: 30.11.2007
Сообщений: 43
04.12.2007, 16:49 11
Из всего выше сказанного решение моей задачи сводится к следующему:
1)Обновить все документы(например командой @Command([ToolsRefreshSelectedDocs])), чтобы появились поля $links.
2)Из этих полей взять необходимый UNID.
Этот метод для меня скорее всего не подойдёт: так как поля (а их около 100) в документах содержат информацию из других БД. и обновлять все документы будет "непрактично".
Подругому видимо никак нельзя в 5 версии lotus.
0
1 / 1 / 0
Регистрация: 04.08.2006
Сообщений: 2,950
05.12.2007, 10:02 12
Почитайте как тут - может поможет
0
0 / 0 / 0
Регистрация: 30.11.2007
Сообщений: 43
05.12.2007, 13:04 13
Не помогло.. ;)
0
05.12.2007, 13:04
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
05.12.2007, 13:04
Помогаю со студенческими работами здесь

Ls Ссылка на документ в базе
Добрый день, использую следующий код Создание Word-документа Set word =...

Ломается ссылка на документ
Добрый день! Есть БД по типу служебных записок, в ней же создаются, в ней же согласуются и...

Ссылка на текущий документ (web)
Необходимо при сохранении документа отправлять сообщение на определённый адрес с ссылкой на текущий...

Ссылка на родительский документ из Response
Господа, необходим Ваш совет. Существует некая иерархия документов, допустим фирма и ее контракты....


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
13
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru