Как отлючить безопасный режим при открытии внешней обработки через Файл - Открыть ?
Пытаюсь отладить внешнюю обработку открывая ее через файл-открыть.
При создании ком-объекта
выходит ошибка "Установлен безопасный режим. Выполнение операции запрещено".
У пользователя отключена в конфигураторе галка "Защита от опасных действий", в конфе (типовая БП30) снята константа что-то там про использовать профили безопасности (что это за зверь толком не знаю к сожалению, но мол рекомендуют в таких случаях сделать)
Пытался в коде обработки вызвать УстановитьОтключениеБезопасногоРежима(Истина); , метод отрабатывает, но безопасный режим не отключается при выполнении.
Если эту же обработку добавить во внешние обработки, то все ок, ну это понятно т.к. в обработке есть функция СведенияОВнешнейОбработке, где стоит что не используется безопасный режим и она отрабатывается как-то бсп.
Можно ли все-таки заставить выполняться код создания ком-объекта без подключения обработки во внешние, а открывая обработку интерактивно через файл-открыть?
При создании ком-объекта
Новый COMObject("V83.COMConnector")
выходит ошибка "Установлен безопасный режим. Выполнение операции запрещено".
У пользователя отключена в конфигураторе галка "Защита от опасных действий", в конфе (типовая БП30) снята константа что-то там про использовать профили безопасности (что это за зверь толком не знаю к сожалению, но мол рекомендуют в таких случаях сделать)
Пытался в коде обработки вызвать УстановитьОтключениеБезопасногоРежима(Истина); , метод отрабатывает, но безопасный режим не отключается при выполнении.
Если эту же обработку добавить во внешние обработки, то все ок, ну это понятно т.к. в обработке есть функция СведенияОВнешнейОбработке, где стоит что не используется безопасный режим и она отрабатывается как-то бсп.
Можно ли все-таки заставить выполняться код создания ком-объекта без подключения обработки во внешние, а открывая обработку интерактивно через файл-открыть?
Ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
(3)Значит ли это что не существует в принципе способа сделать чтобы внешняя обработка открывалась не в безопасном режим если права не полные? Или можно что-то сделать? вообще конечно странно все это... Конфа ведь может быть вообще не типовой, в которой нет никаких бсп и соответственно механизма подключения внешних обработок, в этом же случае все равно нужно как-то чтобы обработки внешние работали и не только под админскими правами.
с ИТС |
---|
Так происходит потому, что в 1С Предприятии 8.2 существует безопасный режим исполнения программного кода. В этом режиме по-умолчанию запускаются все внешние обработки и отчеты для обеспечения безопасного исполнения кода. Если есть уверенность, что в обработке не содержит вредоносного кода, можно этот режим отключить. И тогда все будет работать.
Во встроенном языке, у менеджера внешних обработок и у менеджера внешних отчетов существует метод Подключить(), при помощи которого выполняется подключение внешней обработки/отчета. В третьем параметре этого метода БезопасныйРежим задается признак подключения внешней обработки/отчета в безопасном режиме. Если значение параметра Истина или параметр не указан, подключение будет осуществлено в безопасном режиме. Чтобы его отключить нужно установить значение параметра БезопасныйРежим в Ложь. Пример программного подключения внешней обработки рассмотрен в вопросе "Как программно открыть внешнюю обработку?". Подробнее об использовании метода Подключить() можно прочитать в синтакс-помощнике: Прикладные объекты - Внешние обработки и отчеты - ВнешниеОбработкиМенеджер/ ВнешниеОтчетыМенеджер - Методы. Подробнее о режиме безопасного исполнения программного кода можно прочитать в документации: 1С:Предприятие 8.2. Руководство разработчика, Раздел 5.5.4.3: Объекты конфигурации - Ветвь конфигурации «Общие» - Роли и права доступа - Безопасный режим работы. |
ВнешниеОбработки.Подключить(АдресВоВременномХранилище,,Ложь)
(6)А фиг. Попробовал так подключить, при подключении выходит ошибка "Установлен безопасный режим. Выполнение операции запрещено".
Пробовал вызывать УстановитьОтключениеБезопасногоРежима(Истина), но ничего не меняется, безопасный режим не снимается. Как его убрать то?
Подключаю так:
Пробовал вызывать УстановитьОтключениеБезопасногоРежима(Истина), но ничего не меняется, безопасный режим не снимается. Как его убрать то?
Подключаю так:
&НаКлиенте
Процедура ЗапустьОбработку(Команда)
АдресВХранилище= ПоместитьВоВременноеХранилище(Новый ДвоичныеДанные(ПутьКОбработке),Новый УникальныйИдентификатор);
ВнешняяОбработка = ПодключитьВнешнююОбработку(АдресВХранилище);
ВнешняяОбработка.ПолучитьФорму().Открыть();
КонецПроцедуры
&НаСервере
Функция ПодключитьВнешнююОбработку(АдресВХранилище)
Имя = ВнешниеОбработки.Подключить(АдресВХранилище,,Ложь);
Возврат ВнешниеОбработки.Создать(Имя);
КонецФункции
Показать
Модуль объекта внещней обработки:
Функция СведенияОВнешнейОбработке() Экспорт
ПараметрыРегистрации = Новый Структура;
ПараметрыРегистрации.Вставить("Вид", "ДополнительныйОтчет");
ПараметрыРегистрации.Вставить("БезопасныйРежим", Ложь);
...
Показать
Вся тема и комментарии в ней — сплошное недоразумение. Автору нужно было чтобы пользователь без права администрирования мог запустить внешнюю обработку через Файл - Открыть с отключенным безопасным режимом. Не используя код основной конфигурации, такое сделать не возможно — подключить обработку таким образом можно только из общего модуля или объекта конфигурации.
Из описания темы и в (9) понятно, что через подсистему БСП у автора всё работает, но тема продолжает обрастать советами как правильно зарегистрировать внешнюю обработку с отключенным безопасным режимом.
Из описания темы и в (9) понятно, что через подсистему БСП у автора всё работает, но тема продолжает обрастать советами как правильно зарегистрировать внешнюю обработку с отключенным безопасным режимом.
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот