Отправление Сообщения С Определенной Информацией

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

  1. unescix

    unescix Гость

    Добрый день!

    Есть задача - с нужного документа беруться нужные поля и автоматически на e-mail отправляются конкретному адресату.
    Подскажите, как это должно работать и как это реализовать на lotus script?

    Спасибо!
     
  2. morpheus

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

    Регистрация:
    7 авг 2006
    Сообщения:
    3.927
    Симпатии:
    0
    Код (LotusScript):
    Sub SendAlert( maindoc as NotesDocument )
    Dim doc as NotesDocument

    Set doc = new NotesDocument( {тут любая база, может быть текущая} )

    Set Doc.ReplaceItemValue("Subject", maindoc.GetItemValue("MyFIELD") )

    Call notesDocument.Send( false, "me@acme.com" )
    End sub
     
  3. unescix

    unescix Гость

    спасибо! сейчас попробую...
     
  4. unescix

    unescix Гость

    так не работает, может как-нить на основе этого?
    а какой принцип формирования и отаравки сообщения?

    Код (LotusScript):
    Sub Click(Source As Button)

    Set docMail = db.CreateDocument
    docMail.Form = "Memo"
    docMail.SendTo = "me@acme.com"
    docMail.Subject = "Выставлен ДОП " + doc.ClientOrSupplier + doc.Name(0)

    docMail.Body = "Сегодня отмечает ДР " + doc.ContactName(0) + ". Компания: " + doc.PartnerNameR(0)
    Call docMail.Send(True, doc.DRSent)

    End Sub
     
  5. morpheus

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

    Регистрация:
    7 авг 2006
    Сообщения:
    3.927
    Симпатии:
    0
    1. ошибка тут
    docMail.Subject = "Выставлен ДОП " + doc.ClientOrSupplier(0) + doc.Name(0)
    Call docMail.Send(False , doc.DRSent)

    2. Что именно не работает, угадывать не умеем
    3. Ставте более однозначные вопросы
     
  6. unescix

    unescix Гость

    пардон! не дописал.
    ругается, что нельзя так указывать поле.
    Код (LotusScript):
    Set Doc.ReplaceItemValue("Subject", maindoc.GetItemValue("поле") )
     
  7. morpheus

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

    Регистрация:
    7 авг 2006
    Сообщения:
    3.927
    Симпатии:
    0
    unescix
    Call Doc.ReplaceItemValue ( ... )
     
  8. unescix

    unescix Гость

    а вообще, в теории как должно происходить?

    выбираем базу, выбираем документ, выбираем значения полей и добавляем их в сообщение....
    так?
     
  9. morpheus

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

    Регистрация:
    7 авг 2006
    Сообщения:
    3.927
    Симпатии:
    0
    unescix
    в общем можно и так, а можно и по другому.
     
  10. allex

    allex Гость

    Код (LotusScript):
    Sub Click(Source As Button)

    Set docMail = db.CreateDocument
    docMail.Form = "Memo"
    docMail.SendTo = "me@acme.com"
    docMail.Subject = "Выставлен ДОП " + doc.ClientOrSupplier + doc.Name(0)

    docMail.Body = "Сегодня отмечает ДР " + doc.ContactName(0) + ". Компания: " + doc.PartnerNameR(0)
    Call docMail.Send(True, doc.DRSent)

    End Sub
    Что есть doc

    Если так

    Set Doc.ReplaceItemValue("Subject", maindoc.GetItemValue("поле") )

    то смотрите чем разделение значений в "поле" происходит (должно быть запятые)
     
  11. unescix

    unescix Гость

    Код (LotusScript):
    Dim doc As NotesDocument

    Set doc = New NotesDocument(RequestNumber.nsf)
    Call Doc.ReplaceItemValue("Subject", maindoc.GetItemValue("Name") )
    Call Doc.Send(False, "123@gmail.com" )
    базу я указал, а как существующую форму указать?
     
  12. morpheus

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

    Регистрация:
    7 авг 2006
    Сообщения:
    3.927
    Симпатии:
    0
    а что это значит?
     
  13. nvyush

    nvyush Lotus team
    Lotus team

    Регистрация:
    22 апр 2009
    Сообщения:
    2.317
    Симпатии:
    0
    Код (LotusScript):
    Set doc = New NotesDocument(RequestNumber.nsf)
    Это что??? Не путайте имя базы в ОС и объект в памяти (переменную) типа NotesDatabase. Если у Вас есть инициализированный maindoc используйте maindoc.ParentDatabase:
    Код (LotusScript):
    Set doc = New NotesDocument(maindoc.ParentDatabase)
    > базу я указал, а как существующую форму указать?
    А это вообще о чём?
     
  14. unescix

    unescix Гость

    У меня есть база RequestNumber в ней есть форма "Доп операции", на которой есть поле Name.
    На форме кнопка с этим кодом, чтобы отправляло значение поля Name на указаный адрес.
    Базу я указал поле тоже указано, а форму где нужно прописывать?
     
  15. morpheus

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

    Регистрация:
    7 авг 2006
    Сообщения:
    3.927
    Симпатии:
    0
    unescix
    Вам срочно надо обучиться обьектной модели лотус-нотеса.

    Вставить в код с кнопкой на форме документа (в дизайнере)

    Код (LotusScript):
    Dim ws as new NotesUIWorkspace, doc as notesDoucment, db as NotesDataBase
    Set doc =ws.currentdocument.document
    Set db = doc.ParentDatabase

    Set docMail = db.CreateDocument
    docMail.Form = "Memo"
    docMail.From = "me"
    docMail.Subject = "Выставлен ДОП " + doc.ClientOrSupplier(0) + doc.Name(0)
    docMail.Body = "Сегодня отмечает ДР " + doc.ContactName(0) + ". Компания: " + doc.PartnerNameR(0)

    Call docMail.Send(False, doc.DRSent)
     
  16. unescix

    unescix Гость

    Огромное спасибо!
    Все работает.
    А Lotus я только начал изучать.
     
  17. morda

    morda Гость

    Здравствуйте! Вопрос такой: "Будет ли работать данный скрипт на вэбе?". То есть при использовании в xpages.
    Просто сам только учусь и поэтому всех тонкостей не знаю.
     
  18. morpheus

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

    Регистрация:
    7 авг 2006
    Сообщения:
    3.927
    Симпатии:
    0
    morda
    в общем - можно вызвать из хПагов агента на ЛС,
    в часвном случае - смотреть что и как
     
  19. hosm

    hosm * so what *

    Регистрация:
    18 май 2009
    Сообщения:
    2.450
    Симпатии:
    7
    это надо будет переписать:
    Dim ws as new NotesUIWorkspace, doc as notesDoucment
    Set doc =ws.currentdocument.document
    на вебе так нельзя.
     
Загрузка...

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