Для начала, нам необходимо установить имя реквизита формы «Результат» для Табличного документа (1), который мы хотим впоследствии отправить вложением по e-mail, а также создать на форме кнопку с командой «ОтправитьОтчет» (2). Далее, мы переходим в Модуль формы (3), и процедуру «ОтправитьОтчет(Команда)» заменяем целиком этим кодом:
&НаКлиенте
Процедура ОтправитьОтчет(Команда)
//Здесь ведется проверка на заполненность табличного документа (должно быть больше 8 строк).
//При желании меняем на необходимое значение, либо вообще убираем.
Если Результат.ВысотаТаблицы < 8 Тогда
Предупреждение("Сформируйте отчет!");
Возврат;
КонецЕсли;
//Используется механизм оповещений, подсмотренный в открытых модулях УТ11.
ОписаниеОповещения = Новый ОписаниеОповещения("ОтправитьПечатныеФормыПоПочтеНастройкаУчетнойЗаписиПредложена", ЭтотОбъект);
Если ОбщегоНазначенияКлиент.ПодсистемаСуществует("СтандартныеПодсистемы.РаботаСПочтовымиСообщениями") Тогда
МодульРаботаСПочтовымиСообщениямиКлиент = ОбщегоНазначенияКлиент.ОбщийМодуль("РаботаСПочтовымиСообщениямиКлиент");
МодульРаботаСПочтовымиСообщениямиКлиент.ПроверитьНаличиеУчетнойЗаписиДляОтправкиПочты(ОписаниеОповещения);
КонецЕсли;
КонецПроцедуры
&НаКлиенте
Процедура ОтправитьПечатныеФормыПоПочтеНастройкаУчетнойЗаписиПредложена(УчетнаяЗаписьНастроена, ДополнительныеПараметры) Экспорт
Если УчетнаяЗаписьНастроена <> Истина Тогда
Возврат;
КонецЕсли;
//Не забудьте поменять тему письма!
ТемаПисьма = "Сформированный отчет на "+Формат(Объект.НаДату,"ДЛФ=DD");
ПараметрыОтправки = Новый Структура("Вложения,Получатель,Текст,Тема,УдалятьФайлыПослеОтправки");
ПараметрыОтправки.Получатель = Новый Массив;
ПараметрыОтправки.Вложения = Новый Массив;
ПараметрыОтправки.Получатель.Добавить(Новый Структура("Адрес,ВидПочтовогоАдреса,ИсточникКонтактнойИнформации,ОбъектИсточник,Пояснение,Представление"));
ПараметрыОтправки.Текст = "Во вложении сформированный табличный документ";
ПараметрыОтправки.Тема = ТемаПисьма;
ПараметрыОтправки.Вложения.Добавить(ПодготовитьТабличныйДокументДляОтправки(Результат,ТемаПисьма));
ПараметрыОтправки.УдалятьФайлыПослеОтправки = Истина;
МодульРаботаСПочтовымиСообщениямиКлиент = ОбщегоНазначенияКлиент.ОбщийМодуль("РаботаСПочтовымиСообщениямиКлиент");
МодульРаботаСПочтовымиСообщениямиКлиент.СоздатьНовоеПисьмо(ПараметрыОтправки);
КонецПроцедуры
&НаСервере
Функция ПодготовитьТабличныйДокументДляОтправки(ТабДок,ИмяФайлаТД)
Объект.ТаблицаДляОтправки = ТабДок;
ТипФайлаТД = ТипФайлаТабличногоДокумента.XLSX;
СсылкаФорматаТД = Перечисления.ФорматыСохраненияОтчетов.XLSX;
КартинкаФайлаТД = БиблиотекаКартинок.ФорматExcel2007;
РасширениеФайлаТД = "xlsx"; //использую EXCEL-формат файла для вложений.
ИмяВременнойПапки = ПолучитьИмяВременногоФайла();
СоздатьКаталог(ИмяВременнойПапки);
ПолноеИмяФайла = УникальноеИмяФайла(
ОбщегоНазначенияКлиентСервер.ДобавитьКонечныйРазделительПути(ИмяВременнойПапки)+
ИмяФайлаТД + "." + РасширениеФайлаТД);
Объект.ТаблицаДляОтправки.Записать(ПолноеИмяФайла,ТипФайлаТД);
ДвоичныеДанные = Новый ДвоичныеДанные(ПолноеИмяФайла);
ПутьВоВременномХранилище = ПоместитьВоВременноеХранилище(ДвоичныеДанные, ЭтотОбъект.УникальныйИдентификатор);
ОписаниеФайла = Новый Структура;
ОписаниеФайла.Вставить("Представление", ИмяФайлаТД+"."+РасширениеФайлаТД);
ОписаниеФайла.Вставить("АдресВоВременномХранилище", ПутьВоВременномХранилище);
УдалитьФайлы(ИмяВременнойПапки);
Возврат ОписаниеФайла;
КонецФункции
&НаКлиентеНаСервереБезКонтекста
Функция УникальноеИмяФайла(ИмяФайла)
Файл = Новый Файл(ИмяФайла);
ИмяБезРасширения = Файл.ИмяБезРасширения;
Расширение = Файл.Расширение;
Папка = Файл.Путь;
Счетчик = 1;
Пока Файл.Существует() Цикл
Счетчик = Счетчик + 1;
Файл = Новый Файл(Папка + ИмяБезРасширения + " (" + Счетчик + ")" + Расширение);
КонецЦикла;
Возврат Файл.ПолноеИмя;
КонецФункции
При копировании кода не забудьте поменять тему письма на свою!!
Примечательно, что некоторые функции, вызов которых находится глубоко в модулях, отвечающие за аутентификацию на почтовом сервере, разработчики УТ11 скрыли от любопытных глаз, но они нам и не особо нужны, так как рычаги запуска всего механизма я вам предоставил.