Права, предупреждение безопасности и регистрация: запускаем свою обработку в УНФ

· 9 мин

Содержание

Чтобы разрешить внешние обработки в 1С:УНФ, пользователю нужна роль «Интерактивное открытие внешних отчетов и обработок» — проще всего через профиль группы доступа «Открытие внешних отчетов и обработок». Второй барьер — защита от опасных действий платформы: она не запрещает открытие, а показывает предупреждение, которое отключается флажком в карточке пользователя или параметром в conf.cfg.

Если обработка нужна постоянно, её лучше не открывать через Файл → Открыть, а зарегистрировать в справочнике «Дополнительные отчеты и обработки». Тогда права на открытие произвольных файлов пользователю вообще не нужны. Всё ниже относится к УНФ 1.6 и 3.0 на платформе 8.3 в интерфейсе «Такси».

Почему УНФ не открывает внешнюю обработку

Внешняя обработка — это файл .epf (отчёт — .erf) с произвольным кодом. Код выполняется с правами пользователя, который его открыл. Он может читать и менять данные, писать файлы на диск, обращаться к сети. Поэтому УНФ, как и другие типовые конфигурации на БСП, закрывает эту дверь по умолчанию.

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

БарьерКто ставитЧто видит пользовательГде снимается
🔒 Нет права на интерактивное открытиеКонфигурация (роли)Нарушение прав доступа!Группы доступа, профиль
⚠️ Защита от опасных действийПлатформаОкно с предупреждением безопасности перед открытиемКарточка пользователя в Конфигураторе, conf.cfg
☁️ Ограничения сервиса1С:Фреш, облачная УНФКоманда открытия файла недоступнаТолько регистрация обработки через сервис

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

Как дать пользователю право открывать внешние обработки

Право выдаётся не самому пользователю, а через группу доступа. В УНФ группы доступа строятся на профилях, а профиль — это набор ролей.

Через профиль «Открытие внешних отчетов и обработок»

В типовой поставке БСП есть готовый профиль с этим названием. Он содержит одну роль — «Интерактивное открытие внешних отчетов и обработок».

  1. Войдите в УНФ под пользователем с полными правами.
  2. Откройте панель администрирования и в ней раздел Пользователи и права. В зависимости от релиза УНФ сама группа команд «Администрирование» лежит в разделе «Компания» или «Настройки».
  3. Перейдите в Группы доступа.
  4. Создайте группу, например «Внешние обработки». В поле профиля выберите «Открытие внешних отчетов и обработок».
  5. На вкладке участников добавьте нужных пользователей. Можно добавить группу пользователей целиком.
  6. Нажмите Записать и закрыть.
  7. Пользователь должен перезапустить сеанс: права перечитываются при входе.

После этого команда Файл → Открыть (или Ctrl+O) в главном меню начнёт открывать .epf и .erf.

Через карточку пользователя (упрощённая настройка прав)

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

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

Не создавайте свою роль в Конфигураторе ради одного права. Изменение конфигурации снимает её с полной поддержки и усложняет обновления. Готового профиля хватает.

Права на дополнительные обработки — это другое

Не путайте два права:

  • 📂 Интерактивное открытие — открыть любой файл с диска через Файл → Открыть.
  • 🗂️ Добавление и изменение дополнительных отчетов и обработок — загружать файлы в справочник, менять их настройки и размещение.

Бухгалтеру, который каждый день запускает одну и ту же обработку загрузки банковской выписки, не нужно ни то, ни другое. Ему достаточно, чтобы администратор один раз зарегистрировал обработку и разместил её в нужном разделе.

Как отключить предупреждение безопасности в 1С:УНФ

Механизм «Защита от опасных действий» появился в платформе 8.3.9. При открытии внешней обработки, загрузке расширения или запуске потенциально опасного кода платформа спрашивает подтверждение. Ответ «Нет» прерывает открытие — и пользователи часто принимают это за запрет.

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

Флажок в свойствах пользователя

  1. Откройте базу в Конфигураторе.
  2. Меню Администрирование → Пользователи.
  3. Откройте пользователя, вкладка Прочие.
  4. Снимите флажок Защита от опасных действий.
  5. Нажмите ОК. Перезапускать конфигурацию не нужно, пользователь увидит изменение при следующем входе.

Список пользователей в Конфигураторе — это пользователи информационной базы. Не удаляйте и не переименовывайте их здесь: в УНФ они связаны со справочником «Пользователи», и рассинхронизация ломает вход.

Параметр в conf.cfg на компьютере

Если нужно снять предупреждение для всех баз на конкретном рабочем месте, используйте файл настроек платформы. Он лежит в каталоге C:\Program Files\1cv8\conf\conf.cfg (для 32-разрядной платформы — C:\Program Files (x86)\1cv8\conf\conf.cfg).

Добавьте строку с регулярным выражением, которому должна соответствовать строка соединения с базой:

DisableUnsafeActionProtection=.*

Вариант .* отключает защиту для любой базы на этом компьютере. Лучше сузить маску до своей базы, например по имени на сервере:

DisableUnsafeActionProtection=.*Ref=unf_work.*

Перезапустите клиент 1С. Правка файла требует прав администратора Windows.

Регистрация обработки в УНФ как дополнительной

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

  1. В панели администрирования откройте Печатные формы, отчеты и обработки.
  2. Включите флажок Дополнительные отчеты и обработки.
  3. Перейдите по ссылке в справочник дополнительных отчётов и обработок и нажмите Создать.
  4. Выберите файл .epf или .erf. Подтвердите предупреждение безопасности.
  5. Если обработка подготовлена для БСП, УНФ сама заполнит вид (дополнительная обработка, печатная форма, заполнение объекта) и список команд.
  6. На вкладке размещения укажите разделы или документы, где появится команда.
  7. На вкладке команд настройте, кому она доступна, и при желании — расписание для регламентного запуска.
  8. Запишите элемент.

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

Где пользователь найдёт зарегистрированную обработку

Команда появляется там, где её разместил администратор:

  • 📌 Обработка общего назначения — в разделе, который указан на вкладке размещения, через команду дополнительных обработок этого раздела.
  • 🖨️ Печатная форма — в меню Печать того документа или справочника, к которому она привязана.
  • 📝 Заполнение объекта — в командной панели формы документа, обычно в подменю заполнения.
  • 📊 Дополнительный отчёт — среди отчётов раздела, рядом с типовыми.

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

В облачной УНФ (1С:Фреш) это единственный путь. Файл загружается через справочник, после чего сервис отправляет его на проверку. Пока проверка не пройдена, команда недоступна.

Ошибки при открытии внешних обработок и что с ними делать

Большинство проблем решается за пару минут, если правильно прочитать симптом.

Диагностика: выберите симптом

Если ошибка не из списка, нажмите Подробно в окне ошибки. Строка с именем модуля и номером строки подскажет, где проблема — в правах, в платформе или в самом коде обработки.

Безопасность: кому и что можно разрешать

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

Простые правила для небольшой фирмы:

  • 👤 Минимум людей. Право открытия — администратору и одному ответственному сотруднику, не всем бухгалтерам.
  • 🗂️ Рабочие обработки — в справочник. Если обработкой пользуются регулярно, регистрируйте её. Так вы точно знаете, какая версия файла работает.
  • 🔍 Источник файла. Берите обработки у своего программиста, проверенного партнёра или из официального каталога. Файлы с форумов и из почты сначала открывайте в копии базы.
  • 🛡️ Защиту оставляйте включённой у рядовых пользователей. Предупреждение — последний шанс остановиться, если открыт не тот файл.
  • 💾 Резервная копия перед первым запуском обработки, которая меняет данные массово.

Никогда не запускайте в рабочей базе обработку, источник которой вы не знаете, — даже если «нужно срочно». Откат после массового изменения документов без копии займёт дни.

В клиент-серверном варианте УНФ можно включить профили безопасности кластера. Тогда дополнительные обработки, зарегистрированные в безопасном режиме, не получат доступа к файлам, сети и внешним компонентам без явного разрешения администратора. Для файловой базы на пять пользователей это избыточно, для базы на сервере с десятками сотрудников — разумно.

Массовая настройка разрешений для внешних обработок

Если пользователей много или рабочих мест десятки, ручная настройка утомляет. Есть три способа ускорить.

Группы пользователей вместо отдельных людей

Добавьте в группу доступа не сотрудников, а группу пользователей — например «Администраторы УНФ». Новый сотрудник получит право, как только его включат в группу. Отзыв права — тоже одним действием.

Раздача conf.cfg по сети

На рабочие места программистов и внедренцев файл conf.cfg с нужной строкой DisableUnsafeActionProtection можно скопировать скриптом или групповой политикой. Важно не затереть другие параметры, которые уже есть в файле: дописывайте строку, а не заменяйте файл целиком.

@echo off
set CFG=C:\Program Files\1cv8\conf\conf.cfg
findstr /C:"DisableUnsafeActionProtection" "%CFG%" >nul || echo DisableUnsafeActionProtection=.*Ref=unf_work.*>>"%CFG%"

Скрипт добавляет строку, только если её ещё нет. Запускайте его от имени администратора.

Снятие защиты кодом

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

ПользовательИБ = ПользователиИнформационнойБазы.НайтиПоИмени("Иванова");
Если ПользовательИБ <> Неопределено Тогда
    Защита = Новый ОписаниеЗащитыОтОпасныхДействий;
    Защита.ПредупреждатьОбОпасныхДействиях = Ложь;
    ПользовательИБ.ЗащитаОтОпасныхДействий = Защита;
    ПользовательИБ.Записать();
КонецЕсли;

Код выполняется на сервере. Имя передаётся то, что указано в поле «Имя» пользователя ИБ, а не ФИО сотрудника.

Перед тем как дать сотруднику доступ к внешним обработкам
Выполнено: 0 / 5

Частые вопросы

Можно ли просто дать пользователю полные права, чтобы открывались обработки?
Можно, но не нужно. Полные права открывают доступ ко всем настройкам и данным, включая администрирование. Для обработок достаточно одного профиля.
Нужна ли перезагрузка базы после изменения прав?
Нет. Достаточно, чтобы пользователь вышел из программы и зашёл снова. Другие сеансы при этом не прерываются.
Будут ли работать внешние обработки от УНФ 1.6 в УНФ 3.0?
Простые — часто да. Обработки, которые обращаются к конкретным реквизитам и справочникам, обычно требуют адаптации: структура данных между редакциями менялась.
Где хранится зарегистрированная дополнительная обработка?
Внутри информационной базы, в справочнике. Она попадает в резервную копию и выгрузку .dt, отдельно файл переносить не нужно.
Почему в веб-клиенте нельзя открыть файл через меню?
В браузере открытие внешних файлов ограничено. Для веб-клиента и облака обработку нужно регистрировать как дополнительную.