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

  • Автор темы unescix
  • Дата начала
U

unescix

#1
Добрый день!

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

Спасибо!
 

morpheus

скриптописец
07.08.2006
3 915
1
#2
Код:
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
 
U

unescix

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

Код:
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
 

morpheus

скриптописец
07.08.2006
3 915
1
#5
1. ошибка тут
docMail.Subject = "Выставлен ДОП " + doc.ClientOrSupplier(0) + doc.Name(0)
Call docMail.Send(False , doc.DRSent)

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

unescix

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

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

morpheus

скриптописец
07.08.2006
3 915
1
#9
unescix
в общем можно и так, а можно и по другому.
 
A

allex

#10
Код:
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("поле") )

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

unescix

#11
Код:
Dim doc As NotesDocument

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

nvyush

Lotus team
22.04.2009
2 317
0
#13
Код:
Set doc = New NotesDocument(RequestNumber.nsf)
Это что??? Не путайте имя базы в ОС и объект в памяти (переменную) типа NotesDatabase. Если у Вас есть инициализированный maindoc используйте maindoc.ParentDatabase:
Код:
Set doc = New NotesDocument(maindoc.ParentDatabase)
> базу я указал, а как существующую форму указать?
А это вообще о чём?
 
U

unescix

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

morpheus

скриптописец
07.08.2006
3 915
1
#15
unescix
Вам срочно надо обучиться обьектной модели лотус-нотеса.

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

Код:
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)
 
U

unescix

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

morda

#17
unescix
Вам срочно надо обучиться обьектной модели лотус-нотеса.

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

Код:
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)
Здравствуйте! Вопрос такой: "Будет ли работать данный скрипт на вэбе?". То есть при использовании в xpages.
Просто сам только учусь и поэтому всех тонкостей не знаю.
 

morpheus

скриптописец
07.08.2006
3 915
1
#18
morda
в общем - можно вызвать из хПагов агента на ЛС,
в часвном случае - смотреть что и как
 

hosm

* so what *
18.05.2009
2 442
6
#19
это надо будет переписать:
Dim ws as new NotesUIWorkspace, doc as notesDoucment
Set doc =ws.currentdocument.document
на вебе так нельзя.