Полнотекстовый, глобальный и поиск в списках: что и где выключается в 1С 8.3
Содержание
Чтобы отключить поиск в 1С 8.3, выключите полнотекстовый поиск: Главное меню → Все функции → Стандартные → Управление полнотекстовым поиском, снимите флажок разрешения и нажмите «Очистить индекс
». В типовых конфигурациях на БСП то же самое делается в Администрирование → Общие настройки, группа «Полнотекстовый поиск».
После этого глобальный поиск в шапке программы перестаёт искать по данным базы, а сервер не тратит ресурсы на обновление индекса. Поле поиска при этом остаётся: по командам и справке оно ищет без индекса. Ниже по порядку: настройка в пользовательском режиме, запуск с параметрами, конфигуратор и код, очистка истории и влияние на производительность.
Какой поиск в 1С можно выключить
Под словом «поиск» в 1С скрываются четыре разных механизма. Отключаются они в разных местах, поэтому сначала определите, что именно мешает.
| Механизм | Где виден | Как отключается |
|---|---|---|
| 🔎 Полнотекстовый поиск данных (ППД) | Глобальный поиск в шапке, поиск по всем данным | Режим ППД, флажок в настройках, код |
| 🧭 Глобальный поиск по командам и справке | Поле поиска вверху окна | Отдельно не выключается, но без ППД не трогает данные |
| 📋 Поиск в списках | Строка поиска над таблицей справочника или журнала | Свойства формы в конфигураторе |
| ⌨️ Подбор при вводе по строке | Выпадающий список при вводе в поле | Свойства объекта метаданных |
Основная нагрузка на систему — от первого пункта. Индекс ППД хранится отдельно от таблиц базы, регулярно перестраивается и на крупной базе занимает гигабайты. Чаще всего вопрос «как отключить поиск» на деле означает «как выключить полнотекстовый поиск».
Если пользователи жалуются, что «поиск ничего не находит», отключать его не нужно. Обычно индекс просто устарел: обновите его кнопкой «Обновить индекс», и поиск снова заработает.
Отключение полнотекстового поиска в режиме Предприятие
Права нужны административные: обычному пользователю настройка не откроется.
Через типовые настройки (БП 3.0, ЗУП 3.1, УТ 11)
В конфигурациях на Библиотеке стандартных подсистем путь одинаковый:
- Откройте
Администрирование → Общие настройки. - Найдите группу «Полнотекстовый поиск».
- Снимите флажок полнотекстового поиска.
- Если рядом есть ссылка «Настроить», откройте её и проверьте, что индекс очищен.
При снятом флажке БСП сама отключает регламентные задания обновления и слияния индекса. Включить обратно можно тем же флажком, но индекс придётся строить заново.
Через стандартную обработку платформы
Работает в любой конфигурации, даже самописной:
- Включите команду «Все функции»:
Главное меню → Сервис → Параметры, флажок «Отображать команду “Все функции”». - Откройте
Главное меню → Все функции → Стандартные → Управление полнотекстовым поиском. - Снимите флажок, который разрешает полнотекстовый поиск.
- Нажмите «Очистить индекс», чтобы освободить место на диске.
В той же форме видна дата актуальности индекса. Если она отстаёт на недели, полнотекстовый поиск фактически уже не работает , просто никто этого не заметил.
Обработка меняет режим для всей информационной базы, а не для одного пользователя. Персонально выключить полнотекстовый поиск одному сотруднику нельзя.
Параметры запуска и командная строка
Прямого ключа запуска вида «без поиска» у 1cv8.exe нет. Режим ППД хранится в самой информационной базе, и параметр командной строки его не переопределяет.
Что командная строка всё-таки позволяет:
- 🧹
/ClearCache— очищает клиентский кеш метаданных. Историю поиска и индекс ППД он не трогает, но помогает, если после изменения настроек интерфейс ведёт себя странно. - ⚙️
/Execute— запускает внешнюю обработку при старте. Через неё можно выключить ППД без открытия меню, например на десятке баз подряд. - 🏷️
/C— передаёт строку в параметр запуска. Самописная конфигурация может прочитать её и, например, скрыть свою форму поиска.
Пример пакетного файла, который открывает базу и выполняет обработку отключения:
@echo off
set V8="C:\Program Files\1cv8\<версия платформы>\bin\1cv8.exe"
%V8% ENTERPRISE /S"srv1c\buh" /N"Администратор" /P"пароль" /Execute"C:\scripts\off_fts.epf" /DisableStartupMessages
Вместо <версия платформы> подставьте каталог установленной версии, он виден в C:\Program Files\1cv8. Код обработки off_fts.epf приведён в следующем разделе: достаточно вызвать его из обработчика ПриОткрытии формы.
Пароль в bat-файле лежит открытым текстом. Храните такой файл только на сервере с ограниченным доступом и удаляйте после использования.
Отключение поиска в конфигураторе и программным кодом
Исключить объекты из индекса
Полностью отключать поиск не обязательно. Часто достаточно убрать из индекса тяжёлые объекты: регистры с миллионами записей, журналы обмена, документы с длинными комментариями.
- В конфигураторе откройте свойства объекта, например документа или регистра сведений.
- Найдите свойство «Полнотекстовый поиск».
- Установите значение «Не использовать».
- То же свойство есть у каждого реквизита: можно оставить документ в индексе, но убрать из него комментарий.
- Сохраните и обновите конфигурацию базы данных.
В типовой конфигурации на поддержке такое изменение снимает объект с полной поддержки. Решите заранее, готовы ли вы к этому при обновлениях.
Поиск в списках и при вводе по строке
Строку поиска над таблицей списка регулирует свойство элемента формы «Положение строки поиска». Значение «Нет» убирает строку, но пользователь по-прежнему найдёт запись через Ещё → Найти.
Подбор при вводе в поле настраивается в свойствах справочника:
- 🔤 «Поля ввода по строке» — по каким реквизитам ищется значение (код, наименование);
- 🔍 «Способ поиска строки при вводе по строке» — «Любая часть» или «Начало строки». Вариант «Начало строки» заметно быстрее на больших справочниках;
- 📚 «Полнотекстовый поиск при вводе по строке» — переключите на «Не использовать», если подбор тормозит из-за индекса.
Код на встроенном языке
Режим ППД меняется методами менеджера ПолнотекстовыйПоиск. Пример процедуры для внешней обработки, выполняется на сервере:
&НаСервере
Процедура ОтключитьПолнотекстовыйПоискНаСервере()
Если ПолнотекстовыйПоиск.ПолучитьРежимПолнотекстовогоПоиска() = РежимПолнотекстовогоПоиска.Разрешить Тогда
ПолнотекстовыйПоиск.УстановитьРежимПолнотекстовогоПоиска(РежимПолнотекстовогоПоиска.Запретить);
КонецЕсли;
// Освобождаем место, занятое индексом
ПолнотекстовыйПоиск.ОчиститьИндекс();
// Выключаем регламентные задания, связанные с индексом
Задания = РегламентныеЗадания.ПолучитьРегламентныеЗадания();
Для Каждого Задание Из Задания Цикл
ИмяЗадания = Задание.Метаданные.Имя;
Если СтрНайти(ИмяЗадания, "ППД") > 0 И Задание.Использование Тогда
Задание.Использование = Ложь;
Задание.Записать();
КонецЕсли;
КонецЦикла;
КонецПроцедуры
Отбор по подстроке «ППД» выбран потому, что в типовых конфигурациях задания индекса называются именно так. В самописной базе проверьте имена заданий в дереве метаданных и поправьте условие.
Включение — обратная операция: РежимПолнотекстовогоПоиска.Разрешить, затем ПолнотекстовыйПоиск.ОбновитьИндекс(). На большой базе первое построение индекса идёт долго, запускайте его вечером.
Очистка истории поиска и индекса
История глобального поиска
Введённые запросы платформа запоминает в настройках пользователя. Если в подсказках всплывают чужие или устаревшие фразы, их стирают вместе с настройками.
В конфигурациях на БСП:
- Откройте
Администрирование → Настройки пользователей и прав → Настройки пользователей. - Выберите сотрудника.
- На вкладке прочих настроек отметьте нужные строки и удалите.
Пользователь, у которого нет прав администратора, может сбросить свои настройки целиком. Но вместе с историей пропадут сохранённые отборы, размеры окон и избранное, предупредите об этом.
Индекс полнотекстового поиска
Индекс хранится отдельно от таблиц:
- 📁 файловая база — папка
1Cv8FTxtв каталоге информационной базы; - 🖥️ клиент-серверная база
— каталог информационной базы в рабочем каталоге кластера, обычно внутри
srvinfo\reg_1541\<идентификатор базы>.
Правильный способ очистки — кнопка «Очистить индекс» или метод ОчиститьИндекс(). Удалять папку руками стоит только если индекс повреждён и платформа не может его очистить сама.
Перед ручным удалением папки индекса выгоните всех пользователей из базы. В клиент-серверном варианте дополнительно нужна остановка службы сервера 1С: оборвутся сеансы всех баз кластера, поэтому делайте это в нерабочее время и сообщите людям заранее.
Как поиск влияет на производительность сервера
Индекс ППД обновляется регламентными заданиями. В типовых конфигурациях их два: обновление (добавляет новые и изменённые данные) и слияние (собирает накопленные части в основной индекс).
Что даёт нагрузку:
- ⏱️ обновление каждые несколько минут на базе с активным вводом документов — постоянная загрузка рабочего процесса;
- 💾 слияние на большом индексе — пиковое чтение и запись на диск, иногда на десятки минут;
- 🔄 первое построение после включения — может занять часы на базе в сотни гигабайт;
- 📈 рост индекса — на базах с длинными текстовыми реквизитами он доходит до заметной доли объёма самой базы.
Вместо полного отключения часто достаточно трёх мер:
| Мера | Когда подходит | Риск |
|---|---|---|
| Слияние раз в сутки ночью | Поиском пользуются, но днём тормозит | Новые данные в поиске появятся позже |
| Исключить тяжёлые объекты из индекса | Индекс огромный из-за 2-3 регистров | Снятие с поддержки при правке типовой |
| Полное отключение ППД | Поиском по данным никто не пользуется | Глобальный поиск перестанет находить документы |
Расписание заданий меняется в Администрирование → Обслуживание → Регламентные операции → Регламентные и фоновые задания. Откройте задание обновления индекса и задайте интервал, например раз в час вместо нескольких минут.
Как понять, что тормозит именно индекс
Прежде чем отключать поиск, убедитесь, что проблема в нём. Иначе база станет неудобнее, а скорость не вырастет.
- Откройте список регламентных и фоновых заданий и посмотрите историю выполнения задания обновления индекса. Если каждое выполнение длится минуты, а запускается оно чаще, задания идут почти без перерыва.
- Сравните время замедлений у пользователей со временем запуска слияния индекса. Совпадение — сильный признак.
- В клиент-серверной базе посмотрите в консоли кластера фоновые сеансы: задание индекса видно как отдельный фоновый сеанс с нагрузкой на рабочий процесс.
- Проверьте размер папки индекса на диске. Если он сопоставим с размером самой базы, индексируется лишнее.
Если ни один пункт не подтвердился, причина замедления в другом: блокировки, нехватка памяти, медленный диск. Отключение ППД в этом случае не поможет.
Временный эксперимент без риска: выключите только задания индекса на один-два рабочих дня и сравните ощущения пользователей. Сам режим ППД и индекс при этом сохраняются, вернуть всё можно одним флажком.
Ошибки при отключении поиска
Флажок сняли, а нагрузка не ушла. В самописной конфигурации регламентные задания могут жить отдельно от флажка. Проверьте их в консоли кластера или в списке регламентных заданий и выключите вручную.
Пользователи перестали находить документы через поле поиска. Это ожидаемое следствие: без ППД глобальный поиск не ищет по данным. Покажите сотрудникам поиск в самом журнале документов, он работает и без индекса.
После включения поиск «пустой». Индекс после очистки пустой, пока не отработает обновление. Запустите «Обновить индекс» вручную и дождитесь окончания.
Ошибка доступа при выполнении кода. Методы УстановитьРежимПолнотекстовогоПоиска и ОчиститьИндекс требуют административных прав. Запускайте обработку под администратором или в привилегированном режиме на сервере.
Флажок вернулся после обновления конфигурации. Режим ППД хранится в базе и обновлением не сбрасывается. Если флажок снова включён, его включил обработчик обновления или другой администратор: посмотрите журнал регистрации за дату обновления.
Настройку поменяли не в той базе. На сервере часто живут рабочая база и её копии для тестов с похожими именами. Перед изменением сверьте имя базы в заголовке окна программы и строку подключения в списке баз. Режим ППД в копии на рабочую базу не переносится.
Папка индекса не исчезла после очистки. Это нормально: после ОчиститьИндекс() в каталоге могут остаться служебные файлы небольшого размера. Удалять их не нужно, место они почти не занимают.