Имя: Пароль:
1C
1С v8
Создание письма в Outlook через 1С
0 Gossar1C
 
26.06.13
13:23
Добрый день. Интересует вопрос. Если в Outlook стандартно задать подпись для писем (прикрепить картинку и тп), то при создании и ответе на письмо в самом Outlook все работает и подпись ставится, если же создавать письмо через 1С в outlook то письмо создается уже без подписи вот код

Процедура ОтсылкаЭлектронногоПисьма()
   
      Попытка
            Outlook = Новый COMОбъект("Outlook.Application");
            ЕстьОшибка = 0;
      Исключение
            Сообщить("Не удалось создать объект Outlook.Application");
            ЕстьОшибка = 1;
      КонецПопытки;
     
      Если ЕстьОшибка = 0 Тогда

            Письмо = Outlook.CreateItem(0);
            Письмо.Subject = "Тема письма";
            Письмо.Body = "Текст письма";
            Письмо.Recipients.Add("[email protected]");
            Письмо.Attachments.Add("C:\Users\Programmer\Desktop\Новый текстовый документ.txt");
           
            Письмо.Send();
      Иначе
            Тема = "Тема письма";
            ТекстПисьма = "Текст письма";
            СтрокаЗапуска = "mailto:" + "[email protected]" + "?subject=" + Тема + "&body=" + ТекстПисьма;
            ЗапуститьПриложение(СтрокаЗапуска);
      КонецЕсли;
   
КонецПроцедуры

методов Outlook OLE незнаю к сожалению, и найти не могу...

скажу одно, что в УТ 11 отправка происходит через стандартный почтовый клиент, и осуществляется обработка HTML текста сообщения которое также включает в себя и подпись, возможно ли проделать нечто подобное и с Outlook?
1 Jaap Vduul
 
26.06.13
13:31
Подписи хранятся в папке %appdata%\microsoft\signatures
в файлах с расширениями htm, rtf или txt для соответствующих форматов сообщений.
2 dk
 
26.06.13
13:34
можно и с оутлуком с подписью извратиться
только если в шаблоне будет тока подпись - без приветствия
3 yukon
 
26.06.13
13:36
> методов Outlook OLE незнаю к сожалению, и найти не могу...

ХМ. https://encrypted.google.com/search?hl=ru&q=Outlook.Application

Первая ссылка ведет на соответствующий раздел MSDN. А там уже есть http://msdn.microsoft.com/en-us/library/office/aa246142(v=office.11).aspx

Reference

Collections
Objects
Methods
Properties
Events
Enumerations
4 dk
 
26.06.13
13:37

       Письмо        = Outlook.CreateItem(0);
       Письмо.To    = "***"
       Письмо.Subject = Заголовок;
       Письмо.Display();
       Письмо.Body = Текст + Письмо.Body + ДопТекст;
5 yukon
 
26.06.13
13:39
+(3) Конкретно по вопросу см. метод CreateItemFromTemplate
6 Gossar1C
 
26.06.13
13:45
спасибо всем буду смотреть
7 sda553
 
26.06.13
13:52
а почему бы не использовать средства 1С для отправки почтовых сообщений?
Либо можно сделать так, что аутлук будет куда то складывать сообщения, а аутлук брать оттуда по какому то расписанию и рассылать.

Я просто не люблю команду:
Outlook = Новый COMОбъект("Outlook.Application");

с детства на нее аллергия, связанная с подвисающими процессами и т.д.
8 Gossar1C
 
26.06.13
14:09
(7) единственное что не устраивает в стандартной отправке почты в 1С это то что очень сильно увеличивает базу за счет вложений и подписей, а так как нужно сохранять письма то приходится делать через Outlook
9 Gossar1C
 
26.06.13
14:12
Example
This Visual Basic for Applications (VBA) example uses CreateItemFromTemplate to create a new item from an Outlook template and then displays it. The CreateTemplate macro shows you how to create the template that is used in the first example. To avoid errors, replace 'Dan Wilson' with a valid name in your address book.
Sub CreateFromTemplate()
   Dim myOlApp As Outlook.Application
   Dim MyItem As Outlook.MailItem
   Set myOlApp = CreateObject("Outlook.Application")
   Set MyItem = myOlApp.CreateItemFromTemplate("C:\statusrep.oft")
   MyItem.Display
End Sub

Sub CreateTemplate()
   Dim myOlApp As Outlook.Application
   Dim MyItem As Outlook.MailItem
   Set myOlApp = CreateObject("Outlook.Application")
   Set MyItem = myOlApp.CreateItem(olMailItem)
   MyItem.Subject = "Status Report"
   MyItem.To = "Dan Wilson"
   MyItem.Display
   MyItem.SaveAs "C:\statusrep.oft", OlSaveAsType.olTemplate
End Sub

я может и не понимаю, но он не знает что такое Outlook.MailItem
10 Gossar1C
 
26.06.13
14:56
Письмо = Outlook.CreateItemFromTemplate("C:\Users\Programmer\Desktop\Шаблонище.oft");
            Письмо.Subject = "Тема письма";
            Письмо.Body = "Текст письма" + " Эгегей" + Письмо.Body;
            Письмо.Recipients.Add("[email protected]");
            Письмо.Attachments.Add("C:\Users\Programmer\Desktop\Новый текстовый документ.txt");

           
            Письмо.Send();

в итоге в тексте письма только текст без картинки

ежели заремить Письмо.Body (всю строку) то ставит как и по шаблону...

вопрос как же тогда добавить текст письма к уже с уществующему тексту + картинки в шаблоне?
11 Jaap Vduul
 
26.06.13
15:07