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

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

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

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

Письмо.Display();

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

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

Попробуй закомментить строку

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

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

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

Письмо.Display();

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

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

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

Можно попробовать поиграть с аттачем подписи к боди.
19 lodger
 
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" и вставлять как удобно.
20 nodrama
 
28.07.21
15:14
(19) Да только в Сигнатуре в той папке.. может быть 3 подписи. новые старые, и человек  может подпись переделать
Если брать от туда, то не проверишь какая из всех стоит в настройках почты на подстановку.
21 nodrama
 
28.07.21
15:14
Пока оставил без Боди, руками из файла шаблонные тексты повставляют. Пока я фантазирую
Чтобы обнаруживать ошибки, программист должен иметь ум, которому доставляет удовольствие находить изъяны там, где, казалось, царят красота и совершенство. Фредерик Брукс-младший