К статье
Практический материал

Разработка и Конфигурация · 9 мин

EPF-файлы 1С: как редактировать внешние обработки

Как редактировать EPF-файлы 1С: открытие в конфигураторе, изменение форм и модулей, сохранение, типичные ошибки и проверка результата. Пошаговая инструкция.

EPF-файл — это внешняя обработка 1С: скомпилированный контейнер, внутри которого хранятся формы, макеты, модули с кодом на встроенном языке и метаданные самой обработки. Такие файлы открываются и редактируются только через конфигуратор 1С — обычный текстовый редактор их не читает, потому что формат бинарный. Попытка открыть EPF «Блокнотом» покажет набор служебных символов, но не исходный код.

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

Важно понимать ограничение: редактирование EPF требует лицензионно доступного конфигуратора и определённых прав. Если обработка поставляется без исходного кода модуля (такое встречается при защите авторских разработок), изменить логику не получится — доступны только просмотр форм и декомпиляция отдельных участков сторонними средствами, что часто нарушает условия лицензии.

Что находится внутри EPF-файла и что можно менять

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

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

Как открыть EPF в конфигураторе

Запустите конфигуратор любой информационной базы — содержимое самой базы значения не имеет, поскольку внешняя обработка не привязана к конфигурации. Для правок достаточно даже пустой локальной базы. Далее выберите в меню «Файл» пункт «Открыть» и укажите нужный EPF-файл. Обработка загрузится в отдельное окно с деревом структуры.

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

Порядок открытия EPF
  1. 1
    Запустите конфигуратор любой базы подходящей версии платформы
  2. 2
    Выберите Файл → Открыть и укажите EPF-файл
  3. 3
    Дождитесь загрузки дерева структуры обработки
  4. 4
    Разверните узлы Формы, Макеты, Модуль объекта для навигации
  5. 5
    Перед правками сохраните резервную копию исходного файла

Редактирование модуля и форм

Модуль объекта открывается из контекстного меню корня дерева — пункт «Открыть модуль объекта». Модули форм открываются через редактор конкретной формы, вкладка «Модуль». Код пишется на встроенном языке 1С, доступны подсветка синтаксиса, контекстная подсказка и проверка синтаксиса через меню «Конфигурация» или сочетание клавиш, предусмотренное платформой.

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

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

Сохранение и проверка результата

Сохранение выполняется через «Файл → Сохранить» при активном окне обработки. Если нужно оставить исходник нетронутым, используйте «Сохранить как» и задайте новое имя файла. Рекомендуемая практика — хранить версии файлов с датой или номером правки в имени, чтобы можно было откатиться.

Проверка выполняется в режиме 1С:Предприятие: откройте сохранённый файл через «Файл → Открыть» в тонком или толстом клиенте и прогоните основной сценарий работы обработки. Убедитесь, что форма открывается без ошибок, кнопки выполняют ожидаемые действия, а печатные формы выводят корректные данные.

Контрольные точки

Как проверить результат

Открытие формы
Норма

Форма открывается без сообщений об ошибках

Тревожный признак

Ошибка компиляции модуля или отсутствующий реквизит

Выполнение основного действия
Норма

Обработка отрабатывает и возвращает ожидаемый результат

Тревожный признак

Исключение в коде, пустой результат без сообщений

Печатная форма
Норма

Все области и параметры заполнены данными

Тревожный признак

Пустые поля, ошибка «Параметр не найден»

Повторное открытие в конфигураторе
Норма

Файл открывается, структура читается полностью

Тревожный признак

Сообщение о повреждении файла или несовместимости

Типичные проблемы и их причины

Самая частая ситуация — файл открывается в конфигураторе, но модуль пуст или недоступен. Это означает, что автор поставил защиту на исходный код при поставке. Штатными средствами такой модуль не редактируется; варианты — запросить исходники у автора или переписать логику самостоятельно, если это допустимо по лицензии.

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

Типичные ошибки
01
Правка файла без резервной копии — при ошибке исходник восстановить неоткуда
02
Сохранение в новой версии платформы — файл перестаёт открываться на старых рабочих местах
03
Переименование реквизитов и областей макета без правки кода — обращения из модуля дают ошибки
04
Тестирование только в конфигураторе — ошибки контекста проявляются только в режиме предприятия
05
Редактирование защищённой обработки декомпиляторами — нарушение лицензионных условий и риск получить некорректный код

Безопасность и ограничения при работе с чужими EPF

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

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

Альтернативы прямому редактированию

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

Для командной работы над обработками удобно выгружать EPF в исходные файлы XML через штатную выгрузку конфигуратора — тогда изменения можно отслеживать в системе контроля версий и собирать файл обратно автоматически.

Сравнение вариантов

Правка существующего EPF

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

Создание новой обработки

Подходит при закрытом коде или крупной переработке логики. Требует больше времени, но даёт полный контроль

Выгрузка в XML и контроль версий

Подходит для длительной разработки и командной работы. Требует дисциплины сборки файла из исходников

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

Можно ли редактировать EPF без конфигуратора?

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

Чем EPF отличается от ERF?

EPF — внешняя обработка, ERF — внешний отчёт. Структура файлов почти одинакова, различие в типе объекта: отчёт строится на схеме компоновки данных и имеет настройки вариантов. Оба формата открываются и редактируются в конфигураторе одинаково.

Почему после правок обработка в базе не изменилась?

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

Файл не открывается с ошибкой о версии. Что делать?

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

Модуль обработки пустой — это ошибка файла?

Нет. Скорее всего, автор поставил поставку без исходного кода. Формы и макеты при этом могут оставаться доступными, но логику штатными средствами изменить нельзя — запросите исходники у разработчика.

Безопасно ли открывать скачанный EPF в конфигураторе?

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

Итог

Что важно запомнить

EPF редактируется только в конфигураторе 1С через Файл → Открыть. Перед правками делайте копию файла, после правок проверяйте синтаксис и запускайте обработку в режиме предприятия на тестовой базе. Защищённые модули штатно не редактируются, а чужие обработки перед запуском обязательно просматривайте на предмет опасного кода.