1C и MS Outlook

Отправка писем из 1С Предприятия 7.7 – одна из самых необходимых функций, отсутствующая в штатном функционале платформы. Один из вариантов реализации – это подключение к MS Outlook по технологии OLE. В статье приведены примеры создания писем, событий и задач в MS Outlook из 1С. Автоматическое создание событий и задач используется не часто, но порой бывает очень удобно.

 

Создание сообщения

 //создать новое сообщение из 1С в MS Outlook

Процедура СоздатьПисьмо(Адрес,ПутьКВложению)

      

       Попытка

             Outlook = СоздатьОбъект("Outlook.Application");

             ЕстьОшибка = 0;

       Исключение

             Предупреждение("Не удалось создать объект Outlook.Application");

             ЕстьОшибка = 1;

       КонецПопытки;

      

       Если ЕстьОшибка = 0 Тогда

            

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

             Письмо.Subject = "Тема письма";

             Письмо.Body = "Текст письма";

             Письмо.Recipients.Add(Адрес);

            

             Если ФС.СуществуетФайл(ПутьКВложению)=1 Тогда

                    Письмо.Attachments.Add(ПутьКВложению);

             КонецЕсли;

 

             Письмо.Display();

            

       Иначе

            

             Тема = "Тема письма";

             ТекстПисьма = "Текст письма";

             СтрокаЗапуска = "mailto:" + Адрес + "?subject=" + Тема + "&body=" + ТекстПисьма;

             ЗапуститьПриложение(СтрокаЗапуска);

            

       КонецЕсли;

      

КонецПроцедуры 

 

Создание события

//создать запись в календаре событий из 1С в MS Outlook

Процедура СоздатьСобытие()

      

       Попытка

             Outlook = СоздатьОбъект("Outlook.Application");

       Исключение

             Предупреждение("Не удалось создать объект Outlook.Application");

             Возврат;

       КонецПопытки;

      

       Событие = Outlook.CreateItem(1);

       Событие.Subject = "Название события";

       Событие.Start = "15.01.2010 15:00:00";

       Событие.End = "15.01.2010 16:00:00";

       Событие.Body = "Описание события";

       Событие.Location = "Место события";

       Событие.ReminderMinutesBeforeStart = 15;

       Событие.BusyStatus = 0;

       Событие.MeetingStatus = 0;

       Событие.Sensitivity = 2;

       Событие.Save();

      

       Сообщить("Событие в календаре создано успешно","i");

      

КонецПроцедуры

 

Создание задачи

//создать новую задачу из 1С в MS Outlook

Процедура СоздатьЗадачу(ДатаСтартаЗадачи)

      

       Попытка

             Outlook = СоздатьОбъект("Outlook.Application");

       Исключение

             Предупреждение("Не удалось создать объект Outlook.Application");

             Возврат;

       КонецПопытки;

      

       Задача = Outlook.CreateItem(3);

       Задача.Subject = "Название задачи";

       Задача.StartDate = ДатаСтартаЗадачи;

       Задача.Body = "Описание задачи";

       Задача.Status = 0;

       Задача.Display();

       Задача.Importance = 2;

       Задача.ReminderSet = 1;

       Задача.ReminderTime = "" + ДатаСтартаЗадачи + " 9:00:00";

       //Задача.Save();

      

КонецПроцедуры