Право запуска внешних отчетов и обработок. Установлен безопасный режим. Выполнение операции запрещено. Безопасный режим для внешних обработок

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

Конечно, это вызвало волну недопонимания со стороны, как пользователей, так и руководящего состава отдела ИТ (программистов, администраторов).

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

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

Что это значит: ну первое, с чем сталкивается пользователь — это банальный запуск специализированных форм и обработок включенных в учетную систему — т.е. пользователь не сможет запустить даже, например, модифицированный и унифицированный счёт организации, или например отчет для управленческого распределения ДДС, ну и т.п.

Понятно, что это не устраивает, ни как административный состав организации, ни конечного пользователя, в лице которого есть задачи связанные с такими внешними обработками.

Как же решить этот вопрос? понятно, что полностью оградить пользователя от опасности «занести заразу» не сможет ни одна современная антивирусная система, или система ограничений прав доступа, но для конкретных специалистов, которые были оповещены об угрозах и проведен ликбез по запуску потенциально опасных элементов, открыть доступ всё же придется.

Итак, что же предполагается сделать:

  1. Установить ответственность на сотрудника, который должен запускать такие доработки, файлы, отчеты;
  2. Провести с данным работником некоторый ликбез для полного понимания угроз и безопасности;
  3. Предоставить этому сотруднику возможность запуска внешних обработок в 1С:

Первые 2 пункта мы не затрагиваем, т.к. это на совести административного персонала и сотрудников IT департамента компании, а вот по пункту 3 — можно воспользоваться инструкцией описанной ниже:

  1. Прежде всего Вам потребуется доступ к конфигуратору 1С: пользователя с полными правами;
  2. Запускаем конфигуратор под пользователем с полными правами;
  3. В общем меню (как правило он сверху) находим пункт «Администрирование» ->»Пользователи»

4. Выбираем изменяемого пользователя:

Снимаем галочку с «защита от опасных действий» и переходим во вкладку прочее и здесь, если у данного пользователя, ранее не была установлено роль «Интерактивное открытие внешних форм и обработок», устанавливаем галочку:

Всё. после данных манипуляций, пользователь, к которому применяли данные настройки, требуется перезайти в программу. После этого возможность запуска из внешних источников у него появится.

Мы очень надеемся, что данная статья была Вами прочитана с самого начала и Вы осознаёте риски этих манипуляций.

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

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

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

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

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

P.S. Думал что профили безопасности функционируют только при использовании лицензий на платформу и сервер уровня КОРП, но данный функционал отрабатывает и на платформе 1С:Предприятие 8.3 (условно можно назвать ПРОФ по аналогии с типовыми конфигурациями Базовая/ПРОФ/КОРП)

В этой статье речь пойдет о настройке прав доступа пользователей к объектам системы 1С.

В 1С 8для управления доступа пользователей используется отдельный объект метаданных, который называется Роли.

Обратите внимание! Эта статья написана в помощь программистам. Настройка прав в пользовательском режиме на примере 1С Бухгалтерия рассмотрена в .

Роль определяет набор прав пользователя, которые он имеет. Механизм ролей очень похож на механизмы прав Windows Active Directory. Для каждого из объектов (справочники, документы) разработчик устанавливает свой набор прав — чтение/запись/добавление/изменение/…

Набор доступных прав — совокупность всех разрешений в ролях пользователя .

Если открыть объект метаданных Роль, мы можем увидеть следующую картину:

У объекта есть две закладки — Права и Шаблоны ограничений. Права — основная закладка, Шаблоны — вкладка для настройки прав на уровне записи в 1С (RLS ). Это очень важная тема, её я постараюсь описать в будущих статьях.

Будем рассматривать только вкладку Права .

  • Объекты — список , на которые будут устанавливаться права.
  • Права — список возможных для установки настроек прав.
  • Ограничение доступа к данным — поля роли для настройки

Следует обратить внимание на галочки в нижней части:

  • Устанавливать права для новых объектов — если флаг установлен у роли, на новые объекты метаданных будут автоматически установлены разрешающие права. Рекомендую установить, если Вы часто забываете установить права на новые объекты.
  • Устанавливать права для реквизитов и табличных частей по умолчанию — флаг, при установке которого реквизиты и табличные части будут наследовать права владельца(справочника, документа и т.д.)
  • Независимые права подчиненных объектов — если флаг установлен, то система при определении права на объект конфигурации учтёт права на родительский объект

Настройки прав на всю конфигурацию

Если открыть Роль и кликнуть на корень конфигурации, мы увидим следующие настройки:

Подробнее о каждом из прав на всю конфигурацию :

Получите 267 видеоуроков по 1С бесплатно:

  • Администрирование — администрирование информационной базы (требуется наличие права «Администрирование данных»)
  • Администрирование данных — право на административные действия над данными
  • Обновление конфигурации базы данных — право на
  • Монопольный режим — использование монопольного режима
  • Активные пользователи — просмотр списка активных пользователей
  • — журнал регистрации
  • — право запуска тонкого клиента
  • — право запуска веб-клиента
  • Толстый клиент — право роли запуска толстого клиента
  • Внешнее соединение — право запуска внешнего соединения
  • Automation — право на использование automation
  • Режим «Все функции» — в режиме управляемого приложения
  • Сохранение данных пользователя — разрешение или запрет на сохранение данных пользователя (настроек, избранного, истории). Особенно актуально для 1С управляемых форм.
  • Интерактивное открытие внешних обработок — открытие внешних обработок
  • Интерактивное открытие внешних отчетов — открытие внешних отчетов
  • Вывод — вывод на печать, запись и копирование в буфер обмена

Настройка прав 1С 8.2 на другие объекты метаданных

Для остальных основных объектов (справочники, константы, документы, регистры…), набор прав у роли достаточно стандартен:

  • Чтение — чтение (программное)
  • Добавление — добавление (программное)
  • Изменение — изменение (программное)
  • Удаление — удаление (программное)
  • Просмотр — просмотр
  • Интерактивное добавление — интерактивное добавление
  • Редактирование — редактирование
  • Интерактивная пометка удаления — интерактивная пометка на удаление
  • Интерактивное снятие пометки удаления — снятие пометки на удаление
  • Интерактивное удаление помеченных — удаление помеченных объектов
  • Ввод по строке — использование режима ввода по строке
  • Интерактивное удаление — непосредственное удаление (shift +del)

Права только для документов :

  • Интерактивное проведение — проведение
  • Отмена проведения — отмена проведения документов
  • Интерактивное проведение неоперативное — проведение (стандартными командами форм) документа в неоперативном режиме
  • Интерактивная отмена проведения — интерактивная отмена проведения
  • Интерактивное изменение проведенных — редактирование проведенного документа. Если право у роли не установлено, то пользователь не может удалить проведенный документ, установить пометку удаления, перепровести или сделать непроведенным. Форма такого документа открывается в режиме просмотра

P.S. Если у Вас все же не получилось разобраться в ролях пользователей, Вы можете заказать .
Видео с примером настройки прав в 1С бухгалтерии 3.0:

Загрузите последную версию обработок 1С

Программа IT Audit поддерживает несколько платформ 1С. Поэтому при выборе файла внешней обработки необходимо учитывать используемую конфигурацию и платформу 1С. В наименовании файла внешней обработки приводится информация о номере конфигурации, для которой предназначена обработка.

Внешние обработки 1С загружаются на странице Загрузить

Проверьте, поддерживается ли разработчиками IT Audit используемая конфигурация 1С

При открытии внешней обработки в 1С возникает ошибка "Нарушение прав доступа"

Использование внешних обработок требует наличия у пользователя 1С установленного права Использование в качестве OLE Automation сервера . При отсутствии прав может возникать ошибка "Нарушение прав доступа" или иная аналогичная ошибка.

Режим 1С: Предприятие

  • В списке пользователей откройте учетную запись необходимого пользователя.
  • В учетной записи пользователя нажмите на кнопку Права доступа . Установите флажок на значении Открытие внешних отчетов и обработок .
  • Сохраните внесенные изменения. Выйдите из программы и заново откройте программу в режиме "1С: Предприятие". Затем откройте необходимую обработку.

Режим Конфигуратор

  • Зайдите в программу в режиме Конфигуратор .
  • В пункте "Администрирование" откройте список пользователей и откройте учетную запись необходимого пользователя.

    При отсутствии пользователей 1С необходимо создать пользователя (например, "Администратор")

  • В учетной записи пользователя перейдите на закладку "Прочие". В списке "Доступные роли" установите флажок на значении Интерактивное открытие внешних отчетов и обработок .
  • Сохраните внесенные изменения. Откройте программу в режиме "1С: Предприятие" и откройте необходимую обработку.

Ошибка загрузки файла внешней обработки в результате настроек защиты 1С от опасных действий

Начиная с платформы 1С 8.3.9.x в настройках пользователя программы 1С по умолчанию включен запрет на выполнение опасных действий. Поэтому перед выполнением обращения к платформе 1С для пользователя 1С необходимо выполнить следующие настройки в конфигурации 1С.

  • В программе 1С: Предприятие откройте необходимую конфигурацию в режиме Конфигуратор .
  • В строке меню открывшейся конфигурации 1С нажмите Администрирование и выберите пункт Пользователи . Откроется форма Список пользователей .

    При отсутствии пользователей 1С необходимо создать пользователя (например, "Администратор")

  • В открывшейся форме выберите пользователя 1С от имени которого производится подключение к базе 1С из программы IT Audit. Двойным кликом левой кнопки мыши откройте форму Пользователь с настройками выбранного пользователя.
  • В открывшейся форме снимите флажок в поле Защита от опасных действий . Затем нажмите на кнопку ОК для сохранения внесенных изменений.

    ×

    Подключение к 1С в режиме интеграции занимает длительное время

    Если подключение к 1С: Предприятие занимает длительное время (более 2-3 минут), то по всей видимости, программа 1С: Предприятие в отдельном окне выводит информационное сообщение, содержащее причину невозможности подключения.

    Чтобы ознакомиться с сообщением программы 1С: Предприятие, нажмите на клавиатуре клавиши Alt+Tab . По мере нажатия клавиши "Tab"" будет открыто сообщение программы 1С: Предприятие. Ознакомьтесь с данным сообщение и выполните его. Например, достаточно часто выводится сообщение о необходимости пересчета остатков на определенную дату.

    При открытии отчета 1С в режиме интеграции возникает ошибка: "недопустимая строка с указанием класса", "не удалось подключить фабрику класса COM для компонента" и т.п.

    Если в системе установлено несколько версий одной и той же платформы 1С, то для подключения к базе 1С будет использоваться последняя корректно установленная версия (версия платформы 1С, которая зарегистрирована в качестве OLE-сервера).

    Если необходимо указать другую платформу, то в командной строке Windows от имени администратора выполните команду для регистрации 1С: Предприятия в качестве OLE-сервера: например,

    "C:\Program Files\1cv83\bin\1cv8.exe" /regserver

    regsvr32 "C:\Program Files\1cv83\bin\comcntr.dll"

    Аналогичные действия необходимо провести, если платформа 1С вообще не зарегистрирована в качестве OLE-сервера (например, в результате некорректной установки платформы или запуска программы 1С из скопированного каталога с программой), то есть возникает ошибка "Недопустимая строка с указанием класса...".

    Отсутствует лицензия на использование 1С

    При невозможности подключения к базе данных программы 1С: Предприятие 8.3 (8.2) по причине отсутствия права на работу с программой (отсутствует USB-ключ защиты программы 1С: Предприятие) будет выведено информационное сообщение: "Не обнаружен ключ защиты программы (не найдена лицензия)".

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

Запуск внешней обработки в режиме обычного приложения

В обычном приложении необходимо использовать метод Создать() объекта ВнешниеОбработки, в который передается полное имя файла внешней обработки. Метод возвращает объект типа ВнешняяОбработка , этот объект и есть открываемая внешняя обработка. Если требуется открыть форму внешней обработки, то у полученного объекта вызываем метод ПолучитьФорму(), который вернет основную форму, а затем вызываем метод Открыть() для её открытия.


Обработка = ВнешниеОбработки.Создать(ПолноеИмяФайла);
Обработка.ПолучитьФорму().Открыть();

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

Запуск внешней обработки в режиме управляемого приложения

В режиме управляемых форм появляется разделение алгоритма по контексту выполнения. На клиенте получаем двоичные данные по полному имени файла внешней обработки. Передаем полученные двоичные данные на сервер и помещаем их во временное хранилище. Далее необходимо вызвать метод Подключить() объекта ВнешниеОбработки, в который передается адрес на временное хранилище. Метод возвращает имя подключенной внешней обработки. Возвращаем имя внешней обработки на клиент, формируем строковый путь к форме обработки и с помощью метода ОткрытьФорму() открываем форму внешней обработки.

&НаСервере
Функция ПолучитьИмяВнешнейОбработки(ДвоичныеДанные)
АдресВоВременномХранилище = ПоместитьВоВременноеХранилище(ДвоичныеДанные);
Возврат ВнешниеОбработки.Подключить(АдресВоВременномХранилище);
КонецФункции

&НаКлиенте
ПолноеИмяФайла = ""; // Полное имя файла внешней обработки.
ДанныеФайла = Новый ДвоичныеДанные(ПолноеИмяФайла);
ИмяВнешнейОбработки = ПолучитьИмяВнешнейОбработки(ДанныеФайла);
ОткрытьФорму("ВнешняяОбработка." + ИмяВнешнейОбработки + ".Форма");

Безопасный режим для внешних обработок

Методы Создать() и Подключить() объекта ВнешниеОбработки имеют входящий параметр БезопасныйРежим - признак подключения внешней обработки в безопасном режиме. Если параметр не указан, подключение будет осуществлено в безопасном режиме.
Безопасный режим работы предназначен для защиты системы от выполнения на сервере «ненадежного» программного кода. Потенциальную опасность представляют внешние обработки или программный код, вводимый пользователем для использования в методах Выполнить() и Вычислить().
В безопасном режиме накладываются следующие ограничения:
  • привилегированный режим отменяется, если он был установлен;
  • попытки перехода в привилегированный режим игнорируются;
  • запрещены операции с COM-объектами;
  • запрещена загрузка и подключение внешних компонентов;
  • запрещен доступ к файловой системе (кроме временных файлов);
  • запрещен доступ к Интернету.
Обработки, открытые интерактивно, выполняются не в безопасном режиме, поэтому рекомендуется реализация механизма открытия внешних обработок в безопасном режиме, а так же на уровне прав запретить пользователю интерактивное открытие внешних обработок.
Для запрета интерактивного открытия обработок, во всех ролях, назначенных пользователю, необходимо снять право "Интерактивное открытие внешних обработок" (см. рисунок 1).
Рисунок 1. Права интерактивного открытия внешних обработок/отчетов
Право "Интерактивное открытие внешних обработок" никак не влияет на объект ВнешниеОбработки.

Программное открытие внешних отчетов, аналогично внешним обработкам, только следует использовать объект глобального контекста ВнешниеОтчеты, который имеет тип ВнешниеОтчетыМенеджер .