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

Автоматизация · 10 мин

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

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

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

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

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

Способ 1. Запуск через параметры командной строки

Самый простой метод, не требующий изменения конфигурации, — запуск исполняемого файла 1С с параметром /Execute, после которого указывается полный путь к файлу внешней обработки (.epf). Платформа откроет базу и сразу выполнит обработку.

Дополнительно используются параметры: /F — путь к файловой базе (или /S — сервер и имя базы), /N и /P — имя пользователя и пароль. Полная строка для файловой базы выглядит так:

text
1cv8.exe ENTERPRISE /F"D:\Bases\Trade" /N"Администратор" /P"123" /Execute"D:\Обработки\ЗагрузкаКурсов.epf"

Тонкий клиент запускается файлом 1cv8c.exe, толстый — 1cv8.exe. Для регулярного выполнения удобно сохранить команду в bat-файл и добавить его в планировщик заданий Windows или в автозагрузку.

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

Способ 2. Код в модуле приложения (ПриНачалеРаботыСистемы)

Если есть доступ к конфигуратору и возможность снять конфигурацию с полной поддержки, логику запуска размещают в обработчике ПриНачалеРаботыСистемы модуля управляемого приложения (для обычных форм — модуль обычного приложения). Код выполняется у каждого пользователя при входе в базу.

Пример открытия внешней обработки при старте:

bsl
Процедура ПриНачалеРаботыСистемы()
	Если ПользователиИнформационнойБазы.ТекущийПользователь().Имя = "Оператор" Тогда
		ОткрытьФорму("ВнешняяОбработка.ЗагрузкаДанных.Форма");
	КонецЕсли;
КонецПроцедуры

Для встроенной (добавленной в состав конфигурации) обработки форма открывается через ОткрытьФорму("Обработка.ИмяОбработки.Форма"). Внешнюю обработку из файла в управляемом приложении подключают через метод ВнешниеОбработки.Создать(ПутьКФайлу) с предварительным помещением файла во временное хранилище в клиент-серверном режиме.

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

Способ 3. Регламентные задания для фонового выполнения

Когда обработка не требует интерактивного взаимодействия с пользователем, правильнее выполнять её фоном через регламентные задания. Задание создаётся в конфигураторе (ветка «Общие → Регламентные задания»), в свойстве «Имя метода» указывается экспортная процедура общего модуля, а расписание настраивается на запуск с нужной периодичностью.

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

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

Способ 4. Подсистема «Дополнительные отчеты и обработки» (БСП)

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

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

Сравнение способов и выбор под задачу

Сравнение вариантов

Параметр /Execute

Без изменения конфигурации, быстро. Ограничение: нужен bat-файл или ярлык, срабатывает защита от опасных действий.

Модуль приложения

Гибкая логика по пользователям и условиям. Ограничение: требуется изменение конфигурации и снятие с поддержки.

Регламентное задание

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

Подсистема БСП

Штатное подключение, управление правами. Ограничение: автозапуск придётся дорабатывать отдельно.

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

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

Как выбрать действие

Нет доступа к конфигуратору, обработку запускает один пользовательИспользуйте ярлык или bat-файл с параметром /Execute
Обработка должна открываться у выбранных пользователей при входеДобавьте код в ПриНачалеРаботыСистемы с проверкой пользователя
Операция должна выполняться без участия пользователя по расписаниюСоздайте регламентное задание с серверной процедурой
Конфигурация типовая на БСП и обработок многоПодключите их через «Дополнительные отчеты и обработки»

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

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

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

Как проверить, что автозапуск работает

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

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

Запуск базы с параметром /Execute
Норма

Обработка открывается сразу после входа

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

Появляется ошибка «файл не найден» или предупреждение безопасности

Код в ПриНачалеРаботыСистемы
Норма

Форма открывается у заданных пользователей, у остальных — нет

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

Ошибка при входе у всех пользователей или код не выполняется

Регламентное задание
Норма

В журнале регистрации есть записи о выполнении без ошибок

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

Задание в состоянии «Ошибка» или не запускается по расписанию

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

Итог

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

Автозапуск обработки в 1С реализуется четырьмя способами: параметр /Execute в командной строке, код в ПриНачалеРаботыСистемы, регламентные задания и подсистема БСП. Выбор зависит от доступа к конфигуратору, режима базы и того, нужна ли интерактивная работа. Перед изменениями конфигурации обязательно делайте резервную копию.

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

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

Да. Используйте параметр командной строки /Execute с путём к epf-файлу, оформив команду в виде ярлыка или bat-файла. Конфигурация при этом не меняется, но пользователь может увидеть предупреждение защиты от опасных действий.

Почему обработка не запускается, хотя путь указан верно?

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

Как запускать обработку только для определённых пользователей?

В обработчике ПриНачалеРаботыСистемы добавьте проверку текущего пользователя через ПользователиИнформационнойБазы.ТекущийПользователь() или через роли (функция РольДоступна). Код внутри условия выполнится только для заданных учётных записей.

Чем регламентное задание отличается от запуска через модуль приложения?

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

Работает ли автозапуск в веб-клиенте?

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

Опасно ли менять модуль приложения в рабочей базе?

Да, ошибка в ПриНачалеРаботыСистемы может помешать входу пользователей. Перед изменением сделайте выгрузку базы, тестируйте код на копии и по возможности оборачивайте вызовы в Попытка/Исключение, чтобы сбой обработки не блокировал запуск системы.