Как отключить безопасный режим при выполнении регламентного задания?

Как отключить безопасный режим при выполнении регламентного задания?

Привет всем, не могу справиться с проблемой.. запускаю регламентное задание, которое запускает внешний отчет, который сохраняет результат (табличный документ) в файл таким способом Результат.Записать(АдресСохраненияФайлаВложения, ТипФайлаТабличногоДокумента.XLS97);

Но это строка не выполняется, появляется ошибка "Установлен безопасный режим. Выполнение операции запрещено". Пробовала прописать УстановитьБезопасныйРежим(Ложь), но появляется ошибка "Ошибка при вызове метода контекста (УстановитьБезопасныйРежим): В данной процедуре/ функции не был установлен безопасный режим".

Как можно справиться с такой проблемой?

  • Скопировать ссылку
  • Перейти
  • Скопировать ссылку
  • Перейти

(2) AllexSoft, нет такой строки в модуле объекта внешнего отчета.. а сам внешний отчет запускается таким способом:

ИмяФайла = ПолучитьИмяВременногоФайла(); ДвоичныеДанные = ВнешОтчет.ХранилищеВнешнейОбработки.Получить(); ДвоичныеДанные.Записать(ИмяФайла);

Выполнить("ВнешниеОтчеты.Создать("""+ИмяФайла+""")"+ ?(ИмяЗапускаемойПроцедуры="", ".ПолучитьФорму().Открыть()","."+ИмяЗапускаемойПроцедуры)+";")

  • Скопировать ссылку
  • Перейти
  • Скопировать ссылку
  • Перейти

(4) AllexSoft, Перем мРегламентное Экспорт ;

Процедура СформироватьИОтправить() Экспорт

Процедура СформироватьИОтправить2() Экспорт

//Пользователь = ПараметрыСеанса.ТекущийПользователь; Пользователь = Справочники.Пользователи.НайтиПоНаименованию("Робот"); ОсновнойПрофиль = УправлениеПользователями.ПолучитьЗначениеПоУмолчанию(Пользователь, "ОсновнаяУчетнаяЗапись");

Если Не ЗначениеЗаполнено(ОсновнойПрофиль) Тогда Возврат; КонецЕсли;

Если ТаблицаРассылки = Неопределено Тогда Возврат; КонецЕсли;

Для Каждого Запись Из ТаблицаРассылки Цикл

// Если нет адреса для отправки прайса, то пропускаем данного контрагента //Сообщить(Запись.Адрес); Если Не ЗначениеЗаполнено(Запись.Адрес) Тогда Продолжить; КонецЕсли; АдресФайлаВложения = СформироватьВложение(Запись.Контрагент, Запись.НастройкаОтчета);

// Если не удалось сформировать файл прайса, то прпускаем процесс отправки //Сообщить(АдресФайлаВложения); Если ПустаяСтрока(АдресФайлаВложения) Тогда Продолжить; КонецЕсли;

Отправить(АдресФайлаВложения, Запись.Адрес, ОсновнойПрофиль, Запись.Контрагент); //Катя

Категория = Справочники.КатегорииОбъектов.НайтиПоНаименованию("Выгружать прайс", Истина);

Если Категория.Пустая() Тогда Возврат Неопределено; КонецЕсли;

МенеджерВременныхТаблиц = Новый МенеджерВременныхТаблиц;

///// 16мая+ Объекты = Новый Массив; Запрос = Новый Запрос;

Если мРегламентное Тогда

Если Не РезультатЗапроса.Пустой() Тогда

Выборка = РезультатЗапроса.Выбрать(); Пока Выборка.Следующий() Цикл Объекты.Добавить(Выборка.Объект); КонецЦикла; КонецЕсли;

//Сообщить(Строка(ЧАС(ТекущаяДата()))+ " " +Строка(МИНУТА(ТекущаяДата()))); Иначе Если ОбъектДляРассылки.Пустая() Тогда Запрос.Текст ;

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

Запрос = Новый Запрос; Запрос.МенеджерВременныхТаблиц = МенеджерВременныхТаблиц;

Функция СформироватьВложение(Контрагент, НастройкаОтчета)

//Получаем схему из макета СхемаКомпоновкиДанных = ПолучитьМакет("ОсновнаяСхемаКомпоновкиДанных");

////Из схемы возьмем настройки по умолчанию //Настройки = СхемаКомпоновкиДанных.НастройкиПоУмолчанию;

// Возьмем настройки из хранилища дополнительной информации Попытка Настройки = НастройкаОтчета.Получить();

Для Каждого Настройка Из Настройки.ПараметрыДанных.Элементы Цикл Если Строка(Настройка.Параметр) = "Период" Тогда Настройка.Значение = КонецДня(ТекущаяДата()); КонецЕсли; КонецЦикла;

Исключение Возврат ""; КонецПопытки;

//Помещаем в переменную данные о расшифровке данных ДанныеРасшифровки = Новый ДанныеРасшифровкиКомпоновкиДанных;

//Формируем макет, с помощью компоновщика макета КомпоновщикМакета = Новый КомпоновщикМакетаКомпоновкиДанных;

//Передаем в макет компоновки схему, настройки и данные расшифровки МакетКомпоновки = КомпоновщикМакета.Выполнить(СхемаКомпоновкиДанных, Настройки, ДанныеРасшифровки);

//Выполним компоновку с помощью процессора компоновки ПроцессорКомпоновкиДанных = Новый ПроцессорКомпоновкиДанных; ПроцессорКомпоновкиДанных.Инициализировать(МакетКомпоновки, , ДанныеРасшифровки,Истина);

Результат = Новый ТабличныйДокумент;

//Выводим результат в табличный документ ПроцессорВывода = Новый ПроцессорВыводаРезультатаКомпоновкиДанныхВТабличныйДокумент; ПроцессорВывода.УстановитьДокумент(Результат);

//АдресСохраненияФайлаВложения = КаталогВременныхФайлов() + "\" + Строка(Контрагент) + " (прайс от " + Формат(ТекущаяДата(), "ДФ=dd.MM.yyyy") + ").txt"; //xls // // АдресСохраненияФайлаВложения=СтрЗаменить(АдресСохраненияФайлаВложения,"""","");

АдресСохраненияФайлаВложения = "C:\Users\e.pohiluk\Desktop" + "\" + Строка(Контрагент) + " (прайс от " + Формат(ТекущаяДата(), "ДФ=dd.MM.yyyy") + ").txt"; //xls АдресСохраненияФайлаВложения=СтрЗаменить(АдресСохраненияФайлаВложения,"""","");

МойОбъект = Справочники.ТУ_ОбъектыДляРассылки.НайтиПоНаименованию("Программист"); МойОбъектОбъект = МойОбъект.ПолучитьОбъект(); МойОбъектОбъект.ТекстПисьма = АдресСохраненияФайлаВложения; МойОбъектОбъект.Записать();

Попытка //УстановитьБезопасныйРежим(Истина); Результат.Записать(АдресСохраненияФайлаВложения, ТипФайлаТабличногоДокумента.TXT); //XLS97 //УстановитьБезопасныйРежим(Ложь); МойОбъектОбъект.ТекстПисьма = "ОК"; МойОбъектОбъект.Записать(); Исключение МойОбъектОбъект.ТекстПисьма = "Ошибка" + Строка(ОписаниеОшибки()); МойОбъектОбъект.Записать(); КонецПопытки;

Процедура Отправить(АдресФайлаВложения, АдресОтправки, ОсновнойПрофиль, Объект) //Катя

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

Письмо.Тема = "Прайс-лист "+ОсновнаяОрганизация.НаименованиеПлательщикаПриПеречисленииНалогов ; // Если необходимо, позже добавим текст письма! //Письмо.Тексты.Добавить("", ТипТекстаПочтовогоСообщения.HTML);

Письмо.Получатели.Добавить(АдресОтправки); Письмо.Отправитель.Адрес = ОсновнойПрофиль.АдресЭлектроннойПочты; Письмо.Вложения.Добавить(АдресФайлаВложения);

Профиль = Новый ИнтернетПочтовыйПрофиль; Профиль.АдресСервераPOP3 = ОсновнойПрофиль.POP3Сервер; Профиль.АдресСервераSMTP = ОсновнойПрофиль.SMTPСервер; Профиль.Пользователь = ОсновнойПрофиль.Логин; Профиль.Пароль = ОсновнойПрофиль.Пароль; Профиль.ПользовательSMTP = ОсновнойПрофиль.Логин; Профиль.ПарольSMTP = ОсновнойПрофиль.Пароль; Профиль.ПортPOP3 = ОсновнойПрофиль.ПортPOP3; Профиль.ПортSMTP = ОсновнойПрофиль.ПортSMTP; Профиль.АутентификацияPOP3 = СпособPOP3Аутентификации.Обычная; Профиль.АутентификацияSMTP = СпособSMTPАутентификации.БезАутентификации;

// Отправляем письмо Почта = Новый ИнтернетПочта;

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

📎📎📎📎📎📎📎📎📎📎