Администрирование · 10 мин
Как остановить поиск в 1С: пошаговые инструкции
Как остановить поиск в 1С: прервать поиск по строке, отключить полнотекстовый поиск, остановить фоновую индексацию и ускорить работу программы.
Поиск в 1С может «зависать» по разным причинам: программа ищет строку по всем документам через полнотекстовый индекс, выполняет поиск по подстроке в большом списке, обновляет индекс в фоновом задании или обрабатывает запрос в клиент-серверной базе. В каждом случае способ остановки свой, и важно понимать, какой именно поиск нужно прервать, чтобы не повредить данные.
Для пользователя чаще всего проблема выглядит так: введён текст в строку поиска, программа «думал» несколько минут, форма не отвечает. Для администратора ситуация другая — регламентное задание обновления полнотекстового индекса грузит сервер в рабочее время. Ниже разобраны оба сценария и способы безопасной остановки.
Определите, какой поиск нужно остановить
В 1С существует несколько разных механизмов поиска, и у каждого своя процедура прерывания. Путаница между ними — главная причина, почему «остановить поиск» не получается: пользователь жмёт Esc, а нагрузку на сервер создаёт совсем другой процесс.
Основные варианты: поиск по строке в динамическом списке (журналы документов, справочники), полнотекстовый поиск по данным (лупа в панели инструментов), поиск по ссылкам на объект (поиск ссылок на объект перед удалением), фоновое обновление полнотекстового индекса и поиск при поиске и замене значений. Признаки каждого описаны ниже.
Прерывается клавишей Esc или перезапуском сеанса
Кнопка «Отмена» в окне поиска или настройка индекса
Проверить регламентные задания и консоль кластера
Дождаться завершения или прервать сеанс
Остановка поиска по строке в форме списка
Когда вы вводите текст в строку поиска журнала документов или справочника, платформа выполняет запрос к базе. В файловой базе с большим объёмом данных такой поиск по подстроке может занимать минуты, потому что индексы для произвольного вхождения строки не используются.
Первое действие — нажать клавишу Esc. В большинстве случаев платформа прерывает выполнение запроса и возвращает управление форме. Если в форме есть видимая кнопка «Отмена» или индикатор выполнения, используйте её.
Если форма не реагирует и кнопка «Закрыть» недоступна, дождитесь завершения запроса: принудительное завершение процесса 1cv8.exe через диспетчер задач — крайняя мера. В файловом режиме при аварийном завершении во время чтения данных риск повреждения минимален, но несохранённые данные открытых документов будут потеряны.
- 1Нажмите Esc и подождите 10–15 секунд — запрос часто отменяется не мгновенно
- 2Если поиск не прерывается, дождитесь его завершения и не запускайте повторно
- 3Сузьте условие: используйте отбор по конкретным полям вместо поиска по всей строке
- 4Если форма зависла окончательно, завершите сеанс через диспетчер задач как последнюю меру
- 5Проверьте: после перезапуска список открывается и работает в обычном режиме
Остановка полнотекстового поиска по данным
Полнотекстовый поиск (значок лупы, сочетание Ctrl+Shift+F) ищет по специальному индексу и обычно работает быстро. Но если индекс устарел или поиск запущен по огромной базе, окно поиска может «висеть». В окне результатов есть кнопка «Отмена» — нажмите её, чтобы прервать операцию.
Если полнотекстовый поиск систематически тормозит или мешает работе, его можно полностью отключить. Для этого откройте раздел «Администрирование» → «Обслуживание» → «Настройка полнотекстового поиска» (в некоторых конфигурациях путь отличается: «Полнотекстовый поиск» в подсистеме «Поиск и удаление дублей» или «Обслуживание»).
В форме настройки снимите флажок «Использовать полнотекстовый поиск» и при необходимости нажмите «Очистить индекс». После этого поиск по данным перестанет выполняться, а регламентные задания обновления индекса остановятся. Учтите: пользователи потеряют возможность искать по содержимому документов через лупу.
Остановка фонового задания обновления индекса
Обновление полнотекстового индекса выполняется регламентным заданием «Обновление индекса ППД» (или аналогичным по названию). Если оно запускается в рабочее время и грузит сервер, задание можно остановить или перенастроить расписание.
Откройте «Администрирование» → «Обслуживание» → «Регламентные и фоновые задания». Найдите задание обновления индекса, откройте его и либо снимите флажок «Используется», либо измените расписание на ночное время. Активное в данный момент фоновое задание можно отменить: в списке фоновых заданий выделите строку и нажмите «Отменить».
В клиент-серверном варианте надёжнее остановить задание через консоль кластера серверов 1С: откройте консоль, найдите нужный сеанс фонового задания в списке сеансов и завершите его. Это гарантированно освободит рабочий процесс сервера.
Остановка поиска в клиент-серверной базе
Если «зависший» поиск выполняется на стороне СУБД (MS SQL, PostgreSQL), нажатие Esc у пользователя может не прервать запрос — он продолжит выполняться на сервере. Признак: пользователь уже закрыл программу, а нагрузка на SQL-сервер остаётся.
В этом случае администратору нужно завершить соответствующий сеанс через консоль кластера 1С (раздел «Сеансы» — найти сеанс пользователя — «Удалить») либо прервать запрос средствами СУБД. Завершение сеанса в консоли кластера корректно разрывает соединение, и запрос на СУБД откатывается.
Избегайте остановки процессов СУБД напрямую (перезапуск службы SQL Server «в лоб»), если есть альтернатива: это прерывает работу всех пользователей базы, а не только «виновника» тяжёлого запроса.
Как выбрать способ остановки
Как предотвратить зависание поиска в будущем
Останавливать поиск приходится реже, если настроить механизмы заранее. Для динамических списков в типовых конфигурациях часто доступна настройка режима поиска: «по началу строки» работает значительно быстрее, чем «по части строки», потому что использует индексы. Рекомендуйте пользователям искать по конкретным полям через отбор, а не по всей строке целиком.
Для полнотекстового поиска настройте расписание обновления индекса на нерабочие часы и включайте в индекс только действительно нужные объекты — это делает конфигуратор (свойство «Полнотекстовый поиск» у объектов метаданных). Чем меньше данных в индексе, тем быстрее поиск и обновление.
В клиент-серверных базах следите за регламентными операциями СУБД: устаревшая статистика и фрагментированные индексы на стороне SQL-сервера — частая причина медленных запросов поиска по подстроке, которые пользователи воспринимают как «зависание».
Как проверить, что поиск действительно остановлен
После прерывания убедитесь, что нагрузка снята и программа работает нормально. У пользователя форма должна реагировать на действия, список — обновляться, повторный отбор — выполняться за разумное время.
Администратору стоит проверить список фоновых заданий (нет ли активного задания индексации), сеансы в консоли кластера и загрузку процессора и дисков на сервере СУБД. Если нагрузка осталась после завершения сеанса — ищите другой источник: возможно, тяжёлый запрос запущен из другого сеанса.
Контрольные точки после остановки
Отвечает на действия, отбор работает
Форма не реагирует более нескольких минут
Задание индексации завершено или отменено
Задание снова в состоянии «Выполняется»
Вернулась к обычному уровню
Остаётся высокой после завершения сеанса
Отключён или работает быстро
Окно поиска зависает при каждом запросе
Что важно запомнить
Сначала определите тип поиска, затем применяйте точечный способ остановки: Esc и «Отмена» для пользовательского поиска, настройка индекса и расписания — для полнотекстового, консоль кластера — для зависших запросов на сервере. Принудительное завершение процессов — только крайняя мера.
Частые вопросы
Прерывает ли клавиша Esc любой поиск в 1С?
Нет. Esc прерывает интерактивные операции в клиентском приложении, но не останавливает фоновые и регламентные задания, а также запросы, уже выполняющиеся на сервере СУБД. Для них нужны консоль заданий или консоль кластера.
Что будет, если отключить полнотекстовый поиск совсем?
Пользователи потеряют возможность искать по содержимому документов и файлов через лупу (Ctrl+Shift+F). Поиск по строке в списках, отборы и стандартные механизмы продолжат работать — они не зависят от полнотекстового индекса.
Опасно ли завершать сеанс пользователя через консоль кластера?
Сеанс завершится аварийно: несохранённые данные в открытых формах пользователя будут потеряны, но целостность базы не пострадает — транзакции на СУБД откатятся корректно. Перед завершением желательно предупредить пользователя.
Почему поиск по части строки такой медленный?
Поиск по подстроке (когда искомый текст может быть в середине значения) не может использовать обычные индексы базы данных, поэтому выполняется перебором записей. Используйте режим «по началу строки», отборы по конкретным полям или полнотекстовый поиск.
Как остановить поиск ссылок на объект перед удалением?
Интерактивно — только дождаться завершения или закрыть форму, если она отвечает. На больших базах операция может идти долго. Запускайте поиск ссылок и пометку на удаление в нерабочее время или пакетно через обработку удаления помеченных объектов.
Поиск зависает только у одного пользователя — в чём причина?
Вероятные причины локальны: медленный канал связи с сервером, антивирус, проверяющий трафик клиента, или устаревший кэш метаданных на компьютере. Попробуйте очистить кэш (удаление базы из списка и повторное добавление) и проверить сеть.