Где 1С хранит историю поиска и как её стереть без вреда для базы
Содержание
Чтобы очистить поиск в открытом списке 1С 8.3, нажмите крестик в строке поиска или Ctrl+Q («Отменить поиск»): фильтр снимется, список покажет все записи. Чтобы стереть саму историю поисковых запросов и подсказок при вводе, очистите настройки пользователя: Администрирование → Настройки пользователей и прав → Персональные настройки пользователей → Очистить.
Типичная ситуация: бухгалтер на общем компьютере открывает справочник «Контрагенты», а в выпадающем списке строки поиска висят чужие запросы — фамилии, ИНН, номера договоров. Или новая сотрудница получила учётную запись уволенного коллеги вместе со всей его историей. Ниже разобраны все способы — от одного клика до внешней обработки — для всех версий интерфейса 8.3 «Такси» и любых конфигураций на БСП: Бухгалтерии 3.0, ЗУП 3.1, УТ 11, КА, ERP.
Что именно 1С запоминает при поиске
«История поиска» в 1С — это не один файл, а несколько разных вещей. От того, что мешает именно вам, зависит способ очистки.
| Что видите | Где хранится | Чем чистится |
|---|---|---|
| 🔎 Список отфильтрован, видны не все записи | Состояние формы, пока она открыта | Крестик в строке поиска, Ctrl+Q |
| 📜 Выпадающий список прошлых запросов в строке поиска | Системные настройки пользователя в базе | Очистка настроек пользователя |
| ⌨️ Подсказки при вводе в поле (последние выбранные контрагенты, товары) | История выбора пользователя в базе | Очистка настроек; отключение истории выбора в конфигураторе |
| 🕘 Список «История» (недавно открытые документы) | История работы пользователя в базе | Очистка настроек пользователя |
| 🗂 Устаревшие результаты полнотекстового поиска | Индекс полнотекстового поиска | Обновление или очистка индекса |
Ключевой факт: в версии 8.3 настройки пользователя хранятся в самой информационной базе, а не на компьютере. Поэтому переустановка 1С, смена компьютера или удаление папок профиля Windows историю не стирают. Пользователь зайдёт с другого рабочего места — и увидит те же подсказки.
Как очистить строку поиска в списке 1С за один клик
Это самый частый случай. Пользователь ввёл что-то в поиск, закрыл форму, а открыв снова, видит «пустой» справочник. На самом деле поиск не очистился и список отфильтрован.
Как сбросить:
- Откройте нужный список — справочник, журнал документов , регистр.
- Найдите строку поиска в правом верхнем углу формы.
- Нажмите крестик справа в строке поиска — текст удалится, отбор снимется.
- Если строки поиска не видно, нажмите
Ctrl+Qили выберите в менюЕщёкоманду «Отменить поиск».
Если поиск запускали через Ctrl+F (расширенный поиск по колонке), над списком появляется отметка с условием. Её снимает та же команда «Отменить поиск».
Когда список и после этого показывает не всё, причина уже не в поиске. Проверьте:
- 🔸 отбор в
Ещё → Настроить списокна вкладке «Отбор»; - 🔸 флажок «Показывать помеченные на удаление», если ищете помеченный элемент;
- 🔸 режим просмотра списка — иерархический или плоский: в иерархическом элемент может лежать в другой группе.
Этот способ ничего не удаляет из базы. Он работает только с текущим окном.
Удаление истории поиска через настройки пользователя
Выпадающий список прошлых запросов и подсказки при вводе живут в настройках пользователя. Конфигурации на Библиотеке стандартных подсистем (БСП) дают для их очистки готовую обработку.
Пошагово для администратора
- Откройте
Администрирование → Настройки пользователей и прав. - Перейдите по ссылке «Персональные настройки пользователей» (в части релизов — «Настройки пользователей»).
- Выберите пользователя в поле вверху формы.
- Откройте вкладку «Прочие настройки» — здесь лежат истории, состояние форм и служебные данные.
- Выделите нужные строки или все сразу и нажмите «Очистить».
- Подтвердите удаление.
На вкладке «Внешний вид» лежат настройки форм и рабочего стола, на вкладке «Настройки отчетов» — варианты отчётов. Их трогать не нужно, если цель — только история поиска.
Очистка «Внешнего вида» сбросит у пользователя расположение колонок, настроенные панели и рабочий стол. Он вернётся к стандартному виду и, скорее всего, придёт с вопросами. Чистите выборочно.
Очистка сразу у нескольких сотрудников
В той же обработке есть команда очистки настроек у группы пользователей. Удобно, когда в отдел пришла новая команда и нужно убрать следы прошлых сотрудников во всех учётных записях.
Порядок:
- В форме обработки выберите команду очистки настроек (кнопка или ссылка с названием «Очистить настройки»).
- Отметьте, кому чистить: выбранным пользователям или всем.
- Укажите, какие именно настройки: внешний вид, отчёты, прочие.
- Запустите очистку.
Очищайте настройки, когда пользователь вышел из программы. Открытый сеанс держит настройки в памяти и при закрытии может записать часть истории обратно. Проверить, кто сейчас в базе, можно в Администрирование → Обслуживание → Активные пользователи.
Как проверить, что история действительно стёрта
Проверка занимает пару минут, и лучше сделать её сразу, а не ждать жалобы.
- Попросите пользователя войти в программу или войдите под ним сами, если знаете пароль.
- Откройте список, где раньше были подсказки, — например, справочник «Контрагенты».
- Щёлкните в строку поиска и раскройте выпадающий список: он должен быть пустым.
- Начните вводить контрагента в поле любого документа: прошлые выборы в подсказке не появятся.
Если подсказки остались, почти всегда причина одна из двух: пользователь не выходил из программы во время очистки или чистили не того пользователя. Повторите очистку после выхода.
Массовая очистка через «Все функции»
Если в вашем интерфейсе нет раздела «Администрирование» или он урезан правами, ту же обработку можно открыть через меню «Все функции».
Сначала включите это меню:
- Нажмите кнопку главного меню (значок с тремя полосками или шестерёнка в заголовке окна).
- Откройте
Сервис → Параметры. - Установите флажок «Отображать команду «Все функции»».
- Нажмите «Применить» или «ОК».
Дальше:
- Главное меню →
Все функции. - Раскройте ветку
Обработки. - Найдите обработку «Настройки пользователей» (в списке удобно искать по первым буквам).
- Действуйте так же, как в предыдущем разделе.
В ветке Стандартные того же меню лежат служебные функции платформы: «Активные пользователи», «Журнал регистрации», «Управление полнотекстовым поиском». Последняя пригодится в разделе про индекс.
Права на очистку чужих настроек есть только у администратора. Рядовой пользователь в этой обработке увидит лишь свои данные — или не увидит обработку вовсе. Это нормально, так задумано.
Реестр Windows и локальный кэш: что реально помогает
В инструкциях из интернета встречается совет «почистить историю поиска 1С в реестре». У платформы 1С:Предприятие 8.3 нет ветки реестра с историей поиска. Правка реестра здесь ничего не даст, кроме риска сломать что-то другое.
Что действительно хранится на компьютере пользователя:
- 📁
%APPDATA%\1C\1cv8\— кэш конфигураций по базам (папки с длинными именами-идентификаторами) и файлы локальных настроек запуска; - 📁
%LOCALAPPDATA%\1C\1cv8\— ещё одна часть кэша; - 📄
%APPDATA%\1C\1CEStart\ibases.v8i— список баз в окне запуска.
Удаление папок кэша не сотрёт историю поиска: она в базе. Зато чистка кэша помогает, когда после обновления конфигурации формы ведут себя странно — поиск не срабатывает, список не обновляется.
Безопасный способ сбросить кэш без ручного удаления папок — запустить 1С с параметром:
"C:\Program Files\1cv8\common\1cestart.exe" /ClearCache
Или добавить /ClearCache в поле «Дополнительные параметры запуска» в свойствах базы в окне запуска (кнопка «Изменить», последний шаг мастера).
Если удаляете папки кэша вручную, сначала закройте все окна 1С на этом компьютере. Файл ibases.v8i не трогайте — пропадёт список баз в окне запуска.
Отключение истории выбора в конфигураторе
Для администратора, которому нужно, чтобы история при вводе вообще не накапливалась (например, по справочнику сотрудников или физлиц), есть настройка в метаданных.
- Откройте базу в режиме
Конфигуратор. - В дереве конфигурации найдите объект — например, справочник «Физические лица».
- Откройте его свойства (
Alt+Enter). - Найдите свойство «История выбора при вводе».
- Установите значение «Не использовать» вместо «Авто».
- Сохраните конфигурацию и обновите конфигурацию базы данных (
F7).
То же свойство есть у полей формы — можно отключить историю в одном конкретном поле, не трогая объект целиком.
В типовой конфигурации на поддержке такое изменение требует включить возможность изменения. Это усложнит каждое следующее обновление. Если правите типовую базу, согласуйте с тем, кто её обновляет, и сделайте резервную копию перед изменением.
Обновление конфигурации базы данных с изменением структуры требует монопольного доступа. Выбирайте время, когда в базе никто не работает : сеансы пользователей придётся завершить.
Полнотекстовый поиск: очистка индекса
Если «очистить поиск» означает «поиск находит устаревшее», дело в индексе полнотекстового поиска.
- В БП 3.0, ЗУП 3.1, УТ 11:
Администрирование → Общие настройки, блок «Полнотекстовый поиск» — там обновление индекса и его настройка. - Через платформу:
Все функции → Стандартные → Управление полнотекстовым поиском. В форме есть команды «Обновить индекс» и «Очистить индекс ».
После очистки индекса поиск по всем данным перестанет находить что-либо, пока индекс не построят заново. На большой базе это занимает от десятков минут до нескольких часов — запускайте вечером.
Чтобы объект вообще не попадал в полнотекстовый поиск, у него в конфигураторе есть свойство «Полнотекстовый поиск» со значением «Не использовать». Оно же есть у отдельных реквизитов.
Внешняя обработка для очистки настроек
Когда БСП в базе нет (самописная или старая отраслевая конфигурация), настройки чистят кодом. Системные настройки пользователя лежат в хранилище ХранилищеСистемныхНастроек, и у него есть метод Удалить.
Минимальная внешняя обработка: форма с полем «ИмяПользователя» (строка) и кнопкой.
&НаКлиенте
Процедура Очистить(Команда)
Если ПустаяСтрока(ИмяПользователя) Тогда
Сообщить("Укажите имя пользователя");
Возврат;
КонецЕсли;
ОчиститьНаСервере(ИмяПользователя);
Сообщить("Системные настройки пользователя удалены");
КонецПроцедуры
&НаСервереБезКонтекста
Процедура ОчиститьНаСервере(Имя)
// Неопределено в первых двух параметрах = все ключи объектов и настроек
ХранилищеСистемныхНастроек.Удалить(Неопределено, Неопределено, Имя);
КонецПроцедуры
Что важно знать про этот код:
- 🔑 запускать под пользователем с правами администратора — иначе удалить чужие настройки не получится;
- 👤
Имя— имя пользователя информационной базы (как в списке пользователей), а не полное ФИО; - 🧹 удаляются все системные настройки: вместе с историей уйдут размеры окон, порядок колонок, рабочий стол;
- 🚪 пользователь в этот момент должен быть вне базы.
Перед запуском на рабочей базе проверьте обработку на копии. Сделайте выгрузку .dt или копию файла базы, разверните её и прогоните обработку там.
Ошибки, из-за которых история возвращается
Чаще всего «не получилось очистить» объясняется не способом, а мелочью вокруг него.
| Ошибка | Что происходит | Как избежать |
|---|---|---|
| Чистили, пока пользователь был в базе | При выходе программа записала настройки обратно | Очищать после завершения сеанса |
Удалили папки в %APPDATA% | История на месте — она хранится в базе | Чистить настройки через программу |
| Очистили «Внешний вид» вместо «Прочих» | Сбился интерфейс, история осталась | Смотреть вкладку перед удалением |
| Работают под общей учётной записью | История снова копится на всех | Завести каждому свою учётную запись |
| Очистили индекс днём | Поиск по всем данным не работает до вечера | Запускать перестроение в нерабочее время |
Последний пункт про общую учётную запись — главный. Если пять бухгалтеров заходят под одним «Бухгалтер», чистить историю бессмысленно: через день она снова общая. Отдельные пользователи решают проблему навсегда и заодно показывают в журнале регистрации, кто что менял.