• 15 апреля стартует «Курс «SQL-injection Master» ©» от команды The Codeby

    За 3 месяца вы пройдете путь от начальных навыков работы с SQL-запросами к базам данных до продвинутых техник. Научитесь находить уязвимости связанные с базами данных, и внедрять произвольный SQL-код в уязвимые приложения.

    На последнюю неделю приходится экзамен, где нужно будет показать свои навыки, взломав ряд уязвимых учебных сайтов, и добыть флаги. Успешно сдавшие экзамен получат сертификат.

    Запись на курс до 25 апреля. Получить промодоступ ...

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

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

unescix

Добрый день!

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

Спасибо!
 
M

morpheus

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

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

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

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

morpheus

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

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

unescix

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

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

morpheus

unescix
в общем можно и так, а можно и по другому.
 
A

allex

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

Код:
Dim doc As NotesDocument

Set doc = New NotesDocument(RequestNumber.nsf)
Call Doc.ReplaceItemValue("Subject", maindoc.GetItemValue("Name") )
Call Doc.Send(False, "123@gmail.com" )

базу я указал, а как существующую форму указать?
 
N

nvyush

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

unescix

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

morpheus

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

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

morda

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.
Просто сам только учусь и поэтому всех тонкостей не знаю.
 
M

morpheus

morda
в общем - можно вызвать из хПагов агента на ЛС,
в часвном случае - смотреть что и как
 
H

hosm

это надо будет переписать:
Dim ws as new NotesUIWorkspace, doc as notesDoucment
Set doc =ws.currentdocument.document
на вебе так нельзя.
 
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!