Почему пропадает роль Интерактивное открытие внешних отчетов и обработок и как это исправить?

Программист 1С v8.3 (Управляемые формы) 1С:Управление нашей фирмой Управленческий учет IT и автоматизация бизнеса
← На главную

Многие разработчики и администраторы систем на базе 1С:Предприятие 8.3 сталкиваются с загадочным поведением системы: после ручного назначения роли Интерактивное открытие внешних отчетов и обработок в Конфигураторе, флажок этой роли через некоторое время (или после изменения расширения) таинственным образом исчезает. При попытке открыть внешнюю обработку через меню «Файл — Открыть» пользователь получает ошибку «Нарушение прав доступа». Рассмотрим детально, почему это происходит и как настроить права так, чтобы они не «слетали». Для контроля изменений и выявления пропавших ролей пригодится инструмент для сравнения снимков пользователей и ролей.

Выясним причину: механизм синхронизации прав БСП

Проанализируем архитектуру современных типовых конфигураций (УНФ, БП 3.0, ERP, ЗУП). Все они построены на базе Библиотеки стандартных подсистем (БСП). В БСП реализован механизм управления доступом, который ставит приоритет данных в режиме «Предприятие» над настройками в «Конфигураторе».

Разберем по шагам, что происходит в системе:

  1. Вы заходите в Конфигуратор и вручную отмечаете роль у пользователя.
  2. В режиме «Предприятие» (в справочниках профилей групп доступа) эта роль данному пользователю не назначена.
  3. При обновлении расширений, обновлении конфигурации или запуске регламентного задания по обновлению прав доступа, подсистема управления доступом БСП сверяет список ролей в Конфигураторе с актуальным набором прав из справочника ГруппыДоступа.
  4. Обнаружив «лишнюю» роль, которая не подтверждена профилем в режиме «Предприятие», система автоматически удаляет её у пользователя.

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

Почему «Полные права» не помогают?

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

Решение проблемы через создание профиля групп доступа

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

Шаг 1. Создание профиля

Перейдем в раздел Администрирование — Настройки пользователей и прав — Профили групп доступа. Создадим новый профиль, назовем его, например, «Разработчик (открытие внешних обработок)».

В списке ролей этого профиля найдем и отметим галочкой роль Интерактивное открытие внешних отчетов и обработок. Нажмем «Записать и закрыть».

Шаг 2. Назначение прав пользователю

Теперь перейдем в справочник Группы доступа (или в карточку пользователя в раздел «Права доступа»). Создадим новую группу доступа, выберем созданный нами профиль и добавим в список участников нужного пользователя (Администратора).

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

Особенности работы с расширениями

Если вы разрабатываете собственную роль внутри расширения, ситуация аналогична. Система воспринимает изменение состава расширения как триггер для обновления прав. Рассмотрим алгоритм действий:

  1. Добавьте роль в расширение.
  2. Запустите систему в режиме «Предприятие».
  3. Обновите профили групп доступа (в некоторых конфигурациях нужно нажать кнопку «Обновить из конфигурации» в справочнике профилей).
  4. Добавьте эту роль в нужный профиль группы доступа.

Альтернативный подход: Справочник «Дополнительные отчеты и обработки»

Проанализируем рекомендации фирмы «1С». Использование меню «Файл — Открыть» считается небезопасным и не рекомендуется для постоянной работы. Вместо постоянной борьбы с ролями интерактивного открытия, правильнее использовать встроенный справочник ДополнительныеОтчетыИОбработки.

В этом случае процедура выглядит так:

  1. Включаем константу ИспользоватьДополнительныеОтчетыИОбработки в настройках системы.
  2. Регистрируем обработку в справочнике.
  3. Назначаем права на конкретную обработку нужным пользователям или разделам интерфейса. Если вместо разработки внешних инструментов для автоматизации действий в интерфейсе требуется имитация работы пользователя, можно применить платформу для создания программных роботов с визуальным конструктором сценариев.

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

Программный контекст и безопасный режим

Стоит помнить, что даже при наличии роли система может блокировать опасные действия (например, запись файлов на диск или доступ к интернету), если обработка запускается в Безопасном режиме. При интерактивном открытии через «Файл — Открыть» режим безопасности часто устанавливается автоматически.

Если вы программно работаете с правами, обратите внимание на процедуру СведенияОбОбновленииИБ. Именно в процессе её выполнения часто происходят те самые «массовые» обновления прав, после которых администраторы обнаруживают пропажу ролей у пользователей.

Подведем итог: чтобы права не исчезали, забудьте о ручной правке ролей в Конфигураторе для конфигураций на БСП. Используйте исключительно механизм Профилей и Групп доступа в режиме «Предприятие».

← На главную