Отключение предупреждения безопасности при запуске внешних обработок для платформы 8.3 (Управляемые формы)

После обновления платформы на 8.3.9.*, при открытии внешних отчетов и обработок (в том числе и подключенных), получаем «Предупреждение безопасности «. Ничего страшного в этом нет, если бы это предупреждение было однократным и после подтверждения обработка/отчет открывалась бы…

На текущий момент предупреждение может вызываться неоднократно, обработка/отчет может не открываться, приходится ждать 3-5 минут и пробовать еще раз. Итог — жалобы пользователей.

На ресурсе есть обработка //infostart.ru/public/581260/. Но эта обработка для обычных форм.

Текущая обработка — для управляемых форм.

Тестировалось на платформе 8.3.10.2252, конфигурация ЗУП 3.0 и 3.1.

Должна работать в типовых конфигурациях при наличии справочника «Пользователи».

З.Ы. Как всегда добавлен код для подключения.

24 Comments

  1. fenixnow

    наверное лучше обратиться к документации https://its.1c.ru/db/v8310doc#bookmark:adm:TI000000750

    и воспользоваться параметром DisableUnsafeActionProtection

    Reply ↓
  2. dock

    Вот насчет «лучше»…

    Это два пути

    1) правим параметр DisableUnsafeActionProtection в файле conf.cfg

    2) изменяем настройки пользователей в конфигураторе

    Какой из них лучше — решать конечному «потребителю».

    Но… изменив параметр вы отключите безопасность для всех пользователей, а при изменении настроек пользователей — выборочно.

    Reply ↓
  3. Volchock

    Доброго времени суток, уважаемые!

    Дополнительный вопрос по теме.

    Сформировал в УТ 11 дополнительную обработку, которая запускается по регламентному заданию…

    Но она не запускается, т.к. выдает ошибку безопасности и ждет какого-то ответа в диалоге:

    Предупреждение безопасности

    Открывается «Снятие регистрации».

    Рекомендуется обращать внимание на источник, из которого был получен данный файл. Если с источником нет договоренности о разработке дополнительных модулей, или есть сомнения в содержимом файла, то его не рекомендуется открывать, поскольку это может нанести вред компьютеру и данным.

    Разрешить открывать данный файл?

    Естественно, никакого ответа дать нет возможности — это же регламентное..

    Подскажите, как обойти эту защиту?

    Reply ↓
  4. dock

    (3) Хм…

    Сообщение как раз похоже…

    ваши действия:

    1) правим параметр DisableUnsafeActionProtection в файле conf.cfg

    пример: DisableUnsafeActionProtection=test_.*;stage_.*; (Информационные базы определяются набором регулярных выражений, разделяемых символом «;». Если строка соединения с информационной базой будет удовлетворять какому-либо регулярному выражению, перечисленному в данном параметре, для такой информационной базы защита от опасных действий будет отключена.)

    или

    2) используем обработку из публикации, и отключаем проверку безопасности

    или

    3) заходим в конфигуратор, Администрирование->Пользователи и убираем галочку настройки безопасности ручную у пользователя, под которым запускается ваше задание.

    кстати, если обработка добавлена через расширение, это не поможет 🙂

    Reply ↓
  5. Volchock

    (4)

    Спасибо!

    Если можно, пару уточнений..

    1. Не хотелось бы отключать защиту для всех пользователей..

    2. Подскажите, обработка из публикации отключает проверку безопасности и для подключенных внешних обработок ?

    Отключение проверки проводится до или после интеграции внешней обработки в предприятие?

    Если приходится обновлять внешнюю обработку, то отключение безопасности нужно проводить повторно?

    3. Фоновое (регламентное) задание, глядя в ЖР выполняется под пользователем «неопределено», которого, соотв. нет в конфигураторе.

    Получается нет возможности отключить точечно эту обработку.

    🙁

    Reply ↓
  6. dock

    (5)

    Проверка необходимости использования защиты от опасных действий выполняется в следующем порядке:

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

    2) Если строка соединения с информационной базой удовлетворяет одному из шаблонов, указанных в параметре DisableUnsafeActionProtection файла conf.cfg, то защита считается отключенной.

    3) Если защита явным образом отключена с помощью параметра ЗащитаОтОпасныхДействий внешней обработки или отчета.

    4) Если защита явным образом отключена с помощью свойства расширения ЗащитаОтОпасныхДействий.

    В Вашем случае нужно смотреть в сторону п3. В параметрах регистрации внешней обработки используйте

    Функция СведенияОВнешнейОбработке() Экспорт
    
    ПараметрыРегистрации= Новый Структура;
    . . . .
    РегистрационныеДанные.Вставить(«БезопасныйРежим», Истина);
    . . . .
    
    Возврат ПараметрыРегистрации;
    КонецФункции

    Показать

    ИТС. Создание нового отчета или обработки

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

    . . . .

    Ключ: БезопасныйРежим

    Содержание:

    Принимает значение Истина или Ложь в зависимости от того, требуется устанавливать или отключать безопасный режим при исполнении обработки (отчета). Если Истина, обработка (отчет) будет запущена в безопасном режиме. При этом, в частности, не гарантируется корректная работа дополнительных обработок под пользователями без полных прав в тех случаях, когда обработка вызывает код конфигурации, который не рассчитан на работу в безопасном режиме (в том числе неявно, когда срабатывает код модуля объекта и подписок на события при записи данных).

    Более подробно о безопасном режиме см. документацию к платформе «1С:Предприятие»

    Reply ↓
  7. dock

    (5)

    2. Подскажите, обработка из публикации отключает проверку безопасности и для подключенных внешних обработок ?

    Отключение проверки проводится до или после интеграции внешней обработки в предприятие?

    Отключение производится по пользователю!

    Для изменения для обработок используйте описание параметров в самой обработке 🙂

    Reply ↓
  8. veiuper

    (6)

    БезопасныйРежим

    В третьем пункте явное указание на параметр регистрации внешней обработки «ЗащитаОтОпасныхДействий». Далее приводите код для другого параметра «БезопасныйРежим». Что-то я запутался…

    Reply ↓
  9. dock

    (8)

    «ЗащитаОтОпасныхДействий» — это параметр в базе (конфигурации). Управляется этот параметр через ключ «»БезопасныйРежим» в структуре ПараметрыРегистрации

    🙂

    Т.е. в базе — это параметр, а в коде внешней обработки — ключ

    ну вот как-то так.

    З.Ы. а в коде то у меня ошибка…

    Функция СведенияОВнешнейОбработке() Экспорт
    
    ПараметрыРегистрации= Новый Структура;
    . . . .
    ПараметрыРегистрации.Вставить(«БезопасныйРежим», Истина);
    . . . .
    
    Возврат ПараметрыРегистрации;
    КонецФункции

    Показать

    Reply ↓
  10. veiuper

    (9) Ясно

    Reply ↓
  11. veiuper

    (7) В догонку… Может быть сталкивались: в параметрах регистрации внешней обработки для параметра БезопасныйРежим ставил и Истина, и Ложь. Ни в какую не запускается внешняя обработка, для которой установлен запуск по расписанию: все та же ошибка (вопрос на разрешение запуска).

    Reply ↓
  12. dock

    (11) Я не сталкивался с такой проблемой. Судя по комментариям, подобная проблема у Руслан Т (Volchock) — обратись к нему 🙂

    Куда смотреть — постарался описать. На текущий момент нет задачи с регламентными заданиями (выполнение по расписанию).

    Reply ↓
  13. veiuper

    (12) Благодарю за оперативность ответов.

    Reply ↓
  14. veiuper

    (5) Подскажите пожалуйста как вы решили свою задачу?

    Reply ↓
  15. Volchock

    (14)

    Доброго здравия.

    Как смог, поборол :).

    В последних БСП немного другой принцип, но алгоритм должен подойти.

    Reply ↓
  16. dock

    Кстати, проверь вообще настройки своих внешних отчетов/обработок. может и вправду неверный ключ/параметр в коде подключения обработки.

    Просмотри с помощью консоли содержание справочника «ДополнительныеОтчетыИОбработки», и табличную часть «Разрешения»

    можешь поиграться с этими значениями.

    Универсальный редактор реквизитов — либо пиши свою обработочку 🙂

    Reply ↓
  17. kassbar
    ИдентификаторПользователяИБ = Пользователи.ТекущийПользователь().ИдентификаторПользователяИБ;
    ПользовательИБ =  ПользователиИнформационнойБазы.НайтиПоУникальномуИдентификатору(ИдентификаторПользователяИБ);
    ЗащитаОтОпасныхДействий = ПользовательИБ .ЗащитаОтОпасныхДействий;
    ЗащитаОтОпасныхДействий.ПредупреждатьОбОпасныхДействиях = ЛОЖЬ;
    Reply ↓
  18. dock

    (17) Процитировали справку по ссылке из первого комментария ? 🙂

    Ценность данной обработки не в коде, а в интерфейсе 🙂

    А ценность публикации в комментариях!

    Reply ↓
  19. 028

    (17) куда нужно вставить этот код?

    Reply ↓
  20. dock

    (19) В собственную обработку 🙂

    Reply ↓
  21. 028

    (20) не работает

    у меня при выполнении этих строк

    WSH=Новый COMobject(«wscript.shell»);
    ИмяПути = «C:» + WSH.ExpandEnvironmentStrings(«%HomePath%») + «Desktop»;

    делает предупреждение вот хочу чтобы не было)

    Reply ↓
  22. dock

    (21) какое предупреждение ?

    Reply ↓
  23. 028

    (22) вот такое

    Reply ↓
  24. dock

    (23) Так обработка из моей публикации не поможет: отключается проверка при открытии внешнего файла, а не на выполнение самого модуля.

    Читай комментарии: 6, 9, 15, 16.

    В твоем случае, нужно изменить именно режим работы твоей обработки. Скорее всего, просто через «файл->открыть» и не сработает — добавляй во внешние обработки, либо встраивай в конфигурацию.

    Reply ↓

Leave a Comment

Ваш адрес email не будет опубликован. Обязательные поля помечены *