Запуск обработки в 1С 8.3: вручную, по расписанию и из кода
Содержание
«Обработчиком» в 1С обычно называют внешнюю обработку
— файл .epf, который открывают поверх рабочей базы, либо обработку, встроенную в конфигурацию. Самый быстрый способ запустить внешнюю обработку — открыть её файл через Главное меню → Файл → Открыть (горячие клавиши
Ctrl+O) в режиме «1С:Предприятие». Встроенную запускают из командного интерфейса или из кода.
Способов больше одного, и выбор зависит от того, разовая это задача или регулярная, нужен ли вам графический диалог или всё должно работать без участия человека. Ниже — пять рабочих сценариев: ручное открытие файла, подключение через механизм дополнительных обработок, запуск из конфигуратора, выполнение по расписанию и вызов из кода или по событию.
Важно не путать два разных понятия. Обработка (объект метаданных) — это мини-программа с формой и алгоритмом. Обработчик события (например, ПриЗаписи, ПередУдалением) — это процедура, которая срабатывает сама, когда с объектом что-то происходит. В запросе «как запустить обработчик» чаще всего имеют в виду именно обработку, поэтому основной разбор — про неё, а про запуск по событию есть отдельный раздел.
Чем обработка отличается от отчёта и обработчика события
Обработка умеет менять данные: создавать и проводить документы
, заполнять справочники, корректировать регистры
, выгружать и загружать файлы. Отчёт только читает и показывает данные, ничего не записывая. Внешне они похожи (оба — .epf или .erf для внешних), но права на запуск у них разные.
Обработки делятся на две группы:
- 🧩 Встроенные — хранятся внутри конфигурации, обновляются вместе с ней, доступны через меню программы.
- 📎 Внешние (
.epf) — отдельный файл на диске. Их удобно передавать, дорабатывать и запускать без снятия конфигурации с поддержки.
Внешняя обработка — это исполняемый код. Запущенная из непроверенного источника, она может удалить данные, выгрузить их наружу или изменить настройки. Запускайте только те файлы, в происхождении которых уверены, и сначала проверяйте их на копии базы.
Способ 1. Открыть внешнюю обработку через меню «Файл»
Это самый частый сценарий для разовой задачи.
- В режиме «1С:Предприятие» нажмите кнопку главного меню — это значок в левом верхнем углу окна (оранжевая стрелочка вниз).
- Выберите
Файл → Открытьили нажмитеCtrl+O. - В диалоге укажите путь к файлу
.epfи нажмите «Открыть». - Откроется форма обработки — дальше работаете с её кнопками: «Заполнить», «Выполнить», «Загрузить» и так далее, в зависимости от того, что в ней запрограммировано.
Открытая таким образом обработка живёт только в текущем сеансе: в базе она не сохраняется, при закрытии программы «забывается». При следующем запуске 1С её придётся открывать заново. Файл .epf при этом остаётся на диске нетронутым — обработка читает и меняет данные базы, но сама в неё не записывается.
Если вместо формы появляется сообщение, что открытие внешних обработок запрещено, значит у вашего пользователя нет соответствующего права. В типовых конфигурациях на БСП выдачей прав управляет администратор через профили групп доступа: нужно право на интерактивное открытие внешних отчётов и обработок. Без него файл не запустится — это защита от случайного или вредоносного кода.
Если обработка нужна регулярно, не открывайте её файл каждый раз вручную. Для этого есть механизм дополнительных обработок — он запоминает файл внутри базы (способ 2).
Способ 2. Подключить через «Дополнительные отчёты и обработки»
Этот механизм встроен в типовые конфигурации (Бухгалтерия 3.0, ЗУП 3.1, Управление торговлей 11 и другие на БСП). Он хранит обработку прямо в базе, выдаёт права на запуск по ролям и позволяет вызывать её из нужного раздела или по расписанию.
Порядок подключения в Бухгалтерии 3.0:
- Откройте
Администрирование → Печатные формы, отчёты и обработки. - Включите флажок
Дополнительные отчёты и обработки. - Перейдите по ссылке
Дополнительные отчёты и обработки— откроется список. - Нажмите «Создать», выберите файл
.epfна диске. Программа прочитает из него название, вид и список команд. - В карточке задайте «Быстрый доступ» (кому показывать команду) и, при необходимости, размещение по разделам. Запишите.
После этого обработка вызывается не из файла, а из меню: в карточке видно, в каком разделе появится команда, либо её находят через Сервис соответствующего раздела.
Когда разработчик присылает новую версию файла, не создавайте вторую запись в списке. Откройте существующую карточку и повторно выберите .epf для обновления — платформа заменит содержимое, сохранив настроенные права и расписание. Так у пользователей не появятся дубли одной и той же команды.
Пути к механизму в разных конфигурациях немного отличаются:
| Конфигурация | Путь к списку дополнительных обработок |
|---|---|
| Бухгалтерия 3.0 | Администрирование → Печатные формы, отчёты и обработки |
| ЗУП 3.1 | Администрирование → Печатные формы, отчёты и обработки |
| Управление торговлей 11 | НСИ и администрирование → Печатные формы, отчёты и обработки |
Вид обработки определяется при её разработке. Если она создавалась как «Дополнительная обработка», её можно вызвать вручную; если как «Создание связанных объектов» или «Заполнение объекта» — она появится прямо в форме документа или справочника.
Способ 3. Запуск встроенной обработки из конфигуратора
Разработчику обработку нужно запускать для отладки. Из самого конфигуратора форма обработки не открывается — конфигуратор только редактирует и отлаживает код. Чтобы увидеть обработку в работе:
- Откройте конфигурацию в конфигураторе.
- Поставьте точки останова в модуле обработки, если нужна отладка.
- Запустите отладку:
Отладка → Начать отладкуили клавишаF5. Откроется «1С:Предприятие». - В запущенном приложении найдите команду обработки в командном интерфейсе — она отображается там, где назначена в свойствах объекта (подсистема, раздел).
Если обработка внешняя и вы её только дорабатываете, удобнее подключить отладку к уже запущенному сеансу: в настройках предприятия включают отладку по протоколу, а в конфигураторе выполняют Отладка → Подключение. Тогда можно открыть файл .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=""пароль""");
Соединение.ОбработкаДанных.ЗапуститьОбмен();
Внешнее соединение работает без интерактивных форм — через него вызывают только серверный код, а не диалоги обработки.
По событию (триггеры). Если обработка данных должна срабатывать сама при действии с объектом, используют подписку на событие. В конфигураторе создают объект «Подписка на событие», указывают источник (например, документы), событие (ПередЗаписью, ПриЗаписи) и процедуру-обработчик в общем модуле. Тогда код выполнится автоматически при каждой записи объекта — без кнопок и расписаний. Похожим образом работают обработчики событий формы: код привязан к нажатию кнопки или изменению поля.
Как выбрать способ под свою задачу
Главное меню → Файл → Открыть (Ctrl+O). Сначала проверьте файл на копии базы.Администрирование → Печатные формы, отчёты и обработки → Дополнительные отчёты и обработки.ВнешниеОбработки.Создать и экспортные методы либо фоновое задание./Execute или внешнее соединение через V83.COMConnector.Частые ошибки при запуске обработки
ФоновыеЗадания.Выполнить, чтобы не блокировать сеанс пользователя.Частые вопросы
Чем отличается .epf от .erf?
.epf — внешняя обработка (может менять данные), .erf — внешний отчёт (только читает и показывает). Открываются одинаково, через Файл → Открыть, но права на запуск у них разные.Можно ли запустить внешнюю обработку в базовой версии 1С?
Почему обработка открывается, но кнопка «Выполнить» ничего не делает?
Как передать в обработку параметр при запуске из командной строки?
/C"значение". Внутри обработки эту строку читают из свойства ПараметрЗапуска. Так удобно задавать режим работы — например, выгрузка за вчера или за месяц.