Создание писем в Outlook из 1С с подписью и вложением (Excel-файл с несколькими листами)

22.10.19

Интеграция - Email рассылки

Программное создание писем в Outlook из 1С с подписью и вложением (сгенерировав Excel-файл с листами из нескольких ТабличныхДокументов) используя COM-объект. Как избавиться от рутинного создания однотипных писем.

Скачать исходный код

Наименование Файл Версия Размер
Создание писем в Outlook из 1С с подписью и вложением (УФ и ОФ)
.epf 15,24Kb
33
.epf 15,24Kb 33 Скачать

 

В качестве шаблона для тела письма использую макет с HTML-разметкой, где можно с помощью параметров задать значения полям. 

Заполняю этот шаблон - делаю из него TXT и присваиваю телу письма в Outlook (свойство - HTMLBody)

// Конвертация ТабДока в TXT без использования временного файла (ТабДок_HTML - тело нашего письма в Outlook с табличкой по товарам)
Поток = Новый ПотокВПамяти();
ТабДок_HTML.Записать(Поток, ТипФайлаТабличногоДокумента.TXT);
ДвоичныеДанныеФайла = Поток.ЗакрытьИПолучитьДвоичныеДанные();
HTMLТекст = ПолучитьСтрокуИзДвоичныхДанных(ДвоичныеДанныеФайла, КодировкаТекста.UTF8);

 

Минимальная версия платформы - 8.3.12, связана с использованием объекта "ПакетОтображаемыхДокументов", через него создается вложение Excel-файл с несколькими листами (вы можете просто закомментировать код)

// Сформируем вложения с несколькими ТабДоками в одной книге (добавляя для каждого ТабДока свой лист)
Книга = Новый ПакетОтображаемыхДокументов;	
// В цикле создадим печатные формы и сформируем листы
а = 0;
Для а = 1 по 2 Цикл
	АдресВХранилище = СформироватьПечатнуюФормуНаСервере();
	Лист = Книга.Состав.Добавить();
	Лист.Наименование = "ТабДок № " + Строка(а); //Наименование листа
	Лист.Данные = АдресВХранилище;	
КонецЦикла;

// Создание файла Excel
стрПутьККниге = КаталогВременныхФайлов() + "Книга.XLSX";
Попытка
	Книга.Записать(стрПутьККниге, ТипФайлаПакетаОтображаемыхДокументов.XLSX); //Сохранение в формате Excel 2007	
	Сообщить("Сформированный файл экселя (Книга.XLSX) лежит в папке TEMP: " + КаталогВременныхФайлов());			
Исключение
	Сообщить("Вложение для письма не создано! Описание ошибки: " + ОписаниеОшибки());
КонецПопытки; 

 

И вишенка - это формирование стандартной подписи установленной у пользователя в Outlook. В русском гугле я не нашёл рабочего способа, предлагали просто дикие вещи.

Подпись формируется не при создании письма, а немного...позже, поэтому чтобы она всё же подтянулась - необходимо передать управление Outlook'у до того как мы притронемся к содержимому "HTMLbody", после этого подпись уж точно будет сформирована - её можно прикрепить к вашему произвольному телу письма. Если тело письма по вашему шаблону должно быть пустым (просто с подписью) - то такая хитрость не нужна (просто не трогаете HTMLbody).  

Письмо.Display(); //Важно(!) Необходимо передать управление Аутлуку до того как мы вставим тело письма, чтобы аутлук сформировал подпись 	

Письмо.HTMLBody = HTMLТекст + Письмо.HTMLBody; //В Письмо.HTMLBody хранится сгенерированная подпись

 

Как убрать предупреждение:

При формировании писем из 1С Outlook будет постоянно вас оберегать показывая данное сообщение и для того чтобы его отключить необходимо запустить Outlook от имени администратора и далее:

Файл -> Настройки -> Центр управления безопасностью -> Параметры центра управления безопасностью -> Программный доступ -> Никогда не предупреждать о подозрительной активности.

Тестирование проводилось на платформе 8.3.13.1513, запуск через файл-открыть.

Описание работы обработки: На форме обработки одна кнопка - "сформировать письмо" - выполняет демонстрационную роль, будет создано письмо с одним вложением - Книга.XLSX (файл будет сохранен в папку TEMP - местоположение файла будет выведено через "сообщить()"), в теле письма будет таблица построенная с помощью HTML-разметки и если у вас установлена подпись - то она будет прикреплена. Обработка не отправляет письма, она только их формирует, письма отправляются пользователем после того как он убедится что всё в порядке.

Применение: Данные обработка демонстрирует как можно несложно автоматизировать создание рутинных однотипных писем. Возможность создания какого-то общего шаблона с каким-либо автозаполнением - получателей, темы письма, тела письма, прикрепление вложений в зависимости от задачи/входных данных. 

Обработка Outlook Почта Создание Письма Excel

См. также

"Акты сверки +" Групповая подготовка и рассылка актов сверки для Бухгалтерии 3.0.

Взаиморасчеты Email рассылки Акт сверки Платформа 1С v8.3 Бухгалтерский учет 1С:Бухгалтерия 3.0 Бухгалтерский учет Платные (руб)

Внешняя обработка для Бухгалтерии 3.0 - позволяет автоматически формировать документы «Акт сверки расчетов» с контрагентами за выбранный период с последующей фоновой отправкой на почту контрагента.

3000 руб.

25.11.2020    22412    181    6    

162

Автоматическая рассылка отчетов из 1С: Управление торговлей 10.3 и 1С:УПП по электронной почте

Email рассылки Оптовая торговля Платформа 1С v8.3 1С:Управление торговлей 10 1С:Управление производственным предприятием Управленческий учет Платные (руб)

Многим сотрудникам предприятия требуется актуальная и достоверная информация для принятия верных управленческих решений. Получить данную информацию можно при помощи отчетов, существующих в конфигурации «1С: Управление торговлей 10.3» или «1С:УПП». Но не всегда у пользователей есть время, возможность и/или желание формировать отчеты непосредственно в системе. Намного привычней и удобней получать готовые отчеты на электронную почту, не открывая 1С.

12000 руб.

16.04.2014    84382    100    91    

94

Email, SMS, Telegram рассылки из 1С - Директ Маркетинг

Управление взаимоотношениями с клиентами (CRM) Мессенджеры и боты SMS рассылки Email рассылки Платформа 1С v8.3 Конфигурации 1cv8 Управленческий учет Платные (руб)

Полный набор инструментов для качественных транзакционных и маркетинговых Email, SMS, Telegram рассылок из 1С. Даже простые уведомления об оплате счетов способны существенно упростить сбор дебиторской задолженности. Применение всех возможностей прямого маркетинга выводит коммуникацию с клиентами, уровень сервиса и лояльность на новый уровень.

7788 руб.

07.04.2014    83840    41    191    

128

Групповое создание актов сверок

Взаиморасчеты Email рассылки Акт сверки Платформа 1С v8.3 Бухгалтерский учет 1С:Управление торговлей 10 1С:Бухгалтерия 3.0 Бухгалтерский учет Платные (руб)

Обработки предназначены для массового создания актов сверки и отправки их по электронной почте для конфигураций Управление торговлей 10.3. и Бухгалтерия предприятия 3.0. Для Бухгалтерии 3.0 Разработка велась на 1С:Предприятие 8.3 (8.3.15.1830). проверялась на Бухгалтерия предприятия 3.0 (3.0.71.83) и 3.0.76.77 Для Управление торговлей 10.3 Разработка велась на 1С:Предприятие 8.3 релиз конфигурации (10.3.61.2) . РАБОТАЕТ НА БАЗОВЫХ и ПРОФ. ВЕРСИЯХ.

2000 руб.

24.04.2020    30520    120    66    

100

Массовая рассылка печатных форм любых документов по электронной почте

Email рассылки Платформа 1С v8.3 Конфигурации 1cv8 Платные (руб)

За $m и Руб. Решение для массовой рассылки печатных форм (в том числе и дополнительных) любых документов, и произвольных файлов по электронной почте. Рассылка пакета документов. Добавление факсимильных печати и подписи. Произвольные шаблоны HTML/Simple text с автозаполнением любыми полями документа. Любые форматы файлов. Упаковка вложений в архив. Транслитерация имен файлов. Разбиение рассылки на произвольные порции. Обход спам-фильтров. Журналирование рассылок.

3600 руб.

30.06.2022    9134    63    88    

26

Групповое формирование, согласование, печать и отправка по e-mail актов сверок взаиморасчетов (Бухгалтерия предприятия, ред. 3.0)

Email рассылки Взаиморасчеты Платформа 1С v8.3 Бухгалтерский учет 1С:Бухгалтерия 3.0 Россия Бухгалтерский учет Платные (руб)

Указывайте любой период, список организаций, контрагентов, видов договоров (с покупателем, с поставщиком и др.), счетов бухгалтерского учёта, валюту, необходимость детализации по договорам, список печатных форм и форматов их сохранения, а затем формируйте, согласовывайте, контролируйте, печатайте и отправляйте по e-mail готовые акты сверок прямо из 1С: Бухгалтерия предприятия, ред. 3.0.

9000 руб.

03.04.2018    30646    64    24    

64
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. XSlava 157 22.10.19 14:05 Сейчас в теме
В данном методе отправки писем через OutLook есть подводный камень. Если платформа 1С:Предприятие 64-разрядная, а OutLook 32-разрядный, это не работает. Мы не смогли разобраться, видимо где-то есть особенность в регистрации COM объектов 32-разрядных для 64-разрядной платформы ОС и как следствие их видимости для 1С.
+
2. Merkalov 8 22.10.19 14:15 Сейчас в теме
(1) Не знал, спасибо за комментарий.
+
3. chg 23.10.19 04:35 Сейчас в теме
(1)есть такая проблема, решается на уровне регистрации в Службе компонентов отдельно для 32 и 64 бит
+
4. XSlava 157 23.10.19 08:00 Сейчас в теме
(3)Красиво написано.
user1565466; +1
5. chg 23.10.19 08:19 Сейчас в теме
(4)ну такой уж этот COM вредный, что тут поделаешь)
где то тут на инфостате был уже разбор по поводу 32 и 64 бита.
+
Оставьте свое сообщение