Разработка и Конфигурация · 14 мин
Внешние обработки в 1С: назначение и практическое применение
Для чего используются внешние обработки в 1С: задачи, отличия от отчётов и расширений, безопасное подключение, типовые сценарии и частые ошибки при работе.
Внешняя обработка в 1С — это файл с расширением .epf, который содержит программный код, формы и алгоритмы, но хранится отдельно от конфигурации базы данных. В отличие от встроенных объектов конфигурации, внешняя обработка не требует изменения структуры программы: её можно открыть через меню «Файл → Открыть» или подключить через механизм дополнительных отчётов и обработок, выполнить нужную операцию и закрыть, не оставляя следов в конфигурации.
Основное назначение внешних обработок — выполнение разовых или периодических операций над данными без доработки типовой конфигурации. Это массовое изменение реквизитов, загрузка и выгрузка данных, тестирование гипотез, заполнение табличных частей, печать нестандартных форм и сервисные операции администратора. Обработка работает с теми же данными информационной базы, что и обычные документы и справочники, поэтому результат её работы сразу виден пользователям.
Ключевое преимущество подхода — сохранение конфигурации на поддержке. Типовая конфигурация, в которую не вносили изменений, обновляется автоматически или с минимальными трудозатратами. Все нестандартные потребности закрываются внешними файлами, которые легко заменить или удалить. Именно поэтому внешние обработки — стандартный инструмент внедренца и администратора 1С.
Чем внешняя обработка отличается от отчёта, расширения и доработки конфигурации
В платформе 1С существует несколько способов добавить функциональность, и у каждого своя область применения. Внешняя обработка (.epf) предназначена для действий: она что-то изменяет, создаёт, рассчитывает или выводит на экран. Внешний отчёт (.erf) предназначен для выборки и представления данных, обычно через схему компоновки данных. Технически обработка тоже может выводить табличный документ, но её главная роль — именно выполнение операций.
Расширение конфигурации (.cfe) — более «тяжёлый» механизм: оно подключается к базе постоянно, может изменять формы, роли, добавлять собственные объекты и перехватывать обработчики типовых модулей. Расширение выбирают, когда функциональность нужна всем пользователям постоянно. Внешнюю обработку выбирают, когда задача разовая, сервисная или нужна ограниченному кругу сотрудников.
Прямая доработка конфигурации — самый рискованный путь: объект снимается с полной поддержки, и каждое обновление превращается в ручное сравнение и объединение модулей. Практическое правило простое: сначала проверяют, закрывается ли задача внешней обработкой, затем — расширением, и только в крайнем случае правят саму конфигурацию.
Сравнение вариантов
Подходит для разовых операций, сервисных задач и действий по кнопке. Не трогает конфигурацию, легко обновить или удалить файл. Ограничение: не может добавлять новые объекты метаданных.
Подходит для выборок и представления данных без их изменения. Подключается так же, через механизм дополнительных отчётов и обработок.
Подходит для постоянной функциональности: изменённые формы, новые роли, подписки на события. Требует контроля совместимости при обновлении платформы и конфигурации.
Крайняя мера для глубоких изменений логики. Усложняет обновления и требует участия разработчика при каждом релизе.
Типовые задачи, которые решают внешними обработками
На практике круг задач внешних обработок достаточно устойчив и повторяется от внедрения к внедрению. Ниже — основные сценарии, в которых этот инструмент является стандартным решением.
Массовое изменение данных
Классическая задача — изменить реквизит у сотен или тысяч объектов: переназначить ответственного менеджера у клиентов, проставить ставку НДС в номенклатуре, закрыть период в документах. В типовых конфигурациях для этого есть обработка «Групповое изменение реквизитов», но когда логика сложнее — с условиями, проверками и связанными объектами — пишут собственную внешнюю обработку.
Загрузка и выгрузка данных
Импорт прайсов поставщиков из Excel, загрузка выписки, первичное заполнение базы при переходе с другой учётной системы — всё это типичные задачи внешних обработок. Широко известна универсальная обработка «Загрузка данных из табличного документа», но под конкретный формат поставщика часто делают специализированную загрузку с сопоставлением колонок и поиском элементов по артикулу или штрихкоду.
Заполнение табличных частей и печатные формы
Через механизм дополнительных отчётов и обработок внешняя обработка может встраиваться в интерфейс конкретного документа: добавлять кнопку заполнения табличной части по заданному алгоритму или выводить нестандартную печатную форму — акт по корпоративному шаблону, спецификацию, этикетку. Пользователь работает в привычном документе, а вся нестандартная логика живёт во внешнем файле.
Сервисные и административные операции
Администраторы используют обработки для поиска и удаления дублей элементов справочников, поиска ссылок на объект перед удалением, свёртки и тестирования базы, анализа прав доступа, перепроведения документов за период. Часть таких инструментов входит в стандартную поставку и диск ИТС, часть пишется под конкретную конфигурацию.
Обработку выполнили и убрали — конфигурация осталась нетронутой
Подключение через «Дополнительные отчеты и обработки»
Обработку запускает специалист вручную под своей ответственностью
Это уже зона расширения конфигурации, а не внешней обработки
Как подключить и запустить внешнюю обработку
Самый простой способ — открыть файл через меню «Файл → Открыть» и выбрать файл .epf. Обработка запустится в текущем сеансе. Этот способ подходит для разовых сервисных операций, но требует, чтобы у пользователя был доступ к файлу и права на операции, которые обработка выполняет с данными.
Для регулярного использования обработку регистрируют в справочнике «Дополнительные отчеты и обработки» (в типовых конфигурациях на управляемых формах этот раздел включается в настройках администрирования). При регистрации указывают, к каким объектам привязана обработка, кто из пользователей её видит, и в каком разделе интерфейса она появится. Файл при этом сохраняется внутри информационной базы, и внешний файл на диске больше не нужен.
Перед подключением обработки из внешнего источника её следует проверить: обработка выполняет произвольный код с правами запустившего пользователя. Файл из непроверенного источника может удалить или изменить данные, отправить их наружу или нарушить работу базы. Минимум безопасности — запуск сначала на копии базы и просмотр кода в конфигураторе, если есть такая компетенция.
- 1Сделайте резервную копию базы или разверните тестовую копию из свежей выгрузки
- 2Запустите обработку на копии и проверьте результат на нескольких контрольных примерах
- 3Просмотрите код обработки в конфигураторе, если файл получен из внешнего источника
- 4Зарегистрируйте обработку в справочнике «Дополнительные отчеты и обработки»
- 5Настройте размещение и права: укажите, каким пользователям она доступна
- 6Выполните контрольный запуск в рабочей базе на небольшом объёме данных
Ограничения внешних обработок
Внешняя обработка не может добавлять в конфигурацию новые объекты метаданных: справочники, документы, регистры, перечисления. Она оперирует только тем, что уже существует в конфигурации. Если для задачи нужен новый тип объекта — потребуется расширение или доработка конфигурации.
Вторая группа ограничений связана с режимом работы. В клиент-серверном варианте и при использовании безопасного режима часть возможностей может быть недоступна: например, операции с файловой системой сервера или COM-соединения выполняются только при соответствующих настройках. В сервисе 1С:Фреш действуют дополнительные ограничения — допускаются только обработки, прошедшие проверку и соответствующие требованиям сервиса.
Третий момент — производительность. Обработка, которая в цикле записывает тысячи объектов по одному, может надолго заблокировать работу пользователей в файловой базе или создать нагрузку на сервер. Для массовых операций используют транзакции разумного размера, пакетную запись и запуск в нерабочее время.
Частые ошибки при работе с внешними обработками
Большинство проблем с внешними обработками возникает не из-за самого инструмента, а из-за пренебрежения простыми правилами: тестированием, копиями и контролем версий файлов. Ниже разобраны типичные просчёты.
Отдельная группа ошибок — организационная. Когда обработки хаотично лежат в общих папках, никто не знает, какая версия актуальна, кто её автор и для какой версии конфигурации она написана. После обновления конфигурации старая обработка может перестать работать или, что хуже, отработать с ошибкой и испортить данные. Рекомендуется вести реестр обработок: назначение, автор, дата проверки, совместимая версия конфигурации.
Как проверить результат работы обработки
После выполнения обработки, изменяющей данные, результат нужно верифицировать, а не полагаться на сообщение «Готово». Минимальный набор проверок: сравнить количество обработанных объектов с ожидаемым, выборочно открыть несколько изменённых элементов и убедиться, что реквизиты заполнены правильно, проверить, что не затронуты объекты, которые обработка изменять не должна была.
Для загрузок данных дополнительно сверяют контрольные суммы: итоговую сумму документов, количество строк, остатки. Для печатных форм — визуально проверяют макет на реальном документе с длинными наименованиями и пустыми реквизитами: именно на таких данных всплывают ошибки верстки.
Как проверить результат
Совпадает с числом объектов по отбору
Обработано больше или меньше, чем отобрано — ошибка в условиях
Реквизиты заполнены ожидаемыми значениями
Пустые значения, данные не из той колонки, сбитый формат
Не изменились
Затронуты посторонние документы или элементы справочников
Обработка запускается и даёт тот же результат на тестовом примере
Ошибки обращения к реквизитам или молча неверный результат
Когда внешней обработки недостаточно
Есть признаки, по которым видно, что задача переросла внешнюю обработку. Если функциональность нужна постоянно и всем пользователям, если требуется реагировать на события записи документов автоматически, если нужны новые объекты метаданных или изменение стандартных форм — правильным инструментом будет расширение конфигурации. Расширение подключается централизованно, обновляется контролируемо и не зависит от того, запустил ли пользователь нужный файл.
Если же изменения затрагивают ядро учётной логики — проведение документов, расчёт себестоимости, регламентные операции — стоит остановиться и оценить риски с разработчиком: такие доработки требуют тестирования всей цепочки учёта и продуманной стратегии обновления. Самостоятельное вмешательство в эти механизмы через любые инструменты — прямой путь к расхождениям в учёте.
Как выбрать действие
Что важно запомнить
Внешние обработки — способ выполнять операции с данными 1С без изменения конфигурации: массовое редактирование, загрузка, печать, сервисные задачи. Они сохраняют конфигурацию на поддержке, но выполняют произвольный код, поэтому требуют резервной копии, теста на копии базы и контроля версий. Для постоянной функциональности и новых объектов метаданных используют расширения конфигурации.
Частые вопросы
Чем файл .epf отличается от файла .erf?
EPF — внешняя обработка, предназначена для выполнения действий над данными: изменения, загрузки, расчётов. ERF — внешний отчёт, предназначен для выборки и представления данных без их изменения. Подключаются оба формата одинаково, через механизм дополнительных отчётов и обработок.
Можно ли запускать внешнюю обработку, не снимая конфигурацию с поддержки?
Да, именно в этом главное преимущество механизма. Внешняя обработка не изменяет конфигурацию, поэтому поддержка и автоматическое обновление сохраняются в полном объёме.
Опасно ли открывать обработки, скачанные из интернета?
Да. Обработка выполняет произвольный код с правами запустившего пользователя и может изменить, удалить или передать данные. Перед использованием запустите её на копии базы и, при наличии компетенции, просмотрите код в конфигураторе.
Почему после обновления конфигурации обработка перестала работать?
В новой версии конфигурации могли переименовать или удалить реквизиты, объекты или процедуры, к которым обращается обработка. Нужно скорректировать код обработки под новую структуру метаданных и повторно проверить её на тестовой копии.
Кто должен иметь доступ к сервисным обработкам?
Только администраторы и специалисты, понимающие последствия операций. Обработки массового изменения или удаления данных не должны быть доступны рядовым пользователям — доступ настраивается при регистрации обработки в справочнике дополнительных отчётов и обработок.
Работают ли внешние обработки в облачном сервисе 1С:Фреш?
В сервисе действуют ограничения безопасности: допускаются обработки, соответствующие требованиям сервиса, а часть возможностей платформы (доступ к файловой системе, COM-объекты) недоступна. Перед покупкой или разработкой обработки для Фреша проверяйте её совместимость с сервисом.