Написал внешнюю печатную форму, подключаю стандартным образом через администрирование. Все работало какое-то время. Затем начала выдаваться ошибка "Установлен безопасный режим. Выполнение операции запрещено". Кроме запросов к регистрам и документам в коде обработки я нигде не использую ни одной запрещенной (не безопасной) конструкции. Кто-то поигрался с правами? Как найти конкретное место в коде?
Вариант не вариант. Зачем мне приносить в жертву безопасность не разобравшись в причинах? Если раньше все работало, значит что-то изменилось в конфигурации или кто-то её изменил ограничив доступ к чему-то. Может ошибка с правами где-то?
Так происходит потому, что в 1С Предприятии 8.2 существует безопасный режим исполнения программного кода. В этом режиме по-умолчанию запускаются все внешние обработки и отчеты для обеспечения безопасного исполнения кода. Если есть уверенность, что в обработке не содержит вредоносного кода, можно этот режим отключить. И тогда все будет работать.
(4) mymyka, у меня есть еще несколько обработок, они как работали так и работают. Они все выполнялись и работали в безопасном режиме и только одна сегодня отказалась это делать...
Похоже нашел кусок кода проблемный. Только в этой печатной форме используется БСП для вывода штрих-кода, причем судя по всему какие-то настройки были изменены для вывода штрих кода, т.к. раньше процедура БСПшная тоже вызвалась, но видимо успевала возвращаться до того как будет задействование каких-то внешних компонент...
Переводил внешнюю обработку с печатью штрихкодов во Фреш. До этого в процедуре СведенияОВнешнейОбработке использовал строку:
ПараметрыРегистрации.БезопасныйРежим=Ложь;
Но при прохождении аудита обработка из-за Не безопасного режима была отклонена. Строку с Ложью удалил.
В результате, разобравшись с БСП 2.2.5.36, добавил две строки:
Разрешение = РаботаВБезопасномРежиме.РазрешениеНаИспользованиеВнешнейКомпоненты("ОбщийМакет.КомпонентаПечатиШтрихкодов","Вывод в печатную форму штрихкода EAN13 AddOn 5");
Используемая конфигурация БП 3.0.57.10
Все стало работать в безопасном режиме
Вот сейчас бьюсь со следующей внешней обработкой, в которой используется XBase - делаю выгрузку в файл .dbf - никак не могу подобрать нужное Разрешение
(8) может кому пригодится - подобрал разрешение для использования XBase в безопасном режиме:
Разрешение = РаботаВБезопасномРежиме.РазрешениеНаИспользованиеКаталогаВременныхФайлов(Истина, Истина);
ПараметрыРегистрации.Разрешения.Добавить(Разрешение);
Так же может кому пригодится!
Ситуация:
Перенос данных(в одну сторону) между типовыми конфигурациями Розница 2.2.7.23 (8.3.10.2650).
Правила создаются с помощью КД 2.1.8.2.
Выгружается через ВНУТРЕННЮЮ обработку Универсальный обмен данными в формате XML 2.1.8.
Всё потихоньку работало без всяких вопросов пока не дошло до выгрузки документов Установка цен номенклатуры.
ошибка "Установлен безопасный режим. Выполнение операции запрещено".
В итоге после разных танцев(не очень активных, так как в дебри говнокода от 1с лезть не охота) с "googl"ом решил проблему следующим способом:
Выгрузил внутреннюю во внешнюю, открыл в конфигураторе, открыл Формы->Управляемая форма, перетащил на форму реквизит БезопасныйРежим (булево), он добавился в самый конец дерева элементов ( вид поле флажка). Запустил, снял галку и послал мысленно торгашей Нуралиевых вместе с их конторой на х..
Еще вариант
Если БезопасныйРежим() <> Ложь Тогда
УстановитьОтключениеБезопасногоРежима(Истина);
КонецЕсли;
и еще
ВнешниеОбработки.Подключить(АдресХранилища,,Ложь);