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

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

Как работать с внешней обработкой в 1С

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

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

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

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

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

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

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

Как открыть внешнюю обработку в режиме 1С:Предприятие

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

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

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

Порядок действий при первом запуске
  1. 1
    Сохраните файл .epf в доступную папку на компьютере или сервере
  2. 2
    Откройте тестовую копию базы, а не рабочую
  3. 3
    Через Файл → Открыть запустите обработку
  4. 4
    Выполните операцию на тестовых данных и проверьте результат
  5. 5
    Только после успешной проверки используйте обработку в рабочей базе

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

Если обработкой пользуются регулярно и несколько сотрудников, открывать файл вручную неудобно. В типовых конфигурациях на БСП (Библиотеке стандартных подсистем) есть механизм дополнительных отчетов и обработок: файл регистрируется в специальном справочнике и появляется в интерфейсе программы как обычный пункт меню.

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

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

Безопасность: что проверить перед запуском

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

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

Создание собственной внешней обработки

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

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

Пример минимальной команды в модуле формы, которая выводит сообщение пользователю:

&НаКлиенте

Процедура ВыполнитьДействие(Команда)

Сообщить("Обработка запущена");

КонецПроцедуры

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

Типичные ошибки и их устранение

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

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

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

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

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

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

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

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

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

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

Обработано больше или меньше объектов, чем ожидалось

Содержимое изменённых документов
Норма

Заполнены только целевые реквизиты, остальное не тронуто

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

Изменились посторонние поля или данные других периодов

Журнал регистрации
Норма

Нет ошибок за время выполнения обработки

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

Есть ошибки обращения к объектам или разрывы транзакций

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

FAQ: частые вопросы о внешних обработках

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

Отчёт (файл .erf) предназначен для выборки и представления данных, обычно на СКД, и по умолчанию не изменяет базу. Обработка (.epf) ориентирована на действия: создание, изменение, удаление объектов, загрузку и выгрузку данных. Технически оба формата открываются одинаково — через «Файл» → «Открыть».

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

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

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

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

Откроется ли обработка из файловой базы в клиент-серверной?

Формат файла .epf одинаков для обоих режимов, поэтому сам файл откроется. Но работоспособность кода зависит от того, как он написан: обращения к локальным путям, COM-объектам или клиентским функциям могут не сработать в клиент-серверном варианте, где код выполняется на сервере.

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

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

Можно ли отменить изменения, которые внесла обработка?

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

Итог

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

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