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

22.10.19

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

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

Скачать файл

ВНИМАНИЕ: Файлы из Базы знаний - это исходный код разработки. Это примеры решения задач, шаблоны, заготовки, "строительные материалы" для учетной системы. Файлы ориентированы на специалистов 1С, которые могут разобраться в коде и оптимизировать программу для запуска в базе данных. Гарантии работоспособности нет. Возврата нет. Технической поддержки нет.

Наименование По подписке [?] Купить один файл
Создание писем в Outlook из 1С с подписью и вложением (УФ и ОФ)
.epf 15,24Kb
38
38 Скачать (1 SM) Купить за 1 850 руб.

 

В качестве шаблона для тела письма использую макет с 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

См. также

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

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

3000 руб.

25.11.2020    25644    268    9    

231

SALE! 50%

Мессенджеры и боты SMS рассылки Email рассылки Пользователь Платформа 1С v8.3 1C:Бухгалтерия 1С:ERP Управление предприятием 2 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х 1С:Управление нашей фирмой 3.0 1С:Розница 3.0 Управленческий учет Платные (руб)

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

4800 2400 руб.

07.04.2014    86435    52    197    

137

Email рассылки Программист Пользователь Платформа 1С v8.3 1C:Бухгалтерия 1С:ERP Управление предприятием 2 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х 1С:Зарплата и Управление Персоналом 3.x Платные (руб)

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

4920 руб.

30.06.2022    11929    77    100    

39

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

Создать и отправить 1000 Актов серки контрагентам за 5 мин ?! Легко! Разработано для конфигурации УНФ Массовое создание и рассылка Актов сверки в три клика.

6000 руб.

13.01.2022    11232    8    13    

14

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

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

12000 руб.

16.04.2014    86073    101    91    

96

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

Данная обработка позволяет сократить объем ручных операций, выполняемых ежемесячно бухгалтером или его помощником за счет автоматизации систематического процесса.

7800 руб.

12.02.2019    33822    27    24    

26

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

Обработка позволяет автоматически сформировать акты сверок на почту контрагентов (почта берется из контактных данных контрагента). При формировании акта сверки формируется подпись с указанием контактов для связи с бухгалтерией нашей организации (формируется исходя из контактов из карточки организации). Присутствует возможность ручного редактирования электронной почты контрагента для отправки. Отправка осуществляется с системной записи электронной почты. В случае, если у контрагента нет адреса электронной почты, эти контрагенты будут выведены в отдельной табличной части. Это очень удобно, так как сразу наглядно виден список контрагентов, которым невозможно отправить акты сверок!

7080 руб.

11.05.2021    10102    7    2    

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