При отправке электронной почты возникает ошибка "каталог %AppData%\Local\1C не обнаружен". Как устранить проблему?
Если Объект.УчетнаяЗапись.Пустая() Тогда
Сообщение = Новый СообщениеПользователю();
Сообщение.Текст = "Не выбрана учетная запись электронной почты!";
Сообщение.Сообщить();
Возврат;
КонецЕсли;
Каталог = "%AppData%\Local\1C";
Почта = Новый ИнтернетПочта;
Профиль = РаботаСПочтовымиСообщениямиСлужебный.ИнтернетПочтовыйПрофиль(Объект.УчетнаяЗапись);
Попытка
Почта.Подключиться(Профиль);
Исключение
Сообщить(ОписаниеОшибки());
Возврат;
КонецПопытки;
Для каждого Счет Из Объект.ТЧСчета Цикл
Если НЕ Счет.Отправлять Тогда
Продолжить;
КонецЕсли;
Сообщение = Новый ИнтернетПочтовоеСообщение;
Если ЗначениеЗаполнено(Счет.ДокументСчет) Тогда
ТабДок = ПечатьДокументаНаСервере(Счет.ДокументСчет,"ПФ_MXL_СчетЗаказПечать","СчетЗаказСПечатью","Счет на оплату покупателю с печатью");
ИмяФайлаСчет = Каталог+"\Счет"+Счет.ДокументСчет.Номер+".pdf";
Если ТабДок <> Неопределено Тогда
ТабДок.Записать(ИмяФайлаСчет,ТипФайлаТабличногоДокумента.PDF);
КонецЕсли;
Сообщение.Вложения.Добавить(Новый ДвоичныеДанные(ИмяФайлаСчет),"Счет"+Счет.ДокументСчет.Номер+".pdf");
КонецЕсли;
ТемаПисьмаКонтрагент = СтрЗаменить(Объект.ТемаПисьма,"%СЧЕТ%"," Счет № "+Счет.Документ.Номер+" от "+Формат(Счет.Документ.Дата,"ДФ=dd.MM.yyyy"));
СодержаниеПисьмаКонтрагент = СтрЗаменить(Объект.Содержание,"%КЛИЕНТ%",""+Счет.Контрагент.НаименованиеПолное);
Сообщение.Отправитель = Объект.УчетнаяЗапись.АдресЭлектроннойПочты;
Сообщение.ИмяОтправителя = ""+Объект.Организация.Наименование;
ПочтовыеАдреса = Сообщение.Получатели;
ПочтовыйАдрес = ПочтовыеАдреса.Добавить();
ПочтовыйАдрес.Адрес = Счет.Адрес;
Сообщение.Тема = Объект.ТемаПисьма;
ИнтернетТекстПочтовогоСообщения = Сообщение.Тексты.Добавить();
ИнтернетТекстПочтовогоСообщения.Текст = СодержаниеПисьмаКонтрагент;
ИнтернетТекстПочтовогоСообщения.ТипТекста = ТипТекстаПочтовогоСообщения.ПростойТекст;
Попытка
Почта.Послать(Сообщение);
Исключение
Сообщить(ОписаниеОшибки());
Продолжить;
КонецПопытки;
Сообщение = Новый СообщениеПользователю();
Сообщение.Текст = "Сообщение отправлено для контрагента "+Счет.Контрагент+" на адрес "+Счет.Адрес;
Сообщение.Сообщить();
Если ЗначениеЗаполнено(Счет.ДокументСчет) Тогда
УдалитьФайлы(ИмяФайлаСчет);
КонецЕсли;
КонецЦикла;
Почта.Отключиться();
Сообщение = Новый СообщениеПользователю();
Сообщение.Текст = "Рассылка успешно выполнена";
Сообщение.Сообщить();
Шелл = Новый COMОбъект("WScript.Shell");
ПутьИмя = Шелл.ExpandEnvironmentStrings("%APPDATA%")+"\Local\1C\1.txt";
Файл = Новый Файл(ПутьИмя);
Если Файл.Существует() Тогда
Сообщить("Работает");
Иначе
Сообщить("Не работает");
КонецЕсли;
По сути, если sql, то такую папку надо завести в каталоге пользователя usr1cv8 или того пользователя, из под которого запускается сервер, с добавлением права на запись в этот каталог пользователю usr1cv8
если файловая, то через шелл