Форум 1С
Программистам, бухгалтерам, администраторам, пользователям
Задай вопрос - получи решение проблемы
29 сен 2024, 03:17

фоновое задание. ошибки при создании файла и отправки почты.

Автор andron81_81, 19 июн 2024, 15:35

0 Пользователей и 1 гость просматривают эту тему.

andron81_81

Цитата: antoneus от 19 июн 2024, 15:57И попробуйте так

ОписаниеЗащиты = Новый ОписаниеЗащитыОтОпасныхДействий;
ОписаниеЗащиты.ПредупреждатьОбОпасныхДействиях = Ложь;
Об = ВнешниеОбработки.Создать(ИмяФайла, Ложь, ОписаниеЗащиты);


это не будет работать . по причине того , что файла с именем "ИмяФайла" не существует.
а если сделать вот так то и смысл ваших 3х строчек пропадает.   :

// заполнение ТабДокумент...
ФайлЕксельИмя = КаталогВременныхФайлов() + "выгрузка.xls";
ТабДокумент.Записать(ФайлЕксельИмя,ТипФайлаТабличногоДокумента.XLS);
ОписаниеЗащиты = Новый ОписаниеЗащитыОтОпасныхДействий;
ОписаниеЗащиты.ПредупреждатьОбОпасныхДействиях = Ложь;
Об = ВнешниеОбработки.Создать(ФайлЕксельИмя, Ложь, ОписаниеЗащиты);

Для каждого элементМассива из EmailПолучателей цикл
    ОтправитьСообщениеНаПочту(элементМассива, Организация,ФайлЕксельИмя );
КонецЦикла;

то есть ошибка такая :

ЦитироватьОшибка при вызове метода контекста (Записать)
{ВнешняяОбработка.ГрафикПрохожденияЗаказовДляРегламентного.МодульОбъекта(436)}:ТабДокумент.Записать(ФайлЕксельИмя,ТипФайлаТабличногоДокумента.XLS);
{ОбщийМодуль.ВШ_Общий.Модуль(13)}:Справочники.Организации.НайтиПоКоду("000000003") ,

по причине:
Установлен безопасный режим. Выполнение операции запрещено
по причине:
Установлен безопасный режим. Выполнение операции запрещено


andron81_81

antoneus, то есть файла нет, но мы патаемся на него дать доступ.
а если наоборот хотим создать файл, но нам это не удаётся так как нет доступа :dfbsdfbsdf:

Максим75

andron81_81, а если дать в системе доступ туда, где КаталогВременныхФайлов() находится.
кстати, Вы же можете указать другой каталог, там где есть доступ на создание и запись в него. ну типа D:\Обмены\

andron81_81

Максим75, папку попробовал, сделал другую, прописал. Всё тоже самое. Вся 1с ка работает от системного пользователя (пользователь ОС) "usr1cv8". Полагаю у него мощные права. Другого системного пользователя указать не представляется возможным.

antoneus

При чем тут файл ексель? Я вам говорю про создание и запуск внешней обработки, в которой этот файл ексель записывается. Про код из первого поста:

Спр = Справочники.ВнешниеОбработки.НайтиПоНаименованию("График прохождения заказов для регламентного");
        Если Не Спр.Пустая() Тогда
            ИмяФайла = ПолучитьИмяВременногоФайла("ert");
            ДвоичныеДанные = Спр.ХранилищеВнешнейОбработки.Получить();
            ДвоичныеДанные.Записать(ИмяФайла);
            ОписаниеЗащиты = Новый ОписаниеЗащитыОтОпасныхДействий;//вот
            ОписаниеЗащиты.ПредупреждатьОбОпасныхДействиях = Ложь;//сюда
            Об = ВнешниеОбработки.Создать(ИмяФайла, Ложь, ОписаниеЗащиты);//надо вставлять
            макет = Об.ПолучитьМакет("Макет");
            Об.Сформировать(
            началоМесяца(ТекущаяДата()),
            конецМесяца(ТекущаяДата()),
            Справочники.Организации.НайтиПоКоду("000000003") ,
            Ложь,
            ложь  );
           
        конецЕсли;

andron81_81

antoneus,
Цитата: antoneus от 19 июн 2024, 15:57И попробуйте так

ОписаниеЗащиты = Новый ОписаниеЗащитыОтОпасныхДействий;
ОписаниеЗащиты.ПредупреждатьОбОпасныхДействиях = Ложь;
Об = ВнешниеОбработки.Создать(ИмяФайла, Ложь, ОписаниеЗащиты);


а может файл должен существовать ?
может попробовать сделать файл сначала , потом ваши 3 строки, а потом уже ТабДокумент.Записать ?

andron81_81

Цитата: antoneus от 20 июн 2024, 16:15При чем тут файл ексель? Я вам говорю про создание и запуск внешней обработки, в которой этот файл ексель записывается. Про код из первого поста:

Спр = Справочники.ВнешниеОбработки.НайтиПоНаименованию("График прохождения заказов для регламентного");
        Если Не Спр.Пустая() Тогда
            ИмяФайла = ПолучитьИмяВременногоФайла("ert");
            ДвоичныеДанные = Спр.ХранилищеВнешнейОбработки.Получить();
            ДвоичныеДанные.Записать(ИмяФайла);
            ОписаниеЗащиты = Новый ОписаниеЗащитыОтОпасныхДействий;//вот
            ОписаниеЗащиты.ПредупреждатьОбОпасныхДействиях = Ложь;//сюда
            Об = ВнешниеОбработки.Создать(ИмяФайла, Ложь, ОписаниеЗащиты);//надо вставлять
            макет = Об.ПолучитьМакет("Макет");
            Об.Сформировать(
            началоМесяца(ТекущаяДата()),
            конецМесяца(ТекущаяДата()),
            Справочники.Организации.НайтиПоКоду("000000003") ,
            Ложь,
            ложь  );
           
        конецЕсли;


аааа,  вот оно что.
Пробую....


andron81_81

Цитата: antoneus от 20 июн 2024, 16:15При чем тут файл ексель? Я вам говорю про создание и запуск внешней обработки, в которой этот файл ексель записывается. Про код из первого поста:

Спр = Справочники.ВнешниеОбработки.НайтиПоНаименованию("График прохождения заказов для регламентного");
        Если Не Спр.Пустая() Тогда
            ИмяФайла = ПолучитьИмяВременногоФайла("ert");
            ДвоичныеДанные = Спр.ХранилищеВнешнейОбработки.Получить();
            ДвоичныеДанные.Записать(ИмяФайла);
            ОписаниеЗащиты = Новый ОписаниеЗащитыОтОпасныхДействий;//вот
            ОписаниеЗащиты.ПредупреждатьОбОпасныхДействиях = Ложь;//сюда
            Об = ВнешниеОбработки.Создать(ИмяФайла, Ложь, ОписаниеЗащиты);//надо вставлять
            макет = Об.ПолучитьМакет("Макет");
            Об.Сформировать(
            началоМесяца(ТекущаяДата()),
            конецМесяца(ТекущаяДата()),
            Справочники.Организации.НайтиПоКоду("000000003") ,
            Ложь,
            ложь  );
           
        конецЕсли;

спасибо, большое. помогло !  :zebzdr:  :ooifh:  но возникли другие проблемы другая тема .

Похожие темы (5)

Рейтинг@Mail.ru

Поиск