Разработка и Конфигурация · 13 мин
Внешняя обработка в 1С: что это и как с ней работать
Что такое внешняя обработка в 1С, чем отличается от отчёта и расширения, как открыть файл EPF, подключить через дополнительные отчёты и обезопасить базу.
Внешняя обработка в 1С — это отдельный файл с расширением EPF, который содержит программный код, формы и макеты и выполняется внутри информационной базы без изменения самой конфигурации. В отличие от встроенных объектов, которые разработчик добавляет через конфигуратор, внешняя обработка хранится отдельно от базы и подключается «на лету»: открыл файл — получил инструмент.
Такие файлы используют повсеместно: массовая загрузка данных из Excel, групповое изменение реквизитов, печатные формы, которых нет в типовой поставке, очистка базы от лишних объектов, тестирование запросов. Практически любую разовую или вспомогательную задачу можно решить внешней обработкой, не дожидаясь обновления конфигурации и не снимая её с поддержки.
Главное преимущество подхода — безопасность типовой конфигурации: база остаётся на поддержке вендора, обновления устанавливаются штатно, а дополнительный функционал живёт в отдельных файлах. Обратная сторона — внешняя обработка выполняет произвольный код с правами текущего пользователя, поэтому файл из непроверенного источника может повредить данные так же, как и вредоносная программа.
Что такое внешняя обработка и как она устроена
Технически внешняя обработка — это контейнер, внутри которого находятся модуль объекта с кодом на встроенном языке 1С, одна или несколько управляемых (или обычных) форм, макеты табличных документов, СКД-схемы и другие ресурсы. По структуре она почти не отличается от обработки, встроенной в конфигурацию, — отличие только в способе хранения и подключения.
Файл имеет расширение .epf. Родственный формат — .erf, внешний отчёт: он строится на тех же принципах, но предназначен для вывода данных, а не для их изменения. Оба формата создаются в конфигураторе через меню «Файл → Новый → Внешняя обработка» и могут быть сохранены обратно в файл в любой момент.
Важно понимать: обработка не «устанавливается» в базу как программа на компьютер. При открытии платформа загружает файл в память сеанса и выполняет его. После закрытия файл остаётся лежать там, где лежал, — в базе от него ничего не сохраняется, кроме результатов его работы (созданных документов, изменённых справочников и т.п.).
Чем внешняя обработка отличается от отчёта, расширения и встроенной обработки
У пользователей часто возникает путаница между несколькими способами добавить функционал в 1С. У каждого своё назначение и свои ограничения.
| Инструмент | Файл | Меняет конфигурацию | Типовое назначение |
|---|---|---|---|
| Внешняя обработка | EPF | Нет | Действия над данными: загрузка, изменение, сервисные операции |
| Внешний отчёт | ERF | Нет | Вывод и анализ данных без их изменения |
| Расширение конфигурации | CFE | Нет (надстройка) | Постоянная доработка форм, ролей, печатных форм |
| Встроенная обработка | Внутри конфигурации | Да | Штатный функционал прикладного решения |
Ключевое различие между обработкой и расширением — срок жизни и глубина вмешательства. Обработку запускают вручную, когда она нужна; расширение подключается к базе постоянно и может менять поведение типовых форм и модулей. Для разовой операции (например, загрузить тысячу позиций номенклатуры из Excel) обработка удобнее. Для постоянной доработки, которой пользуются все сотрудники каждый день, правильнее расширение.
Сравнение вариантов
Подходит для разовых и сервисных задач. Ограничение: запуск вручную, нет автоматического обновления у всех пользователей.
Подходит для постоянных доработок интерфейса и логики. Ограничение: требует проверки совместимости после каждого обновления конфигурации.
Подходит, когда возможностей расширения не хватает. Ограничение: усложняет обновление, снимает объекты с полной поддержки.
Типовые задачи, которые решают внешние обработки
На практике внешние обработки применяются в нескольких устойчивых сценариях. Первый — обмен данными: загрузка номенклатуры, цен, контрагентов и документов из Excel и CSV, выгрузка данных для сторонних систем, перенос информации между базами. Это самая массовая категория, потому что штатных инструментов импорта в типовых конфигурациях часто не хватает.
Второй сценарий — групповые операции над данными: перепроведение документов за период, массовое изменение реквизитов, поиск и удаление дублей, пометка на удаление объектов по условию. Третий — печать и документооборот: внешние печатные формы, этикетки, прайсы, которые подключаются к документам через механизм дополнительных печатных форм.
Отдельная группа — сервисные и административные инструменты: консоль запросов, редактор кода, анализ прав доступа, очистка базы, тестирование. Ими пользуются разработчики и администраторы. Наконец, обработки применяют для регламентных выгрузок в контролирующие органы и банки, когда формат обмена выходит за рамки типовой поставки.
Как открыть внешнюю обработку в 1С
Самый простой способ запуска — открыть файл напрямую из режима «Предприятие». Порядок действий одинаков для большинства конфигураций на управляемых формах:
- 1Откройте меню: значок «≡» или «Файл» в левом верхнем углу окна 1С.
- 2Выберите пункт «Файл → Открыть» (или нажмите Ctrl+O).
- 3Укажите путь к файлу с расширением EPF и подтвердите открытие.
- 4Если появится предупреждение о безопасности, открывайте файл только при доверии к источнику.
- 5Выполните нужную операцию в форме обработки и проверьте результат в базе.
Если файл не открывается, проверьте три вещи. Во-первых, версию платформы: обработка, сохранённая в новой версии платформы, может не открываться в старой. Во-вторых, режим совместимости и тип клиента — некоторые обработки рассчитаны только на тонкий или только на толстый клиент. В-третьих, права пользователя: если у учётной записи нет права на интерактивное открытие внешних обработок и отчётов, платформа откажет в запуске.
В файловых базах достаточно положить EPF-файл в общую сетевую папку, доступную пользователям. В клиент-серверном варианте файл открывается с компьютера пользователя, поэтому путь должен быть доступен именно с его рабочего места, а не на сервере.
Как подключить обработку через «Дополнительные отчеты и обработки»
Открытие через «Файл → Открыть» удобно для разовых задач, но если обработкой пользуются регулярно, её лучше зарегистрировать в штатном механизме «Дополнительные отчеты и обработки» (он есть в конфигурациях на Библиотеке стандартных подсистем: «1С:Бухгалтерия», «1С:Управление нашей фирмой», «1С:ERP» и других).
Сначала нужно включить сам механизм: в разделе «Администрирование» найти настройку «Печатные формы, отчеты и обработки» и установить флаг «Дополнительные отчеты и обработки». После этого появится одноимённый справочник. В нём создают новый элемент, загружают файл EPF и настраивают размещение — в каких разделах меню команда будет видна пользователям.
Преимущества такого подключения: обработка появляется в интерфейсе как штатная команда, доступ к ней разграничивается правами, файл хранится внутри базы и не зависит от сетевых папок. Печатные формы, подключённые таким способом, автоматически появляются в меню «Печать» соответствующих документов.
Безопасность: чем опасны обработки из интернета
Внешняя обработка — это исполняемый код, и платформа не ограничивает его возможности: он может читать, изменять и удалять любые данные, к которым у запустившего пользователя есть права. Обработка, скачанная с незнакомого сайта, теоретически способна удалить документы, изменить остатки или передать данные наружу.
Практические правила безопасной работы: скачивайте обработки только с ресурсов, которым доверяете; по возможности просматривайте код в конфигураторе перед запуском (особенно обращайте внимание на команды удаления, запуска внешних программ и обращения к сети); выполняйте первый запуск под учётной записью с ограниченными правами; обязательно делайте выгрузку базы перед массовыми операциями вроде группового изменения реквизитов или удаления объектов.
В клиент-серверных базах администратор может дополнительно защититься, отключив у рядовых пользователей право «Интерактивное открытие внешних обработок» и «Интерактивное открытие внешних отчетов». Тогда сотрудники смогут пользоваться только теми обработками, которые администратор зарегистрировал в механизме дополнительных отчетов и обработок.
Как создать свою внешнюю обработку
Создание простой обработки доступно любому, кто знаком с конфигуратором. Откройте конфигуратор, выберите «Файл → Новый → Внешняя обработка», задайте имя и синоним. Добавьте форму, разместите на ней нужные элементы (поля, кнопки, таблицы) и напишите код в модуле формы или объекта. Сохраните результат — получится готовый EPF-файл.
// Минимальный пример: команда на форме обработки
&НаКлиенте
Процедура Приветствие(Команда)
Сообщить("Внешняя обработка запущена");
КонецПроцедурыЕсли обработку планируется подключать через механизм дополнительных отчетов и обработок, в модуль объекта нужно добавить экспортную функцию СведенияОВнешнейОбработке(), возвращающую структуру с описанием: вид обработки, версия, список команд, назначение (для каких объектов предназначена печатная форма). Формат этой структуры описан в документации Библиотеки стандартных подсистем.
Отлаживать внешнюю обработку можно так же, как встроенную: открыть её в конфигураторе через «Файл → Открыть», расставить точки останова и запустить отладку. Важный нюанс — после правки кода в конфигураторе файл нужно сохранить и переоткрыть в режиме «Предприятие», иначе в сеансе останется старая версия.
Типичные ошибки при работе с внешними обработками
Отдельно стоит сказать о совместимости. Обработка, написанная под обычные формы, не откроется в тонком клиенте управляемого приложения. Обработки, использующие объекты конкретной конфигурации (например, документ «Реализация товаров и услуг»), не будут работать в базе, где такого объекта нет. Перед переносом обработки в другую базу проверьте, что все используемые ею объекты метаданных там существуют.
Как проверить результат
Форма обработки отображается, ошибок платформы нет
Сообщение о несовместимости версии или отказ в правах
Команда появилась в указанном разделе меню
Ошибка при записи — нет СведенияОВнешнейОбработке
Данные изменились ожидаемо, контрольные суммы/остатки сошлись
Часть объектов не обработана, есть сообщения об ошибках в журнале регистрации
Что важно запомнить
Внешняя обработка — это EPF-файл с кодом, который работает в базе без изменения конфигурации. Разовые задачи решают через «Файл → Открыть», постоянные — через справочник «Дополнительные отчеты и обработки». Любая обработка выполняет произвольный код, поэтому запускайте только доверенные файлы и делайте резервную копию перед операциями, меняющими данные.
Частые вопросы о внешних обработках
Чем открыть файл EPF, если 1С его не запускает?
Проверьте версию платформы: файл, сохранённый в более новой версии, в старой не откроется — обновите платформу или попросите пересохранить обработку в вашей версии. Также убедитесь, что у вашей учётной записи есть право интерактивного открытия внешних обработок, и что вы запускаете подходящий тип клиента (тонкий или толстый).
Чем внешняя обработка отличается от внешнего отчёта?
Технически — почти ничем: оба формата содержат код, формы и макеты. Разница в назначении: отчёт (ERF) предназначен для формирования и вывода данных, обработка (EPF) — для выполнения действий, в том числе изменяющих данные. На практике граница условна, и в механизме дополнительных отчётов и обработок они регистрируются одинаково.
Можно ли запускать внешнюю обработку автоматически по расписанию?
Напрямую через «Файл → Открыть» — нет. Для регламентного запуска обработку регистрируют в справочнике «Дополнительные отчеты и обработки» и назначают расписание в настройках её карточки, если конфигурация поддерживает этот режим. Альтернатива — запуск через планировщик заданий операционной системы с вызовом 1С в пакетном режиме.
Нарушит ли внешняя обработка поддержку типовой конфигурации?
Нет. Обработка не изменяет конфигурацию, поэтому база остаётся на полной поддержке, а типовые обновления устанавливаются штатно. Единственный риск — сами изменения данных, которые выполняет обработка: они необратимы без резервной копии.
Где безопасно брать готовые внешние обработки?
Надёжнее всего — обработки, написанные вашим разработчиком или партнёром-франчайзи под вашу конфигурацию, а также инструменты из состава официальных библиотек и дисков ИТС. Файлы с форумов и файлообменников перед запуском стоит просмотреть в конфигураторе и проверить на копии базы.
Можно ли посмотреть и изменить код чужой внешней обработки?
Да, если код не защищён паролем: откройте EPF-файл в конфигураторе через «Файл → Открыть» — будут доступны модули, формы и макеты. Если поставщик установил пароль на модуль, код просмотреть нельзя; такие обработки запускайте только при полном доверии к источнику.