При работе в конфигурации 1С:Бухгалтерия предприятия 2.0, запущенной на современных версиях платформы (8.3.9 и выше), пользователи часто сталкиваются с парадоксальной ситуацией. При попытке добавить внешнюю печатную форму или обработку система выводит диалоговое окно с вопросом «Разрешить открыть файл?», но при этом не предлагает кнопок «Да» или «Нет». Вместо них доступны только варианты «Завершить работу» или «Перезапустить». Проанализируем, почему это происходит и как настроить систему для корректной работы.
Рассмотрим природу этого явления. Начиная с версии платформы 8.3.9, компания 1С внедрила механизм, который называется «Защита от исполнения опасного кода». Его основная задача — предотвратить запуск потенциально вредоносных внешних обработок и расширений без явного согласия администратора или пользователя.
Почему же кнопки в диалоге выглядят так странно? Разберем эту ситуацию. Когда информационная база работает в режиме, где безопасность считается приоритетной (например, если включены определенные профили безопасности или установлены жесткие ограничения в настройках пользователя), платформа блокирует выполнение любого внешнего кода на уровне ядра. Вопрос о разрешении открытия файла является стандартным системным уведомлением, но отсутствие кнопки подтверждения означает, что текущие настройки безопасности категорически запрещают данное действие в текущем сеансе. В результате программа предлагает лишь закрыть сессию или попытаться перезагрузиться с новыми параметрами.
Особенно часто это проявляется в старых конфигурациях, таких как Бухгалтерия предприятия 2.0, так как они работают в режиме совместимости с более ранними версиями платформы, где механизмы защиты реализованы иначе.
Самое простое и эффективное решение, которое помогло автору вопроса, заключается в изменении свойств конкретного пользователя. Пройдем по шагам этот процесс:
Администрирование — Пользователи.F2).ОК для сохранения изменений.Рассмотрим важный нюанс: если в вашей конфигурации используется синхронизация пользователей со справочником в режиме «Предприятие», этот флажок может автоматически установиться заново при следующем обновлении данных. В таком случае необходимо проверить настройки непосредственно в интерфейсе программы (справочник Пользователи) и убедиться, что там не заданы ограничения на запуск внешних обработок.
Если пользователей в базе много и снимать галку каждому вручную неудобно, проанализируем возможность глобального отключения данной проверки. Это делается с помощью специального параметра командной строки при запуске 1С.
Для этого в окне запуска 1С выберем нужную базу, нажмем кнопку Изменить и на последней вкладке в поле Дополнительные параметры запуска введем следующую команду:
/DisableUnsafeCodeExecutionCheck
Этот ключ сообщает платформе, что при данном запуске не нужно проверять внешние обработки на предмет «опасности». Посмотрим на синтаксис: параметр начинается со слеша и пишется без пробелов. Использование этого метода удобно для администраторов, которым нужно оперативно зарегистрировать несколько печатных форм без изменения прав доступа всех сотрудников.
Для серверных решений или ситуаций, когда нужно отключить проверку для всех баз на конкретном компьютере, разберем метод редактирования файла conf.cfg. Данный файл находится в каталоге установленной платформы (обычно это C:\Program Files\1cv8\conf).
Нам необходимо добавить или отредактировать строку, указав маску информационных баз, для которых защита будет отключена. Пример содержания файла:
DisableUnsafeCodeExecutionCheck=.*
Символ .* является регулярным выражением, которое означает «применять для всех информационных баз». Будьте осторожны: этот метод снижает общую защищенность системы, поэтому мы рекомендуем использовать его только в доверенных локальных сетях.
В конфигурациях на платформе 8.3 даже в режиме обычных форм (как в БП 2.0) часто существует механизм программной регистрации внешних объектов. Если вы добавляете печатную форму через стандартный механизм Дополнительные отчеты и обработки, обратите внимание на поле Безопасный режим.
Проанализируем ситуацию: если при регистрации формы установлен признак Безопасный режим = Истина, платформа будет ограничивать доступ обработки к файловой системе, реестру Windows и сетевым ресурсам. Если ваша печатная форма выполняет сложные вычисления или обращается к внешним компонентам, попробуйте установить значение Ложь (снять флажок безопасного режима) при ее регистрации в справочнике.
Если ваша база данных работает в клиент-серверном варианте, причина блокировки может крыться в настройках кластера серверов 1С. В консоли администрирования кластера существуют так называемые Профили безопасности.
Если для базы назначен профиль безопасности, он имеет приоритет над настройками пользователя в Конфигураторе. В таком случае администратору необходимо:
Резюмируем: появление странного окна при добавлении печатной формы в БП 2.0 — это не глюк программы, а штатная работа системы безопасности платформы. Наиболее быстрым решением является снятие флажка Защита от исполнения опасного кода в настройках пользователя, а наиболее системным — настройка доверенных параметров запуска или профилей безопасности сервера.