Как отправить отчет нескольким пользователям на Email

1. fromon 20.10.16 17:04 Сейчас в теме
Как отправить отчет нескольким пользователям на Email.
Как это сделать программно при его (отчета) формировании?
Что то я не нашел с наскока типового функционала.
Плюс еще хотят отчет видеть в формате *.PDF
+
По теме из базы знаний
Найденные решения
3. necropunk 9 20.10.16 18:00 Сейчас в теме
Можно через внутренние объекты 1С
Процедура ОтправитьАдминам(Тема, ТабДок) Экспорт
	ИмяФайла = ПолучитьИмяВременногоФайла(".PDF");
	ТабДок.Вывод = ИспользованиеВывода.Разрешить;
	ТабДок.Записать(ИмяФайла, ТипФайлаТабличногоДокумента.PDF);

	Почта = Новый ИнтернетПочта;
	УчетнаяЗапись = Справочники.УчетныеЗаписиЭлектроннойПочты.НайтиПоНаименованию("Robot");
	Профиль = Новый ИнтернетПочтовыйПрофиль;
	Профиль.АдресСервераPOP3 = УчетнаяЗапись.POP3Сервер;
	Профиль.АдресСервераSMTP = УчетнаяЗапись.SMTPСервер;
	Если УчетнаяЗапись.ВремяОжиданияСервера > 0 Тогда
		Профиль.ВремяОжидания = УчетнаяЗапись.ВремяОжиданияСервера;
	КонецЕсли; 
	Профиль.Пароль           = УчетнаяЗапись.Пароль;
	Профиль.Пользователь     = УчетнаяЗапись.Логин;
	Профиль.ПортPOP3         = УчетнаяЗапись.ПортPOP3;
	Профиль.ПортSMTP         = УчетнаяЗапись.ПортSMTP;
	
	Если УчетнаяЗапись.ТребуетсяSMTPАутентификация Тогда
		Профиль.АутентификацияSMTP = СпособSMTPАутентификации.ПоУмолчанию;       
		Профиль.ПарольSMTP       = УчетнаяЗапись.ПарольSMTP;
		Профиль.ПользовательSMTP = УчетнаяЗапись.ЛогинSMTP;
	Иначе
		Профиль.АутентификацияSMTP = СпособSMTPАутентификации.БезАутентификации; 
		Профиль.ПарольSMTP       = УчетнаяЗапись.Пароль;
		Профиль.ПользовательSMTP = УчетнаяЗапись.Логин;
	КонецЕсли; 

	Если УчетнаяЗапись.IMAP Тогда
		Профиль.ПортIMAP = УчетнаяЗапись.ПортPOP3;
		Профиль.АдресСервераIMAP = УчетнаяЗапись.POP3Сервер;
		Профиль.ИспользоватьSSLIMAP = УчетнаяЗапись.IMAPTLS;
		Профиль.ПользовательIMAP = УчетнаяЗапись.Логин;
		Профиль.ПарольIMAP = УчетнаяЗапись.Пароль;
	КонецЕсли;	
	
	Почта.Подключиться(Профиль, ПротоколИнтернетПочты[?(УчетнаяЗапись.IMAP, "IMAP", "POP3")]);
	Сообщение = Новый ИнтернетПочтовоеСообщение;
	Сообщение.Тема = Тема;
	Сообщение.ИмяОтправителя = Метаданные.Синоним+": Ошибки";
	Сообщение.Отправитель = "xxxxxx@xxxxxx.ru";
	Сообщение.Кодировка = "windows-1251";
	Сообщение.Получатели.Добавить("xxxxxxxxxxx@xxxxxxx.ru");
	Сообщение.Тексты.Добавить(Тема, ТипТекстаПочтовогоСообщения.ПростойТекст);
	Сообщение.Вложения.Добавить(ИмяФайла);
	Почта.Послать(Сообщение);
	Почта.Отключиться();
КонецПроцедуры
Показать
+
Остальные ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. necropunk 9 20.10.16 17:55 Сейчас в теме
Смотря как именно надо. Можно через аутлук, через него отправляю примерно так:
Например вот так:

	Попытка
		Outlook = Новый COMОбъект("Outlook.Application");
	Исключение
		Сообщить("Ошибка подключения компоненты Outlook. Возможно, на компьютере не установлен Microsoft Outlook");
	КонецПопытки;
	
	Письмо = Outlook.CreateItem(0);	
	
	Попытка
		Емайл = ПолучитьАдресЭлектроннойПочты();
	Исключение
		Емайл = "";
	КонецПопытки;
	Если ЗначениеЗаполнено(Емайл) Тогда
		Письмо.Recipients.Add(Емайл);
	КонецЕсли;
	ЭлементыФормы.ПолеТабличногоДокументаРезультат.Записать("C:\1.pdf", ТипФайлаТабличногоДокумента.PDF);
        Письмо.Attachments.Add("C:\1.pdf");
	Попытка
		Письмо.Display(); //или, например, Письмо.Send(); 
	Исключение
		Сообщить("Ошибка отображения письма!");
	КонецПопытки;
Показать
+
3. necropunk 9 20.10.16 18:00 Сейчас в теме
Можно через внутренние объекты 1С
Процедура ОтправитьАдминам(Тема, ТабДок) Экспорт
	ИмяФайла = ПолучитьИмяВременногоФайла(".PDF");
	ТабДок.Вывод = ИспользованиеВывода.Разрешить;
	ТабДок.Записать(ИмяФайла, ТипФайлаТабличногоДокумента.PDF);

	Почта = Новый ИнтернетПочта;
	УчетнаяЗапись = Справочники.УчетныеЗаписиЭлектроннойПочты.НайтиПоНаименованию("Robot");
	Профиль = Новый ИнтернетПочтовыйПрофиль;
	Профиль.АдресСервераPOP3 = УчетнаяЗапись.POP3Сервер;
	Профиль.АдресСервераSMTP = УчетнаяЗапись.SMTPСервер;
	Если УчетнаяЗапись.ВремяОжиданияСервера > 0 Тогда
		Профиль.ВремяОжидания = УчетнаяЗапись.ВремяОжиданияСервера;
	КонецЕсли; 
	Профиль.Пароль           = УчетнаяЗапись.Пароль;
	Профиль.Пользователь     = УчетнаяЗапись.Логин;
	Профиль.ПортPOP3         = УчетнаяЗапись.ПортPOP3;
	Профиль.ПортSMTP         = УчетнаяЗапись.ПортSMTP;
	
	Если УчетнаяЗапись.ТребуетсяSMTPАутентификация Тогда
		Профиль.АутентификацияSMTP = СпособSMTPАутентификации.ПоУмолчанию;       
		Профиль.ПарольSMTP       = УчетнаяЗапись.ПарольSMTP;
		Профиль.ПользовательSMTP = УчетнаяЗапись.ЛогинSMTP;
	Иначе
		Профиль.АутентификацияSMTP = СпособSMTPАутентификации.БезАутентификации; 
		Профиль.ПарольSMTP       = УчетнаяЗапись.Пароль;
		Профиль.ПользовательSMTP = УчетнаяЗапись.Логин;
	КонецЕсли; 

	Если УчетнаяЗапись.IMAP Тогда
		Профиль.ПортIMAP = УчетнаяЗапись.ПортPOP3;
		Профиль.АдресСервераIMAP = УчетнаяЗапись.POP3Сервер;
		Профиль.ИспользоватьSSLIMAP = УчетнаяЗапись.IMAPTLS;
		Профиль.ПользовательIMAP = УчетнаяЗапись.Логин;
		Профиль.ПарольIMAP = УчетнаяЗапись.Пароль;
	КонецЕсли;	
	
	Почта.Подключиться(Профиль, ПротоколИнтернетПочты[?(УчетнаяЗапись.IMAP, "IMAP", "POP3")]);
	Сообщение = Новый ИнтернетПочтовоеСообщение;
	Сообщение.Тема = Тема;
	Сообщение.ИмяОтправителя = Метаданные.Синоним+": Ошибки";
	Сообщение.Отправитель = "xxxxxx@xxxxxx.ru";
	Сообщение.Кодировка = "windows-1251";
	Сообщение.Получатели.Добавить("xxxxxxxxxxx@xxxxxxx.ru");
	Сообщение.Тексты.Добавить(Тема, ТипТекстаПочтовогоСообщения.ПростойТекст);
	Сообщение.Вложения.Добавить(ИмяФайла);
	Почта.Послать(Сообщение);
	Почта.Отключиться();
КонецПроцедуры
Показать
+
4. necropunk 9 20.10.16 18:00 Сейчас в теме
Если конфа на свежем БСП - то чуть ли не одной строкой можно. Но в УПП 1.3 вроде нельзя.
+
Внимание! Тема сдана в архив

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот