К статье
Практический материал

Администрирование · 12 мин

Как в 1С очистить историю отборов и ввода

Как очистить историю отборов и ввода в 1С 8.3: настройки пользователя, удаление через меню, программная очистка, типичные ошибки и ответы на вопросы.

При работе в 1С программа запоминает последние значения, которые пользователь вводил в поля отборов, поиска и выбора. Это удобно: при повторном открытии формы подсказки экономят время. Но со временем список «мусорных» значений разрастается: в нём остаются устаревшие контрагенты, ошибочные варианты поиска, тестовые записи. История начинает мешать — вместо двух нужных вариантов выпадает длинный список нерелевантных.

История отборов и история ввода хранятся отдельно для каждого пользователя в хранилище системных настроек информационной базы. Это значит, что очистка затрагивает только текущего пользователя и не удаляет никаких учётных данных — документы, справочники и отчёты остаются нетронутыми. Однако способ очистки зависит от того, что именно нужно убрать: историю ввода в конкретном поле, настройки отборов в отчётах или всю историю целиком.

Ниже разобраны все рабочие способы: от простого удаления через интерфейс до программной очистки и сброса настроек конкретного пользователя, а также ограничения и типичные ошибки.

Что такое история отборов и где она хранится

Под историей отборов обычно понимают два разных механизма платформы 1С:Предприятие. Первый — история ввода: выпадающий список ранее введённых значений, который появляется при установке курсора в поле ввода, отбор динамического списка или строку поиска. Платформа запоминает эти значения автоматически, глубина хранения ограничена (обычно несколько десятков последних значений на поле).

Второй механизм — сохранённые настройки отборов в отчётах и динамических списках: варианты отчётов, пользовательские настройки отбора, сортировки и оформления. Они сохраняются, когда пользователь нажимает «Сохранить настройки» или когда отчёт запоминает последнее состояние автоматически.

Оба вида данных хранятся в хранилище системных настроек информационной базы. В файловой базе это служебные данные внутри файла 1Cv8.1CD, в клиент-серверном варианте — таблицы на сервере СУБД. Напрямую редактировать эти данные не нужно: платформа предоставляет штатные средства очистки.

Как очистить историю ввода через интерфейс

Самый простой способ — воспользоваться штатной командой очистки истории работы пользователя. В типовых конфигурациях на управляемых формах (Бухгалтерия предприятия, Управление торговлей, ERP) путь обычно такой: откройте раздел «Администрирование», затем пункт «Персональные настройки» или «Настройки пользователя». В открывшейся форме найдите команду «Очистить историю» — она удаляет историю ввода и поиска текущего пользователя.

В конфигурациях на обычных формах (старые версии Управление торговлей 10.3, Бухгалтерия 2.0) аналогичная функция находится в меню «Сервис → Параметры»: там есть кнопка очистки истории ввода значений. После нажатия подтвердите действие — история будет удалена без возможности восстановления.

Точное расположение команды зависит от конфигурации и её версии: разработчики могут выносить её в настройки пользователя, в личные настройки или в общий раздел сервиса. Если найти команду не удаётся, используйте поиск по функциям (в управляемом интерфейсе — значок с увеличительным стеклом в правом верхнем углу, строка «Найти функцию») и введите слово «история» или «настройки».

Порядок действий через интерфейс
  1. 1
    Откройте раздел «Администрирование» → «Персональные настройки» (или «Сервис → Параметры» в обычных формах)
  2. 2
    Найдите команду «Очистить историю» / «Очистить историю ввода»
  3. 3
    Подтвердите удаление в диалоге
  4. 4
    Откройте поле отбора или поиска и убедитесь, что выпадающий список истории пуст

Как удалить отдельные значения из истории конкретного поля

Полная очистка — не всегда нужна: часто достаточно убрать одно ошибочное значение, которое постоянно «всплывает» в подсказке. В управляемых формах платформа позволяет удалять элементы истории выборочно. Установите курсор в поле ввода, откройте выпадающий список истории (кнопка со стрелкой вниз или клавиша F4 / стрелка вниз на клавиатуре), выделите ненужное значение и нажмите Delete или сочетание Shift+Delete — поведение зависит от версии платформы.

В некоторых полях история ввода отключается прикладным кодом: если разработчик установил у поля свойство «История ввода при вводе» в значение «Не использовать», подсказок не будет вовсе, и очищать там нечего. Это нормальное поведение, а не признак ошибки.

Учтите, что история ввода формируется заново по мере работы: после очистки программа снова начнёт запоминать вводимые значения. Полностью отключить накопление истории штатными настройками пользователя нельзя — это свойство задаётся на уровне конфигурации.

Как сбросить сохранённые настройки отборов в отчётах

Если проблема не в подсказках ввода, а в том, что отчёт открывается с устаревшим отбором, действуйте иначе. Откройте отчёт, перейдите в форму настроек (кнопка «Настройки» или «Ещё → Изменить вариант»). Для сброса к состоянию «по умолчанию» используйте команду «Установить стандартные настройки» — она возвращает вариант отчёта к исходному виду, заложенному разработчиком.

Сохранённые пользовательские варианты и настройки удаляются через команду «Выбрать настройки» / «Сохранённые настройки»: в открывшемся списке выделите ненужную настройку и удалите её. В типовых отчётах на СКД список сохранённых настроек доступен по кнопке с дискетой или через меню «Ещё».

Если отчётов много и чистить каждый вручную долго, администратор может сбросить все настройки отчётов пользователя разом — об этом рассказано в разделе про программную очистку.

Программная очистка истории для администратора

Когда нужно очистить историю сразу у нескольких пользователей или автоматизировать процедуру, используется встроенный язык. Объект ХранилищеСистемныхНастроек предоставляет метод Удалить(), который удаляет настройки по ключу объекта, ключу настроек и имени пользователя. Ключи истории ввода обычно содержат путь к полю формы, настройки отчётов — имя отчёта и идентификатор варианта.

Типовой приём — получить список всех настроек пользователя через метод Выбрать() с отбором по пользователю и удалить те, чьи ключи относятся к истории или настройкам отчётов. Выполнять такой код удобно через внешнюю обработку или консоль кода, запущенную под пользователем с правами администратора.

bsl
// Удаление конкретной настройки у пользователя
ХранилищеСистемныхНастроек.Удалить("Отчет.Продажи/ТекущиеПользовательскиеНастройки", "", "ИвановИИ");

// Перебор и удаление всех настроек пользователя
Отбор = Новый Структура("Пользователь", "ИвановИИ");
Выборка = ХранилищеСистемныхНастроек.Выбрать(Отбор);
Пока Выборка.Следующий() Цикл
    ХранилищеСистемныхНастроек.Удалить(Выборка.КлючОбъекта, Выборка.КлючНастроек, "ИвановИИ");
КонецЦикла;

Перед массовым удалением обязательно сделайте резервную копию информационной базы. Программная очистка необратима: восстановить удалённые настройки штатными средствами нельзя. Кроме того, выполняйте процедуру, когда пользователи не работают в базе, — иначе платформа может заново записать настройки при завершении их сеансов.

Очистка настроек пользователя через список пользователей

В типовых конфигурациях на Библиотеке стандартных подсистем есть удобный механизм копирования и очистки настроек. Откройте «Администрирование → Пользователи и права → Пользователи» (или «Настройки пользователей и прав»), выделите нужного пользователя и воспользуйтесь командой «Настройки пользователей» / «Очистка настроек». В открывшейся форме можно выбрать, какие именно настройки удалить: настройки отчётов, внешний вид, прочие персональные настройки.

Этот способ удобен тем, что не требует программирования и позволяет точечно выбрать категории настроек. Форма показывает список настроек пользователя с возможностью отметить нужные и удалить только их. Доступ к функции есть у администраторов и у пользователей, которым выдано соответствующее право.

В файловых базах старых версий, где подсистемы настроек нет, остаётся два варианта: ручная очистка под каждым пользователем или программное удаление через хранилище системных настроек.

Сравнение способов очистки

Через интерфейс (персональные настройки)

Подходит для разовой очистки своей истории. Быстро и безопасно, но действует только на текущего пользователя.

Удаление отдельных значений в поле

Лучший вариант, когда мешает одно-два ошибочных значения. Не трогает остальную историю.

Сброс настроек через список пользователей

Для администратора: точечная очистка настроек любого пользователя по категориям. Требует типовой подсистемы.

Программная очистка

Для массовой обработки и автоматизации. Требует прав администратора, резервной копии и аккуратности с ключами настроек.

Проверка результата и типичные ошибки

После очистки проверьте результат: откройте форму с полем отбора, установите курсор в поле и вызовите выпадающий список — он должен быть пуст или содержать только значения, введённые после очистки. Для отчётов: откройте отчёт и убедитесь, что он строится со стандартными настройками, а в списке сохранённых настроек нет удалённых вариантов.

Если история «вернулась» после очистки, чаще всего причина в том, что пользовательский сеанс при завершении заново записал настройки. Повторите очистку, предварительно завершив сеанс этого пользователя, либо очистите историю, находясь в его сеансе. Вторая частая причина — путаница между историей ввода и быстрым выбором: список недавно выбранных элементов справочника (история выбора) — это отдельный механизм, и он очищается вместе с общей историей, а не настройками отчёта.

Типичные ошибки
01
Очистка истории без завершения сеанса пользователя — настройки записываются обратно при выходе, и создаётся впечатление, что очистка не сработала
02
Удаление всех настроек подряд вместо точечной очистки — вместе с историей пропадают настроенные варианты отчётов и параметры форм
03
Попытка очистить историю другого пользователя без прав администратора — команды недоступны, а программное удаление выдаёт ошибку доступа
04
Ожидание, что очистка истории ускорит базу — объём хранимой истории невелик и на производительность практически не влияет
Контрольные точки

Как проверить результат

Выпадающий список истории в поле отбора
Норма

Список пуст или содержит только свежие значения

Тревожный признак

Старые значения на месте — сеанс пользователя перезаписал настройки

Отчёт при открытии
Норма

Открывается со стандартными настройками

Тревожный признак

Подставляется старый отбор — осталась сохранённая настройка

Список сохранённых настроек отчёта
Норма

Ненужные варианты отсутствуют

Тревожный признак

Варианты на месте — удалён был только текущий вариант, а не сохранённые

Часто задаваемые вопросы

Удалятся ли документы или справочники при очистке истории отборов?

Нет. Очистка истории затрагивает только служебные настройки пользователя в хранилище системных настроек. Учётные данные — документы, справочники, регистры — этот механизм не касается.

Можно ли очистить историю отборов сразу у всех пользователей?

Штатной кнопки «очистить у всех» в интерфейсе нет. Администратор может сделать это программно: перебрать список пользователей информационной базы и для каждого удалить настройки через ХранилищеСистемныхНастроек. Процедуру выполняют при отсутствии активных сеансов и после резервного копирования.

Почему после очистки история появляется снова?

Так устроен механизм: платформа автоматически запоминает вводимые значения. Отключить накопление истории для конкретного поля может только разработчик, изменив свойство поля в конфигураторе. Пользователь может лишь периодически очищать историю вручную.

Чем история ввода отличается от истории выбора?

История ввода — это значения, которые пользователь набирал вручную в полях. История выбора — список недавно выбранных элементов справочников и документов, показываемый при открытии списка выбора. Оба списка хранятся в системных настройках и очищаются общей командой очистки истории.

Нужны ли права администратора для очистки своей истории?

Нет, очистка собственной истории доступна любому пользователю через персональные настройки. Права администратора требуются только для очистки настроек других пользователей и для программной работы с хранилищем системных настроек.

Где хранится история отборов в файловой базе?

Внутри файла информационной базы 1Cv8.1CD, в служебных структурах хранилища системных настроек. Редактировать файл напрямую нельзя — это приведёт к повреждению базы. Используйте только штатные команды интерфейса или методы встроенного языка.

Итог

Что важно запомнить

История отборов и ввода очищается через персональные настройки пользователя, выборочно — удалением значений прямо в поле, массово — программно через ХранилищеСистемныхНастроек. Очистка безопасна для учётных данных, но необратима для настроек: перед массовым удалением делайте резервную копию и завершайте сеансы пользователей.