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

  • Автор темы Автор темы 1KIA
  • Дата начала Дата начала
поле заполняю поле Кому
а что это за поле? вы уверены что его имя 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.
 
все уже подразумевают, что девушка юзает стандартный шаблон? ;)
и пытается его корячить, огребая граблями (а скока там ещё их индусы разложили...)
не проще ли свою базу сделать?
 
Мы в соцсетях:

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