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

1. frkbvfnjh 805 15.01.19 15:33 Сейчас в теме
Доброго времени суток. Имеется самописная конфигурация на обычном приложении. В общем модуле есть процедура которая формирует дерево значения, а затем сохраняет его в файл с помощью процедуры ЗначениеВФайл. При этом возникает ошибка:
{ОбщийМодуль.Такойто.Модуль(115)}: Ошибка при вызове метода контекста (ЗначениеВФайл): Установлен безопасный режим. Выполнение операции запрещено
Как обойти этот долбанный безопасный режим? В настройках пользователя отключил защиту от опасных действий, но ничего не изменилось. Вроде на форумах много подобных вопросов, но что то все про типовые конфигурации, внешние обработки и не в тему. Может кто нибудь сказать по простому как обойти или отключить этот безопасный режим и почему не достаточно отключить защиту от опасных действий в настройках пользователя информационной базы?
krokbest; TreeDogNight; COMPER; Михаська; dklp; AlbertZ; +6 Ответить
По теме из базы знаний
Ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
12. ben19791010 16.01.19 09:09 Сейчас в теме
(1)
самописная конфигурация на обычном приложении
на чьей базе и на какой платформе?
28. RussXXX 01.06.22 14:24 Сейчас в теме
(1) Добрый день, как в итоге решили проблему ?
29. frkbvfnjh 805 01.06.22 14:32 Сейчас в теме
(28) Не решил, просто сменил место работы... и забыл как страшный сон
rishat78; Lacoste4life; Derek777; user1706724; MikeLetto; TreeDogNight; asupigor; demidrole; user1183932; Xleo777; user1778746; user1457274; BrainWashed; platonov.e; dreamerr7; pavel_2005; den_vrn; Ingraf; ONLYTILT; user1810616; Helly_ti; user659183_samigullina_alin; Михаська; freeek; Kaperang; корум; Romakon92; vova196; +28 Ответить
31. frkbvfnjh 805 01.06.22 15:48 Сейчас в теме
(28) Мне кажется только разработчики платформы знают ответ на этот вопрос, но они интроверты и ни с кем не общаются
TreeDogNight; pavel_2005; Helly_ti; +3 Ответить
32. RussXXX 01.06.22 16:45 Сейчас в теме
(31) все дело в профиле безопасности кластера, нужно зайти в консоль и создать профиль, в нем указать что можно, а что нельзя, причем это не танцы с бубном, а реальные действия которые нужно настроить (кстати разрешить все, тоже можно) . Я столкнулся с проблемой с подключением внешней компоненты и Установлен безопасный режим. Выполнение операции запрещено словил. Короче надо настраивать локальный кластер,после создания профилей прописать их в базе данных, там же в консоле и все будет норм. Для вашего случая есть тоже галочка) а для моего случая отметил на скрине красным.
Пишу это что бы люди находили так как много не отвеченных вопросов по инету на эти темы.

Кстати по этой функции
ПодключитьВнешнююКомпоненту(); 
Если ее вызывать в модуле формы или модуле объекта все будет норм, т.к 1с сама выключает в них БезопасныйРежим, а если в общем модуле то увы, настраивать кластер нужно и никакие
УстановитьОтключениеБезопасногоРежима(Истина);
не помогут. Короче я ответил на все вопросы)
Прикрепленные файлы:
keller; k268kk; TreeDogNight; vitaminich; it-volna.com; VAAngelov; antonio_i; frkbvfnjh; Михаська; vakham; zurg; user1165146; dbaser; ilyina-s@mail.ru; +14 Ответить
35. dbaser 21 12.10.22 15:01 Сейчас в теме
Спасибо.
Единственное решение, которое помогло - создать профиль безопасности и там разрешить все.

Простой код в тестовой внешней обработке выполнялся и на клиенте и на сервере,
а если пихаешь его в ПКО_ПриВыгрузке, то универсальный обмен данными начинает критовать на права на эти строчки:

АДОКоннектор = Новый COMОбъект("ADODB.Connection");
АДОКоннектор.ConnectionString = "Provider=""ADsDSOObject""";
36. dbaser 21 12.10.22 15:23 Сейчас в теме
(35)
Так же помогло в процедуру "После загрузки правил обмена" записать:
БезопасныйРежим = ЛОЖЬ;
41. пользователь 15.06.23 16:35
Сообщение было скрыто модератором.
...
2. smit1c 106 15.01.19 15:37 Сейчас в теме
Попробуй УстановитьБезопасныйРежим(Ложь)
3. frkbvfnjh 805 16.01.19 06:57 Сейчас в теме
(2)
УстановитьБезопасныйРежим(Ложь)

Теперь происходит исключение с текстом: В данной процедуре/ функции не был установлен безопасный режим
У пользователя под которым выполняется код, полные права
Что опять не так то?
4. пользователь 16.01.19 07:14
Сообщение было скрыто модератором.
...
5. frkbvfnjh 805 16.01.19 07:18 Сейчас в теме
Я тут еще одну процедуру нарыл. А в чем различие между ними?
УстановитьОтключениеБезопасногоРежима() - Выключает текущий режим безопасности.
УстановитьБезопасныйРежим() - В файловом варианте информационной базы или на сервере в клиент-серверном варианте информационной базы включает или выключает безопасный режим исполнения кода.
Я читаю справку и не понимаю, что там написано. Режим безопасности и безопасный режим исполнения кода это разные вещи что ли?
6. frkbvfnjh 805 16.01.19 07:27 Сейчас в теме
У меня истерика!!! Если я пытаюсь вызвать функцию ПолучитьОтключениеБезопасногоРежима или УстановитьОтключениеБезопасногоРежима в общем модуле, то выходит исключение даже на этапе проверки:
Процедура или функция с указанным именем не определена (ПолучитьОтключениеБезопасногоРежима)
Результат = <<?>>ПолучитьОтключениеБезопасногоРежима(); (Проверка: Сервер)

У общего модуля стоит галочка единственная галочка "Сервер", как при этом может выходит ошибка при проверке на сервере?
7. frkbvfnjh 805 16.01.19 07:35 Сейчас в теме
У меня платформа 8.3.10.2650 и база серверная, может в этом какая-то причина?
8. frkbvfnjh 805 16.01.19 07:39 Сейчас в теме
Как мне выполнить эту долбанную процедуру ЗначениеВФайл в конечном итоге?
9. ben19791010 16.01.19 07:45 Сейчас в теме
возможно привилегированный режим поможет
10. frkbvfnjh 805 16.01.19 08:19 Сейчас в теме
(9) Вызвал предварительно УстановитьПривилегированныйРежим(Истина); перед вызовам ЗначениеВФайл - не помогло, при вызове ЗначениеВФайл ошибка таже (Установлен безопасный режим. Выполнение операции запрещено). Через отладку, после установки привилегированного режима, посмотрел значение функции ПривилегированныйРежим(), значение Ложь, т.е. привилегированный режим не включается, но ошибки никакой при вызове УстановитьПривилегированныйРежим нет. Тогда я установил галочку "Привилегированный" у самого общего модуля из которого вызываю процедуру содержащую ЗначениеВФайл - не помогло, ошибка таже. Ставлю точку останова в общем привилегированном модуле, смотрю через отладку ПривилегированныйРежим() - значение Ложь... Глаз начинает дергаться, скажите в каком месте я дурак?
11. ben19791010 16.01.19 09:08 Сейчас в теме
это всё под Админом системы делаешь?
13. frkbvfnjh 805 16.01.19 10:07 Сейчас в теме
(11)
это всё под Админом системы делаешь?
Да
Даже специально ща запустил правой клавишей от имени администратора
Кстати сейчас в другой конфигурации попробовал общий модуль сделать Привилегированным и через отладку в нем ПривилегированныйРежим() возращает Истина, а почему в этой конфигурации возвращает Ложь я не пойму, что на это может влиять?
16. ben19791010 17.01.19 04:48 Сейчас в теме
(13)а у USR1CV8 есть право записи?
17. ben19791010 17.01.19 04:53 Сейчас в теме
(13)
Разрешение = РаботаВБезопасномРежиме.РазрешениеНаИспользованиеКаталогаВременныхФайлов(Истина, Истина); 
ПараметрыРегистрации.Разрешения.Добавить(Разрешение);


//РазрешениеНаИспользованиеПривилегированногоРежима
adhocprog; +1 Ответить
18. frkbvfnjh 805 17.01.19 11:53 Сейчас в теме
(17)
Разрешение = РаботаВБезопасномРежиме.РазрешениеНаИспользованиеКаталогаВременныхФайлов(Истина, Истина);
ПараметрыРегистрации.Разрешения.Добавить(Разрешение);

Это из БСП на сколько я понял, в обычном приложении такого нет, тем более в самописной конфигурации
19. ben19791010 17.01.19 12:24 Сейчас в теме
(18)
тем более в самописной конфигурации

ну вот надо было типовую конфу брать наверное за основу со встроенными механизмами...былоб проще
14. frkbvfnjh 805 16.01.19 10:10 Сейчас в теме
Ща пробовал эту баз запустить на платформе 8.3.13.1198 - ничего не изменилось
20. ben19791010 17.01.19 12:26 Сейчас в теме
(14) а до этого на какой было? можно 8.3.10 попробывать
15. meriferi 16.01.19 15:25 Сейчас в теме
ПараметрыРегистрации.Вставить("БезопасныйРежим", ЛОЖЬ);
34. pbahushevich 27.09.22 13:31 Сейчас в теме
(15)
БезопасныйРежим

а где это прописывать?
мне в обработке добавить надо. Там параметров регистрации не видит
22. frkbvfnjh 805 17.01.19 13:30 Сейчас в теме
(21) Это я уже читал и как я понял процедура УстановитьБезопасныйРежим нужна что бы запретить ряд действий внутри привилегированного режима, а УстановитьОтключениеБезопасногоРежима я вообще ни понял начерта нужна
23. Bubuyka 35 03.06.19 16:56 Сейчас в теме
Добрый день.
Пишу для истории, возможно кому- то пригодится. Была аналогичная проблема в Конвертации 2.0. После выгрузки объекта в ПКО формировала Табличный документ и пыталась его записать. В момент записи выдавал ошибку, что "Установлен безопасный режим. Выполнение операции запрещено".
Было так:

ТабДок = Документы.МойДокумент.ПечатьЛистаСогласования(Источник,Источник);
ВрФайл = ПолучитьИмяВременногоФайла("pdf");
табДок.записать(ВрФайл,ТипФайлаТабличногоДокумента.pdf);
*
Выходила ошибка.

Стало вот так:
ТабДок = Документы.МойДокумент.ПечатьЛистаСогласования(Источник,Источник);
ВрФайл = ПолучитьИмяВременногоФайла("pdf");
Значение = БезопасныйРежим();
Если ТипЗнч(Значение)=тип("Булево") и Значение=Истина тогда
УстановитьОтключениеБезопасногоРежима(Истина);

табДок.записать(ВрФайл,ТипФайлаТабличногоДокумента.pdf);
КОнецЕсли;

И все заработало.
blandinko; Karlosss; Михаська; mvv1969; unichkin; KirinaAS; psa247; nikolega; shalupov61; Rootking2010; user706520_bichkov; adhocprog; svilsa; COMPER; yaguarrr; user834802; ASDF2; AlekSo; +18 Ответить
25. paxanb 04.03.20 10:25 Сейчас в теме
(23) Тоже ковыряюсь с КД2 в ПВД.
Прописываю УстановитьОтключениеБезопасногоРежима(Истина);
Не работает нифга. Попробовал еще варианты с УстановитьБезопасныйРежим(Ложь);
Я еще потом понатыкал вывод на экран со статусом безопасного режима. Не меняется вообще Безопасный режим. Запускал под админом с полными правами. Хз куда дальше копать.
26. svilsa 12 30.04.21 12:26 Сейчас в теме
,
(25) Та же проблема. Надо было в КД2 записать файл на диск. Была ошибка "Установлен безопасный режим выполнение операции запрещено". Оказалось все просто.
Надо сохранить УниверсальныйОбменДаннымиXML как внешнюю обработку. Там в форме при создании на сервере:
&НаСервере
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
	
	// Проверка прав доступа должна располагаться самой первой.
	Если Не ПравоДоступа("Администрирование", Метаданные) Тогда
		ВызватьИсключение НСтр("ru = 'Использование обработки в интерактивном режиме доступно только администратору.'");
	КонецЕсли;
	
	ПроверитьВерсиюИРежимСовместимостиПлатформы();
	
	Объект.ЭтоИнтерактивныйРежим = Истина;
	Объект.БезопасныйРежим = Ложь;
	Объект.КодировкаФайлаПротоколаОбмена = "КодировкаТекста.UTF8";
	
	ЗаголовокФормы = НСтр("ru = 'Универсальный обмен данными в формате XML (%ВерсияОбработки%)'");
	ЗаголовокФормы = СтрЗаменить(ЗаголовокФормы, "%ВерсияОбработки%", ВерсияОбъектаСтрокойНаСервере());
	
	Заголовок = ЗаголовокФормы;
	
	ЗаполнитьСписокТиповДоступныхДляУдаления();
	
КонецПроцедуры
Показать


Только так заработало
Tolyas; kudlach; user591389_aska_rabota; vankacal; Fe9_min; LeXXeR; Alchemist; +7 Ответить
27. Alchemist 26.05.21 21:24 Сейчас в теме
(26) Благодарю - помогло - та же проблема была при загрузке данных с помощью обработки "Универсальный обмен данными XML".
У меня при загрузке конфа обращалась к интернет ресурсу, чтобы правильно заполнить адрес в контактной информации в УНФ.

В обработке в процедуре ПриСозданииНаСервере() указал:
Объект.БезопасныйРежим = Ложь;
37. al-e-ks 21.11.22 17:43 Сейчас в теме
(26) В КД прописал следующее (в обработчике "Перед загрузкой данных" конвертации)
БезопасныйРежим = Ложь;


Спасибо и (27) - не пришлось перелопачивать обработку...
Прикрепленные файлы:
EvgenAEY; DianaS; sizeoff; svilsa; +4 Ответить
50. EvgenAEY 2 15.11.24 10:33 Сейчас в теме
(37)
БезопасныйРежим = Ложь;


так вот же решение! Все работает
33. psa247 21 09.07.22 08:35 Сейчас в теме
(23) Спасибо, добрый человек!
24. tarassov 113 03.10.19 18:45 Сейчас в теме
На ИТС все описано:
текст с ИТС


Внешнюю обработку надо подключать с третьим параметром Ложь:
ВнешниеОбработки.Подключить(АдресВоВременномХранилище,,Ложь)
Vary; serko8547; AndrewVVS; plevakin; megatrend; freeek; GonziK_KIV; user1513871; Anthon; adhocprog; Gobbledegook; qazaz2; +12 Ответить
38. megatrend 131 28.02.23 16:40 Сейчас в теме
(24)
ВнешниеОбработки.Подключить(АдресВоВременномХранилище,,Ложь)

Спасибо! Помогло.
30. parker_j 01.06.22 15:42 Сейчас в теме
(29) Великолепно)))))))))))))))))))))))))))))))
39. serko8547 111 25.04.23 12:45 Сейчас в теме
посмотрите роль "Добавление и изменение папок и файлов"
40. Saioko 2 18.05.23 12:20 Сейчас в теме
Такая же проблема, ничего из рекомендованного выше не помогло. Причём у одних пользователей с одинаковым набором прав работало, у других выходила ошибка.

Помогло снятие галочки "Защита от опасных действий" у пользователя в конфигураторе.
serko8547; +1 Ответить
42. serko8547 111 20.06.23 08:10 Сейчас в теме
Если у вас связанно с работой файлов, или внешними подключениями, то должна быть доступна роль "Администратор системы" (не путать с полными правами)

Итого:
1.Конфигуратор: Администринование --> Пользователи - Убрать галку (в самом низу) "Защита от опасных действий"
Там же, у пользователя - кликнуть вкладку "Прочие"
2. Поставить галку "Администратор системы"
3. Поставить галку "Добавление и изменение папок и файлов"
user755340; +1 Ответить
43. kudlach 13 16.10.23 14:31 Сейчас в теме
В ERP работала обработка "Универсальный обмен в формате XML" штатно годами, вдруг начала выдавать ошибку про невозможность работы с временными файлами по причине безопасного режима.
По форумам, нашел флаг "Безопасный режим" у пользователя, но не в пользовательской карточке пользователя, а из конфигуратора. Не помогло.
В еще одном форуме упоминули про реквизит формы в обработке Универсального обмена XML - вывел на форму и хопа - она стоит включенной!.
Выключил на форме - все прошло на ура.
user1706724; +1 Ответить
44. fresh_1986 03.11.23 12:14 Сейчас в теме
(43) А можно подробнее про реквизит формы, который нужно вывести на форму? Как он называется?
user1706724; +1 Ответить
45. InnaDv 08.11.23 16:50 Сейчас в теме
(44) Так и называется, БезопасныйРежим
Прикрепленные файлы:
user1706724; +1 Ответить
46. php5 28 28.12.23 16:37 Сейчас в теме
(43) Спасибо, выручил, все остальное выше не помогло))
user1706724; +1 Ответить
47. kudlach 13 19.02.24 15:15 Сейчас в теме
Убрать флаг "Защита от опасных действий" у пользователя из под конфигуратора. Как вариант.
48. kudlach 13 21.02.24 10:06 Сейчас в теме
Меньше полугода прошло, а подзапамятовал про флаг Объект.БезопасныйРежим на форме )))
49. strelvan 80 13.11.24 15:10 Сейчас в теме
Пишу для истории чтобы не забыть и чтобы проще было кому понять:
Пример регистрации внешней обработки в безопасном режиме Истина

Функция СведенияОВнешнейОбработке() Экспорт

	ПараметрыРегистрации = Новый Структура;
	ПараметрыРегистрации = ДополнительныеОтчетыИОбработки.СведенияОВнешнейОбработке("2.2.2.1");
	ПараметрыРегистрации.Вид = ДополнительныеОтчетыИОбработкиКлиентСервер.ВидОбработкиДополнительныйОтчет();
	ПараметрыРегистрации.ОпределитьНастройкиФормы = Истина;
	
	ПараметрыРегистрации.Вставить("Вид", "ДополнительныйОтчет");
	ПараметрыРегистрации.Вставить("Наименование", НСтр("ru = 'Прайс-заказ В Excel'"));
	ПараметрыРегистрации.Вставить("Версия", "13.11.2024");
	ПараметрыРегистрации.Вставить("БезопасныйРежим", Истина);
	ПараметрыРегистрации.Вставить("Информация", НСтр("ru = 'Прайс-заказ В Excel'")); 
   	ПараметрыРегистрации.Вставить("Разрешения", Новый Массив);
	ПараметрыРегистрации.Вставить("ВерсияБСП", "3.1.10.295");
	Разрешение = РаботаВБезопасномРежиме.РазрешениеНаИспользованиеИнтернетРесурса("http","192.168.1.111",5005,"Получение картинок номенклатуры"); 
	ПараметрыРегистрации.Разрешения.Добавить(Разрешение);
	Разрешение = РаботаВБезопасномРежиме.РазрешениеНаИспользованиеКаталогаВременныхФайлов(Истина, Истина);
	ПараметрыРегистрации.Разрешения.Добавить(Разрешение);
	Разрешение = РаботаВБезопасномРежиме.РазрешениеНаИспользованиеКаталогаПрограммы(Истина, Истина);
	ПараметрыРегистрации.Разрешения.Добавить(Разрешение);
	Разрешение = РаботаВБезопасномРежиме.РазрешениеНаИспользованиеПривилегированногоРежима("Привелигерованный режим");
	ПараметрыРегистрации.Разрешения.Добавить(Разрешение);
Показать
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот