Разработка и Конфигурация · 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Запустите конфигуратор нужной информационной базы.
- 2Выберите Файл → Открыть и укажите файл обработки .epf, либо откройте встроенную обработку из дерева конфигурации.
- 3Дождитесь загрузки обработки: в заголовке окна появится её имя.
- 4Выберите Файл → Сохранить как.
- 5В диалоге укажите папку, имя файла и убедитесь, что тип файла — «Внешняя обработка (*.epf)».
- 6Нажмите «Сохранить» и проверьте, что файл появился в указанной папке.
Если вы открыли встроенную обработку конфигурации и хотите получить её внешней копией, та же команда «Сохранить как» создаст файл .epf. При этом сама конфигурация не изменяется — вы просто выгружаете объект в отдельный файл.
Обратите внимание на режим совместимости. Если обработка использует возможности новой версии платформы, а целевая база работает на старой, сохраненный файл может не открыться или работать некорректно. Проверяйте версию платформы на обоих концах переноса.
Как выгрузить обработку из справочника «Дополнительные отчеты и обработки»
В конфигурациях на Библиотеке стандартных подсистем (УТ, ERP, Бухгалтерия и другие) внешние обработки часто подключаются через раздел «Администрирование → Печатные формы, отчеты и обработки → Дополнительные отчеты и обработки». Файл при этом хранится внутри базы, в справочнике.
Чтобы получить файл на диск, откройте элемент справочника дополнительных обработок. В карточке элемента, как правило, доступна команда открытия или редактирования обработки. Откройте её (обработка запустится в режиме предприятия), затем запустите конфигуратор и откройте тот же файл — либо воспользуйтесь более прямым путем: во многих типовых решениях в карточке дополнительной обработки есть команда «Выгрузить в файл» или возможность сохранить хранящееся двоичное данные стандартной командой работы с хранилищем значения.
Если типовой команды выгрузки нет, откройте обработку в режиме предприятия, затем переключитесь в конфигуратор: Файл → Открыть, выберите исходный .epf, из которого обработка загружалась, и сохраните копию через «Сохранить как». Если исходного файла нет, обработку можно извлечь программно — об этом ниже.
Программное сохранение обработки в файл
Иногда файл нужно создать кодом — например, выгрузить обработку из хранилища значения справочника на диск пользователя или сервера. Для этого используется работа с двоичными данными.
Типовой фрагмент кода для выгрузки данных из хранилища значения в файл выглядит так:
ДвоичныеДанные = ЭлементОбработки.ХранилищеОбработки.Получить();
Если ТипЗнч(ДвоичныеДанные) = Тип("ДвоичныеДанные") Тогда
ДвоичныеДанные.Записать("C:\Обработки\МояОбработка.epf");
КонецЕсли;
Здесь «ХранилищеОбработки» — имя реквизита, в котором типовая подсистема хранит файл (в разных конфигурациях имя может отличаться, уточните его в конфигураторе). Метод Получить() извлекает данные из хранилища значений, а Записать() сохраняет их на диск.
Для интерактивного выбора пути пользователем применяется диалог выбора файла:
Диалог = Новый ДиалогВыбораФайла(РежимДиалогаВыбораФайла.Сохранение);
Диалог.Фильтр = "Внешняя обработка (.epf)|.epf";
Если Диалог.Выбрать() Тогда
ДвоичныеДанные.Записать(Диалог.ПолноеИмяФайла);
КонецЕсли;
ДвоичныеДанные = ХранилищеОбработки.Получить();
ДвоичныеДанные.Записать("C:\Обработки\МояОбработка.epf");Учитывайте контекст выполнения: код на сервере пишет файл на диск сервера, код на клиенте — на компьютер пользователя. В файловой базе это одна и та же машина, в клиент-серверной — нет. Для передачи файла с сервера клиенту используется механизм временного хранилища (ПоместитьВоВременноеХранилище и ПолучитьИзВременногоХранилища).
Сохранение встроенной обработки конфигурации как внешней
Отдельный сценарий — превратить обработку, встроенную в конфигурацию, во внешний файл. Это удобно для отладки: можно править внешнюю копию и тестировать её, не обновляя конфигурацию базы.
Порядок прост: в конфигураторе найдите обработку в дереве конфигурации (ветка «Обработки»), откройте её двойным щелчком, затем выполните Файл → Сохранить как и укажите имя файла .epf. Платформа выгрузит объект со всеми формами и макетами.
Ограничение: если обработка обращается к объектам конфигурации, которых нет в целевой базе (например, к нестандартным документам), внешняя копия в другой базе работать не будет. Также управляемые формы, жестко привязанные к контексту конфигурации, иногда требуют доработки после выгрузки.
Сравнение вариантов
Подходит всегда, когда есть доступ к конфигуратору. Самый надежный способ, сохраняет формы и макеты полностью.
Подходит, когда обработка подключена через БСП и исходного файла нет. Требует знания реквизита хранения.
Подходит для автоматизации и массовой выгрузки. Требует прав на выполнение кода и аккуратности с путями сервера и клиента.
Проверка результата и типичные ошибки
После сохранения убедитесь, что файл рабочий: откройте его в режиме 1С:Предприятие через Файл → Открыть в тестовой базе. Обработка должна запуститься без сообщений об ошибках компиляции модуля.
Как проверить результат
Файл с расширением .epf существует и имеет ненулевой размер
Файл отсутствует или размер 0 байт — запись не выполнилась
Обработка открывается, форма отображается
Ошибка «Невозможно открыть файл» или ошибка компиляции модуля
Обработка выполняет свои функции без обращений к отсутствующим объектам
Ошибки вида «Поле объекта не обнаружено» — обработка зависит от другой конфигурации
Если при открытии сохраненного файла появляется сообщение о нарушении целостности, файл был поврежден при передаче (например, обрезан при копировании). Повторите выгрузку и переносите файл архивом.
Удобно хранить рабочие копии обработок в отдельной папке с версиями в имени файла, например «ЗагрузкаДанных_v1.2.epf». Это упрощает откат и не требует сразу подключать систему контроля версий.
Ограничения и меры безопасности
Внешние обработки выполняют произвольный код с правами текущего пользователя, поэтому платформа и типовые конфигурации ограничивают их использование. В БСП есть профиль безопасности: открытие внешних обработок может быть запрещено настройкой «Интерактивное открытие внешних отчетов и обработок». Если команда Файл → Открыть недоступна — проверьте этот функциональный опциональный параметр у администратора.
Не открывайте файлы .epf, полученные из непроверенных источников: обработка имеет доступ к данным базы в рамках ваших прав. Перед запуском чужой обработки в продуктивной базе протестируйте её на копии и при возможности просмотрите код модуля в конфигураторе.
При сохранении файлов на сервере учитывайте права учетной записи службы агента сервера 1С: запись возможна только в каталоги, доступные этой учетной записи. Ошибка «Ошибка доступа к файлу» чаще всего означает именно проблему прав, а не неисправность платформы.
Как выбрать действие
Частые вопросы
Чем отличается .epf от .erf?
.epf — файл внешней обработки, .erf — файл внешнего отчета. Обработка ориентирована на произвольные действия с данными, отчет — на построение отчетов (обычно на СКД). Платформа не позволяет открыть один формат как другой, конвертация делается только переносом кода вручную.
Можно ли сохранить обработку в файл без конфигуратора?
Да, если обработка хранится в базе как двоичные данные (например, в справочнике дополнительных обработок) — её можно выгрузить программно методом Записать двоичных данных. Но создать новый .epf из объектов конфигурации без конфигуратора штатными средствами нельзя.
Почему сохраненный файл не открывается в другой базе?
Чаще всего причины две: несовместимость версий платформы (файл создан на более новой версии) или обращения кода к объектам, отсутствующим в целевой конфигурации. Проверьте версию платформы и текст ошибки — имена недостающих объектов в ней указаны.
Как сохранить обработку на сервере 1С?
Выполните запись двоичных данных в серверном контексте (в серверной процедуре модуля), указав путь на сервере. Убедитесь, что учетная запись агента сервера имеет права записи в целевую папку, иначе получите ошибку доступа.
Можно ли открыть .epf без 1С?
Нет, это закрытый бинарный формат платформы. Просмотреть и изменить содержимое можно только в конфигураторе 1С. Для обмена кодом в текстовом виде используются инструменты выгрузки в файлы конфигурации или сторонние решения, но сам .epf остается исполняемым только в платформе.
Что делать, если при сохранении появляется ошибка доступа к файлу?
Проверьте, что целевая папка существует и у текущего пользователя (или учетной записи сервера 1С — при записи на сервере) есть права на запись. Также убедитесь, что файл с таким именем не открыт в другом приложении и не заблокирован антивирусом.
Что важно запомнить
Базовый способ сохранить внешнюю обработку — конфигуратор, Файл → Сохранить как с типом .epf. Обработку из справочника дополнительных обработок извлекают программной записью двоичных данных из хранилища. Перед перезаписью делайте резервную копию, а результат проверяйте открытием файла в тестовой базе.