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

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

Как запустить код обработки в 1С

Как запустить код обработки в 1С: через меню Файл-Открыть, подключение внешних обработок, консоль кода, отладка и решение типичных ошибок.

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

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

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

Запуск внешней обработки через меню «Файл → Открыть»

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

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

Порядок действий
  1. 1
    Сделайте резервную копию базы или убедитесь в её наличии
  2. 2
    Запустите 1С в режиме предприятия под пользователем с достаточными правами
  3. 3
    Откройте меню «Файл → Открыть» и выберите файл .epf
  4. 4
    Заполните параметры на форме обработки
  5. 5
    Нажмите кнопку выполнения и дождитесь завершения
  6. 6
    Проверьте результат по сообщениям и данным в базе

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

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

В типовых конфигурациях на библиотеке стандартных подсистем (БСП) — «Управление торговлей», «Бухгалтерия предприятия», «ERP» — внешние обработки подключаются штатно через раздел «Администрирование → Печатные формы, отчеты и обработки → Дополнительные отчеты и обработки». Для этого функциональная опция «Дополнительные отчеты и обработки» должна быть включена.

Нажмите «Добавить из файла», выберите .epf-файл и запишите элемент справочника. Обработка появится в списке и станет доступна пользователям по кнопке «Дополнительные обработки» в разделах, указанных в настройках размещения. Преимущество способа — централизованное хранение, разграничение прав и журналирование запусков.

Выполнение произвольного кода через консоль кода

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

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

bsl
Запрос = Новый Запрос("ВЫБРАТЬ Ссылка ИЗ Документ.РеализацияТоваровУслуг ГДЕ Дата >= &Дата");
Запрос.УстановитьПараметр("Дата", НачалоМесяца(ТекущаяДатаСеанса()));
Выборка = Запрос.Выполнить().Выбрать();
Сообщить("Найдено документов: " + Выборка.Количество());

Код из консоли выполняется на сервере в контексте текущего сеанса. Это значит, что недоступны клиентские конструкции (ОткрытьФорму, диалоги выбора файла), если консоль не предусматривает раздельное выполнение на клиенте и сервере.

Запуск и отладка обработки в конфигураторе

Разработчику, который дорабатывает обработку, удобнее запускать её из конфигуратора с отладкой. Откройте файл обработки в конфигураторе («Файл → Открыть»), затем запустите отладку через «Отладка → Начать отладку» или клавишу F5. Платформа запустит сеанс предприятия, подключённый к отладчику.

Далее в запущенном сеансе откройте обработку через «Файл → Открыть» — выполнение остановится на установленных точках останова. Вы сможете пошагово проходить код (F10 — шаг через, F11 — шаг внутрь), смотреть значения переменных в табло (Shift+F9) и изменять их на лету для проверки гипотез.

Если точки останова не срабатывают, проверьте, что отлаживается именно тот предмет отладки: серверный код требует включённой отладки на сервере (флаг -debug в параметрах запуска сервера 1С). Для файловой базы достаточно стандартной настройки, для клиент-серверной — перезапуска службы агента с ключом отладки.
ПЗ
Практическое замечание

Запуск кода обработки программно — из другого кода

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

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

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

Как выбрать способ запуска

Нужно один раз выполнить готовую обработку из файлаОткройте её через «Файл → Открыть» в режиме предприятия
Обработкой будут пользоваться регулярно несколько сотрудниковПодключите её через «Дополнительные отчеты и обработки»
Нужно выполнить разовый фрагмент кода без файлаИспользуйте консоль кода с выполнением в транзакции
Код нужно проверить и найти ошибкуЗапустите обработку под отладкой из конфигуратора
Обработка должна запускаться автоматически по расписаниюОформите вызов через регламентное задание или подсистему БСП

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

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

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

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

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

Как проверить, что код выполнился корректно

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

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

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

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

Сообщения после выполнения
Норма

Информационные сообщения о количестве обработанных объектов, ошибок нет

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

Тексты об ошибках компиляции, прав доступа или незаполненных параметрах

Количество обработанных записей
Норма

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

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

Ноль обработанных записей при наличии подходящих данных — неверный отбор

Данные в базе
Норма

Выборочно проверенные объекты содержат ожидаемые изменения

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

Изменения отсутствуют или затронули лишние объекты

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

Можно ли запустить обработку 1С без конфигуратора?

Да. Файл внешней обработки .epf открывается прямо в режиме предприятия через «Файл → Открыть», конфигуратор не нужен. Конфигуратор требуется только для редактирования кода обработки и её отладки.

Почему обработка открывается, но кнопка «Выполнить» не работает?

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

Как запустить обработку на сервере 1С автоматически по расписанию?

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

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

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

Чем отличается запуск обработки .epf от .erf?

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

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

Штатной кнопки «отменить» нет: зафиксированные транзакции необратимы. Поэтому перед запуском делают копию базы либо используют консоль кода с режимом выполнения в транзакции с откатом. Восстановление возможно только из резервной копии.

Итог

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

Для разового запуска открывайте .epf через «Файл → Открыть», для регулярной работы подключайте обработку через «Дополнительные отчеты и обработки», для произвольного кода используйте консоль, а для поиска ошибок — отладку в конфигураторе. Любую непроверенную обработку сначала запускайте на копии базы.