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

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

Внешние обработки в 1С: назначение и практическое применение

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

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

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

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

Чем внешняя обработка отличается от отчёта, расширения и доработки конфигурации

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

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

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

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

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

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

Внешний отчёт (.erf)

Подходит для выборок и представления данных без их изменения. Подключается так же, через механизм дополнительных отчётов и обработок.

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

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

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

Крайняя мера для глубоких изменений логики. Усложняет обновления и требует участия разработчика при каждом релизе.

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

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

Массовое изменение данных

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

Загрузка и выгрузка данных

Импорт прайсов поставщиков из Excel, загрузка выписки, первичное заполнение базы при переходе с другой учётной системы — всё это типичные задачи внешних обработок. Широко известна универсальная обработка «Загрузка данных из табличного документа», но под конкретный формат поставщика часто делают специализированную загрузку с сопоставлением колонок и поиском элементов по артикулу или штрихкоду.

Заполнение табличных частей и печатные формы

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

Сервисные и административные операции

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

Разовая операцияЗагрузка данных, исправление реквизитов, миграция

Обработку выполнили и убрали — конфигурация осталась нетронутой

Нужна кнопка в документеЗаполнение табличной части, своя печатная форма

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

Сервисная задача администратораПоиск дублей, анализ ссылок, перепроведение

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

Постоянная функциональность для всехИзменённые формы, новые проверки при записи

Это уже зона расширения конфигурации, а не внешней обработки

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

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

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

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

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

Ограничения внешних обработок

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

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

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

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

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

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

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

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

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

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

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

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

Количество изменённых объектов
Норма

Совпадает с числом объектов по отбору

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

Обработано больше или меньше, чем отобрано — ошибка в условиях

Выборочный просмотр элементов
Норма

Реквизиты заполнены ожидаемыми значениями

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

Пустые значения, данные не из той колонки, сбитый формат

Объекты вне выборки
Норма

Не изменились

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

Затронуты посторонние документы или элементы справочников

Работа после обновления конфигурации
Норма

Обработка запускается и даёт тот же результат на тестовом примере

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

Ошибки обращения к реквизитам или молча неверный результат

Когда внешней обработки недостаточно

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

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

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

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

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

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

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

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

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

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

Можно ли запускать внешнюю обработку, не снимая конфигурацию с поддержки?

Да, именно в этом главное преимущество механизма. Внешняя обработка не изменяет конфигурацию, поэтому поддержка и автоматическое обновление сохраняются в полном объёме.

Опасно ли открывать обработки, скачанные из интернета?

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

Почему после обновления конфигурации обработка перестала работать?

В новой версии конфигурации могли переименовать или удалить реквизиты, объекты или процедуры, к которым обращается обработка. Нужно скорректировать код обработки под новую структуру метаданных и повторно проверить её на тестовой копии.

Кто должен иметь доступ к сервисным обработкам?

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

Работают ли внешние обработки в облачном сервисе 1С:Фреш?

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