Файл .epf не запускается: права, защита платформы, версии и код обработки
Содержание
Внешняя обработка в 1С чаще всего не открывается по одной из трёх причин: у пользователя нет права на интерактивное открытие внешних обработок, платформа заблокировала файл защитой от опасных действий, или файл сохранён в более новой версии платформы, чем установлена у вас. Начните с текста ошибки: по нему причина определяется за минуту.
Частое заблуждение — «обработка битая, нужна другая». На деле тот же файл .epf у администратора открывается, а у бухгалтера нет. Значит, дело в правах или настройках безопасности, а не в самом файле. Проверять стоит от простого к сложному: окно защиты, роль пользователя, доступ к файлу, версия платформы, код.
С чего начать: текст ошибки и режим запуска
Сначала зафиксируйте, что именно происходит. От этого зависит, в какую сторону копать.
- 🔒 Появляется окно с предупреждением о безопасности, после него ничего не открывается — сработала защита платформы.
- ⛔ Сообщение
Нарушение прав доступа!— у пользователя нет нужной роли. - 📄 Ошибка про неверный формат файла или повреждённые данные — несовпадение версий или испорченный файл.
- 🧩 Сообщение вида
{ВнешняяОбработка.ИмяОбработки.Форма.Форма.Форма(25)}: Переменная не определена— ошибка в коде самой обработки. - 🌀 Окно мелькает и закрывается без сообщений — часто форма обработки не подходит к вашему клиенту.
Затем проверьте, как вы открываете файл. Способов два, и правила у них разные:
| Способ открытия | Где найти | Что проверяется |
|---|---|---|
| Через главное меню | Значок меню ☰ → Файл → Открыть или Ctrl+O | Роль интерактивного открытия и защита от опасных действий |
| Через справочник | Администрирование → Печатные формы, отчеты и обработки → Дополнительные отчеты и обработки (БП 3.0, ЗУП 3.1, УТ 11) | Регистрация обработки, её режим публикации и безопасный режим |
Если обработка открывается через справочник, а через Файл → Открыть — нет, почти наверняка проблема в правах пользователя.
Защита от опасных действий и безопасный режим платформы
В актуальных версиях 8.3 платформа предупреждает пользователя, когда он открывает внешний файл с кодом: обработку, отчёт или расширение. Внешняя обработка может читать файлы, запускать программы, отправлять данные, поэтому окно появляется намеренно.
Если в этом окне нажать «Нет» или просто закрыть его, обработка не откроется. Пользователь думает, что «ничего не произошло», и идёт к администратору. Первым делом попросите его открыть файл ещё раз и внимательно прочитать окно.
Как отключить предупреждение для конкретного пользователя
Отключать защиту стоит только тем, кто сам понимает, какие файлы открывает: администратору, программисту.
- Откройте базу в режиме Конфигуратора.
- Перейдите в
Администрирование → Пользователи. - Откройте карточку нужного пользователя.
- На основной вкладке снимите флажок «Защита от опасных действий».
- Сохраните карточку. Пользователь должен перезайти в базу.
Для всех баз на компьютере защиту можно отключить через файл conf.cfg в каталоге bin установленной платформы. Параметр DisableUnsafeActionProtection принимает маску строки соединения:
DisableUnsafeActionProtection=.*
Значение .* снимает защиту для всех баз на этом компьютере. Безопаснее указать часть пути к конкретной базе. На рабочих местах бухгалтеров защиту лучше не отключать совсем — она закрывает реальный риск запуска чужого кода.
Безопасный режим обработки
Это другое ограничение. Обработка открывается, но падает на первом же действии с файлом, COM-объектом или внешней программой. В сообщении будет указано, что операция недоступна в безопасном режиме.
Безопасный режим включают в двух местах:
- 🛡 В карточке обработки в справочнике «Дополнительные отчеты и обработки» — для обработок, подключённых через этот справочник.
- 🖥 Профилем безопасности на кластере серверов — если администратор включил профили для информационной базы.
Если обработке действительно нужен доступ к файловой системе, её автор должен описать необходимые разрешения в модуле, а администратор — согласовать их. Снимать ограничения для непроверенного файла не нужно.
Права пользователя в базе и права Windows
Роль на интерактивное открытие
Открыть обработку через Файл → Открыть можно только при наличии права на интерактивное открытие внешних обработок. В конфигурациях на БСП (БП 3.0, ЗУП 3.1, УТ 11, КА, ERP) это право входит в отдельный профиль групп доступа — «Открытие внешних отчетов и обработок».
Как выдать право:
- Зайдите под администратором в
Администрирование → Пользователи и права. - Откройте «Группы доступа».
- Найдите группу с профилем «Открытие внешних отчетов и обработок» или создайте её на основе этого профиля.
- Добавьте в участники нужного пользователя и запишите группу.
Пользователю нужно перезапустить сеанс. Если пользователь заведён напрямую в Конфигураторе, без БСП, роль назначается на вкладке «Прочие» в карточке пользователя.
💡 Не давайте бухгалтерам полные права ради одной обработки. Надёжнее зарегистрировать её в справочнике «Дополнительные отчеты и обработки»: тогда право на интерактивное открытие не нужно, а файл хранится в базе и не теряется.
Доступ к файлу и временному каталогу в Windows
Платформа должна прочитать файл и распаковать его во временный каталог. Если хоть одно из этих действий запрещено, обработка не откроется.
- 📁 Файл лежит в сетевой папке, к которой у учётной записи Windows нет доступа на чтение.
- 🗜 Файл открывают прямо из ZIP-архива или вложения почты. Сначала сохраните его в обычную папку на диске.
- 🧹 Каталог
%TEMP%переполнен или недоступен для записи. Проверьте, что пользователь может создать в нём файл. - 🔤 Путь к файлу слишком длинный или ведёт на отключённый сетевой диск.
Быстрая проверка: скопируйте .epf на рабочий стол и откройте оттуда. Открылось — проблема в правах на исходную папку.
Антивирус, брандмауэр и сетевые ограничения
Антивирус может мешать в двух местах: при чтении самого .epf и при записи временных файлов, которые создаёт платформа.
Признаки вмешательства антивируса:
- 🦠 Файл пропадает из папки сразу после копирования.
- ⏳ Открытие зависает на несколько секунд, потом появляется ошибка чтения файла.
- 📋 В журнале антивируса есть запись о
1cv8.exeили1cv8c.exeи вашем файле.
Что сделать:
- Откройте журнал событий антивируса и найдите записи на время попытки открытия.
- Если файл помещён в карантин, убедитесь, что он получен от проверенного разработчика.
- Добавьте в исключения папку, где вы храните внешние обработки, а не весь диск.
- Повторите открытие.
Если антивирус сработал на обработку из непонятного источника, не восстанавливайте её из карантина. Внешняя обработка выполняется с правами пользователя 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С. Отсюда три частые ловушки:
- Пути. Код обработки открывает файл
C:\Загрузка\прайс.xlsx, но обращается к диску сервера, где такого каталога нет. На компьютере пользователя файл есть, но коду на сервере он недоступен. - Временный каталог службы. Учётной записи, под которой работает служба сервера 1С, нужен доступ на запись в её временный каталог. Если его чистили вручную или урезали права, падают все внешние обработки сразу.
- Профили безопасности кластера. Если администратор назначил базе профиль безопасности, внешние модули выполняются в ограниченном режиме. Это настраивается в консоли администрирования серверов, в свойствах информационной базы.
Права для службы сервера 1С и профили безопасности меняет администратор сервера. Перезапуск службы оборвёт сеансы всех пользователей, поэтому делать его нужно вне рабочего времени и с предупреждением.
Признак серверной проблемы: обработка не открывается сразу у всех пользователей, включая администратора, а в файловой копии той же базы работает.