Файл .epf не запускается: права, защита платформы, версии и код обработки

· 10 мин

Содержание

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

Частое заблуждение — «обработка битая, нужна другая». На деле тот же файл .epf у администратора открывается, а у бухгалтера нет. Значит, дело в правах или настройках безопасности, а не в самом файле. Проверять стоит от простого к сложному: окно защиты, роль пользователя, доступ к файлу, версия платформы, код.

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

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

  • 🔒 Появляется окно с предупреждением о безопасности, после него ничего не открывается — сработала защита платформы.
  • ⛔ Сообщение Нарушение прав доступа! — у пользователя нет нужной роли.
  • 📄 Ошибка про неверный формат файла или повреждённые данные — несовпадение версий или испорченный файл.
  • 🧩 Сообщение вида {ВнешняяОбработка.ИмяОбработки.Форма.Форма.Форма(25)}: Переменная не определена — ошибка в коде самой обработки.
  • 🌀 Окно мелькает и закрывается без сообщений — часто форма обработки не подходит к вашему клиенту.

Затем проверьте, как вы открываете файл. Способов два, и правила у них разные:

Способ открытияГде найтиЧто проверяется
Через главное менюЗначок меню ☰ → Файл → Открыть или Ctrl+OРоль интерактивного открытия и защита от опасных действий
Через справочникАдминистрирование → Печатные формы, отчеты и обработки → Дополнительные отчеты и обработки (БП 3.0, ЗУП 3.1, УТ 11)Регистрация обработки, её режим публикации и безопасный режим

Если обработка открывается через справочник, а через Файл → Открыть — нет, почти наверняка проблема в правах пользователя.

Защита от опасных действий и безопасный режим платформы

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

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

Как отключить предупреждение для конкретного пользователя

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

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

Для всех баз на компьютере защиту можно отключить через файл conf.cfg в каталоге bin установленной платформы. Параметр DisableUnsafeActionProtection принимает маску строки соединения:

DisableUnsafeActionProtection=.*

Значение .* снимает защиту для всех баз на этом компьютере. Безопаснее указать часть пути к конкретной базе. На рабочих местах бухгалтеров защиту лучше не отключать совсем — она закрывает реальный риск запуска чужого кода.

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

Это другое ограничение. Обработка открывается, но падает на первом же действии с файлом, COM-объектом или внешней программой. В сообщении будет указано, что операция недоступна в безопасном режиме.

Безопасный режим включают в двух местах:

  • 🛡 В карточке обработки в справочнике «Дополнительные отчеты и обработки» — для обработок, подключённых через этот справочник.
  • 🖥 Профилем безопасности на кластере серверов — если администратор включил профили для информационной базы.

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

Права пользователя в базе и права Windows

Роль на интерактивное открытие

Открыть обработку через Файл → Открыть можно только при наличии права на интерактивное открытие внешних обработок. В конфигурациях на БСП (БП 3.0, ЗУП 3.1, УТ 11, КА, ERP) это право входит в отдельный профиль групп доступа — «Открытие внешних отчетов и обработок».

Как выдать право:

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

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

💡 Не давайте бухгалтерам полные права ради одной обработки. Надёжнее зарегистрировать её в справочнике «Дополнительные отчеты и обработки»: тогда право на интерактивное открытие не нужно, а файл хранится в базе и не теряется.

Доступ к файлу и временному каталогу в Windows

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

  • 📁 Файл лежит в сетевой папке, к которой у учётной записи Windows нет доступа на чтение.
  • 🗜 Файл открывают прямо из ZIP-архива или вложения почты. Сначала сохраните его в обычную папку на диске.
  • 🧹 Каталог %TEMP% переполнен или недоступен для записи. Проверьте, что пользователь может создать в нём файл.
  • 🔤 Путь к файлу слишком длинный или ведёт на отключённый сетевой диск.

Быстрая проверка: скопируйте .epf на рабочий стол и откройте оттуда. Открылось — проблема в правах на исходную папку.

Антивирус, брандмауэр и сетевые ограничения

Антивирус может мешать в двух местах: при чтении самого .epf и при записи временных файлов, которые создаёт платформа.

Признаки вмешательства антивируса:

  • 🦠 Файл пропадает из папки сразу после копирования.
  • ⏳ Открытие зависает на несколько секунд, потом появляется ошибка чтения файла.
  • 📋 В журнале антивируса есть запись о 1cv8.exe или 1cv8c.exe и вашем файле.

Что сделать:

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

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

Брандмауэр на открытие самого файла не влияет. Он мешает, когда обработка во время работы обращается к внешнему сервису: банку, сайту, API. Тогда форма открывается, а ошибка появляется при нажатии кнопки. Это уже вопрос доступа к сети с компьютера (или с сервера 1С, если запрос идёт на сервере).

Версия платформы и формат обработки

Файл .epf сохраняется в формате той версии платформы, в которой его записали в Конфигураторе. Обработку, сохранённую в более новой платформе, старая платформа может не открыть: появится ошибка про неверный формат.

Проверьте номер платформы на обоих компьютерах: в режиме Предприятия это меню ☰ → Справка → О программе. Номер платформы на вашем компьютере должен быть не ниже, чем у разработчика, сохранившего файл.

Варианты решения:

СпособКогда подходитРиски
Обновить платформу у себяРазработчик работает на актуальной версии, а у вас стараяНужно обновить все компьютеры и сервер 1С до одной версии
Попросить разработчика пересохранить файлПлатформу обновлять нельзяРазработчику нужна ваша версия платформы
Выгрузить обработку в XML и загрузить в нужной версииВы сами владеете КонфигураторомНе все новые возможности поддерживаются старой версией

Для третьего варианта у платформы есть пакетные команды Конфигуратора: /DumpExternalDataProcessorOrReportToFiles и /LoadExternalDataProcessorOrReportFromFiles. Точный синтаксис параметров смотрите в справке к вашей версии.

Обычные и управляемые формы

Отдельная история — обработки, написанные для старых конфигураций на обычных формах (УТ 10.3, БП 2.0, ЗУП 2.5). В тонком клиенте и веб-клиенте обычные формы не работают. В БП 3.0 или ЗУП 3.1 такая обработка либо не откроется, либо откроется без формы.

Обработку под управляемое приложение придётся переписать. Запуск толстого клиента ради старой обработки — временное решение, и в типовых конфигурациях на БСП оно ломает часть интерфейса.

Ошибки в коде обработки и несовпадение с конфигурацией

Если платформа пишет ошибку с указанием модуля и номера строки в скобках, файл открылся, но код не выполнился. Пример:

{ВнешняяОбработка.ЗагрузкаЦен.Форма.Форма.Форма(48)}: Поле объекта не обнаружено (ВидЦены)

Здесь 48 — номер строки, ВидЦены — то, чего код не нашёл. Типичные причины:

  • 🔁 Обработка написана под другую конфигурацию. Код обращается к справочнику или реквизиту, которого в вашей базе нет: например, «Типы цен» в БП и «Виды цен» в УТ называются по-разному.
  • 🆕 Конфигурацию обновили, и разработчик фирмы 1С переименовал или удалил реквизит, на который ссылается обработка.
  • 🔐 Код читает объект, на который у пользователя нет прав. Под администратором всё работает, под бухгалтером — нет.
  • 📦 У обработки не задана основная форма, и платформе нечего показывать.

Сам код без Конфигуратора не исправить. Отправьте разработчику полный текст ошибки, номер релиза конфигурации и версию платформы. Если есть доступ к Конфигуратору, откройте файл через Файл → Открыть, найдите указанную строку и сравните имена объектов с деревом метаданных вашей базы.

Обработка не регистрируется в справочнике

Чтобы обработку можно было добавить в «Дополнительные отчеты и обработки», в её модуле объекта должна быть экспортная функция СведенияОВнешнейОбработке(). Без неё справочник откажется её принимать, хотя через Файл → Открыть файл открывается нормально. Это не ошибка файла: обработку просто писали для запуска вручную.

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

Файловая база и сервер 1С: в чём разница

В файловой базе весь код обработки выполняется на компьютере пользователя. Все пути к файлам, права Windows и антивирус — локальные.

В клиент-серверной базе всё иначе. Файл передаётся на сервер 1С, и серверная часть кода выполняется там, под учётной записью службы сервера 1С. Отсюда три частые ловушки:

  1. Пути. Код обработки открывает файл C:\Загрузка\прайс.xlsx, но обращается к диску сервера, где такого каталога нет. На компьютере пользователя файл есть, но коду на сервере он недоступен.
  2. Временный каталог службы. Учётной записи, под которой работает служба сервера 1С, нужен доступ на запись в её временный каталог. Если его чистили вручную или урезали права, падают все внешние обработки сразу.
  3. Профили безопасности кластера. Если администратор назначил базе профиль безопасности, внешние модули выполняются в ограниченном режиме. Это настраивается в консоли администрирования серверов, в свойствах информационной базы.

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

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

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

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