Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / [игнор отключен] [закрыт для гостей] / Открытие из 1С почтового клиента и вложение файла / 4 сообщений из 4, страница 1 из 1
27.01.2012, 15:18
    #37635200
Baumanez
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Открытие из 1С почтового клиента и вложение файла
Нужна помощь!

1С 8.2. Задача заключается в следующем:
1. Физически открыть форму установленного по умолчанию почтового клиента.
2. Заполнить тему, тело письма
3. Прикрепить к письму файл.

т.е. непосредственно отправка письма будет осуществлена уже средствами почтового клиента!! 1С должна только открыть почтовую программу и по максимуму подготовить письмо.
...
Рейтинг: 0 / 0
27.01.2012, 15:27
    #37635218
Злой Бобр
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Открытие из 1С почтового клиента и вложение файла
Baumanez,

Это еще на 7.7 решалось на ура. Недумаю что в снеговике сложнее. Поиск тебе в помощь.
...
Рейтинг: 0 / 0
27.01.2012, 16:23
    #37635325
AHDP
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Открытие из 1С почтового клиента и вложение файла
У большинства установлен OutLook, а в нём входящие подключения надо подтверждать ручками. Или использовать сторонний софт.
...
Рейтинг: 0 / 0
27.01.2012, 17:27
    #37635526
LexaK
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Открытие из 1С почтового клиента и вложение файла
Baumanez, попробуйте адаптировать эту функцию под себя , у нас работает

Функция ОтправитьПоПочте(СписокПолучателей,СписокВложений,ТемаСообщения,ТекстСообщения,Уведомление=Ложь,ВопросДляПодвержденияОтправки=ИСТИНА, СписокПолучателейКопия = неопределено) Экспорт
#Если Клиент Тогда
Получатели = "";Вложения = "";

Сообщение = Новый ПочтовоеСообщение();
Сообщение.Тема = ТемаСообщения;
Сообщение.Текст = ТекстСообщения;

//Обработка списка получателей
Если ТипЗнч(СписокПолучателей) = Тип("СписокЗначений") Тогда
Если СписокПолучателей.Количество()=0 Тогда
Предупреждение("Невозможно отправить сообщение, т.к не указан адрес получателя");
Возврат Ложь;
КонецЕсли;
Для Каждого Строка ИЗ СписокПолучателей Цикл
Сообщение.Получатели.Добавить(Строка.Значение);
Получатели = Получатели + ?(СписокПолучателей.Индекс(Строка)=0,"",", ") + Строка.Значение;
КонецЦикла;
ИначеЕсли ТипЗнч(СписокПолучателей) = Тип("Строка") И Сокрлп(СписокПолучателей)<>"" Тогда
Сообщение.Получатели.Добавить(СписокПолучателей);
Получатели = СписокПолучателей;
Иначе
Предупреждение("Невозможно отправить сообщение, т.к. указан некорректный список получателей");
Возврат Ложь;
КонецЕсли;


//Обработка списка получателей копий
Если ТипЗнч(СписокПолучателейКопия) = Тип("СписокЗначений") Тогда
Для Каждого Строка ИЗ СписокПолучателейКопия Цикл
Сообщение.Копии.Добавить(Строка.Значение);
КонецЦикла;
ИначеЕсли ТипЗнч(СписокПолучателейКопия) = Тип("Строка") И Сокрлп(СписокПолучателейКопия)<>"" Тогда
Сообщение.Копии.Добавить(СписокПолучателейКопия);
КонецЕсли;


//Обработка списка вложений
Если ТипЗнч(СписокВложений) = Тип("СписокЗначений") Тогда
Для Каждого Строка ИЗ СписокВложений Цикл
Файл = Новый Файл(Строка);
Если Файл.Существует() Тогда
Сообщение.Вложения.Добавить(Новый ДвоичныеДанные(Строка.Значение),Строка.Значение);
Вложения = Вложения + ?(СписокВложений.Индекс(Строка)=0,"",Символы.ПС) + Строка.Значение;
Иначе
Сообщить("Ошибка вложения файла "+Строка.Значение);
КонецЕсли;
КонецЦикла;
ИначеЕсли ТипЗнч(СписокВложений) = Тип("Строка") Тогда
Файл = Новый Файл(СписокВложений);
Если Файл.Существует() Тогда
Сообщение.Вложения.Добавить(Новый ДвоичныеДанные(СписокВложений),СписокВложений);
Вложения = СписокВложений;
Иначе
Сообщить("Ошибка вложения файла "+СписокВложений);
КонецЕсли;
КонецЕсли;

Если ВопросДляПодвержденияОтправки Тогда
ТекстВопроса = "Подготовлена отправка E-mail сообщения:"+Символы.ПС+Символы.ПС
+"получатели: "+Получатели+Символы.ПС
+"тема: "+?(ПустаяСтрока(Сообщение.Тема),"<не задана>",Сообщение.Тема)+Символы.ПС
+"вложения: "+Вложения+Символы.ПС+Символы.ПС
+"Отправить сообщение по E-mail?";
Если Вопрос(ТекстВопроса,РежимДиалогаВопрос.ДаНетОтмена,60,КодВозвратаДиалога.Да,) <> КодВозвратаДиалога.Да Тогда
Возврат 0;
КонецЕсли;
КонецЕсли;

Почта = Новый Почта;

Попытка
Почта.Подключиться();
Исключение
Сообщить(ОписаниеОшибки()+ " Электронное сообщение не отправлено.");
Возврат Ложь;
КонецПопытки;

Попытка
Почта.Послать(Сообщение,Уведомление);
Исключение
ТекстОшибки = ОписаниеОшибки();
Сообщить(ТекстОшибки + " Электронное сообщение не отправлено.");
Возврат Ложь;
КонецПопытки;

Почта.Отключиться();

Возврат Истина;
#КонецЕсли
КонецФункции
...
Рейтинг: 0 / 0
Форумы / [игнор отключен] [закрыт для гостей] / Открытие из 1С почтового клиента и вложение файла / 4 сообщений из 4, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]