Создание писем, событий и задач в MS Outlook из 1С Отправка писем из 1С Предприятия – одна из самых необходимых функций, отсутствующая в штатном функционале платформы. Один из вариантов реализации – это подключение к MS Outlook по технологии OLE. В статье приведены примеры создания писем, событий и задач в MS Outlook из 1С. Автоматическое создание событий и задач используется не часто, но порой бывает очень удобно.
Для 1С 8.х замените
Код 1C v 7.x Outlook = СоздатьОбъект("Outlook.Application");
на
Код 1C v 8.х Outlook = Новый COMОбъект("Outlook.Application");
так же посмотрите:
Отправка почтового сообщения на локальный MS Office Outlook с вложенным файлом
Создание сообщения
Код 1C v 7.x //создать новое сообщение из 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=" + ТекстПисьма;
ЗапуститьПриложение(СтрокаЗапуска);
КонецЕсли;
КонецПроцедуры
Создание события
Код 1C v 7.x //создать запись в календаре событий из 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");
КонецПроцедуры
Создание задачи
Код 1C v 7.x //создать новую задачу из 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();
КонецПроцедуры
Категория:
Работа с Microsoft Office и OpenOffice Отправка почтового сообщения на локальный MS Office Outlook с вложенным файлом Код 1C v 8.х // Пробуем подключиться
Профиль = Новый ИнтернетПочтовыйПрофиль;
// Получение почты нам не нужно, коментируем
// Профиль.АдресСервераPOP3 = POP3Сервер;
Профиль.АдресСервераSMTP = СокрЛП(Константы.SMTPSERVER.Получить()); // айпишник екченжа
//Если ВремяОжиданияСервера > 0 Тогда
// Профиль.ВремяОжидания = ВремяОжиданияСервера;
//КонецЕсли;
Профиль.Пароль = СокрЛП(Константы.SMTPSERVERPASSWORD.Получить());
Профиль.Пользователь = СокрЛП(Константы.SMTPSERVERLOGIN.Получить());
//Профиль.ПортPOP3 = ПортPOP3;
Профиль.ПортSMTP = СокрЛП(Константы.SMTPSERVERPORT.Получить());
Профиль.ПарольSMTP = СокрЛП(Константы.SMTPSERVERPASSWORD.Получить());
Профиль.ПользовательSMTP = СокрЛП(Константы.SMTPSERVERLOGIN.Получить());
//Профиль.ПарольSMTP = УчетнаяЗапись.Пароль;
//Профиль.ПользовательSMTP = УчетнаяЗапись.Логин;
ИнтернетПочта = Новый ИнтернетПочта;
Попытка
ИнтернетПочта.Подключиться(Профиль);
Исключение
Сообщить(ОписаниеОшибки());
КонецПопытки;
ПочтовоеСообщение = Новый ИнтернетПочтовоеСообщение;
ПочтовоеСообщение.ИмяОтправителя = "1C-ka";
ПочтовоеСообщение.Отправитель = СокрЛП(Отправитель.Email);
ПочтовоеСообщение.Тема = Тема;
ПочтовоеСообщение.Получатели.Добавить(СокрЛП(Получатель.Email));
ПочтовоеСообщение.Тексты.Добавить(ТекстПисьма, ТипТекстаПочтовогоСообщения.ПростойТекст);
Если Не пустаястрока(файл) Тогда
Данные = Новый ДвоичныеДанные(файл);
ПочтовоеСообщение.Вложения.Добавить(Данные,файлн);
конецесли;
попытка
ИнтернетПочта.Послать(ПочтовоеСообщение);
исключение
Сообщить(ОписаниеОшибки());
конецпопытки;
Категория:
Работа с Интернет, Почтой (Mail), FTP