Диспетчер молчит. Склад уже объявил его пропавшим
Менеджер проводит накладную Н-518. Окно 1С становится белым. Windows добавляет «Приложение не отвечает». Коллеги быстро собирают консилиум: один предлагает подождать, второй нажать ещё пять раз, третий уже тянется к кнопке питания.
На складе в этот момент могла бы происходить такая сцена. Диспетчер взял накладную и ушёл сверять большую партию. Через минуту кладовщик заглядывает в окно диспетчерской. Диспетчер молчит, потому что считает. Через две минуты весь склад уверен, что он завис.
Есть и другие варианты. Диспетчер ждёт ответ от соседнего склада. Его кабинет запер ревизор. Две смены держат друг у друга нужные журналы. Наконец, диспетчер мог действительно остановиться и уже ничего не делает.
Одинаковое белое окно скрывает разные состояния. Принудительное завершение иногда освобождает рабочее место, но способно оборвать активную операцию и уничтожить полезные следы.
Молчание окна ещё не доказывает зависание. Программа может считать, ждать внешний ресурс или стоять во взаимной блокировке.
Три состояния одного диспетчера
Он занят работой
Диспетчер пересчитывает длинную ведомость. Он не принимает новые записки и не отвечает в окно, пока не закончит текущую задачу.
В 1С пользовательский интерфейс может перестать отвечать Windows, пока клиент или сервер выполняет долгую операцию. Процесс при этом использует ресурсы, обращается к данным и способен завершиться.
Он ждёт чужой ответ
Диспетчер позвонил на второй склад и слушает гудки. Собственной работы у него сейчас мало. Продолжить без ответа он не может.
В 1С операция способна ждать блокировку, базу данных, сеть, внешнюю систему, печать или другой ограниченный ресурс. Низкая загрузка процессора в такой момент ещё не доказывает остановку.
Он попал в тупик
Первая машина заняла ворота А и ждёт освобождения ворот Б. Вторая заняла ворота Б и ждёт освобождения ворот А. Оба водителя действуют строго по инструкции. Складская дисциплина получилась образцовой, движение — нулевым.
В программе похожая картина возникает при взаимном ожидании ресурсов или при операции, которая не может продвинуться. Для вывода нужны технические следы: ожидания, блокировки, активность и журналы.
Синхрон: склад и 1С
| № | Склад с картошкой | 1С | Что можно наблюдать |
|---|---|---|---|
| 1 | Диспетчер получил накладную Н-518 | пользователь запустил команду | действие и точное время |
| 2 | Диспетчер начал сверку партии | клиент или сервер начал операцию | активная операция, использование ресурсов |
| 3 | Для продолжения понадобился журнал, сотрудник или ответ склада | операция запросила данные, блокировку или внешний ответ | тип ожидания, адресат, длительность |
| 4 | Другой участник освободил ресурс либо продолжил удерживать его | ресурс стал доступен либо ожидание сохранилось | изменение состояния во времени |
| 5 | Диспетчер завершил ведомость или остановился | операция вернула результат, ошибку или перестала продвигаться | итог, ошибка, журнал завершения |
Термин «зависла» описывает впечатление пользователя. Диагностика должна назвать состояние точнее: выполняет работу, ждёт, заблокирована или завершилась с ошибкой.
Схема: табло состояния диспетчера
Здесь помогает диспетчерское табло с тремя линиями наблюдения: действия пользователя, состояние окна и внешний ответ.
Время 10:02 10:03 10:04 10:05
Работа ████████ ████████ ███ ───
Ожидание ─── ─── ████████ ████████
Результат нет нет нет нет
Склад: считает → считает → ждёт журнал → ждёт журнал
1С: выполняет → выполняет → ждёт ресурс → ждёт ресурс
Полосы здесь качественные, без выдуманных процентов. Для конкретного случая специалист подставляет фактическое время и наблюдения. Если данных нет, на табло стоит «неизвестно».
Отдельный вариант табло показывает тупик:
Смена А держит журнал А ── ждёт журнал Б
Смена Б держит журнал Б ── ждёт журнал А
×
движение остановилось
Технический перевод располагается сразу под каждой строкой: сессия А удерживает ресурс А и ждёт Б; сессия Б удерживает ресурс Б и ждёт А.
Что видит бизнес
Один белый экран способен остановить больше одного человека. Документ остаётся в неизвестном состоянии. Склад не понимает, можно ли собирать заказ. Менеджер боится повторно проводить накладную. Следующий сотрудник ждёт освобождения тех же данных.
Руководителю нужно быстро установить масштаб:
- проблема только у одного пользователя;
- тот же документ мешает другим людям;
- зависают разные операции;
- вся 1С перестала отвечать;
- проблема появилась после конкретного действия или изменения.
Эти ответы определяют порядок проверки и допустимое время ожидания.
Дерево проверки
Окно 1С перестало отвечать после известного действия?
├─ Нет → записать последнее понятное действие и время появления симптома
└─ Да
└─ У других пользователей 1С продолжает работать?
├─ Да
│ └─ Они могут работать с тем же документом или участком данных?
│ ├─ Да → изучать клиент, рабочее место и конкретную операцию
│ └─ Нет → искать ожидание или блокировку вокруг документа
└─ Нет
└─ Есть признаки продвижения операции?
├─ Да → зафиксировать длительность и дождаться решения ответственного
└─ Неизвестно
└─ сохранить следы и передать специалисту до завершения процесса
Физические вопросы дерева:
- «Диспетчер получил именно накладную Н-518?» — какое действие запустили?
- «Другие окна склада работают?» — затронут один клиент или вся система?
- «Диспетчер считает, говорит по телефону или сидит без движения?» — работа, внешнее ожидание или отсутствие продвижения?
- «Кто держит нужный журнал?» — какая сессия удерживает ресурс?
Пользователь не обязан самостоятельно определять взаимную блокировку. Его задача — сохранить наблюдаемую картину и не стереть её повторными действиями.
Что проверяет специалист
Сначала специалист устанавливает режим работы базы и масштаб сбоя. У файловой базы, клиент-серверной базы и веб-клиента разные участки маршрута.
Затем он сопоставляет:
- действие пользователя и время начала;
- состояние клиентского процесса;
- активность процессора, памяти, диска и сети;
- активные сеансы и длительные операции;
- ожидания и блокировки;
- запросы к базе данных;
- обращения к внешним системам;
- журналы 1С и операционной системы;
- событие завершения, отмены или ошибки.
Сообщение Windows «не отвечает» означает, что окно не обрабатывает сообщения интерфейса в ожидаемый срок. Оно не раскрывает причину. Дамп, лог и снимок состояния помогают найти её, если их снимает специалист с пониманием среды.
Что можно собрать безопасно
- Точный текст сообщения и снимок экрана.
- Время начала и последнее действие: открытие формы, проведение, отчёт, печать, обмен.
- Номер документа или название отчёта без публикации коммерческих данных.
- Ответ на вопрос, работают ли другие пользователи.
- Ответ на вопрос, повторяется ли проблема на том же сценарии.
- Сведения о недавних изменениях: обновление, новый отчёт, внешняя система, сеть.
- Время, когда окно снова ответило либо было завершено.
Если операция влияет на отгрузку или деньги, решение о дальнейшем ожидании и принудительном завершении принимает ответственный сотрудник вместе со специалистом.
Стоп-действия
Пока неизвестно состояние операции, опасно:
- многократно нажимать ту же кнопку;
- запускать этот документ с другого компьютера «для проверки»;
- завершать все процессы 1С сразу;
- перезагружать сервер без проверки активных операций;
- снимать блокировки вручную по случайной инструкции;
- удалять временные файлы и чистить кэши;
- запускать проверку и исправление рабочей базы без копии;
- считать исчезновение белого окна доказательством устранённой причины.
Принудительное завершение иногда необходимо. Оно проводится как управляемое действие: известен документ, оценён риск, сохранены доступные следы, назначен ответственный, после запуска проверяется состояние данных.
Как выглядит результат диагностики
После разбора остаются:
- точное действие, которое вызвало симптом;
- состояние операции: работала, ждала, была заблокирована или остановилась;
- ресурс или участник, из-за которого не было продвижения;
- доказательства из журналов и наблюдений;
- безопасное изменение;
- проверка документа Н-518 после восстановления;
- правило наблюдения, которое поможет поймать повтор.
Фраза «перезапустили, заработало» описывает восстановление доступности. Причину она не фиксирует.
Восстановим маршрут, найдём последнюю подтверждённую точку и определим безопасный следующий шаг.
Обсудить ситуацию