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

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

Как сохранить внешнюю обработку в файл в 1С 8.3

Как сохранить внешнюю обработку в файл .epf в 1С 8.3: через конфигуратор, команду «Сохранить как», программно и из дополнительных отчетов. Разбор ошибок и проверка результата.

Внешняя обработка в 1С 8.3 — это файл с расширением .epf, который открывается в режиме «1С:Предприятие» без изменения конфигурации базы. Задача сохранить такую обработку в файл возникает в нескольких ситуациях: нужно перенести разработку на другую базу, отправить коллеге, сделать резервную копию перед доработкой или выгрузить обработку, подключенную через механизм дополнительных отчетов и обработок (БСП).

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

Важно понимать различие: внешняя обработка (.epf) и внешний отчет (.erf) — разные форматы, и сохранить один как другой штатными средствами нельзя. Также файл .epf нельзя открыть «двойным кликом» вне 1С — это бинарный контейнер, понятный только платформе.

Что такое файл внешней обработки и когда его нужно сохранять

Внешняя обработка хранится в файле с расширением .epf (external processing file). Внутри — скомпилированный модуль, формы, макеты и метаданные объекта. Платформа 1С 8.3 умеет открывать такие файлы в режиме предприятия через меню Файл → Открыть, а конфигуратор — редактировать их как самостоятельные объекты.

Типовые ситуации, когда требуется сохранить обработку в файл:

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

Сохранение через конфигуратор: команда «Сохранить как»

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

Порядок действий
  1. 1
    Запустите конфигуратор нужной информационной базы.
  2. 2
    Выберите Файл → Открыть и укажите файл обработки .epf, либо откройте встроенную обработку из дерева конфигурации.
  3. 3
    Дождитесь загрузки обработки: в заголовке окна появится её имя.
  4. 4
    Выберите Файл → Сохранить как.
  5. 5
    В диалоге укажите папку, имя файла и убедитесь, что тип файла — «Внешняя обработка (*.epf)».
  6. 6
    Нажмите «Сохранить» и проверьте, что файл появился в указанной папке.

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

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

Как выгрузить обработку из справочника «Дополнительные отчеты и обработки»

В конфигурациях на Библиотеке стандартных подсистем (УТ, ERP, Бухгалтерия и другие) внешние обработки часто подключаются через раздел «Администрирование → Печатные формы, отчеты и обработки → Дополнительные отчеты и обработки». Файл при этом хранится внутри базы, в справочнике.

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

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

Программное сохранение обработки в файл

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

Типовой фрагмент кода для выгрузки данных из хранилища значения в файл выглядит так:

ДвоичныеДанные = ЭлементОбработки.ХранилищеОбработки.Получить();

Если ТипЗнч(ДвоичныеДанные) = Тип("ДвоичныеДанные") Тогда

ДвоичныеДанные.Записать("C:\Обработки\МояОбработка.epf");

КонецЕсли;

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

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

Диалог = Новый ДиалогВыбораФайла(РежимДиалогаВыбораФайла.Сохранение);

Диалог.Фильтр = "Внешняя обработка (.epf)|.epf";

Если Диалог.Выбрать() Тогда

ДвоичныеДанные.Записать(Диалог.ПолноеИмяФайла);

КонецЕсли;

bsl
ДвоичныеДанные = ХранилищеОбработки.Получить();
ДвоичныеДанные.Записать("C:\Обработки\МояОбработка.epf");

Учитывайте контекст выполнения: код на сервере пишет файл на диск сервера, код на клиенте — на компьютер пользователя. В файловой базе это одна и та же машина, в клиент-серверной — нет. Для передачи файла с сервера клиенту используется механизм временного хранилища (ПоместитьВоВременноеХранилище и ПолучитьИзВременногоХранилища).

Сохранение встроенной обработки конфигурации как внешней

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

Порядок прост: в конфигураторе найдите обработку в дереве конфигурации (ветка «Обработки»), откройте её двойным щелчком, затем выполните Файл → Сохранить как и укажите имя файла .epf. Платформа выгрузит объект со всеми формами и макетами.

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

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

Конфигуратор, «Сохранить как»

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

Выгрузка из справочника дополнительных обработок

Подходит, когда обработка подключена через БСП и исходного файла нет. Требует знания реквизита хранения.

Программная запись двоичных данных

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

Проверка результата и типичные ошибки

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

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

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

Файл в проводнике
Норма

Файл с расширением .epf существует и имеет ненулевой размер

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

Файл отсутствует или размер 0 байт — запись не выполнилась

Открытие в режиме предприятия
Норма

Обработка открывается, форма отображается

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

Ошибка «Невозможно открыть файл» или ошибка компиляции модуля

Работа в целевой базе
Норма

Обработка выполняет свои функции без обращений к отсутствующим объектам

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

Ошибки вида «Поле объекта не обнаружено» — обработка зависит от другой конфигурации

Типичные ошибки
01
Сохранение с расширением .erf вместо .epf — отчет и обработка не взаимозаменяемы, файл не откроется как обработка.
02
Запись файла на сервер вместо клиента — в клиент-серверной базе пользователь не находит файл на своем компьютере.
03
Перезапись единственной копии без резервной — откатить неудачную правку невозможно.
04
Игнорирование версии платформы — файл, созданный на новой платформе, может не открыться на старой.
05
Сохранение через «Сохранить» вместо «Сохранить как» — перезаписывается исходный файл, а не создается копия.

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

Удобно хранить рабочие копии обработок в отдельной папке с версиями в имени файла, например «ЗагрузкаДанных_v1.2.epf». Это упрощает откат и не требует сразу подключать систему контроля версий.
ПЗ
Практическое замечание

Ограничения и меры безопасности

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

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

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

Маршрут решения

Как выбрать действие

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

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

Чем отличается .epf от .erf?

.epf — файл внешней обработки, .erf — файл внешнего отчета. Обработка ориентирована на произвольные действия с данными, отчет — на построение отчетов (обычно на СКД). Платформа не позволяет открыть один формат как другой, конвертация делается только переносом кода вручную.

Можно ли сохранить обработку в файл без конфигуратора?

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

Почему сохраненный файл не открывается в другой базе?

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

Как сохранить обработку на сервере 1С?

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

Можно ли открыть .epf без 1С?

Нет, это закрытый бинарный формат платформы. Просмотреть и изменить содержимое можно только в конфигураторе 1С. Для обмена кодом в текстовом виде используются инструменты выгрузки в файлы конфигурации или сторонние решения, но сам .epf остается исполняемым только в платформе.

Что делать, если при сохранении появляется ошибка доступа к файлу?

Проверьте, что целевая папка существует и у текущего пользователя (или учетной записи сервера 1С — при записи на сервере) есть права на запись. Также убедитесь, что файл с таким именем не открыт в другом приложении и не заблокирован антивирусом.

Итог

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

Базовый способ сохранить внешнюю обработку — конфигуратор, Файл → Сохранить как с типом .epf. Обработку из справочника дополнительных обработок извлекают программной записью двоичных данных из хранилища. Перед перезаписью делайте резервную копию, а результат проверяйте открытием файла в тестовой базе.