Если один документ проводится за секунды, а другой «висит» минутами, проблема не всегда в пользователе или сервере. Проведение затрагивает движения, регистры, остатки, обмены, фоновые задания, SQL и блокировки — поэтому искать причину нужно по цепочке.
Короткий вывод: если 1С зависает при проведении документа, диагностику надо начинать с конкретного примера: тип документа, время, пользователь, база, фоновые задания и состояние SQL. Без этого легко переписать не тот обработчик или купить лишние ресурсы.
Как понять, что проблема не случайная
Разовое зависание может быть связано с сетью, временной нагрузкой или действиями другого пользователя. Но если проведение одного вида документов стабильно занимает минуты, тормозит в одни и те же часы или повторяется после обменов, это уже диагностируемая проблема.
Типовые признаки:
- тормозит один вид документов: реализация, заказ, поступление, производство, перемещение или корректировка;
- документ зависает после обмена с сайтом, складом, ЭДО, B2B‑порталом или CRM;
- проблема появляется в пиковые часы;
- после обновления 1С или расширения стало хуже;
- один пользователь проводит быстро, другой ждёт минуты;
- проведение висит без понятной ошибки;
- после перезапуска сессии проблема временно исчезает, но возвращается.
Почему 1С зависает при проведении документа
1. Тяжёлая логика проведения
Документ может делать много проверок, формировать движения по нескольким регистрам, пересчитывать остатки, вызывать расширения или обработки. Чем больше накопленных данных и доработок, тем заметнее становится проблема.
Что проверить:
- какие движения делает документ;
- какие регистры затрагивает;
- есть ли расширения и подписки на события;
- какие проверки выполняются перед записью;
- менялось ли проведение после обновления или доработки.
2. Ошибки и особенности данных
Отрицательные остатки, партии, серийный учёт, маркировка, незакрытые периоды, расхождения в документах и ручные корректировки могут заставлять 1С выполнять дополнительные проверки или повторные расчёты.
Если зависание появляется только на части документов, причина часто не в сервере, а в составе конкретного документа: номенклатура, склад, организация, партия, серия, маркировка, контрагент или цепочка связанных документов.
3. Блокировки пользователей и фоновых заданий
Если другой пользователь, обмен или фоновое задание работает с теми же данными, проведение может ждать освобождения ресурса. Для пользователя это выглядит как зависание, хотя система может просто стоять в очереди.
Частые источники блокировок:
- параллельное проведение документов;
- фоновые задания;
- обмены с внешними системами;
- тяжёлые отчёты;
- закрытие месяца;
- загрузка документов из ЭДО или сайта;
- резервное копирование или обслуживание базы в неподходящее время.
4. Обмены и интеграции
ЭДО, Честный ЗНАК, сайт, склад, CRM, B2B‑портал и кассы могут создавать документы, менять статусы или запускать обработчики. Если интеграции работают параллельно с проведением, появляются задержки и конфликты.
Важно проверить не только сам документ, но и расписание обменов: что запускается рядом по времени, какие документы создаются автоматически и какие обработчики срабатывают после записи.
5. SQL, сервер и диски
Проведение документа может запускать тяжёлые SQL-запросы. Если база большая, индексы и статистика не обслуживаются, а диски перегружены, даже правильная логика 1С будет работать медленно.
Проверяются:
- долгие SQL-запросы;
- блокировки и взаимоблокировки;
- индексы и статистика;
- нагрузка CPU/RAM;
- дисковая подсистема;
- связь между сервером 1С и SQL;
- влияние RDS, если пользователи работают в терминале.
Что проверить по шагам
- Зафиксировать пример. Тип документа, номер, пользователь, время проведения, длительность, база и условия повторения.
- Сравнить похожие документы. Проверить, тормозит один документ, один вид документов или все операции проведения.
- Посмотреть фон и обмены. Фоновые задания, ЭДО, склад, сайт, CRM, B2B‑портал, кассы и расписание интеграций.
- Проверить блокировки. Кто держит данные, какие операции ждут, есть ли взаимоблокировки или длинные транзакции.
- Дойти до SQL и сервера. Долгие запросы, индексы, статистика, CPU, RAM, диски и пиковая нагрузка.
Что не стоит делать первым
Переписывать проведение вслепую
Без замеров можно изменить код, но не убрать блокировку, проблему SQL или конфликт обмена. Сначала нужен конкретный замер и понимание, где именно теряется время.
Покупать сервер без диагностики
Если узкое место в блокировках, данных или интеграции, железо даст слабый эффект. Сервер важен, но его надо проверять по метрикам, а не по ощущению пользователя.
Отключать обмены навсегда
Это может снять симптом, но сломать бизнес-процесс. Лучше настроить расписание, обработку ошибок, очереди и окна выполнения.
Что обычно помогает
Быстрые меры
- разнести обмены и фоновые задания по времени;
- убрать лишние операции из пиков;
- исправить проблемные документы и остатки;
- проверить блокировки пользователей;
- временно протестировать проведение без параллельных обменов;
- сравнить выполнение операции на разных пользователях и в разные часы.
Системные меры
- оптимизировать тяжёлые запросы и обработчики;
- обслужить SQL, индексы и статистику;
- пересмотреть расширения и доработки;
- настроить регламент обменов;
- разделить роли 1С, SQL и RDS;
- добавить мониторинг долгих операций и блокировок.
Как может помочь WeProf
WeProf разбирает зависания при проведении документов как единую цепочку: документ, данные, регистры, обмены, фоновые задания, блокировки, SQL и сервер. На выходе — понятная причина и план исправлений: что чинить в данных, что в 1С, что в SQL и инфраструктуре.
Мы можем:
- найти конкретную операцию, где теряется время;
- проверить блокировки и фоновые задания;
- разобрать влияние обменов с ЭДО, сайтом, складом, CRM или B2B‑порталом;
- проверить SQL, индексы, статистику и диски;
- оценить доработки и расширения;
- подготовить план исправлений;
- взять сопровождение 1С и серверного контура.
Работаем удалённо по РФ. Для компаний в Санкт-Петербурге и Ленинградской области можем закрывать также инфраструктурную поддержку и SLA.
Итог
Если 1С зависает при проведении документа, причина может быть в логике проведения, данных, блокировках, обменах, SQL или сервере. Правильный первый шаг — зафиксировать конкретный пример и пройти диагностику по цепочке. Тогда понятно, что исправлять: документ, регистры, обмены, SQL, инфраструктуру или доработку.
По теме статьи
1С зависает при проведении документа?
WeProf разберёт документ, данные, обмены, блокировки, SQL и сервер, чтобы найти реальную причину зависания.