Вход | Регистрация
 
1С:Предприятие :: 1С:Предприятие 8 общая

Каталог не обнаружен

Каталог не обнаружен
Я
   sergqwert
 
06.09.20 - 21:50
При отправке электронной почты возникает ошибка "каталог %AppData%\Local\1C не обнаружен". Как устранить проблему?


Если Объект.УчетнаяЗапись.Пустая() Тогда
Сообщение = Новый СообщениеПользователю();
Сообщение.Текст = "Не выбрана учетная запись электронной почты!";
Сообщение.Сообщить();
Возврат;
КонецЕсли;

Каталог = "%AppData%\Local\1C";

Почта = Новый ИнтернетПочта;
Профиль = РаботаСПочтовымиСообщениямиСлужебный.ИнтернетПочтовыйПрофиль(Объект.УчетнаяЗапись);

Попытка
Почта.Подключиться(Профиль);
Исключение
Сообщить(ОписаниеОшибки());
Возврат;
КонецПопытки;

Для каждого Счет Из Объект.ТЧСчета Цикл

Если НЕ Счет.Отправлять Тогда
Продолжить;
КонецЕсли;

Сообщение = Новый ИнтернетПочтовоеСообщение;


Если ЗначениеЗаполнено(Счет.ДокументСчет) Тогда
ТабДок = ПечатьДокументаНаСервере(Счет.ДокументСчет,"ПФ_MXL_СчетЗаказПечать","СчетЗаказСПечатью","Счет на оплату покупателю с печатью");

ИмяФайлаСчет = Каталог+"\Счет"+Счет.ДокументСчет.Номер+".pdf";
Если ТабДок <> Неопределено Тогда
ТабДок.Записать(ИмяФайлаСчет,ТипФайлаТабличногоДокумента.PDF);
КонецЕсли;
Сообщение.Вложения.Добавить(Новый ДвоичныеДанные(ИмяФайлаСчет),"Счет"+Счет.ДокументСчет.Номер+".pdf");
КонецЕсли;

ТемаПисьмаКонтрагент = СтрЗаменить(Объект.ТемаПисьма,"%СЧЕТ%"," Счет № "+Счет.Документ.Номер+" от "+Формат(Счет.Документ.Дата,"ДФ=dd.MM.yyyy"));
СодержаниеПисьмаКонтрагент = СтрЗаменить(Объект.Содержание,"%КЛИЕНТ%",""+Счет.Контрагент.НаименованиеПолное);

Сообщение.Отправитель = Объект.УчетнаяЗапись.АдресЭлектроннойПочты;
Сообщение.ИмяОтправителя = ""+Объект.Организация.Наименование;
ПочтовыеАдреса = Сообщение.Получатели;
ПочтовыйАдрес = ПочтовыеАдреса.Добавить();
ПочтовыйАдрес.Адрес = Счет.Адрес;
Сообщение.Тема = Объект.ТемаПисьма;

ИнтернетТекстПочтовогоСообщения = Сообщение.Тексты.Добавить();
ИнтернетТекстПочтовогоСообщения.Текст = СодержаниеПисьмаКонтрагент;
ИнтернетТекстПочтовогоСообщения.ТипТекста = ТипТекстаПочтовогоСообщения.ПростойТекст;

Попытка
Почта.Послать(Сообщение);
Исключение
Сообщить(ОписаниеОшибки());
Продолжить;
КонецПопытки;

Сообщение = Новый СообщениеПользователю();
Сообщение.Текст = "Сообщение отправлено для контрагента "+Счет.Контрагент+" на адрес "+Счет.Адрес;
Сообщение.Сообщить();

Если ЗначениеЗаполнено(Счет.ДокументСчет) Тогда
УдалитьФайлы(ИмяФайлаСчет);
КонецЕсли;

КонецЦикла;

Почта.Отключиться();

Сообщение = Новый СообщениеПользователю();
Сообщение.Текст = "Рассылка успешно выполнена";
Сообщение.Сообщить();
   МихаилМ
 
1 - 06.09.20 - 22:03
откуда 1с узнает  что такое  %AppData% ?
   sergqwert
 
2 - 06.09.20 - 22:09
Временные файлы сохраняются в переменную %USERPROFILE%.   Если полный путь, тогда %userprofile%AppData\Local\1C
   Fram
 
3 - 06.09.20 - 22:10
(0) есть спец функция для получения каталога временных файлов.
   sergqwert
 
4 - 06.09.20 - 22:11
Какая именно?
   Fram
 
5 - 06.09.20 - 22:12
(4) не помню точно, погугли
   Fram
 
6 - 06.09.20 - 22:19
(2) если уж говорить о переменных среды в Винде, то лучше использовать %TEMP% или %TMP%
   RomanYS
 
7 - 06.09.20 - 22:30
(0) попробуй открыть %AppData% в винде и удивись... у меня открыло ...\AppData\Roaming
   Cthulhu
 
8 - 06.09.20 - 23:32
надеюсь это все делается не на сервере?..
   ДенисЧ
 
9 - 07.09.20 - 05:22
(4) КаталогВременныхФайлов()

Список тем форума
Рекламное место пустует  Рекламное место пустует
Читай всё полезное и впитывай, а нападки игнорируй. Здесь так принято. aka AMIGO
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.