1с как разрешить открывать внешние обработки

Обновлено: 06.07.2024

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

Вот насчет "лучше".
Это два пути
1) правим параметр DisableUnsafeActionProtection в файле conf.cfg
2) изменяем настройки пользователей в конфигураторе

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

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

Предупреждение безопасности
Открывается "Снятие регистрации".

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

Разрешить открывать данный файл?
Естественно, никакого ответа дать нет возможности - это же регламентное..

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

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

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

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

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

(4)
Спасибо!
Если можно, пару уточнений..
1. Не хотелось бы отключать защиту для всех пользователей..
2. Подскажите, обработка из публикации отключает проверку безопасности и для подключенных внешних обработок ?
Отключение проверки проводится до или после интеграции внешней обработки в предприятие?
Если приходится обновлять внешнюю обработку, то отключение безопасности нужно проводить повторно?
3. Фоновое (регламентное) задание, глядя в ЖР выполняется под пользователем "неопределено", которого, соотв. нет в конфигураторе.
Получается нет возможности отключить точечно эту обработку.
:(

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

1) Если у текущего пользователя сброшен флажок "Защита от опасных действий", то защита считается отключенной.
2) Если строка соединения с информационной базой удовлетворяет одному из шаблонов, указанных в параметре DisableUnsafeActionProtection файла conf.cfg, то защита считается отключенной.
3) Если защита явным образом отключена с помощью параметра ЗащитаОтОпасныхДействий внешней обработки или отчета.
4) Если защита явным образом отключена с помощью свойства расширения ЗащитаОтОпасныхДействий.

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

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

Расскажу на примере своих обработок, которые я выкладываю у себя на сайте.

Скачиваем и распаковываем

1. Скачайте на рабочий стол архив с обработкой.

2. Сделайте двойной щелчок мышью по скачанному архиву и попадете внутрь.

Внимание! Если попасть внутрь архива не получилось (пишет ошибку "Приложение не найдено"), тогда нажмите на архиве правой кнопкой и выберите один из вариантов:

      • Извлечь всё
      • Открыть при помощи 7-Zip
      • Открыть при помощи WinRar
      • Или что-то похоже.

      3. Там файл с обработкой (и уже с русским названием). Нажмите на нём правой кнопкой и выберите пункт "Копировать".

      4. Вернитесь на рабочий стол, нажмите опять правой кнопкой на пустом места стола и выберите пункт "Вставить" (или можете просто перетащить файл обработки из архива на рабочий стол).

      5. На рабочем столе должен появиться файл из архива.

      Далее возможные 2 варианта в зависимости от вашего интерфейса.

      Для обычного интерфейса

      Из меню выберите пункт "Файл->Открыть. ":

      В появившемся окне перейдите на рабочий стол, выберите файл с обработкой и нажмите кнопку "Открыть".

      Готово! Обработка должна открыться в программе и ею можно пользоваться. Для удобства можно на рабочем столе создать специальную папку "Обработки" и хранить такие файлы там.

      Для управляемого интерфейса (такси и прочее)

      Открываем напрямую из файла

      Из меню выберите пункт "Файл"->"Открыть. ":

      В появившемся окне перейдите на рабочий стол, выберите файл с обработкой и нажмите кнопку "Открыть".

      Готово! Обработка должна открыться в программе и ею можно пользоваться. Для удобства можно на рабочем столе создать специальную папку "Обработки" и хранить такие файлы там.

      Регистрируем обработку в базе

      Если же на этапе открытия файла у вас появилась ошибка "Нарушение прав доступа!":

      Тогда придётся разрешить открытие внешних обработок (об этом здесь) или зарегистрировать обработку в базе - сделать это несложно, для этого:

      Зайдите в раздел "Администрирование", пункт "Печатные формы, отчеты и обработки":

      В открывшемся окне установите галку "Дополнительные отчеты и обработки" и откройте ссылку "Дополнительные отчеты и обработки":

      В открывшемся окне нажмите кнопку "Создать":

      Прочтите предупреждение и нажмите кнопку "Продолжить":

      В появившемся окне перейдите на рабочий стол, выберите файл с обработкой и нажмите кнопку "Открыть":

      Если на этом этапе выскочит ошибка "Невозможно подключить дополнительную обработку из файла. ", то чтобы открыть обработку ничего не остаётся, кроме как разрешить открывать файлы из меню "Файл"->"Открыть" - вот инструкция об этом.

      Если всё хорошо - идём дальше.

      Найдите и нажмите пункт "Размещение":

      В следующем окне отметьте галкой раздел "Операции" и нажмите "ОК":

      В табличной части найдите пункт "Быстрый доступ", откройте его:

      Выберите всех пользователей и нажмите "ОК":

      Теперь открывать мы её будем вот так:

      Заходим в раздел "Операции", пункт "Дополнительные обработки":

      Выделяем нужную обработку и нажимаем "Выполнить":

      С уважением, Владимир Милькин (преподаватель школы 1С программистов и разработчик обновлятора).

      Как помочь сайту: расскажите (кнопки поделиться ниже) о нём своим друзьям и коллегам. Сделайте это один раз и вы внесете существенный вклад в развитие сайта. На сайте нет рекламы, но чем больше людей им пользуются, тем больше сил у меня для его поддержки.

      Включение механизма внешних обработок в программе

      включение в конфигурации 1С дополнительных отчетов и обработок

      Установка данного флажка дает нам возможность использовать внешние обработки.

      Создание новой внешней обработки в 1С 8.3 на примере

      Если вы только начинаете программировать в 1С или просто хотите систематизировать свои знания - попробуйте Школу программирования 1С нашего друга Владимира Милькина. Пошаговые и понятные уроки даже для новичка с поддержкой учителя.
      Попробуйте бесплатно по ссылке >>

      выбор вида документа

      Откроется окно новой внешней обработки. Сразу зададим ей имя. Оно будет предложено при сохранении обработки на диск:

      указание наименования новой обработки 1С

      Добавим новую управляемую форму обработки. Указываем, что это форма обработки и она является основной:

      создание формы обработки

      На форме у нас будет два реквизита:


      В модуле формы будет создана одноименная процедура. В ней вызовем процедуру на сервере:

      В процедуре на сервере напишем небольшой запрос и действия, связанные с установкой ставки НДС:

      Пока ВыбДетЗаписи.Следующий() Цикл

      СпрНомОбъект = ВыбДетЗаписи.Ссылка.ПолучитьОбъект();
      СпрНомОбъект.СтавкаНДС = ВыбСтавкаНДС;

      добавление команды на форму

      Но чтобы добавить туда нашу обработку, нужно сначала дать ей описание и сообщить программе ее свойства.

      Приведу пример содержимого данной функции. Она должна быть экспортной и, соответственно, располагаться в модуле обработки:

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


      Вариант загрузки внешней обработки

      Чтобы определить, какие поля структуры обязательны, можно сначала не описывать ее, просто создать пустую, а далее воспользоваться отладчиком. Если трассировать модули при регистрации обработки, сразу становится ясно, какие поля требуются, а какие нет.

      Подключение внешней обработки в 1С 8.3

      регистрация обработки в системе

      дополнительная информация

      Дело в том что при использовании клиент-серверного варианта работы 1С внешние обработки/отчеты открываются в безопасном режиме, в котором запрещено использование привилегированного режима. А привилегированный режим используется очень часто в типовых конфигурациях: формирование печатных форм, различные служебные проверки (регистрация обменов) и т.д. В результате, даже используя обычный отчет на СКД без формы (по умолчанию используется общая форма "ФормаОтчета") и сохраняя пользовательские настройки отчета (в соответствующий справочник), вы получите ошибку о недостаточности прав доступа на различные константы и параметры сеанса, используемые в служебных целях после строки УстановитьПривилегированныйРежим (Истина) ;

      "Правильным" решением будет подключение внешних обработок и отчетов через механизмы БСП "Дополнительные отчеты и обработки" с отключением безопасного режима либо добавлением разрешений (по-моему, с версии БСП 2.2.2.1). Но если по каким-то причинам необходимо использование именно внешних файлов отчетов/обработок, то можно настроить профиль безопасности кластера, используемого в качестве профиля безопасности безопасного режима для конкретной информационной базы.

      Хотел бы сразу заметить, что такой вариант не является предпочтительным, но в силу разных обстоятельств можно его использовать в таком упрощенном виде. Например, у меня несколько баз в разных городах, общая локальная сесть с жёстко ограниченными правами, закрытыми USB и т.п., где-то используется Бухгалтерия 2.0, а где-то 3.0, почти все отчеты делаю средствами СКД без форм, что бы они открывались в обоих версиях. Обслуживать все эти отчеты для разных версий и разных баз дело трудоёмкое и бесперспективное, т.к. в планах есть переход на единую конфигурацию и базу.

      Создаем профиль.
      В консоли кластера создаём профиль безопасности, в котором устанавливаем флаги "Может использоваться как профиль безопасности безопасного режима" и " в разделе "Разрешен полный доступ:" "к привилегированному режиму".


      Далее заходим в свойства базы и в поле "Профиль безопасности безопасного режима" указывает имя созданного профиля.


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

      Читайте также: