Запуск обработки в 1С 8.3: вручную, по расписанию и из кода

· 9 мин

Содержание

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

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

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

Чем обработка отличается от отчёта и обработчика события

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

Обработки делятся на две группы:

  • 🧩 Встроенные — хранятся внутри конфигурации, обновляются вместе с ней, доступны через меню программы.
  • 📎 Внешние (.epf) — отдельный файл на диске. Их удобно передавать, дорабатывать и запускать без снятия конфигурации с поддержки.

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

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

Это самый частый сценарий для разовой задачи.

  1. В режиме «1С:Предприятие» нажмите кнопку главного меню — это значок в левом верхнем углу окна (оранжевая стрелочка вниз).
  2. Выберите Файл → Открыть или нажмите Ctrl+O.
  3. В диалоге укажите путь к файлу .epf и нажмите «Открыть».
  4. Откроется форма обработки — дальше работаете с её кнопками: «Заполнить», «Выполнить», «Загрузить» и так далее, в зависимости от того, что в ней запрограммировано.

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

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

Если обработка нужна регулярно, не открывайте её файл каждый раз вручную. Для этого есть механизм дополнительных обработок — он запоминает файл внутри базы (способ 2).

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

Этот механизм встроен в типовые конфигурации (Бухгалтерия 3.0, ЗУП 3.1, Управление торговлей 11 и другие на БСП). Он хранит обработку прямо в базе, выдаёт права на запуск по ролям и позволяет вызывать её из нужного раздела или по расписанию.

Порядок подключения в Бухгалтерии 3.0:

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

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

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

Пути к механизму в разных конфигурациях немного отличаются:

КонфигурацияПуть к списку дополнительных обработок
Бухгалтерия 3.0Администрирование → Печатные формы, отчёты и обработки
ЗУП 3.1Администрирование → Печатные формы, отчёты и обработки
Управление торговлей 11НСИ и администрирование → Печатные формы, отчёты и обработки

Вид обработки определяется при её разработке. Если она создавалась как «Дополнительная обработка», её можно вызвать вручную; если как «Создание связанных объектов» или «Заполнение объекта» — она появится прямо в форме документа или справочника.

Способ 3. Запуск встроенной обработки из конфигуратора

Разработчику обработку нужно запускать для отладки. Из самого конфигуратора форма обработки не открывается — конфигуратор только редактирует и отлаживает код. Чтобы увидеть обработку в работе:

  1. Откройте конфигурацию в конфигураторе.
  2. Поставьте точки останова в модуле обработки, если нужна отладка.
  3. Запустите отладку: Отладка → Начать отладку или клавиша F5. Откроется «1С:Предприятие».
  4. В запущенном приложении найдите команду обработки в командном интерфейсе — она отображается там, где назначена в свойствах объекта (подсистема, раздел).

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

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

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

Способ 4. Автоматический запуск по расписанию

Когда обработка должна выполняться сама — ночью, раз в час, по будням — её ставят на расписание. Есть два пути.

Через механизм дополнительных обработок (без программирования). Если обработка подключена способом 2 и в ней есть команда с видом «Запуск по расписанию» (это задаётся при разработке), в её карточке появляется поле «Расписание». Нажмите на ссылку расписания, задайте периодичность (каждый день, по неделям, интервал в секундах) и сохраните. Дальше платформа запустит её сама.

Через регламентное задание в конфигураторе. Для встроенной обработки создают объект метаданных «Регламентное задание» и указывают имя процедуры-обработчика в общем модуле (процедура должна выполняться на сервере). Расписание задают в самом задании или интерактивно в режиме предприятия.

Важная разница между вариантами базы:

  • 🖥 Клиент-серверная база . Регламентные задания выполняет рабочий процесс на сервере автоматически, участие пользователя не нужно.
  • 💾 Файловая база. Отдельного планировщика нет. Регламентные задания выполняются только в запущенном сеансе, где это включено. На практике держат отдельный сеанс 1С, который «обслуживает» задания, иначе они не сработают.

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

Способ 5. Запуск из кода, из командной строки и по событию

Когда обработку нужно встроить в общий алгоритм или вызвать извне, подойдёт один из программных способов.

Из встроенного языка. Внешнюю обработку создают и выполняют её экспортные процедуры:

ВнешняяОбработка = ВнешниеОбработки.Создать("C:\Обработки\Загрузка.epf");
ВнешняяОбработка.ВыполнитьЗагрузку();

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

Фоновое задание. Чтобы запустить длительную операцию в фоне, не блокируя пользователя:

ФоновыеЗадания.Выполнить(
    "ОбщийМодуль.ЗапуститьОбработку",
    Новый Массив,
    ,
    "Ночная загрузка");

Метод в общем модуле должен иметь признак «Сервер» и быть экспортным.

Из командной строки. Платформа умеет запускать внешнюю обработку сразу при старте. Параметр /Execute указывает файл, а /C передаёт в обработку строку, которую внутри читают через ПараметрЗапуска:

1cv8.exe ENTERPRISE /IBName"МояБаза" /N"Робот" /P"пароль" /Execute"C:\Обработки\Авто.epf" /C"ночь"

Такой вызов удобно поставить в планировщик заданий Windows для операций по часам.

Через внешнее соединение (COM). Внешняя программа подключается к базе и вызывает экспортные методы общих модулей с признаком «Внешнее соединение»:

Коннектор = Новый COMОбъект("V83.COMConnector");
Соединение = Коннектор.Connect("File=""C:\Базы\Моя"";Usr=""Робот"";Pwd=""пароль""");
Соединение.ОбработкаДанных.ЗапуститьОбмен();

Внешнее соединение работает без интерактивных форм — через него вызывают только серверный код, а не диалоги обработки.

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

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

Что вам нужно от запуска обработки?

Частые ошибки при запуске обработки

Диагностика: выберите симптом

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

Чем отличается .epf от .erf?
.epf — внешняя обработка (может менять данные), .erf — внешний отчёт (только читает и показывает). Открываются одинаково, через Файл → Открыть, но права на запуск у них разные.
Можно ли запустить внешнюю обработку в базовой версии 1С?
В базовых версиях возможности ограничены: внешние обработки и работа с конфигуратором, как правило, недоступны. Точный набор ограничений зависит от конкретной базовой поставки — уточняйте по её описанию.
Почему обработка открывается, но кнопка «Выполнить» ничего не делает?
Скорее всего, обработка рассчитана на другую конфигурацию или версию и её алгоритм не находит нужных объектов. Проверьте, под какую конфигурацию она написана, и посмотрите журнал регистрации на наличие ошибок.
Как передать в обработку параметр при запуске из командной строки?
Через ключ /C"значение". Внутри обработки эту строку читают из свойства ПараметрЗапуска. Так удобно задавать режим работы — например, выгрузка за вчера или за месяц.
Нужны ли права администратора, чтобы поставить обработку на расписание?
Да. Настройка дополнительных обработок и регламентных заданий — административная операция. Обычному пользователю её не доверяют, чтобы фоновый код не запускался бесконтрольно.