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

  • Автор темы MuTe
  • Дата начала
M

MuTe

#1
Добрый всем день =)

Есть многопользовательская база. Когда создается новый документ, чтобы о нем узнали другие
пользователи есть кнопка, она рассылает напоминания.
В рассылке содержится текст и ссылка. Текст примерно такой: "В базе новый документ, посмотрите его
пожалуйста <_< , а ссылка на представление.
Можно сделать так, чтобы ссылка была не на представление, а на документ из которого производилась рассылка? или если нельзя, то как вставить текст из поля SUBJECT в тему рассылки, или в текст?
 

morpheus

скриптописец
07.08.2006
3 915
1
#2
Ну да можно, Вы же сами написали
AppendDocLink - параметром может быть обьект - представление, база, документ
и текст тодже можно вставить
 
M

MuTe

#3
Ну да можно, Вы же сами написали
AppendDocLink - параметром может быть обьект - представление, база, документ
и текст тодже можно вставить
Я знаю, что может. Но когда прописываю в doclink:
Call rtitem.AppendDocLink(doc, db.Title)
Call rtitem.AppendText( "--" + doc.заемщик(0) )
и рассылаю, пытаясь зайти по ссылке получаю что - документ не найден в представлении...
 

morpheus

скриптописец
07.08.2006
3 915
1
#4
При чем тут представлеие - документ просто открываеться должен вот и всё
 
M

MuTe

#5
Должен открываться, но блин =( выдает ошибку.
Замучался уже биться с этой вселенской несправедливостью.
Причем такая же операция, с открытием представления или формы, проходит без проблем.
У меня где-то валяется база в которой в документе, из которого шла рассылка,
с помощью getitemvalue и appendtext формировалось письмо, состоящее только из полей в этом документе. Но там прога ацкая, я что-то в ней копался, копался и не разобрался.
Morpheus, может ты подскажешь как значения полей из документа, преобразовать в переменные и
формировать из них письмо?
 

morpheus

скриптописец
07.08.2006
3 915
1
#6
<!--QuoteBegin-MuTe+9:11:2007, 10:44 -->
<span class="vbquote">(MuTe @ 9:11:2007, 10:44 )</span><!--QuoteEBegin-->Но там прога ацкая
[snapback]84952" rel="nofollow" target="_blank[/snapback]​
[/quote]
Уверен что не ацкая, просто разобраться надо. Что не понятно

вот так вот присваиваем переменной значеие поля ( первое в мультиполях)
Код:
Dim My_Var as String

doc ... ' докумет

My_Var = getitemvalue( "заемщик")(0)
My_Var = doc.заемщик(0)
 

Kee_Keekkenen

Well-known member
05.09.2006
639
4
#7
Call itemRT.ADDLINKBYIDS("", "", , docVisa.UniversalID, "Нажмите на ссылку, чтобы открыть документ...")
'недокументированная ф-я LN добавляет ссылку на документ по UNID. формат ADDLINKBYIDS(REPLICAID As String, SERVERHINT As String, [VIEWUNID], [NOTEUNID], [COMMENT], [HOTSPOTTEXT]). Пустые первые параметры указывают, что документ в текущей БД
 

morpheus

скриптописец
07.08.2006
3 915
1
#8
<!--QuoteBegin-Kee_Keekkenen+9:11:2007, 10:52 -->
<span class="vbquote">(Kee_Keekkenen @ 9:11:2007, 10:52 )</span><!--QuoteEBegin-->Call itemRT.ADDLINKBYIDS
[snapback]84954" rel="nofollow" target="_blank[/snapback]​
[/quote]
Не советовал бы, хоть ф-ция и стабильно, но дл начинающих не стоит этим пользоваться
 

Medevic

Что это ? :)
Lotus team
10.12.2004
3 346
1
#9
Для: MuTe
doc в базе присутствует?
Короче, давай весь код.

А лучше пользуйся @MailSend с параметром [IncludeDocLink].
 
M
#10
Код:
Sub Click(Source As Button)

Dim answer As Integer
answer = Msgbox("Вы уверены что 1й этап завершен?", 4, "Запуск рассылки")
If answer = "6" Then

Dim s As NotesSession
Dim db As NotesDatabase
Dim rtitem As NotesRichTextItem
Dim doc As NotesDocument
Dim subj As Variant
Dim view As NotesView
Dim cur As NotesDocument

Set s = New NotesSession
Set db = s.CurrentDatabase
Set doc = New NotesDocument(db)
Set view = db.GetView("По этапам")
' рассылка
Dim adresses (1 To 3) As String
adresses(1) = ""
adresses(2) = ""
adresses(3) = ""
' письмо

doc.form = "memo"
Doc.sendto = adresses
doc.subject = ("Мониторинг Кредитных заявок")
Set rtitem = New NotesRichTextItem(doc,"body")
Call rtitem.AddNewline ( 1 )
Call rtitem.AppendText ( "Добрый день. ляляляляля. ")
Call rtitem.AddNewline ( 4 )
Call rtitem.AppendDocLink(doc, doc.заемщик(0) )
Call rtitem.AppendDocLink(view,"По филиалам")
doc.Send ( True )
Msgbox "Напоминания отправлены"


Else
Msgbox "Нет, так нет."
End If

End Sub
 

Medevic

Что это ? :)
Lotus team
10.12.2004
3 346
1
#11
Для: MuTe
Тебе не кажется, что ссылку ты на самого себя пихаешь?

Код:
Call rtitem.AppendDocLink(doc, doc.заемщик(0) )
Call rtitem.AppendDocLink(view,"По филиалам")
doc.Send ( True )
Причем документ создается в одной базе, но не сохряняется там. Так что всё правильно, что у тебя ошибку показывает.
 
M
#12
А как нада написать чтоб сохранялся?

Call rtitem.AppendDocLink(doc, doc.заемщик(0) )
Call rtitem.AppendDocLink(view,"По филиалам")
Это я уже просто так вбивал... мало ли заработает =)

у меня там было:Call rtitem.AppendDocLink(doc, "body")
Call rtitem.Appendtext("--", doc.заемщик(0) )
 

Medevic

Что это ? :)
Lotus team
10.12.2004
3 346
1
#13
Для: MuTe
Определись на какой документ тебе нужно ссылку делать.
 
M
#14
Для: MuTe
Определись на какой документ тебе нужно ссылку делать.
На документ из которого рассылка... на CurrentDocument так сказать =)
т.е. его создали, рассылку сделали, сохранили...
В рассылке пришел линк на документ который создали.
 

Medevic

Что это ? :)
Lotus team
10.12.2004
3 346
1
#15
Для: MuTe
Ну так делай.
Код:
Dim ws As New NotesUIWorkspace
Dim uidoc As NotesUIDocument
...
Set uidoc = ws.CurrentDocument
...
Call rtitem.AppendDocLink(uidoc.Document, "...")
ЗЫ. Кстати, если документ не сохранили, то логичнее делать рассылку после сохранения документа.
 
M
#16
Для: MuTe
Ну так делай.
Код:
Dim ws As New NotesUIWorkspace
Dim uidoc As NotesUIDocument
...
Set uidoc = ws.CurrentDocument
...
Call rtitem.AppendDocLink(uidoc.Document, "...")
ЗЫ. Кстати, если документ не сохранили, то логичнее делать рассылку после сохранения документа.
Спасибо =)

Вернее БОЛЬШОЕ спасибо =))))) :)