Имя: Пароль:
1C
1С v8
Как прицепить подпись к письму создаваемому через Outlook.Application
0 Serega103
 
17.10.13
11:19
Вобщем создаю эл. письмо из 1с, при помощи Outlook.Вот код при помощи которого я это делаю.
Процедура ОтправитьПисьмоЧерезАутлук(Кому,Тема,Текст,СписокВложений) Экспорт
    Попытка
        Outlook = Новый COMОбъект("Outlook.Application");  
    Исключение
        ОбщегоНазначенияКлиентСервер.СообщитьПользователю("Не удалось создать объект Outlook.Application");
        Возврат;
    КонецПопытки;

    Письмо = Outlook.CreateItem(0);
    //Письмо = Outlook.CreateItemFromTemplate("C:\Users\sergey1c\Desktop\Подписи\Подпись.htm");
    Письмо.Subject = СокрЛП(Тема);
    Письмо.To=СокрЛП(Кому);
    СписокВложений=Новый СписокЗначений;
    Для Каждого Стр Из СписокВложений Цикл
        Попытка
            Письмо.Attachments.Add(Стр.Значение);
        Исключение
        КонецПопытки;    
    КонецЦикла;
    Письмо.HTMLBody=Текст;
    Письмо.Display();    
КонецПроцедуры    
Вопрос: почему не вставляется подпись, которая забита в аутлуке по умолчанию?
1 Serega103
 
17.10.13
11:22
Где хранятся файлы с подписями в outlook я разобрался, но не пойму как их прицепить. Причем если бы это был просто текст, то проблем бы не возникло, но там еще и логотип.А вот с ним уже проблема.
2 andreymongol82
 
17.10.13
11:23
(0) А почему бы не использовать такую штуку как

Почта (Mail)
Методы:

Выбрать (Get)
Отключиться (Logoff)
Подключиться (Logon)
Послать (Send)

Конструкторы:

По умолчанию

Описание:

Предназначен для доступа к почтовой системе, установленной на компьютере. Используется технология MAPI.

Доступность:

Тонкий клиент, толстый клиент.
Пример:

Почта = Новый Почта;
3 Serega103
 
17.10.13
11:28
(2) насколько я понимаю в этом случае нужно знать пароль от почты, который многие пользователи уже забыли, а пользователей много.Мне показалось что проще было бы использовать Аутлук, в котором у каждого уже сохранен его профиль и подпись, к тому же все работает, за исключением подписей.А еще пробуя использовать почт. клиент от 1с не понял как сделать чтобы письма дублировались в outlok.
4 andreymongol82
 
17.10.13
11:30
(3) Тут не надо путать такие вещи как "Почта" и "ИнтернетПочта". "Почта" как раз таки может использовать сохраненный локальный почтовый профиль
5 dk
 
17.10.13
11:30
корявенько (не через htmlbody), но работает

            Попытка
                Письмо = Outlook.CreateItem(0);
                Для Сч = 1 По спПолучатель.РазмерСписка() Цикл
                    Письмо.To = Письмо.To + ?(СокрЛП(Письмо.To)="","",";") + спПолучатель.ПолучитьЗначение(Сч);
                КонецЦикла;
                
                Для Сч = 1 По спВложения.РазмерСписка() Цикл
                    Письмо.Attachments.Add(спВложения.ПолучитьЗначение(Сч));
                КонецЦикла;
                
                Письмо.Subject = Тема;
                Письмо.Display();
                Письмо.Body = Тело + Письмо.Body;
                Возврат 1;
            Исключение
                Возврат 0;
            КонецПопытки;
6 Serega103
 
17.10.13
11:36
(4) честно говоря с отправкой почты из 1с сталкиваюсь впервые, поэтому не знаю в чем преимущества объекта "Почта" в 1с и в чем его недостатки, но поискав в интернете, понял что отзывы о ней только негативные, поэтому выбрал указанный выше вариант.
7 Serega103
 
17.10.13
11:39
(5)попробовал, выходит действительно корявенько, шрифты не сохраняются, логотип вообще не отображается.
8 dk
 
17.10.13
11:42
(7) потому что надо HTMLBody вместо Body
а ковырять html код письма лениво
9 Serega103
 
17.10.13
11:43
(5) попробовал вот так
             Письмо.Display();
             Письмо.HTMLBody = СокрЛП(Объект.ТекстПисьма)+Символы.ПС+Письмо.HTMLBody;

Шрифты стали выводиться правильно, но вместо логотипа пустое окно.Что еще нужно сделать?
10 dk
 
17.10.13
11:45
выведи htmlbody до и после и увидишь в чем проблема
11 Serega103
 
17.10.13
11:55
(10)Попробовал выводить HTMLBody хоть до хоть после текста письма, результат одинаковый - логотип не отображается, а если  после  
Письмо.Display();
ничего не делать (не трогать HTMLBody), то логотип отображается правильно
12 Serega103
 
17.10.13
12:26
поэкспериментировал со свойством
Письмо.BodyFormat
тоже не помогает((
13 Jaap Vduul
 
17.10.13
12:47
14 Serega103
 
22.10.13
12:36
Разобрался я как вставить в письмо логотип.Если кому то нужно, то вот код:
    Письмо.Attachments.Add("D:\Логотип.jpg");
    Письмо.HTMLBODY  ="<l3>"+СокрЛП(ТекстП)+"</h3>
    |<l3>-</h3>
    |<html><img src=""Логотип.jpg""></html>";
Правда логотип из подписи тоже появляется в виде пустого квадрата, но когда письмо приходит к адрессату, то все отображается нормально.
15 Serega103
 
22.10.13
12:39
Возникла другая проблема:некоторые пользователи работают в 1с используя remote app, так вот у этих пользователей запуск outlook не происходит.Может кто сталкивался с такой проблемой?