Как вручную запустить и ускорить дополнительные процедуры обновления в 1С

Программист 1С v8.3 (Управляемые формы) IT и автоматизация бизнеса
← На главную

При обновлении современных конфигураций 1С (на базе Библиотеки стандартных подсистем — БСП) мы часто сталкиваемся с ситуацией, когда после первого запуска системы в режиме «Предприятие» начинается длительный процесс выполнения дополнительных процедур. Часто этот процесс затягивается на часы, хотя технические ресурсы сервера позволяют выполнить его быстрее. Разберем, как мы можем законно «подтолкнуть» систему и безопасно ускорить выполнение этих задач.

Почему автоматическое обновление работает медленно?

Прежде чем переходить к активным действиям, проанализируем причину медленной работы. Когда регламентное задание ОтложенноеОбновлениеИБ запускается автоматически, система закладывает определенные интервалы ожидания (паузы) между порциями данных. Это делается для того, чтобы не блокировать работу пользователей и не нагружать сервер на 100%. Однако, если мы проводим обновление в технологическое окно, когда в базе никого нет, эти паузы становятся лишними.

Способ 1: Ручной запуск через регламентные задания

Рассмотрим самый простой метод, упомянутый в обсуждении. Если мы зайдем в консоль регламентных заданий и вручную запустим Отложенное обновление ИБ, процесс пойдет значительно быстрее. Это происходит потому, что при принудительном старте планировщик игнорирует некоторые алгоритмы «мягкого» потребления ресурсов. Для быстрого контроля и принудительного старта таких процессов можно использовать инструмент для управления регламентными и фоновыми заданиями.

Порядок действий:

  1. Откроем форму Регламентные и фоновые задания (обычно находится в разделе Администрирование — Обслуживание).
  2. Найдем в списке задание с наименованием Отложенное обновление ИБ.
  3. Нажмем кнопку Выполнить сейчас.

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

Способ 2: Глобальное отключение заданий в консоли кластера

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

Алгоритм совместной работы:

  1. Перед первым запуском «Предприятия» зайдем в Консоль администрирования кластера серверов 1С.
  2. В свойствах информационной базы установим флаг Блокировка регламентных заданий включена.
  3. Запустим базу в режиме предприятия. Система выполнит первичные, монопольные процедуры обновления, которые необходимы для входа.
  4. После того как интерфейс открылся, вернемся в консоль кластера и снимем блокировку регламентных заданий.
  5. Теперь мы можем либо ждать автоматического старта, либо форсировать его, как описано в первом способе.

Способ 3: Использование штатного интерфейса «Результаты обновления»

В современных типовых решениях (таких как БП 3.0, ERP 2.5, ЗУП 3.1) разработчики предусмотрели специальный инструмент для управления этим процессом. Выясним, где он находится и как им пользоваться. Также для этой задачи подойдёт обработка для запуска процедур обновления в конфигурациях на БСП.

Перейдем в раздел Администрирование — Обслуживание — Результаты обновления и дополнительные процедуры. В открывшемся окне мы увидим список всех обработчиков. Здесь можно:

Настройка многопоточности для максимальной скорости

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

По умолчанию система может использовать всего 1 или 2 потока. Если у нашего сервера многоядерный процессор и быстрая дисковая подсистема, мы можем смело увеличить это число до 4, 8 или даже 16 (в зависимости от ресурсов). Это позволит выполнять обработчики параллельно, что сократит время обновления в несколько раз.

Безопасность и риски при ручном вмешательстве

Рассмотрим критически важные моменты, которые могут повлечь неприятные последствия:

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

Резюме для практической работы

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

← На главную