Открыть ссылку в письме

Sanchezz86

Well-known member
16.06.2010
72
0
#1
Доброго дня!!

Если кому не сложно, помогите решить такую странную задачку.

При получении в почту внутреннего письма, с лотусовой ссылкой на документ, при клике на само письмо, в представлении входящие, открывался уже документ по ссылке а не само письмо!

Очень уж нужно, так что буду очень признателен!!
 
13.03.2009
625
1
#2
допиленный почтовый шаблон? на форме Memo стоит auto-launch First Document Link(3-я закладка св-в формы) ?
 

Akupaka

А че я?.. О.о
04.10.2007
3 360
1
#5
:lovecodeby:

Sanchezz86, а как ты отправляешь письмо?
Попробуй в той БД откуда отправляется письмо сделать форму хранимой в документе и свойство ей вышеуказанное включи. А в почтовой базе его выключи!
Вот только, если отправляемый документ создается на бэкэнде, то ComputeWithForm сделай. Правда, я не уверен, сохранится ли форма при этом. Попробуй :)
 

Akupaka

А че я?.. О.о
04.10.2007
3 360
1
#8
Вот только, если отправляемый документ создается на бэкэнде, то ComputeWithForm сделай. Правда, я не уверен, сохранится ли форма при этом
Не, похоже, не сохраняет так форму... паганка... НО нам и не надо! :lovecodeby:

Я нашел другое решение!

Предварительные требования. Нужна форма в нашей рабочей БД (не в почтовом шаблоне!) с именем "MyNotification", на которой расположено RichText поле с именем "Link". В свойствах формы включен автозапуск первой ссылки на документ.
Агент создает в памяти документ-уведомление и отправляет его по указанному адресу, в документ запихивается ссылка на первый попавшийся документ в БД.
Перед запуском агента в БД должен быть хотя бы один документ! Иначе не сработает код.

Код:
Sub Initialize
Dim ss As New NotesSession
Dim doc As NotesDocument
Dim linkRt As NotesRichTextItem
Dim firstDoc As NotesDocument

Set firstDoc = ss.CurrentDatabase.Alldocuments.Getfirstdocument()

Set doc = ss.CurrentDatabase.CreateDocument()
Call doc.Replaceitemvalue("Form", "MyNotification")

Set linkRt = doc.Createrichtextitem("link")
Call linkRt.Appenddoclink(firstDoc, "comment")

Call doc.Send(True, "Адрес получателя")
End Sub
ВСЕ! И никаких изменений почтового шаблона! :)
 

Sanchezz86

Well-known member
16.06.2010
72
0
#9
Боюсь в моем "монстре"-сэде такое будет очень сложно сделать.... не буду вдаваться в подробности..

а если в форму мемо добавить ссылку на саму себя, т.е. если нет связи открыть себя??? :lovecodeby:
 

Akupaka

А че я?.. О.о
04.10.2007
3 360
1
#10
Боюсь в моем "монстре"-сэде такое будет очень сложно сделать.... не буду вдаваться в подробности..
Ты шутишь? Добавить в БД форму с одним полем и установленным свойством, и пару строк кода = "очень сложно сделать"???
Ну тогда извини, что я зря потратил время на твой вопрос.
 

Sanchezz86

Well-known member
16.06.2010
72
0
#11
Извини, конечно!
идея хорошая, но у меня не работает!!
или я чего то не догоняю(((
 

Sanchezz86

Well-known member
16.06.2010
72
0
#13
При попытке агентом рассылки создать письмо, форма не заполняется!!
и не могу подцепить адресата!!

З.Ы. как этот агент запускать??
 

Akupaka

А че я?.. О.о
04.10.2007
3 360
1
#14
Sanchezz86 ,
ты на какой-то другой волне вещаешь :)

Сделай форму "MyNotification" в БД со свойством "auto-launch First Document Link" и одним RT-полем "Link".

Теперь добавь библиотеку, например, "MyNotifications" с одной функцией (либо можешь ее прямо в агенте рассылки сделать):

Код:
Public Sub SendMyNotification(ALinkDoc as NotesDocument, ARecipients as Variant)
' ALinkDoc - документ, который будет открываться при открытии уведомления из почты
' ARecipients - массив строк, нотес-имена пользователей, которым необходимо отправить уведомление
Dim ss As New NotesSession
Dim myNotificationDoc As NotesDocument
Dim linkRt As NotesRichTextItem
Set myNotificationDoc = ss.CurrentDatabase.CreateDocument()
Call myNotificationDoc.ReplaceItemValue("Form", "MyNotification")
Set linkRt = myNotificationDoc.CreateRichTextItem("Link")
Call linkRt.AppendDocLink(ALinkDoc, "comment")
Call myNotificationDoc.Send(True, ARecipients)
End Sub
В агенте рассылки вызываешь функцию:
Код:
' someDoc - документ, который будет открываться при открытии уведомления из почты
' someRecipients - массив строк, нотес-имена пользователей, которым необходимо отправить уведомление

Call SendMyNotification(someDoc, someRecipients)
Вроде ничего сложного? :(
Пробуй, получай конкретные результаты в виде ошибок или в виде требуемых, а потом, если нужно задавай дополнительные вопросы.
Либо, если есть вопросы конкретные уже сейчас, то задавай их. А то "При попытке агентом рассылки создать письмо, форма не заполняется!!" - это вопрос для тех, кто знает, что там у тебя за форма и т.п.