Решено Отправка письма автоматически

Тема в разделе "Lotus - Программирование", создана пользователем k85, 18 дек 2015.

  1. k85

    k85 Well-Known Member

    Регистрация:
    11 окт 2011
    Сообщения:
    137
    Симпатии:
    0
    в базе есть форма, в ней заполняют поля, далее нажатием кнопки, регистрируется новый пользователь
    Код (LotusScript):
    reg.Expiration = dt
    reg.IDType = ID_HIERARCHICAL
    reg.MinPasswordLength = 6    
    ...
    Call reg.RegisterNewUser(_
    LastName, _
    ...
    Set db2 = session.GetDatabase(resSer,  "names.nsf")
    If (db2.IsOpen) Then
     
    Set view = db2.GetView("($Users)")
    Call view.Refresh
    itemf=doc.GetItemValue("LastName")(0) +" "+doc.GetItemValue("FirstName")(0)
    Хотелось бы в той же форме автоматически отправлять письмо с настройками коннекшинов. Например в этой же форме с данными нажать кнопку, по которой будет создаваться письмо со вложенной кнопкой.
    С кнопкой вроде получается, а вот как автоматически создавать письмо и отправлять из базы не могу сообразить
    Может есть кто-то кто может помочь?
     
    #1 k85, 18 дек 2015
    Последнее редактирование модератором: 21 дек 2015
  2. k85

    k85 Well-Known Member

    Регистрация:
    11 окт 2011
    Сообщения:
    137
    Симпатии:
    0
    mSubject = Doc.Name(0) '"Письмо с настройками"
    TBody = { необходимо нажать кнопку. } &< и здесь должна быть кнопка
    ...note.DisplayName="name"
    note.Destination="name"
    note.OptionalNetworkAddress="name"...>
     
  3. susinmn

    susinmn Well-Known Member

    Регистрация:
    16 окт 2007
    Сообщения:
    530
    Симпатии:
    8
    Кнопку создаешь сам в настроечном документе в Rt поле. При создании письма ее копируешь.
    P.S.: сообщение сразу после регистрации, возможно, не отправится. Делай по расписанию и лови ошибки при отправке.
     
    3 пользователям это понравилось.
  4. k85

    k85 Well-Known Member

    Регистрация:
    11 окт 2011
    Сообщения:
    137
    Симпатии:
    0
    эх точно, тогда точно 1 кнопка регистрирует, обновляется Ак и потом нажимаю в той форме 2ую кнопку, по которому отправляется уже письмо
    С Rt поле не пойму, это поле в настроечном документе просто создать? пробую в самой форме создавать и при открытии формы мне в АК коннекшины сразу отправляет
     
    #4 k85, 18 дек 2015
    Последнее редактирование модератором: 18 дек 2015
  5. susinmn

    susinmn Well-Known Member

    Регистрация:
    16 окт 2007
    Сообщения:
    530
    Симпатии:
    8
    Создаешь форму с RT полем, создаешь док (*) по этой форме, в RT создаешь свою кнопку. При создании письма пользователю, получаешь (*) и копируешь
    Код (LotusScript):
    maildoc.principal="Отдел кадров"
    Set rtitem = New NotesRichTextItem(maildoc, "Body")
    maildoc.Subject = "Отдел кадров информирует, что " & startDate.DateOnly & " - первый день Вашего очередного отпуска"
    Call rtitem.AddNewline(2)
    Call rtitem.AppendText("Соответствующий документ открывается щелчком по иконке - ")
    Call rtitem.AppendDocLink(doc, "")
    Call rtitem.AddNewline(1)
     
    richStyle.Bold = True
    Call rtitem.AppendStyle(richStyle)
    Call rtitem.AppendText("Если Вы согласны с датами отпуска")
    richStyle.Bold = False
    Call rtitem.AppendStyle(richStyle)
    Call rtitem.AppendText(" - нажмите на кнопку ")
    Call rtitem.AppendRTItem(RtitemWithButton)
     
    #5 susinmn, 19 дек 2015
    Последнее редактирование модератором: 21 дек 2015
  6. k85

    k85 Well-Known Member

    Регистрация:
    11 окт 2011
    Сообщения:
    137
    Симпатии:
    0
    не могу никак понять
    Создаю форму ButDop , в ней поле Rich Text - ButDop (с необходимыми данными для заполнения)
    в основной форме, создаю кнопку
    Код (LotusScript):
    doc.principal=doc.FIO(0)
    Set rtitem = New NotesRichTextItem(doc, "Body")
    doc.Subject = "Настройки  "
    Call rtitem.AddNewline(2)
    Call rtitem.AppendText(".... - ")
    Call rtitem.AppendDocLink(doc, "")
    Call rtitem.AddNewline(1)
     
    Dim rt As NotesRichTextItem
    Dim richStyle As NotesRichTextStyle
    Set richStyle = s.CreateRichTextStyle
     
    ' получить из формы ButDop поле ?
    Set db = s.CurrentDatabase
    [B]Set memo = db.GetForm("ButDop") ' - находит нормально[/B]
     
    [B]Set rt=memo.GetFirstItem("ButDop") ' - does not exist[/B]
     
     
    richStyle.Bold = True
    Call rtitem.AppendStyle(richStyle)
    Call rtitem.AppendText("....  ")
    richStyle.Bold = False
    Call rtitem.AppendStyle(richStyle)
    Call rtitem.AppendText(" - нажмите на кнопку ")
    Call rtitem.AppendRTItem( rt )
    Что не так делаю?
     
    #6 k85, 21 дек 2015
    Последнее редактирование модератором: 21 дек 2015
  7. lmike

    lmike нет, пердело совершенство
    Команда форума Lotus team

    Регистрация:
    27 авг 2008
    Сообщения:
    6.082
    Симпатии:
    300
    коллеги, похвально что вы оформляете код в теги, но будьте последовательны ;) - указывайте соот. тип(lotusscript)
     
  8. k85

    k85 Well-Known Member

    Регистрация:
    11 окт 2011
    Сообщения:
    137
    Симпатии:
    0
    не заметно было, исправлюсь в дальнейшем
     
  9. lmike

    lmike нет, пердело совершенство
    Команда форума Lotus team

    Регистрация:
    27 авг 2008
    Сообщения:
    6.082
    Симпатии:
    300
    это есть только в готовом доке (т.е. в БД надо создать настроечный док и искать его, например по линку или UNID)
     
  10. k85

    k85 Well-Known Member

    Регистрация:
    11 окт 2011
    Сообщения:
    137
    Симпатии:
    0
    @lmike,
    @susinmn,
    огромное спасибо!
    еще осталась одна проблема в той кнопке, что в письме
    Код (LotusScript):
     Call uidoc.Save()
    Call uidoc.FieldSetText("SaveOptions", "0")
    Set doc=uidoc.Document
    Call uidoc.Close(True)
    Call uidoc.DeleteDocument()
    удаляется в корзину, а как удалить вообще это письмо, после нажатия и внесения данных ?
     
  11. lmike

    lmike нет, пердело совершенство
    Команда форума Lotus team

    Регистрация:
    27 авг 2008
    Сообщения:
    6.082
    Симпатии:
    300
    @k85, непонятно - зачем его сохранять, а потом устанавливать поле, а потом удалять?
    да еще получать doc (зачем-то), а удалять по UI
    ну на всяк случай
    [DOUBLEPOST=1450707741,1450707495][/DOUBLEPOST]и SaveOptions прописывают в бэкэнде (обычно), да еще получают само поле и устанавливают SaveToDisk в False
    Код (LotusScript):
      Dim item As NotesItem
      Set item = doc.replaceItemvalue({SaveOptions},{0})
      item.SaveToDisk = False
      Call doc.Save(True, False)
     
     
Загрузка...
Похожие Темы - Отправка письма автоматически
  1. JohnLemon
    Ответов:
    18
    Просмотров:
    1.580
  2. AlexanderShad
    Ответов:
    9
    Просмотров:
    3.144
  3. susinmn
    Ответов:
    4
    Просмотров:
    3.329
  4. azat20
    Ответов:
    2
    Просмотров:
    2.039
  5. wowa
    Ответов:
    8
    Просмотров:
    3.980

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