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

Тема в разделе "Lotus - Программирование", создана пользователем MuTe, 9 ноя 2007.

  1. MuTe

    MuTe Гость

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

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

    morpheus скриптописец

    Регистрация:
    7 авг 2006
    Сообщения:
    3.927
    Симпатии:
    0
    Ну да можно, Вы же сами написали
    AppendDocLink - параметром может быть обьект - представление, база, документ
    и текст тодже можно вставить
     
  3. MuTe

    MuTe Гость

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

    morpheus скриптописец

    Регистрация:
    7 авг 2006
    Сообщения:
    3.927
    Симпатии:
    0
    При чем тут представлеие - документ просто открываеться должен вот и всё
     
  5. MuTe

    MuTe Гость

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

    morpheus скриптописец

    Регистрация:
    7 авг 2006
    Сообщения:
    3.927
    Симпатии:
    0
    <!--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]
    Уверен что не ацкая, просто разобраться надо. Что не понятно

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

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

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

    Kee_Keekkenen Well-Known Member

    Регистрация:
    5 сен 2006
    Сообщения:
    616
    Симпатии:
    4
    Call itemRT.ADDLINKBYIDS("", "", , docVisa.UniversalID, "Нажмите на ссылку, чтобы открыть документ...")
    'недокументированная ф-я LN добавляет ссылку на документ по UNID. формат ADDLINKBYIDS(REPLICAID As String, SERVERHINT As String, [VIEWUNID], [NOTEUNID], [COMMENT], [HOTSPOTTEXT]). Пустые первые параметры указывают, что документ в текущей БД
     
  8. morpheus

    morpheus скриптописец

    Регистрация:
    7 авг 2006
    Сообщения:
    3.927
    Симпатии:
    0
    <!--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]
    Не советовал бы, хоть ф-ция и стабильно, но дл начинающих не стоит этим пользоваться
     
  9. Medevic

    Medevic Что это ? :)
    Lotus team

    Регистрация:
    10 дек 2004
    Сообщения:
    3.346
    Симпатии:
    2
    Для: MuTe
    doc в базе присутствует?
    Короче, давай весь код.

    А лучше пользуйся @MailSend с параметром [IncludeDocLink].
     
  10. MuTe

    MuTe Гость

    Код (Text):
    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
     
  11. Medevic

    Medevic Что это ? :)
    Lotus team

    Регистрация:
    10 дек 2004
    Сообщения:
    3.346
    Симпатии:
    2
    Для: MuTe
    Тебе не кажется, что ссылку ты на самого себя пихаешь?

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

    MuTe Гость

    А как нада написать чтоб сохранялся?

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

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

    Medevic Что это ? :)
    Lotus team

    Регистрация:
    10 дек 2004
    Сообщения:
    3.346
    Симпатии:
    2
    Для: MuTe
    Определись на какой документ тебе нужно ссылку делать.
     
  14. MuTe

    MuTe Гость

    На документ из которого рассылка... на CurrentDocument так сказать =)
    т.е. его создали, рассылку сделали, сохранили...
    В рассылке пришел линк на документ который создали.
     
  15. Medevic

    Medevic Что это ? :)
    Lotus team

    Регистрация:
    10 дек 2004
    Сообщения:
    3.346
    Симпатии:
    2
    Для: MuTe
    Ну так делай.
    Код (Text):
    Dim ws As New NotesUIWorkspace
    Dim uidoc As NotesUIDocument
    ...
    Set uidoc = ws.CurrentDocument
    ...
    Call rtitem.AppendDocLink(uidoc.Document, "...")
    ЗЫ. Кстати, если документ не сохранили, то логичнее делать рассылку после сохранения документа.
     
  16. MuTe

    MuTe Гость

    Спасибо =)

    Вернее БОЛЬШОЕ спасибо =))))) :)
     
Загрузка...

Поделиться этой страницей