Процедура ВыполнитьКоманду() Экспорт
// 1. Инициализируем типовую обработку прайс-листа
ОбработкаПрайс = Обработки.ПрайсЛисты.Создать();
// Настройки прайс-листа.
// Если у вас есть сохраненная настройка, можно загрузить её:
// ОбработкаПрайс.КлючВариантаНастройки = "ИмяВашейНастройки";
// 2. Генерируем прайс-лист (заполняем данными)
ОбработкаПрайс.СформироватьПрайсЛист();
// 3. Получаем печатную форму (ТабличныйДокумент)
ТабДок = ОбработкаПрайс.ПрайсЛист;
Если ТабДок = Неопределено Или ТабДок.ВысотаТаблицы = 0 Тогда
ЗаписьЖурналаРегистрации("РассылкаПрайса", УровеньЖурналаРегистрации.Ошибка,,, "Прайс-лист пустой!");
Возврат;
КонецЕсли;
// 4. Сохраняем во временный файл Excel
ИмяФайла = ПолучитьИмяВременногоФайла("xlsx");
ТабДок.Записать(ИмяФайла, ТипФайлаТабличногоДокумента.XLSX);
// 5. Отправка почты клиентам
// Для примера берем системную учетную запись. Настройте её в 1С.
УчетнаяЗапись = Справочники.УчетныеЗаписиЭлектроннойПочты.СистемнаяУчетнаяЗаписьЭлектроннойПочты;
ПараметрыПисьма = Новый Структура;
ПараметрыПисьма.Вставить("Кому", "client1@mail.ru, client2@example.com"); // Кому слать (через запятую)
ПараметрыПисьма.Вставить("Тема", "Актуальный прайс-лист от " + Формат(ТекущаяДата(), "ДЛФ=D"));
ПараметрыПисьма.Вставить("Тело", "Добрый день! Во вложении свежий прайс-лист.");
// Прикрепляем наш Excel
Вложения = Новый Массив;
СтруктураВложения = Новый Структура("Данные, ИмяФайла", Новый ДвоичныеДанные(ИмяФайла), "Прайс-лист.xlsx");
Вложения.Добавить(СтруктураВложения);
ПараметрыПисьма.Вставить("Вложения", Вложения);
// Отправляем штатными средствами УНФ
РаботаСПочтовымиСообщениями.ОтправитьЭлектронноеПисьмо(УчетнаяЗапись, ПараметрыПисьма);
// Удаляем временный файл с диска
УдалитьФайлы(ИмяФайла);
КонецПроцедуры