Справочник системных ошибок и решений

Windows Server, Active Directory, 1С:Предприятие, СУБД, Linux, Cisco, MikroTik, Asterisk.

⚠️ Важная информация Все материалы, инструкции, команды и скрипты на сайте предоставлены исключительно в ознакомительных целях. Их применение может повлиять на работу операционной системы, программного обеспечения, баз данных, сетевого оборудования и других компонентов инфраструктуры. Перед выполнением действий создайте резервную копию и по возможности протестируйте изменения в безопасной среде. Пользователь самостоятельно оценивает риски и несет ответственность за результат. При отсутствии необходимых знаний обратитесь к квалифицированному ИТ-специалисту.

1C_SCHEDULED_JOB_OVERLAP 1С:Предприятие и СУБД

Оптимизация регламентных заданий 1С: параллелизм и расписание

Обновлено: 26.08.2026 · Официальная документация ↗
  • Регламентные задания не успевают выполниться за ночь и блокируют работу пользователей днем.
  • Наложение расписаний нескольких тяжелых заданий приводит к 100% утилизации CPU и дедлокам в СУБД.
  • Фоновые задания зависают в состоянии Выполняется бесконечно.

1. Организация параллельного выполнения в несколько потоков

Разбивайте массив обрабатываемых данных на независимые порции (чанги) и запускайте фоновые задания асинхронно через ФоновыеЗадания.Выполнить():

// Запуск пула параллельных потоков обработки
МассивЗаданий = Новый Массив;
КоличествоПотоков = 4;

Для НомерПотока = 1 По КоличествоПотоков Цикл
    ПараметрыПотока = Новый Массив;
    ПараметрыПотока.Добавить(НомерПотока);
    ПараметрыПотока.Добавить(КоличествоПотоков);
    
    Задание = ФоновыеЗадания.Выполнить("МойМодуль.ОбработатьПорциюДанных", ПараметрыПотока, , "Поток_" + НомерПотока);
    МассивЗаданий.Добавить(Задание);
КонецЦикла;

// Ожидание завершения всех потоков
ФоновыеЗадания.ОжидатьЗавершения(МассивЗаданий);

2. Фильтрация данных по остатку от деления (Чанкинг)

Внутри процедуры потока выбирайте только свои записи:

// Выборка строк для конкретного потока
Запрос.Текст = "ВЫБРАТЬ Ссылка ИЗ Справочник.Контрагенты ГДЕ НомерСтроки % &ВсегоПотоков = &НомерПотока";

3. Разнесение расписаний в консоли администрирования

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

💡 Практика специалистов: При многопоточном выполнении всегда оборачивайте обработку каждой единичной записи/документа в отдельную короткую транзакцию с перехватом исключений (Попытка - Исключение), чтобы сбой одной строки не отменял работу всего потока.

Частые вопросы (FAQ)

Сколько параллельных фоновых потоков безопасно запускать в 1С?

Количество потоков не должно превышать число свободных физических ядер процессора на сервере 1С / СУБД (обычно от 4 до 8 потоков на операцию).

Что произойдет, если регламентное задание не завершилось, а подошло время нового запуска?

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

Как принудительно прервать зависшее фоновое задание?

Через консоль администрирования кластера 1С (раздел 'Сеансы' / 'Фоновые задания') или программно командой ФоновоеЗадание.Отменить().

Почему параллельные фоновые задания вызывают дедлоки?

Если потоки обрабатывают пересекающиеся данные или пишут в одну таблицу итогов без разделения итогов, возникает конкуренция за строки индексов.

Полезные материалы
Рекомендуем