Вход | Регистрация
 
1С:Предприятие :: 1С:Предприятие 8 общая

Программно при формировании письма в OutLook, вытащить подпись пользователя ?)

Программно при формировании письма в OutLook, вытащить подпись пользователя ?)
Я
   nodrama
 
28.07.21 - 12:56
Добрый день и еще насущный вопрос.

из 1с, программно формируется письмо в OutLook.
Все работает, все заполняет, все отправляет.
Встал вопрос, при программном заполнении, подпись человека в outlook не появляется.
Как программно из 1с, вытащить в outlook подпись человека, которую он создал себе в почте и которая автоматом выходит при написании нового письма)))
   Жан Пердежон
 
1 - 28.07.21 - 13:00
а ты уверен что письмо формирует в outlook, 
а не отправляется на почтовый сервер?
   nodrama
 
2 - 28.07.21 - 13:05
(1) Я беспонятия, я очень редко работал с outlook и тем более программно через 1с.
   nodrama
 
3 - 28.07.21 - 13:07
Попытка                                                           
    Outlook = Новый COMОбъект("Outlook.Application");
Исключение
КонецПопытки;
ФайлВложение="....,"
        
Письмо = Outlook.CreateItem(0);
Письмо.Attachments.Add(ФайлВложение);
Письмо.Subject = "..."
Письмо.Body = "...";
Письмо.Recipients.Add(....); 
Письмо.Display();
//или, Письмо.Send();
   nodrama
 
4 - 28.07.21 - 13:08
Соответственно, если DIsplay, то письмо пользователяю предварительно открывается. И он там можно нажать кнопку "Подпись" и она поставится.
Но это не удобно ибо писем много. идет сразу Письмо.Send() без показа, и следовательно пользователь ручками уже поставить подпись не может
   Вафель
 
5 - 28.07.21 - 13:13
(4) по сенд надо тоже кнопку нажимать
   nodrama
 
6 - 28.07.21 - 13:26
(5) Какую кнопку? я код писал на память, под рукой нет обработки этой.
Но после Сенд, письмо не показывается и не открывается а сразу уходит адресату
   nodrama
 
7 - 28.07.21 - 13:27
Собствеено вопрос не в отправке, вопрос, как вытащить подпись программно и всунуть ее в письмо
   lodger
 
8 - 28.07.21 - 13:38
вот тут у тебя сигнатура уже есть.
Письмо = Outlook.CreateItem(0);
...
Письмо.Body = "...";
а тут уже нет.

примерно так Аппликатион работает, емнип.
   nodrama
 
9 - 28.07.21 - 13:43
(8) Ни чего не понятно, я совсем мало работал с аутлуком )) че делать то ?
   lodger
 
10 - 28.07.21 - 13:45
(9) не пиши сразу "Письмо.Body ="
пиши Письмо.Body = ТвоёПисьмо + Письмо.Body;
   nodrama
 
11 - 28.07.21 - 13:51
И что подпись тогда появится сразу автоматом внизу письма?
   nodrama
 
12 - 28.07.21 - 13:51
ТвоёПисьмо  = Это текст письма?
   nodrama
 
13 - 28.07.21 - 13:58
ТвоеПисьмо = "ТекстТест"
Письмо.Боди = ТвоеПисьмо+Письмо.Боди

Результат нулевой. подпись не появилась
   nodrama
 
14 - 28.07.21 - 14:01
Письмо = Outlook.CreateItem(0);

Письмо.Display(); 

Если так то Подпись появляется...

Если написать Письмо.Боди = ТвоеПисьмо+Письмо.Боди, то подпись исчезает все равно
   8 bit
 
15 - 28.07.21 - 14:10
(11) при условии, что в аутлуке включена настройка автоматического добавления подписи для нового письма (еще можно включить при ответе и при пересылке).

Попробуй закомментить строку
//Письмо.Body = "...";
   nodrama
 
16 - 28.07.21 - 14:32
(15) Подсавка автоматически Подписи стоит. При новом и при ответе и пересылки. Проверил.

Если писать вот так 4

Письмо = Outlook.CreateItem(0);

Письмо.Display(); 

То Подпись появляется..

Если пишешь Письмо.Боди = "Тут текст письма нужный" то подпись исчезает. 
ТекстПисьма = Нужный текст
Если пишешь как советовали Письмо.Боди = ТекстПисьма + Письмо.Боди

Подпись то же исчезает.
   nodrama
 
17 - 28.07.21 - 14:33
То есть без Письмо.Боди . подпись встает
Но Без Тела письма... смысла нет.. получается им нужно будет руками набирать каждый раз тексты письма
   8 bit
 
18 - 28.07.21 - 14:59
Проблема в том, что структура письма не содержит отдельного объекта под подпись. Подпись точно также лежит в теле письма, как и содержимое этого тела. Аутлук как-то хитро хранит подписи в виде файлов html, rtf и txt (одновременно). Соответственно, лежат они здесь: %userprofile%\AppData\Roaming\Microsoft\Signatures

Можно попробовать поиграть с аттачем подписи к боди.
   lodger
 
19 - 28.07.21 - 14:59
(16)
https://stackoverflow.com/questions/8994116/how-to-add-default-signature-in-outlook
пропустил, они display тыкают.
как альтернатива, выцеплять подпись из "C:\Users\" & Environ("username") & "\AppData\Roaming\Microsoft\Signatures" и вставлять как удобно.
   nodrama
 
20 - 28.07.21 - 15:14
(19) Да только в Сигнатуре в той папке.. может быть 3 подписи. новые старые, и человек  может подпись переделать
Если брать от туда, то не проверишь какая из всех стоит в настройках почты на подстановку.
   nodrama
 
21 - 28.07.21 - 15:14
Пока оставил без Боди, руками из файла шаблонные тексты повставляют. Пока я фантазирую


Список тем форума
 
Оптимист верит, что мы живем в лучшем из миров. Пессимист боится, что так оно и есть.
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.