← База знаний

Почему медленно проводятся документы в 1С

«Документ проводится 30 секунд» — знакомая проблема? Разберём 7 главных причин медленного проведения в 1С и способы диагностики. От простых настроек до глубокой оптимизации кода.

1. Блокировки записей

Симптом: документ «висит» при проведении, пользователи жалуются на ожидание.

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

Как проверить:

  • Консоль кластера → Блокировки
  • Технологический журнал с событиями TLOCK, TTIMEOUT
  • Мониторинг SQL Server (Activity Monitor)

2. Отсутствие индексов

Симптом: проведение замедляется с ростом базы.

Причина: запросы к регистрам выполняют полный перебор таблицы (Table Scan) вместо использования индекса.

Как проверить:

  • Замер производительности в конфигураторе
  • Анализ плана запроса в SQL
  • Missing indexes в SQL Server

3. Расчёт себестоимости

Симптом: документы реализации, перемещения проводятся долго.

Причина: в УТ, КА, ERP при проведении происходит расчёт себестоимости методом FIFO/средняя. Чем больше движений по номенклатуре — тем дольше расчёт.

💡 Решение: Включить отложенное проведение (расчёт себестоимости выполняется регламентным заданием, а не при проведении документа).

4. Много регистров в документе

Симптом: все документы определённого типа проводятся медленно.

Причина: документ формирует движения по 10-20+ регистрам. Каждая запись — это вставка в таблицу + обновление итогов.

Как оптимизировать:

  • Отключить неиспользуемые регистры (если возможно)
  • Использовать запись набором записей, а не построчно
  • Оптимизировать код формирования движений

5. Вызовы сервера в цикле

Симптом: проведение долгое, но нагрузка на сервер минимальная.

Причина: в коде проведения есть серверные вызовы внутри цикла — каждая строка табличной части вызывает обращение к серверу.

// Плохо
Для Каждого Строка Из ТЧ.Товары Цикл
    Цена = ПолучитьЦену(Строка.Номенклатура); // вызов сервера
КонецЦикла;

// Хорошо
ТаблицаЦен = ПолучитьЦеныСписком(ТЧ.Товары);

6. Проблемы с оборудованием

Симптом: проведение медленное у всех, независимо от типа документа.

Причины:

  • Медленные диски (HDD вместо SSD)
  • Нехватка оперативной памяти
  • Перегрузка сервера другими задачами
  • Проблемы с сетью (для файловой базы)

7. Недостаточные настройки сервера 1С

Симптом: периодические замедления, «пики» нагрузки.

Что проверить:

  • Количество сеансов на один рабочий процесс
  • Настройки балансировки в кластере
  • Параметры памяти для rphost
  • Настройки SQL Server (parallelism, memory)

Как диагностировать?

  1. Включить замер производительности в конфигураторе
  2. Провести проблемный документ
  3. Проанализировать, какие операции занимают больше всего времени
  4. Проверить план запроса (если дело в SQL)
  5. Посмотреть блокировки (если дело в конкурентном доступе)

Нужна диагностика производительности?

Проведу аудит базы, найду узкие места и ускорю проведение документов. Опыт оптимизации баз от 50 до 500+ пользователей.

Заказать аудит