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

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

Внешняя обработка в 1С: что это и как с ней работать

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

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

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

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

Что такое внешняя обработка и как она устроена

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

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

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

Чем внешняя обработка отличается от отчёта, расширения и встроенной обработки

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

ИнструментФайлМеняет конфигурациюТиповое назначение
Внешняя обработкаEPFНетДействия над данными: загрузка, изменение, сервисные операции
Внешний отчётERFНетВывод и анализ данных без их изменения
Расширение конфигурацииCFEНет (надстройка)Постоянная доработка форм, ролей, печатных форм
Встроенная обработкаВнутри конфигурацииДаШтатный функционал прикладного решения

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

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

Внешняя обработка (EPF)

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

Расширение конфигурации (CFE)

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

Доработка конфигурации

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

Типовые задачи, которые решают внешние обработки

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

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

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

Как открыть внешнюю обработку в 1С

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

Порядок действий
  1. 1
    Откройте меню: значок «≡» или «Файл» в левом верхнем углу окна 1С.
  2. 2
    Выберите пункт «Файл → Открыть» (или нажмите Ctrl+O).
  3. 3
    Укажите путь к файлу с расширением EPF и подтвердите открытие.
  4. 4
    Если появится предупреждение о безопасности, открывайте файл только при доверии к источнику.
  5. 5
    Выполните нужную операцию в форме обработки и проверьте результат в базе.

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

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

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

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

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

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

Безопасность: чем опасны обработки из интернета

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

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

В клиент-серверных базах администратор может дополнительно защититься, отключив у рядовых пользователей право «Интерактивное открытие внешних обработок» и «Интерактивное открытие внешних отчетов». Тогда сотрудники смогут пользоваться только теми обработками, которые администратор зарегистрировал в механизме дополнительных отчетов и обработок.

Как создать свою внешнюю обработку

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

bsl
// Минимальный пример: команда на форме обработки
&НаКлиенте
Процедура Приветствие(Команда)
    Сообщить("Внешняя обработка запущена");
КонецПроцедуры

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

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

Типичные ошибки при работе с внешними обработками

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

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

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

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

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

Форма обработки отображается, ошибок платформы нет

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

Сообщение о несовместимости версии или отказ в правах

Регистрация в дополнительных обработках
Норма

Команда появилась в указанном разделе меню

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

Ошибка при записи — нет СведенияОВнешнейОбработке

Результат работы
Норма

Данные изменились ожидаемо, контрольные суммы/остатки сошлись

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

Часть объектов не обработана, есть сообщения об ошибках в журнале регистрации

Итог

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

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

Частые вопросы о внешних обработках

Чем открыть файл EPF, если 1С его не запускает?

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

Чем внешняя обработка отличается от внешнего отчёта?

Технически — почти ничем: оба формата содержат код, формы и макеты. Разница в назначении: отчёт (ERF) предназначен для формирования и вывода данных, обработка (EPF) — для выполнения действий, в том числе изменяющих данные. На практике граница условна, и в механизме дополнительных отчётов и обработок они регистрируются одинаково.

Можно ли запускать внешнюю обработку автоматически по расписанию?

Напрямую через «Файл → Открыть» — нет. Для регламентного запуска обработку регистрируют в справочнике «Дополнительные отчеты и обработки» и назначают расписание в настройках её карточки, если конфигурация поддерживает этот режим. Альтернатива — запуск через планировщик заданий операционной системы с вызовом 1С в пакетном режиме.

Нарушит ли внешняя обработка поддержку типовой конфигурации?

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

Где безопасно брать готовые внешние обработки?

Надёжнее всего — обработки, написанные вашим разработчиком или партнёром-франчайзи под вашу конфигурацию, а также инструменты из состава официальных библиотек и дисков ИТС. Файлы с форумов и файлообменников перед запуском стоит просмотреть в конфигураторе и проверить на копии базы.

Можно ли посмотреть и изменить код чужой внешней обработки?

Да, если код не защищён паролем: откройте EPF-файл в конфигураторе через «Файл → Открыть» — будут доступны модули, формы и макеты. Если поставщик установил пароль на модуль, код просмотреть нельзя; такие обработки запускайте только при полном доверии к источнику.