Имя: Пароль:
1C
1С v8
Установлен безопасный режим. Выполнение операции запрещено
0 AniGoo
 
26.05.14
13:05
Добрый день! Имеется внешняя обработка, зарегистрированная в Дополнительных отчетах и обработках, до релиза Буха 3.0.31.16 всё корректно работало, после обновления на 3.0.32.5 выходит ошибка: Установлен безопасный режим. Выполнение операции запрещено.
В СведенияОВнешнейОбработке строчка типа ПараметрыРегистрации.Вставить("БезопасныйРежим", Ложь);  присутствует, права у пользователя полные. Еще один момент, если эту обработку открыть через Файл->Открыть, то такой ошибки нет. Собственно может кто сталкивался, как побороть?
1 Crush
 
26.05.14
13:09
Посмотри в отладчике момент создания объекта обработки. Там нужно явно задать режим. На сервере дефолтом внешние обработки открываются в безопасном режиме.
2 fisher
 
26.05.14
13:14
(0) Странно... Посмотри внимательно на форму свойств подключенной доп-обработки. Там в т.ч. и информация о безопасном режиме выводится.
3 Crush
 
26.05.14
13:17
ВнешниеОбработки.Подключить(,,режим)
4 AniGoo
 
26.05.14
13:26
Забыл написать база файловая.
(3) ВнешниеОбработки.Подключить(,,режим) - Не совсем понятно для чего мне эта конструкция, в функции СведенияОВнешнейОбработке в параметрах указал ПараметрыРегистрации.Вставить("БезопасныйРежим", Ложь)
5 fisher
 
26.05.14
13:45
(4) В "эту конструкцию" в модуле соответствующей подсистемы в итоге должно попасть твоё ПараметрыРегистрации.Вставить("БезопасныйРежим", Ложь)
Почему не попадает - отладчик в руки, если тыком не получается.
6 AniGoo
 
27.05.14
06:27
(5) Проблема конечно отлаживать внешнюю обработку, для начала сделал Глобальный поиск в конфигурации бух 3.0 и нигде не нашел использование ВнешниеОбработки.Подключить(,,режим), точнее в комментариях упоминается, но не более...
7 fisher
 
27.05.14
10:53
(6) Там менеджер "ВнешниеОбработки" через промежуточную переменную используется, поэтому и не нашел.
Смотри ДополнительныеОтчетыИОбработки.ПодключитьВнешнююОбработку()
8 AniGoo
 
27.05.14
11:49
(7) Большое Спасибо. Теперь хоть ясно откуда ноги растут. Дело в этих строчках:
РежимСовместимости = ОбщегоНазначения.ЗначениеРеквизитаОбъекта(Ссылка, "РежимСовместимостиРазрешений");
        Если РежимСовместимости = Перечисления.РежимыСовместимостиРазрешенийДополнительныхОтчетовИОбработок.Версия_2_2_2 Тогда
            БезопасныйРежим = Не ЕстьРазрешений; //!!!!!! Попадает в эту строчку и соответственно меняет Ложь на Истину
        Иначе
            БезопасныйРежим = ПараметрыЗапуска.БезопасныйРежим;
        КонецЕсли;
Но как обычно возникли другие вопросы. Что за режим совместимости, почему он Безопасный режим меняет на Истину
9 fisher
 
27.05.14
12:08
Ну, видать БСП последних версий дополнительно проверяет еще какие-то разрешения. У меня под рукой только 2.2.1, так что не подскажу. Кури "ЕстьРазрешений", откуда у него ноги растут. Подозреваю, надо просто где-то каких-то прав насыпать.
10 fisher
 
27.05.14
12:10
Может, это как-то с новомодными профилями безопасности связано.
11 AniGoo
 
27.05.14
12:38
(10) Возможно, но т.к. и так много времени потерял, пока сделал по-быстрому через Групповое изменение реквизитов поменял у внешней обработки Режим совместимости разрешений на версию 2.1.3, пока работает)). Как время будет буду дальше разбираться. Еще раз спасибо.
12 fisher
 
27.05.14
12:44
Таки я был прав. Лови простыню:

Дополнительные отчеты и обработки

·         Для администраторов клиент-серверных информационных баз предусмотрены средства контроля за тем, к каким внешним ресурсам обращаются дополнительные отчеты и обработки, подключаемые к программе.

o   Контролируется доступ к таким внешним ресурсам, как обращения к каталогам файловой системы, COM-объектам (на Windows-системах), внешним (по отношению к конфигурации) программным модулям на встроенном языке платформы «1С:Предприятие» (подключение других внешних отчетов и обработок, работу с внешними компонентами, запуск приложений операционной системы и обращения к Интернет-ресурсам;

o   Если для программы включен интерактивный режим запроса разрешений в профилях безопасности при загрузке дополнительных отчетов и обработок программа будет предлагать автоматически создавать для них персональный профиль безопасности с персональным набором ограничений, которые требуются для работы именно данной обработки. Таким образом, с помощью профилей безопасности можно изолировать каждый дополнительный отчет (обработку) в собственной «песочнице», позволяя ему использовать только те внешние ресурсы, использование которых явно одобрено администратором;

o   Включить интерактивный режим запроса разрешений в профилях безопасности можно, установив настройку Режим использования профилей безопасности в значение Предлагать автоматически настраивать разрешения в профилях безопасности при необходимости (см. раздел Администрирование – Общие настройки – Параметры серверной информационной базы – Использование профилей безопасности).

o   Перед включением этой настройки необходимо выполнить адаптацию всех дополнительных отчетов и обработок, которые ранее требовали небезопасного режима работы (признак БезопасныйРежим = Ложь в функции СведенияОВнешнейОбработке). Для этого необходимо запросить их новые версии у поставщиков дополнительных отчетов и обработок. В то же время, дополнительные отчеты и обработки, которые работали ранее в безопасном режиме, могут использоваться без дополнительной адаптации.

·         Для разработчиков дополнительных отчетов и обработок:

o   Упрощена разработка дополнительных отчетов и обработок, которые должны функционировать в безопасном режиме с предоставление дополнительных разрешений на ограниченный (контролируемый администратором) доступ к внешним ресурсам (относительно кластера серверов 1С:Предприятия). Более не требуется использовать «сценарный» режим выполнения кода дополнительных обработок. Все разрешения, запрошенные для работы дополнительной обработки в функции СведенияОВнешнейОбработке будут предоставляться для всего серверного кода дополнительной обработки.

o   Для дополнительных отчетов и обработок, которые должны функционировать в безопасном режиме, реализована возможность запроса разрешения на установку привилегированного режима.

o   Ранее предоставленный механизм «расширения» безопасного режима поддерживается в режиме обратной совместимости, но не рекомендуется к использованию.

o   Изменен подход к определению ограничений, которые накладываются на серверный код дополнительного отчета и обработки:

·         Игнорируется значение свойства БезопасныйРежим структуры, возвращаемой из функции СведенияОВнешнейОбработке;

·         Режим, в котором будет подключаться дополнительная обработка определяется следующим образом:

·         Если используются профили безопасности:

o  Если для дополнительной обработки запрошены разрешения – создается индивидуальный профиль безопасности, который содержит явно запрошенные разрешения,

o  Если для дополнительной обработки не запрошены разрешения – обработка подключается в безопасном режиме;

·         Если не используются профили безопасности:

o  Если для дополнительной обработки запрошены разрешения – обработка подключается в небезопасном режиме;

o  Если для дополнительной обработки не запрошены разрешения – обработка подключается в безопасном режиме;

·         Неадаптированные дополнительные отчеты и обработки  (значение свойства ВерсияБСП структуры, возвращаемой из функции СведенияОВнешнейОбработке, меньше версии «2.2.2.1»), требующие небезопасного режима работы, не могут быть подключены к информационной базе, для которой используется профиль безопасности с неустановленным флажком Полный доступ к внешним отчетам и обработкам.
13 fisher
 
27.05.14
12:47
Короче, как я понял - нужно включить интерактивный режим запроса разрешений в профилях безопасности.
После этого можно будет для каждой обработки под админом создать индивидуальный профиль безопасности. Это в теории :)
14 AniGoo
 
27.05.14
13:00
(13) Да уж, теория хауса))