ОБСУЖДЕНИЕ

Скрытие поля Principal

70 ответов 27,8 тыс.
AI-выжимка обсуждения скоро
поле заполняю поле Кому
а что это за поле? вы уверены что его имя SendTo?
дебажите кнопку или агент (агент нинада дебажить - он на сервре д.б. запущен)
и док надо сохранить! перед запуском агента
 
если оно у вас (по непонятной причине) пустое - то смысла вызывать агент нет (он же его не заполняет)

Добавлено: выложилиб уже базу тестовую - чёт намудрили
 
Вспоминаем:
цель такая, что из почтовой базы отправляют письма, а приходить они на внешнюю и внутреннюю почту от определенного адреса (email компании)
в агенте пишу
Код:
	Set doc = db.GetDocumentByID(agent.ParameterDocID)

'Убираем отсюда эту ерунду (2 строчки), если SendTo было заполнено, то оно и так попадёт в док, ничего делать здесь не надо
Dim send As Variant
send = Split(doc.SendTo(0), ",")

'ищем тот самый "email компании", где он у вас находится (в настройках, в адресной книге сервера или ещё где-то...), подставляете в поля, как советовали здесь: https://codeby.net/threads/40632.html?view=findpost&p=198659

Call doc.Send(False, send)

Call doc.Remove(True)  'это если вы создаёте письмо прямо в почтовой базе, чтобы почта этими "письмами" не засиралась
Запускаю агент из меню иполучаю ошибку Invalid note id в Set doc = db.GetDocumentByID(agent.ParameterDocID)
Агент не надо запускать из меню (поставьте лучше в свойствах агента Триггер = "Он эвент", а в выпадающем списке "Агент лист селекшин", Таргет = "Ноне"), его надо запускать по кнопке с помощью RunOnServer!


Добавлено: откорректировал, т.к. ошибся, сорри
 
Агент не надо запускать из меню (поставьте лучше в свойствах агента Триггер = "Он эвент", а в выпадающем списке "Агент лист селекшин", Таргет = "Ноне"), его надо запускать по кнопке с помощью RunOnServer!
да оно так и сделано

выложилиб уже базу тестовую - чёт намудрили
база обычная почтовая + агент + на форме кнопка
просто не знаю, как здесь делать вложения
 
VladSh :rolleyes: там проблемы, что мы не знаем имени получателя (он где-то выбирается и не сохраняется в документе и недоступен агенту, отправляющему сообщения), а мейл компании - это должен быть отправитель.
просто не знаю, как здесь делать вложения
Расширенная форма и там смотреть, в общем 2й абзац link removed
 
VladSh, спасибо, чего-то уже совсем не замечаю....
 
станно, но если в агенте поменять send = doc.SendTO(0) на send = doc.From(0) , то письма приходят, но не тому кому надо
 
Код:
	Dim uidoc As NotesUIDocument 
Dim s As New NotesSession
Dim db As NotesDatabase
Dim doc As NotesDocument
Dim agent As NotesAgent
Set db = s.CurrentDatabase

Dim ws As New NotesUIWorkspace
Set uidoc=ws.CurrentDocument
If uidoc.ModifiedSinceSaved=True Then
Call uidoc.Save
End If 
Set doc1 = uidoc.Document
Call doc1.ReplaceItemValue("Principal","")	
Call doc1.ReplaceItemValue("Subject",doc1.Subject(0))
Call doc1.ReplaceItemValue("SendTo",doc1.EnterSendTo(0))
Call doc1.Save( False, True )
Set agent = db.GetAgent("(mailsend)")
Call agent.RunOnServer(doc1.NoteID)

вот так все отправляется

Добавлено: появилось еще два вопроса:
1) можно ли удалять письмо при отправке с Черновиков и сохранять в Отправленные
2) как при нажатии кнопки закрыть сразу закрывать письмо , без вопроса о сохранении или отправке....?
Код:
	Call uidoc.Save
uidoc.Close
что вначале необходимо добавить, чтобы SaveOptions заполнилось?

и еще сразу вопрос: send = Split(doc1.EnterSendTo(0), ",") если писать так когда выбрано несколько адресатов, то не смотря на то, что в дебагере показывает, что там несколько ФИО, все равно отправляет только одному. Как правильно записывать?
 
EnterSendTo - это круто!

1) можно ли удалять письмо при отправке с Черновиков и сохранять в Отправленные
Насколько я помню, то Черновики и Отправленные - это папки, т.е. по идее надо сделать RemoveFromFolder и MoveToFolder в другую.
Хотя всё это идеологически неправильно. А если пользователь удалит из отправленных?
Надо делать отдельную базу с "исходящими" доками, которые программно отправлять, т.е. они будут всегда в базе (запрет на удаление поставить), и статусы доку можно гибко прописывать, что типа "Отправлен" и т.д.

2) как при нажатии кнопки закрыть сразу закрывать письмо , без вопроса о сохранении или отправке....?
что вначале необходимо добавить, чтобы SaveOptions заполнилось?
Какие-то вопросы непонятные..

не смотря на то, что в дебагере показывает, что там несколько ФИО, все равно отправляет только одному. Как правильно записывать?
Да так и правильно. Я ещё NotesUIDocument.Refresh перед Save делаю..
А вообще всегда по одному отправляю - появляется возможность определить, на ком сбойнуло. NotesDocument.Send в цикле, разворачивая массив получателей.
 
Какие-то вопросы непонятные..
не подходит мне то, что при нажатии на кнопку письма отправляются, но при этом происходит не закрытие письма, а выдает сообщение: "Do you want to send, save or discard your changes& Chosse Cancel to continue editing"
Вот и пытаюсь от него избавиться
 
вбейте в форму поле типа CFD(computed for display): SaveOptions равно "00"
никоды спрашивать не буить, а при save - сохранит

Добавлено:
EnterSendTo - это круто!
а ведь цать раз спросили - как поле называется... :rolleyes:
 
а ведь цать раз спросили - как поле называется... :rolleyes:
Дык в том-то и дело, что не знал! С письмами работали обычно извне, т.е. когда канало SendTo, а из УЁв оказывается иначе...


1KIA
За отображение окошка ещё поле MailOptions отвечает (я бы попробовал "0").
В крайнем случае придётся бэкэндное сохранение делать.
 
Вот и пытаюсь от него избавиться
там в свойствах формы (или в каких-то кверях формы) прописано показывать диалог mailsend, не помню уже.... там от какого-то поля зависит, показывать или нет... скорее всего Влад прав, что это MailOptions.
 
все уже подразумевают, что девушка юзает стандартный шаблон? ;)
и пытается его корячить, огребая граблями (а скока там ещё их индусы разложили...)
не проще ли свою базу сделать?
 

Статистика тем

Создано
1KIA,
Последний ответ от
VladSh,
Ответы
70
Просмотры
27 821