@mailsend-Как сделать в нём массовую рассылку

  • Автор темы Sandro
  • Дата начала
S

Sandro

Гость
#1
И снова не умный вопрос))) Есть задача разослать ссылку на документ нескольким адресатам, ну я сделал кнопочку с выбором пользователей из базы, которая добавляет почтовый адрес (через запятую, а ля родная почта), потом делаю @MailSend(поле со списком...
Короче @MailSend пытается адрес воспринять как один (((

В мануале писшут

sendTo
Text or text list. The primary recipient(s) of the mail memo.

Не могу догнать , как этот text list организовать
 
K

Klido

Гость
#2
список построй через ":" должны быть элементы
 
S

Sandro

Гость
#3
Через ":" не помогло :-( , сделал стандартную выборку через свойства поля name
 

nvyush

Well-Known Member
Lotus team
22.04.2009
2 317
0
48
Подмосковье
#4
Через ":" не помогло :-( , сделал стандартную выборку через свойства поля name
Если вбивать адреса "ручками", то в свойствах у поля должно быть на первой заклдке включено "Allow multiple values", на третьей выбраны допустимые разделители (зпт, тчк с зпт и т.п.).
Если загонять значения "собаками", то через двоеточие.
Если скриптом - то сперва генерить массив или юзать функции типа ArrayAppend, Split. Лотус-имена д.б. в канонической форме иначе возможны траблы.
 

xKlonx

Well-Known Member
Lotus team
10.09.2009
410
0
31
Украина, Киев
#5
Sandro
Код:
adrress1:="адрес1";
addres2:="адрес2";
@MailSend(adrress1:addres2;"";"";"Новое мероприятие")
Попробуй так

Добавлено: Sandro
Код:
				Dim w As New NotesUIWorkspace	 
Dim uidoc As NotesUIDocument		
Dim session As New NotesSession
Dim db As NotesDatabase
Dim doc As NotesDocument
Dim rtitem As NotesRichTextItem
Dim Line1 As String	
Dim address(1 To 50) As String	

address(1) = "адрес1"
address(2) = "адрес2"

line1 = "Нажмите на иконку чтобы открыть документ --> "
Set db = session.CurrentDatabase
Set uidoc = w.CurrentDocument	
Set doc = uidoc.Document
doc.Form = "Memo"
doc.SendTo = address
Set rtitem = New NotesRichTextItem( doc, "Body" )
Call rtitem.AddNewline(1)
Call rtitem.AppendText( line1 )
Call rtitem.AppendDocLink( doc,"" )
doc.Subject = "Новое мероприятие "
Call doc.Send( False )
doc.Save True, True
uidoc.Close
Так на скрипте,работает проверял)
 

xKlonx

Well-Known Member
Lotus team
10.09.2009
410
0
31
Украина, Киев
#6
Sandro
Получилось?
Есть ещё вариант,тоже проверял работает:
Создаёте поле типа DialogList, в свойствах поставте галочку Allow multiple values, на второй табе указывайте Use Address dialog for choices.
На кнопку или событие вешаете код:
Код:
@MailSend(address;"";"";"Новое мероприятие";"")
Где address - наше поле.Вот и всё
 
S

Sandro

Гость
#7
Короче не получалось у меня , по причине того что док отсылаемый создаётся через dialogbox, добавил твой код для отправки почты, всё нормально, но при открытии 3-раза выдаёт ошибку "Не удаётся найти форму :", потом открывается и всё нормально, с какого перепугу он форму f_plan то требует?
Код:
Sub Initialize
Dim WS As New NotesUIWorkspace

Set ND= ws.CurrentDocument.Document
Set doc = New notesdocument(ws.currentdatabase.database)
Call doc.MakeResponse(ND) 
Continue=ws.DialogBox("f_plan",,,False,False,False,False,"Введите данные",doc,True,False,True)
If Not Continue Then
Call doc.RemovePermanently(True)
Exit Sub 
End If

doc.form="f_plan" 
Call doc.ComputeWithForm(True,False)
Call doc.Save(True,True,True)

Dim rtitem As NotesRichTextItem
Dim Line1 As String	
Dim address(1 To 50) As String	
address(1) = "- - -"
REM	address(2) = ""
line1 = "Нажмите на иконку чтобы открыть документ --> "
doc.SendTo = address
Set rtitem = New NotesRichTextItem( doc, "Body" )
Call rtitem.AddNewline(1)
Call rtitem.AppendText( line1 )
Call rtitem.AppendDocLink( doc,"" )
doc.Subject = "Новое мероприятие "
Call doc.Send( False )

Messagebox "Отработало",, "Success"


End Sub
 

nvyush

Well-Known Member
Lotus team
22.04.2009
2 317
0
48
Подмосковье
#8
Sandro
Почитайте в справке про NotesUIWorkspace.DialogBox.
А ругается, видимо, на строчке

Continue=ws.DialogBox("f_plan",,,False,False,False,False,"Введите данные",doc,True,False,True)

Форма "f_plan" есть в базе, откуда идёт отправка или нет?
 

hosm

* so what *
18.05.2009
2 442
9
42
Kiev, Ukraine
#11
В почту шлем? Тогда "Memo", например.
Код:
	call doc.ReplaceItemvalue("Form", "Memo")
Call doc.Send( False )
Добавлено: Формы f_plan нет в почтовой БД :rolleyes: Я угадала?
 
S

Sandro

Гость
#13
XRomaX респект , человек, ни одной догадки они 100% ответы
 
S

Sandro

Гость
#15
OKEN еспешили, спасибо

Добавлено: Народ, может подскажите ещё , как из поля (Name) с множественным значением получить массив ?
 
K

Klido

Гость
#16
оно и есть массив только в понимании список :) дальше - смотря что делать с ним надо....
 

nvyush

Well-Known Member
Lotus team
22.04.2009
2 317
0
48
Подмосковье
#18
Добавлено: Народ, может подскажите ещё , как из поля (Name) с множественным значением получить массив ?
В принципе любое поле простого типа (текст, число, дата) и есть одномерный массив. Если флаг многозначности сброшен, то с одним значением. При работе с Names полями надо иметь ввиду, что получаем массив строк с именами в канонической форме, для перевода в другие формы нужно пользовать NotesName или собак+evaluate.