Администрирование · 11 мин
Как отключить фоновые задания в файловой базе 1С
Как отключить фоновые и регламентные задания в файловой базе 1С через консоль заданий, код и настройки. Причины блокировок, риски, проверка результата и ответы на вопросы.
Файловая база 1С выполняет фоновые и регламентные задания прямо в сеансе пользователя или в отдельном фоновом сеансе на том же компьютере, где открыта база. Из-за этого ночные обмены, обновление индексов полнотекстового поиска или загрузка курсов валют способны заметно тормозить работу, блокировать проведение документов и мешать монопольному доступу при обновлении конфигурации.
Отключить фоновые задания в файловой базе можно несколькими способами: через встроенную консоль заданий в пользовательском интерфейсе, внешней обработкой, программным кодом или полным запретом выполнения регламентных заданий. Выбор зависит от того, нужно ли приостановить одно задание, все задания разом или запретить их запуск на постоянной основе.
Важно понимать разницу: регламентное задание — это расписание и настройка в конфигураторе, а фоновое задание — конкретный запущенный экземпляр выполнения. Отключая регламентное задание, вы прекращаете порождение новых фоновых заданий, но уже запущенные придётся отменять отдельно.
Почему фоновые задания мешают в файловой базе
В клиент-серверном варианте регламентные задания выполняет кластер серверов 1С, и их влияние на пользователей ограничено ресурсами сервера. В файловом варианте всё иначе: фоновое задание запускается процессом того компьютера, где открыт сеанс, и конкурирует за один и тот же файл базы данных 1Cv8.1CD.
Типичные симптомы: документы проводятся заметно медленнее в моменты запуска заданий по расписанию, при попытке обновить конфигурацию появляется сообщение о невозможности установить монопольный режим, а в журнале регистрации видны ошибки конфликта блокировок. Особенно заметно это при заданиях, которые пересчитывают итоги, выполняют обмены данными или обновляют полнотекстовый индекс.
Отдельная неприятность файлового режима — запуск заданий из каждого активного сеанса. Если базу открыли пять пользователей, платформа может инициировать выполнение регламентных заданий из любого из этих сеансов, и отключить их только на одном компьютере недостаточно.
Проверьте активные фоновые задания перед обновлением конфигурации
Сопоставьте время зависаний с расписанием регламентных заданий
Найдите в журнале регистрации задание, активное в момент ошибки
Способ 1: отключение через консоль регламентных заданий
Самый безопасный способ — штатный интерфейс. В типовых конфигурациях откройте раздел «Администрирование», затем «Обслуживание» и пункт «Регламентные и фоновые задания». В некоторых конфигурациях путь отличается, но пункт с таким названием присутствует почти всегда при наличии прав администратора.
На вкладке «Регламентные задания» найдите нужное задание, откройте его и снимите флаг «Использование». После записи задание перестанет запускаться по расписанию. Чтобы отключить все задания сразу, пройдите по списку и снимите флаг у каждого — массовой кнопки в стандартном интерфейсе обычно нет.
На вкладке «Фоновые задания» отображаются выполняющиеся и завершённые экземпляры. Активное задание можно выделить и нажать «Отменить» — платформа попытается завершить его. Учтите, что отмена не мгновенная: задание завершится на ближайшей точке, где код проверяет запрос отмены.
- 1Откройте «Администрирование → Регламентные и фоновые задания»
- 2На вкладке «Фоновые задания» отмените активные задания кнопкой «Отменить»
- 3На вкладке «Регламентные задания» откройте каждое задание и снимите флаг «Использование»
- 4Запишите изменения и убедитесь, что новые фоновые задания не появляются
Способ 2: программное отключение через код
Когда заданий много или консоль недоступна, удобнее отключить их кодом через внешнюю обработку или консоль кода. Метод позволяет за один проход снять использование со всех регламентных заданий и отменить активные фоновые.
// Отключить все регламентные задания
Для Каждого Задание Из РегламентныеЗадания.ПолучитьРегламентныеЗадания() Цикл
Задание.Использование = Ложь;
Задание.Записать();
КонецЦикла;
// Отменить активные фоновые задания
Активные = ФоновыеЗадания.ПолучитьФоновыеЗадания(
Новый Структура("Состояние", СостояниеФоновогоЗадания.Активно));
Для Каждого Фоновое Из Активные Цикл
Фоновое.Отменить();
КонецЦикла;Код выполняется под пользователем с правами администратора. Если конфигурация работает в режиме безопасного исполнения или доступ ограничен ролями, выполнение может быть запрещено — в этом случае используйте толстый клиент или конфигуратор.
Обратите внимание: метод Отменить() не убивает процесс принудительно, а выставляет заданию признак отмены. Если обработчик задания написан без проверки отмены и выполняет один длинный запрос, фактическое завершение произойдёт только после окончания текущей операции.
Способ 3: запрет выполнения на уровне сеанса и базы
В файловом режиме регламентные задания выполняются тем сеансом, который первым «подхватил» расписание. Поэтому отключения заданий в данных иногда недостаточно — нужно не допускать их запуска из конкретных сеансов, например из сеанса, где работает главный бухгалтер.
Для этого в коде можно использовать метод установки использования регламентных заданий для текущего сеанса, а в типовых конфигурациях на БСП — настройку, запрещающую выполнение заданий в текущем сеансе. Также распространён приём: держать базу открытой в одном выделенном сеансе-«планировщике», а во всех остальных сеансах выполнение заданий запретить.
Ещё один вариант полного запрета — установка константы или функциональной опции, отключающей обмены и сервисные задания, если конфигурация такую предусматривает. Это мягче, чем снятие использования: при необходимости всё включается обратно одним переключателем.
Отключение заданий перед обновлением конфигурации
Частый сценарий — обновление конфигурации файловой базы требует монопольного доступа, а фоновое задание постоянно его срывает. Правильная последовательность: сначала отключите использование регламентных заданий, затем отмените активные фоновые, дождитесь их завершения и только потом запускайте обновление.
Проверить, что заданий не осталось, можно в той же консоли на вкладке «Фоновые задания» с фильтром по состоянию «Активно» или через список активных пользователей в конфигураторе — фоновые сеансы отображаются там отдельными строками.
Какие задания отключать нельзя без последствий
Не все фоновые задания — «лишняя нагрузка». Часть из них обеспечивает корректность учёта: обмен с банками и ЕГАИС, загрузка курсов валют, актуализация классификаторов, отправка отчётности, синхронизация с сайтом. Отключив их, вы не сломаете базу мгновенно, но через время получите устаревшие курсы, неотправленные документы или расхождения с контрагентами.
Безопасная практика — отключать задания выборочно: сначала выяснить по журналу регистрации, какое именно задание создаёт нагрузку, и отключить только его, либо перенести расписание на нерабочие часы вместо полного отключения.
Как выбрать действие
Проверка результата и типичные ошибки
После отключения убедитесь, что задания действительно остановлены. Откройте консоль регламентных и фоновых заданий, обновите список фоновых заданий с фильтром «Активно» — он должен быть пуст. Дополнительно проверьте журнал регистрации: новых записей о запуске заданий появляться не должно.
Как проверить результат
Список пуст после обновления
Задания появляются снова — где-то открыт сеанс с разрешённым выполнением
Снят у всех целевых заданий
Флаг сам возвращается — возможно, задание перезаписывается кодом обмена
Обновление конфигурации запускается без ошибок
Остаются активные сеансы или фоновые задания
FAQ
Чем фоновое задание отличается от регламентного?
Регламентное задание — это настройка в конфигурации: что выполнять и по какому расписанию. Фоновое задание — конкретный запущенный экземпляр выполнения. Одно регламентное задание за день может породить много фоновых. Чтобы остановить запуски навсегда, отключайте регламентное; чтобы прервать текущее выполнение — отменяйте фоновое.
Почему отключённое задание запускается снова?
Чаще всего вы отменили только активное фоновое задание, но оставили включённым регламентное — оно перезапускается по расписанию. Вторая причина: база открыта в нескольких сеансах, и задания инициируются другим сеансом. Реже встречается код конфигурации, который программно включает задание обратно при обмене или обновлении.
Можно ли отключить все фоновые задания одной кнопкой?
Штатной кнопки «отключить всё» в стандартной консоли обычно нет. Массово это делается кодом: циклом по коллекции РегламентныеЗадания с установкой Использование = Ложь и записью каждого задания. Такой код удобно выполнить через внешнюю обработку или консоль кода под правами администратора.
Опасно ли отключать фоновые задания для данных?
Само отключение данных не портит — риск в другом. Опасно принудительно завершать процесс в середине транзакции и забывать включить обратно задания, от которых зависит учёт: обмены, загрузка курсов, отправка отчётности. Перед экспериментами сделайте копию файла 1Cv8.1CD — в файловой базе это полноценная резервная копия.
Как отключить задания, если нет прав администратора?
Без права «Администрирование» и доступа к регламентным заданиям отключить их штатно нельзя — это ограничение платформы. Обратитесь к пользователю с полными правами или администратору базы. Обходить ограничение прав не стоит: это нарушает разграничение доступа, заложенное в конфигурации.
Альтернатива отключению, если задания нужны, но мешают?
Измените расписание на нерабочие часы, увеличьте интервал между запусками или перенесите базу в клиент-серверный вариант, где задания выполняет сервер, а не сеансы пользователей. Для тяжёлых обменов также помогает выделенный сеанс-планировщик на отдельном компьютере.
Что важно запомнить
В файловой базе 1С фоновые задания отключаются снятием флага «Использование» у регламентных заданий и отменой активных фоновых — через консоль или кодом. Учитывайте, что задания запускаются из любого открытого сеанса, не отключайте задания обменов без необходимости и всегда проверяйте результат по списку активных заданий и журналу регистрации.