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

Тема в разделе "Lotus - Программирование", создана пользователем 1KIA, 12 янв 2011.

  1. 1KIA

    1KIA Гость

    помогите пожалуйста
    НЕобходимо письмо отправлять без указания ОТ , т.е. без Principal
    Пробую сделать кнопку с след. кодом, но не могу понять как из текущего письма взять данные из полей Subject и SendTo
    Код (Text):
        Dim s As New NotesSession
    Dim db As NotesDatabase
    Dim mailDoc As NotesDocument
    Set db = s.CurrentDatabase 
    Set mailDoc = db.CreateDocument


    mailDoc.Form = "Memo"
    mailDoc.Principal = ""
    mailDoc.SMTPOriginator = ""
    mailDoc.DisplaySent = ""
    mailDoc.Subject = "TEST"
    mailDoc.Importance = "1"

    Dim otpr As Variant
    otpr = maildoc.getItemValue("SendTo")(0)

    Call mailDoc.Replaceitemvalue("SendTo", otpr)
    Call mailDoc.Send(False)
     
  2. hosm

    hosm * so what *

    Регистрация:
    18 май 2009
    Сообщения:
    2.450
    Симпатии:
    7
    что есть из "текущего письма"?

    (0) не надо, если адресатов несколько.
    maildoc - это вновь созданный документ, нет у него этого поля, оно заполяется в следующем далее коде.
    Могу предложить смотреть поле в NotesUIWorkSpace.CurrentDocument.Document (текущий в уи) или текущих во вьюхе (NotesUIView.CaretNoteID или Documents - выделенных галкой)
     
  3. 1KIA

    1KIA Гость

    OKEN
    может я вообще не с той стороны подошла. Мне надо просто при отправке писем не заполнять Principal . Может тогда есть другой вариант?

    может можно как-то на кнопке Отправить переделать :
    Код (Text):
    Principal:=" ";
    SMTPOriginator:=" ";
    MEMO_SEND:="1024";
    FIELD ActionInProgress:=MEMO_SEND;
    @If(@Command([FileSave]);@Command([FileCloseWindow]);@Return(""))
    Все равно приходит от кого именно отправилось
     
  4. lmike

    lmike нет, пердело совершенство
    Команда форума Lotus team

    Регистрация:
    27 авг 2008
    Сообщения:
    6.083
    Симпатии:
    300
    какая цель письма без ОТ?
     
  5. hosm

    hosm * so what *

    Регистрация:
    18 май 2009
    Сообщения:
    2.450
    Симпатии:
    7
    может.
    У меня просто другая проблема была - как раз надо было заполнять поля Principal и INetFrom, так как отправка шла в агенте.
     
  6. 1KIA

    1KIA Гость

    lmike
    цель такая, что из почтовой базы отправляют письма, а приходить они на внешнюю и внутреннюю почту от определенного адреса (email компании)
     
  7. hosm

    hosm * so what *

    Регистрация:
    18 май 2009
    Сообщения:
    2.450
    Симпатии:
    7
    должны приходить? подкорректируйте, я потом удалю мессагу... сорри за занудство...
    Если должны приходить, то заполнить поля
     
  8. nvyush

    nvyush Lotus team
    Lotus team

    Регистрация:
    22 апр 2009
    Сообщения:
    2.317
    Симпатии:
    0
    Непосредственно класть в mail.box. doc.Send, насколько я помню, сам проставляет отправителя.
     
  9. xKlonx

    xKlonx Lotus team
    Lotus team

    Регистрация:
    10 сен 2009
    Сообщения:
    412
    Симпатии:
    0
    Код (LotusScript):
    Dim s As New NotesSession
    Dim db As NotesDatabase
    Dim mailDoc As NotesDocument
    Set db = s.CurrentDatabase 
    Set mailDoc = db.CreateDocument


    mailDoc.Form = "Memo"
    Call    mailDoc.ReplaceItemValue("Principal"," ")  ' в скобки пробел, таким образом скрывает принципал
    mailDoc.SMTPOriginator = ""
    mailDoc.DisplaySent = ""
    mailDoc.Subject = "TEST"
    mailDoc.Importance = "1"

    Dim otpr As Variant
    otpr = maildoc.getItemValue("SendTo")(0)

    Call mailDoc.Replaceitemvalue("SendTo", otpr)
    Call mailDoc.Send(False)
     
  10. 1KIA

    1KIA Гость

    nvy
    так можно его хоть как-то скрывать?
     
  11. nvyush

    nvyush Lotus team
    Lotus team

    Регистрация:
    22 апр 2009
    Сообщения:
    2.317
    Симпатии:
    0
  12. 1KIA

    1KIA Гость

    nvy
    я поиском уже находила данные ссылки
    Я просто из такого метода не могу понять, как взять значение из полей. Т.е. чтобы не вручную вводить SendTo и Subject
     
  13. nvyush

    nvyush Lotus team
    Lotus team

    Регистрация:
    22 апр 2009
    Сообщения:
    2.317
    Симпатии:
    0
    Call mailDoc.ReplaceItemValue("Subject", doc.GetItemValue("Subject")) ???
     
  14. lmike

    lmike нет, пердело совершенство
    Команда форума Lotus team

    Регистрация:
    27 авг 2008
    Сообщения:
    6.083
    Симпатии:
    300
    ябы письмо без обратного адреса выкинул не читая, большинство "нормальных" фильтров - тоже его выкинут
    это пр-ло хорошего тона - д.б. сабж и от кого
    если компанейское письмо - заведите общий адрес (с юзером) подпишите юзером агент (или исполняйте от его имени)
     
  15. 1KIA

    1KIA Гость

    так я пробовала, ошибка "Variant does not contain an object"
     
  16. lmike

    lmike нет, пердело совершенство
    Команда форума Lotus team

    Регистрация:
    27 авг 2008
    Сообщения:
    6.083
    Симпатии:
    300
    doc не определён! - надож существующий брать
     
  17. 1KIA

    1KIA Гость

    так все равно приходит подпись, т.е. указан отправитель (база ) и тот кто нажал кнопку
    А мне не надо чтобы писало кто именно нажал кнопку, а надо чтобы отправлялось от владельца базы
     
  18. 1KIA

    1KIA Гость

    :what?: может еще как-то можно отправить письмо без Principal??? :(
     
  19. lmike

    lmike нет, пердело совершенство
    Команда форума Lotus team

    Регистрация:
    27 авг 2008
    Сообщения:
    6.083
    Симпатии:
    300
    если агент исполняется от имени к-л (это задаётся в дизайнере) - он и будет в поле from, а не нажавший кнопку, в случае запуска на сервере!

    Добавлено: -создаем агент с вашим кодом (назовём mailsend тип запуска - agent list)
    -заводим юзера для отправки таких мэйлов (в базе, у него, д.б. соответ права)
    -ставим этого юзера в "Run on behalf of" агента
    -создаем второй агент (или кнопку) с кодом
    Код (Text):
    Dim s As New NotesSession
    Dim db As NotesDatabase
    Set db = s.CurrentDatabase
    Dim agent As NotesAgent
    Set agent=db.GetAgent("(mailsend)")
    Call agent.RunOnServer
     
  20. 1KIA

    1KIA Гость

    lmike
    тогда пишу, как сделала, может не правильно
    - на форме кнопка, при нажатии которой запускается агент
    - агент:
    Код (Text):
    MEMO_SEND:="1024";
    FIELD ActionInProgress:=MEMO_SEND;
    @If(@Command([FileSave]);@Command([FileCloseWindow]);@Return(""));
    свойства агента: target - None
    Run on behalf of - тот от кого хочу отправлять письма
    Агент изменен и сохранен тоже тем же пользователем (от кого хочу отправлять письма)
     
Загрузка...
Похожие Темы - Скрытие поля Principal
  1. cLif
    Ответов:
    5
    Просмотров:
    2.153
  2. bsi
    Ответов:
    0
    Просмотров:
    935
  3. bsi
    Ответов:
    0
    Просмотров:
    849
  4. Dragon108
    Ответов:
    1
    Просмотров:
    1.205
  5. maks00793
    Ответов:
    6
    Просмотров:
    1.965

Поделиться этой страницей