В качестве шаблона для тела письма использую макет с 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-разметки и если у вас установлена подпись - то она будет прикреплена. Обработка не отправляет письма, она только их формирует, письма отправляются пользователем после того как он убедится что всё в порядке.
Применение: Данные обработка демонстрирует как можно несложно автоматизировать создание рутинных однотипных писем. Возможность создания какого-то общего шаблона с каким-либо автозаполнением - получателей, темы письма, тела письма, прикрепление вложений в зависимости от задачи/входных данных.