История отборов в 1С:Предприятие — удобный инструмент для быстрого доступа к часто используемым фильтрам в отчётах, обработках и справочниках. Однако со временем этот список разрастается до сотен записей, среди которых сложно найти нужную, а конфиденциальные данные (например, отборы по конкретным контрагентам или суммам) могут стать доступны другим пользователям. В этой статье разберём все способы очистки истории отборов — от стандартных средств до программных методов для администраторов.
Важно понимать, что механизм хранения истории отличается в зависимости от версии платформы (8.2 vs 8.3), режима работы (файловый/клиент-серверный) и конфигурации (УТ 11, БП 3.0, ЗУП 3.1 и др.). Мы рассмотрим универсальные решения, а также нюансы для популярных редакций. Если вы работаете в облачной версии 1С:Fresh, часть методов будет недоступна — об этом предупредим отдельно.
Почему история отборов накапливается и когда её нужно чистить
Система 1С автоматически сохраняет последние 20–100 отборов (в зависимости от настроек) для каждого пользователя. Это ускоряет работу, но приводит к следующим проблемам:
- 📈 Замедление интерфейса: при открытии формы отчёта или справочника система подгружает все сохранённые отборы, что увеличивает время ожидания.
- 🔍 Утечка конфиденциальных данных: если в отборе указаны конкретные суммы, контрагенты или периоды, другой пользователь с доступом к этому рабочему месту может их увидеть.
- 🗑️ Нагромождение устаревших записей: отборы за прошлые годы или по удалённым элементам справочников остаются в истории, мешая поиску актуальных.
- 🛠️ Ошибки при обновлении: в редких случаях повреждённые записи истории могут вызывать сбои при открытии форм.
Рекомендуемая частота очистки:
- 🏢 Для бухгалтеров и финансовых служб: ежемесячно (особенно перед закрытием периода).
- 📦 Для складских работников: раз в квартал или при смене номенклатурной группы.
- 👨💼 Для кадровых специалистов: перед уходом сотрудника или при работе с персональными данными.
Способ 1: Стандартная очистка через интерфейс пользователя
Самый простой метод — удаление ненужных записей непосредственно в форме отчёта или справочника. Он подходит для всех версий 1С 8.3 и 8.2 в файловом и клиент-серверном режимах, но имеет ограничение: очищаются только отборы текущего пользователя.
Инструкция:
- Откройте любой отчёт, обработку или справочник, где есть история отборов (например,
Отчёты → Оборотно-сальдовая ведомость). - Нажмите на поле отбора (обычно рядом с кнопкой
Ещё → История отборовили значком 🔍). - В выпадающем списке наведите курсор на ненужную запись и нажмите
Deleteили выберитеУдалитьв контекстном меню (правая кнопка мыши). - Для полной очистки повторите действие для всех записей.
⚠️ Внимание: В некоторых конфигурациях (например, 1С:ERP) история отборов может храниться в Пользовательских настройках. В этом случае после удаления требуется перезапуск сеанса, иначе записи вернутся.
Закройте все открытые отчёты и обработки|
Сделайте резервную копию базы (для клиент-серверного варианта)|
Проверьте права доступа (нужны права на изменение пользовательских настроек)|
Убедитесь, что никто другой не работает с этими формами-->
Способ 2: Очистка через «Пользовательские настройки»
Если стандартное удаление не сработало или история отборов хранится в пользовательском профиле, используйте этот метод. Он подходит для 1С:Предприятие 8.3 и требует прав администратора или доступа к Администрированию.
Пошаговая инструкция:
- Перейдите в
Администрирование → Пользователи и права → Пользовательские настройки(путь может отличаться в зависимости от конфигурации). - В списке найдите текущего пользователя и откройте его настройки.
- Перейдите на вкладку
Отчёты и обработкиилиИстория отборов(название зависит от версии). - Выделите все записи (сочетание клавиш
Ctrl+A) и нажмитеУдалить. - Сохраните изменения и перезапустите 1С.
| Конфигурация | Путь к пользовательским настройкам | Примечание |
|---|---|---|
| 1С:Бухгалтерия 3.0 | Администрирование → Настройки пользователей |
Требуются права «Администратор» |
| 1С:Управление торговлей 11 | Сервис → Пользовательские настройки |
Можно очистить только свои настройки |
| 1С:Зарплата и Управление Персоналом 3.1 | Настройки → Пользовательские данные |
История отборов хранится в разделе «Отчёты» |
| 1С:ERP 2.5 | Администрирование → Персональные настройки |
Очистка доступна только администратору |
💡 Полезный совет: Если в вашей конфигурации нет явного пункта «Пользовательские настройки», попробуйте найти его через поиск по меню (Ctrl+Shift+F в 8.3). Введите запрос «настройки пользователя» или «история».
Способ 3: Программная очистка через конфигуратор (для администраторов)
Для массового удаления истории отборов всех пользователей или если предыдущие методы не сработали, используйте Конфигуратор. Этот способ требует прав Администратор и подходит для 1С:Предприятие 8.3 (в 8.2 путь может отличаться).
Инструкция:
- Закройте все сеансы 1С (через
Администрирование → Активные пользователи). - Запустите Конфигуратор от имени администратора.
- Перейдите в
Администрирование → Поддержка и обслуживание → История отборов. - В открывшемся окне выберите базу данных и нажмите
Очистить историю. - Подтвердите действие и дождитесь завершения операции.
Для клиент-серверного варианта (например, 1С:SQL или PostgreSQL) путь будет другим:
Администрирование → Сервис → История отборов → Очистить для всех пользователей
⚠️ Внимание: В некоторых конфигурациях (например, 1С:Комплексная автоматизация 2.4) история отборов хранится в таблице _UserSettingsStorage базы данных. Очистка через конфигуратор в этом случае может не сработать — потребуется прямой SQL-запрос (см. следующий раздел).
Что делать, если конфигуратор не видит пункт"История отборов"?
В старых версиях платформы (8.2 и ранние 8.3) этот пункт может отсутствовать. Альтернатива:
1. Используйте обработку «Управление историей отборов» (есть в стандартных поставках некоторых конфигураций).
2. Обратитесь к партнёру 1С за специализированной обработкой.
3. Очистите историю вручную через SQL (описано ниже).
Способ 4: Очистка через SQL-запрос (для опытных пользователей)
Если история отборов хранится в базе данных (типично для клиент-серверных вариантов), её можно удалить прямым SQL-запросом. Этот метод требует осторожности и резервного копирования, так как неверный запрос может повредить данные.
Для 1С на MS SQL Server:
DELETE FROM [dbo].[_UserSettingsStorage]
WHERE [Key] LIKE'%Отборы%' OR [Key] LIKE'%HistoryFilter%'
Для 1С на PostgreSQL:
DELETE FROM"_user_settings_storage"
WHERE"key" ~*'Отборы|HistoryFilter';
🔹 Ключевые моменты:
- 🔧 Перед выполнением запроса обязательно сделайте бэкап базы.
- 📌 Точное название таблицы и поля
Keyможет отличаться (например, в 1С:УТ 10.3 используетсяUserParams). - 🔒 После очистки перезапустите сервер 1С:Предприятие.
В некоторых конфигурациях (например, 1С:ERP) история отборов хранится в таблице ConfigSave, а не в UserSettingsStorage. Перед выполнением запроса уточните структуру базы через SQL Management Studio или pgAdmin.
Способ 5: Автоматическая очистка через регламентные задания
Чтобы история отборов очищалась автоматически (например, раз в месяц), настройте регламентное задание. Это актуально для крупных компаний с большим числом пользователей.
Алгоритм настройки:
- В Конфигураторе перейдите в
Общие → Регламентные задания. - Создайте новое задание с типом
Очистка истории отборов(или добавьте обработку, если такого типа нет). - Установите расписание (рекомендуется:
Последний день месяца в 23:00). - В параметрах задания укажите:
Пользователи = ВсеПериод хранения = 30 дней (или другой срок)
Удалять без подтверждения = Да
- Сохраните и активируйте задание.
⚠️ Внимание: В 1С:Бухгалтерия 3.0 и УТ 11 стандартного регламентного задания для очистки истории нет. В этом случае потребуется:
- 🛠️ Создать внешнюю обработку (можно скачать с Инфостарта или 1С-Сообщества).
- 📤 Загрузить её в конфигурацию через
Файл → Открыть. - 🔄 Привязать к регламентному заданию вручную.
Особенности очистки в облачной версии 1С:Fresh
В 1С:Fresh возможности администратора ограничены, поэтому:
- ✅ Доступно: Удаление истории отборов через интерфейс пользователя (см. Способ 1).
- ❌ Недоступно: Очистка через конфигуратор, SQL-запросы или регламентные задания.
- 🔄 Обходной путь: Обратиться в поддержку 1С:Fresh с запросом на очистку (указывайте ID базы и список пользователей).
💡 Полезный совет: В 1С:Fresh история отборов автоматически очищается через 90 дней (по умолчанию). Чтобы ускорить процесс, можно вручную удалять ненужные записи раз в 1–2 недели.
В облачной версии 1С:Fresh нет доступа к конфигуратору и SQL, поэтому единственный надёжный способ очистки — ручное удаление через интерфейс или запрос в поддержку.
Частые ошибки и как их избежать
При очистке истории отборов пользователи сталкиваются с типичными проблемами:
| Ошибка | Причина | Решение |
|---|---|---|
| История возвращается после перезапуска | Настройки не сохранены или кэшированы | Очистите кэш 1С (%APPDATA%\1C\1Cv8) или перезагрузите ПК |
| Нет прав на удаление | Ограничения роли пользователя | Обратитесь к администратору за правами «Изменение пользовательских настроек» |
| Зависание при очистке через SQL | Блокировки таблиц другими сеансами | Закройте все сеансы 1С перед выполнением запроса |
| Не видно пункт «История отборов» в конфигураторе | Устаревшая версия платформы | Обновите 1С до 8.3.20+ или используйте SQL-метод |
⚠️ Внимание: Если после очистки история отборов стала пустой, но через день снова появились старые записи, проверьте:
- 🔄 Синхронизацию с другими базами (в распределённых информационных системах).
- 📥 Импорт настроек из резервных копий или шаблонов.
- 🤖 Автоматические обновления (некоторые конфигурации восстанавливают историю после обновления).
FAQ: Ответы на частые вопросы
Можно ли восстановить случайно удалённую историю отборов?
Да, если:
- 💾 У вас есть резервная копия базы (восстановите её через конфигуратор).
- 🔙 История хранится в
UserSettingsStorage— можно откатить транзакцию в SQL (требуются навыки администрирования).
Если копии нет, восстановление невозможно — история отборов неная и не архивируется автоматически.
Почему в 1С:Бухгалтерия 2.0 нет пункта «Очистить историю»?
В старых версиях (до 8.3.6) история отборов хранилась в файле 1Cv8.1CD и очищалась только:
- 🧹 При сжатии базы (
Администрирование → Тестирование и исправление). - 🗑️ При ручном удалении через
Пользовательские настройки(путь может отличаться).
Для полной очистки рекомендуется обновить платформу до актуальной версии.
Как запретить сохранение истории отборов вообще?
Это можно сделать:
- Через Конфигуратор: отключите параметр
Сохранять историю отборовв настройках формы отчёта (требуется доступ к конфигурации). - Через групповую политику (для клиент-серверного варианта): добавьте параметр
DisableHistoryFilters=1в файл1cv8.ini.
⚠️ После этого история перестанет сохраняться для всех пользователей.
Очистка истории влияет на производительность?
Да, но эффект зависит от размера базы:
- 📉 В небольших базах (до 1 ГБ) прирост скорости минимален.
- 🚀 В крупных базах (10+ ГБ) с тысячами записей история отборов может замедлять открытие форм на 10–30%.
Рекомендуется очищать историю вместе с реиндексацией таблиц и тестированием базы для максимального эффекта.
Можно ли очистить историю отборов только для одного отчёта?
Да, двумя способами:
- Через интерфейс отчёта: откройте нужный отчёт →
Ещё → История отборов→ удалите ненужные записи. - Через Конфигуратор: найдите форму отчёта в дереве метаданных, откройте её свойства и вручную очистите коллекцию
HistoryFilters.
💡 Совет: В 1С:УТ 11 и ERP 2.5 можно использовать обработку «Управление историей отборов» для выборочной очистки.