frolkin.s
09.06.2012, 11:50
Добрый день, всем! 1с 8.2 УНФ. Подскажите пожалуйста как отправить например счет по электронке:
Во-первых, поле "кому" нужно вводить вручную, а хотелось бы из справочника контрагентов;
Во-вторых, после выбора учетной записи (хотелось бы чтобы вообще по умолчанию ставилась) выдает вот такую ошибку http://ybex.com/d/bvqdgeukp5hlbzoauei9jpdg8294380610ghxfbi.html.
Вот функция, которая после определенной модификации дает возможность отправлать письма автоматом
// Все параметры текстовые, кроме:
// пВложения - массив, эл-ты массива - строки, имена файлов с полным путем
// пРегламентированноеЗадани е - объект "моей" базы, перечисление
// нужен исключительно для управления логированием ( процедура МодульРегламентныхЗаданий .ЗаписатьСведеньяОбОшибке( ...) )
Функция ОтправитьЭлектронноеПисьм оHTML(
пАдрес,
пИмяОтправителя = "Произвольное описание отправителя",
пОтправитель = "ЛогинОтправителя@Адрес.Поч тового.Сервера",
пТема,
пТекст,
пВложения,
пОписаниеПисьма = "",
пРегламентированноеЗадани е = Неопределено
) Экспорт
ПочтовыйПрофиль = ПолучитьПочтовыйПрофиль();
Сообщение = Новый ИнтернетПочтовоеСообщение ;
Если ПустаяСтрока(пАдрес) Тогда
Если пРегламентированноеЗадани е <> Неопределено Тогда
МодульРегламентныхЗаданий .ЗаписатьСведеньяОбОшибке( пРегламентированноеЗадани е, "В электронном письме ("+пОписаниеПисьма+") не указан адрес");
Иначе
ОбщегоНазначения.Сообщить� �бОшибке("Ошибка! В электронном письме ("+пОписаниеПисьма+") не указан адрес",,, СтатусСообщения.ОченьВажн� �е);
КонецЕсли;
Возврат ложь;
КонецЕсли;
Сообщение.Получатели.Добав ить(пАдрес);
Сообщение.Тема =пТема;
Сообщение.ИмяОтправителя=п ИмяОтправителя;
Сообщение.Отправитель=пОтп равитель;
Для каждого лИмяФайлВложения из пВложения Цикл
Если ПустаяСтрока(лИмяФайлВлож� �ния) Тогда
Продолжить;
КонецЕсли;
Попытка
Сообщение.Вложения.Добавит ь(лИмяФайлВложения);
Исключение
Если пРегламентированноеЗадани е <> Неопределено Тогда
МодульРегламентныхЗаданий .ЗаписатьСведеньяОбОшибке( пРегламентированноеЗадани е, "Присоединение к письму вложения" + лИмяФайлВложения, ОписаниеОшибки());
Иначе
ОбщегоНазначения.Сообщить� �бОшибке(ОписаниеОшибки(),,"Ошибка при присоединении вложения к электронному письму", СтатусСообщения.ОченьВажн� �е);
КонецЕсли;
Возврат ложь;
КонецПопытки;
КонецЦикла;
Сообщение.Кодировка = "windows-1251";
ТекстПисьма = Сообщение.Тексты.Добавить(� �Текст);
ТекстПисьма.Кодировка = "windows-1251";
ТекстПисьма.ТипТекста = ТипТекстаПочтовогоСообщен ия.HTML;
Почта = Новый ИнтернетПочта();
Попытка
Почта.Подключиться(Почтовы йПрофиль);
Исключение
Если пРегламентированноеЗадани е <> Неопределено Тогда
МодульРегламентныхЗаданий .ЗаписатьСведеньяОбОшибке( пРегламентированноеЗадани е, "Подключение к почтовому профилю по умолчанию", ОписаниеОшибки());
Иначе
ОбщегоНазначения.Сообщить� �бОшибке(ОписаниеОшибки(),,"Ошибка при подключению к почтовому профилю", СтатусСообщения.ОченьВажн� �е);
КонецЕсли;
Возврат ложь;
КонецПопытки;
Попытка
Почта.Послать(Сообщение);
Исключение
Если пРегламентированноеЗадани е <> Неопределено Тогда
МодульРегламентныхЗаданий .ЗаписатьСведеньяОбОшибке( пРегламентированноеЗадани е, "Отправка электронного письма "+пАдрес, ОписаниеОшибки());
Иначе
ОбщегоНазначения.Сообщить� �бОшибке(ОписаниеОшибки(),,"Ошибка при отправке электронного письма на адрес "+пАдрес, СтатусСообщения.ОченьВажн� �е);
КонецЕсли;
Возврат ложь;
КонецПопытки;
Почта.Отключиться();
Возврат истина;
КонецФункции
В функции используется функция ПолучитьПочтовыйПрофиль. В этой функции необходимо проставить "свои" настройки почтового сервера
Функция ПолучитьПочтовыйПрофиль()
Профиль = Новый ИнтернетПочтовыйПрофиль;
Профиль.АдресСервераSMTP = "ХХХ.ХХХ.ХХХ.ХХХ";
Профиль.АдресСервераPOP3 = "ХХХ.ХХХ.ХХХ.ХХХ";
Профиль.Пользователь = "ЛогинОтправителя";
Профиль.Пароль = "ПарольОтправителя";
Профиль.ПортSMTP = ХХ;
Профиль.ПортPOP3 = ХХХ;
Профиль.ВремяОжидания = ХХ;
Возврат Профиль;
КонецФункции
Помимо этого используется функция МодульРегламентныхЗаданий .ЗаписатьСведеньяОбОшибке( ...)
Реализацию не публикую. Думаю что каждый должен реализовывать ее самостоятельно, в зависимости от принятой политики работы с логами.
piterpen323323
07.07.2012, 08:31
Попробуй использовать эту бесплатную программу
http://infostart.ru/public/124513/
Powered by vBulletin™ Version 4.2.5 Copyright © 2024 vBulletin Solutions, Inc. All rights reserved. Перевод: zCarot