«Документ проводится 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)
Как диагностировать?
- Включить замер производительности в конфигураторе
- Провести проблемный документ
- Проанализировать, какие операции занимают больше всего времени
- Проверить план запроса (если дело в SQL)
- Посмотреть блокировки (если дело в конкурентном доступе)
Нужна диагностика производительности?
Проведу аудит базы, найду узкие места и ускорю проведение документов. Опыт оптимизации баз от 50 до 500+ пользователей.
Заказать аудит