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

  • Автор темы Автор темы 1KIA
  • Дата начала Дата начала
спасибо за все выше написанные ответы.
Скажите, а почему на лотус адреса отправляются, а на внешние нет? поле EnterSendTo заполнено адресом, а не приходит?
 
А вообще во внешний мир почта ходит?

Вообще обычно хватало SendTo. EnterSendTo, я так понимаю, поле для ручного ввода пользователем; думаю, что после отправки значения попадают из него в SendTo.

Добавлено: программно адресата мы пишем как раз в SendTo, и всё доходит.
 
заработало... это что-то с Лотусом.... выбило, переоткрыла и все ОТПРАВЛЯЕТСЯ


а все таки, может кто знает, то подскажите, как из Черновика переместить в Отправленные или может при отправке какой-то параметр необходимо добавлять и тогда автоматом переместится?
Это обе вьюхи, а не папки
 
Вообще лучше смотреть формулы отбора представлений и что-то решать (менять какое-то поле)..

С наскоку - надо после отправки:
Код:
Call doc.ReplaceItemValue("PostedDate", Now)  'заполняем поле
Call doc.Save(False, False)					'сохраняем док
 
VladSh
спасибо, за ответ, дома пришла и сама догадалась. При заполнении PostedDate сразу перемещается в Отправленные
 
опять возвращаюсь к вопросу:
если делать
Код:
Sub Click(Source As Button)
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))
send=doc1.EnterSendTo

copysend=doc1.EnterCopyTo

sendblind=doc1.EnterBlindCopyTo

Call doc1.ReplaceItemValue("Form","Memo")
Call doc1.ReplaceItemValue("SendTo",send)
Call doc1.ReplaceItemValue("BlindCopyTo",sendblind)
Call doc1.ReplaceItemValue("CopyTo",copysend)

Call doc1.Save( False, True )
Set agent = db.GetAgent("(mailsend)")
Call agent.RunOnServer(doc1.NoteID)
Call doc1.ReplaceItemValue("PostedDate",Now())
Call doc1.ReplaceItemValue("MailOptions","0")
'Call uidoc.save
uidoc.Close 
End Sub
если ставлю Call uidoc.save, то письмо помещается в отправленные и отправляется, но в Кому нет перечня никакого, а в свойствах SendTo=""
если 'Call uidoc.save убрать, то письмо остается в черновиках, зато в кому указана ФИО
 
если ставлю Call uidoc.save, то письмо помещается в отправленные и отправляется, но в Кому нет перечня никакого, а в свойствах SendTo=""
если 'Call uidoc.save убрать, то письмо остается в черновиках, зато в кому указана ФИО
Думаю, что порядок действий должен быть примерно такой:
Код:
Sub
...
Call doc1.ReplaceItemValue("MailOptions", "0")

On Error Goto ErrH	'Ставим обработчик на случай ошибок при сохранении
Call uidoc.Save
Call uidoc.Close

Set agent = db.GetAgent("(mailsend)")
Call agent.RunOnServer(doc1.NoteID)

'И лучше бы вообще эти 2 последние строчки делать в конце агента
Call doc1.ReplaceItemValue("PostedDate", Now)
Call doc1.Save(False, True)
Exit Sub

ErrH:
errMsg$ = Error$		'Что хотите тут пишите, выдаю просто текст ошибки
Msgbox errMsg$,, "Lotus Notes..."
Exit Sub
End Sub
Я об этом писал:
С наскоку - надо после отправки:
...
отправка у нас в агенте, т.е. дописывать поля (помещать в "Отправленные") надо бы в агенте.
 
так опять в Черновиках сохраняется
агент:
Код:
	Dim session As New NotesSession
Dim db As NotesDatabase	
Dim doc As NotesDocument
Dim agent As NotesAgent
Set db = session.CurrentDatabase
Set doc = New NotesDocument(db)
Set db = session.CurrentDatabase
Set agent = session.CurrentAgent
Set doc = db.GetDocumentByID(agent.ParameterDocID)

Dim send As Variant
Dim copysend As Variant
Dim sendblind As Variant

Dim recipients( 1 To 3 ) As Variant
recipients( 1 ) = send
recipients( 2 ) = copysend
recipients( 3 ) = sendblind


Call doc.Send( False, recipients )
Call doc.ReplaceItemValue("PostedDate", Now)
Call doc.ReplaceItemValue("MailOptions", "0")
Call doc.Save(False, True)
в коде
Код:
Sub Click(Source As Button)
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","")	
If doc1.Subject(0)="" Then
Call doc1.ReplaceItemValue("Subject",doc1.WebSubject(0))
Else
Call doc1.ReplaceItemValue("Subject",doc1.Subject(0))
End If
If doc1.SendTo(0)="" Then
send=doc1.EnterSendTo
copysend=doc1.EnterCopyTo
sendblind=doc1.EnterBlindCopyTo

Call doc1.ReplaceItemValue("Form","Memo")
Call doc1.ReplaceItemValue("SendTo",send)
Call doc1.ReplaceItemValue("BlindCopyTo",sendblind)
Call doc1.ReplaceItemValue("CopyTo",copysend)

Call doc1.Save( False, True )
Set agent = db.GetAgent("(mailsend)")
Call agent.RunOnServer(doc1.NoteID)

Call doc1.ReplaceItemValue("MailOptions", "0")

Call doc1.ReplaceItemValue("PostedDate", Now)
On Error Goto ErrH		Call uidoc.Save
Call uidoc.Close
Call doc1.ReplaceItemValue("PostedDate", Now)
Set agent = db.GetAgent("(mailsend)")
Call agent.RunOnServer(doc1.NoteID)

Exit Sub

ErrH:
errMsg$ = Error$	  
Msgbox errMsg$,, "Lotus Notes..."
Exit Sub
End Sub

во-первых создаються при отправке конфликты, а как отправляется опять буз заполненного поля Кому
 
Посмотрите внимательно свой код и мой. У меня нет перед GetAgent бэкэндного сохранения, там UIDoc сохраняется, отсюда и ваши траблы.
MailOptions - для отмены диалога, т.е., во-1 должно идти перед UI-сохранением, а во-2 в агенте оно как мёртвому припарка...
PostedDate тоже нет смысла прописывать 3 раза подряд, достаточно прописать в агенте.
2 раза вызывается агент...
<div class="sp-wrap"><div class="sp-head-wrap"><div class="sp-head folded clickable">Вот это всё</div></div><div class="sp-body"><div class="sp-content">
Код:
	Call doc1.Save( False, True )
Set agent = db.GetAgent("(mailsend)")
Call agent.RunOnServer(doc1.NoteID)

Call doc1.ReplaceItemValue("MailOptions", "0")

Call doc1.ReplaceItemValue("PostedDate", Now)
On Error Goto ErrH
Call uidoc.Save
Call uidoc.Close
Call doc1.ReplaceItemValue("PostedDate", Now)
Set agent = db.GetAgent("(mailsend)")
Call agent.RunOnServer(doc1.NoteID)

Exit Sub

ErrH:
errMsg$ = Error$	  
Msgbox errMsg$,, "Lotus Notes..."
Exit Sub
замените на мой код, должно работать.
 
Мы в соцсетях:

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