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

В этой статье вы найдёте актуальные способы очистки истории в 1С для всех типовых конфигураций (Бухгалтерия, ЗУП, Управление Торговлей, ERP), включая скрытые настройки, которые не описаны в стандартной документации. Мы разберёмся, какие данные можно удалять без риска, а какие трогать категорически нельзя — даже если они занимают гигабайты места. Отдельное внимание уделим безопасным методам, которые не потребуют вмешательства программиста.

📊 Какую конфигурацию 1С вы используете?
Бухгалтерия 3.0
Зарплата и Управление Персоналом
Управление Торговлей 11
ERP 2.0
Другая

Почему нельзя просто удалить историю вручную

Многие пользователи пытаются очистить историю через стандартный интерфейс Все функции → Очистка данных, но сталкиваются с ошибками вроде "Нарушена ссылочная целостность" или "Документ используется в регистрах". Дело в том, что 1С хранит связи между объектами не только в видимых таблицах, но и в служебных регистрах.

Например, если вы удалите историю движения товара за 2020 год, то:

  • 📊 Отчёты (например, Оборотно-сальдовая ведомость) перестанут отображать данные за этот период.
  • 🔗 Связанные документы (счёта, накладные, платежки) могут "потерять" ссылки на первичные операции.
  • 🛑 Регламентные операции (например, закрытие месяца) будут выдавать ошибки при повторном выполнении.

Более того, в конфигурациях с версионностью (например, 1С:ERP) история изменений документов хранится в отдельных таблицах, и её удаление может привести к невозможности восстановления прежних версий.

⚠️ Внимание: Если ваша база работает в файловом варианте (не на SQL-сервере), очистка больших объёмов истории может занять несколько часов и заблокировать работу других пользователей. Планируйте процедуру на нерабочее время.

Способ 1: Стандартная очистка через "Все функции"

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

Инструкция:

  1. Откройте меню Все функции (если его нет, включите в настройках интерфейса).
  2. Перейдите в раздел Очистка данных или Администрирование → Очистка истории.
  3. Укажите период (например, с 01.01.2020 по 31.12.2020) и типы объектов (документы, регистры сведений и т.д.).
  4. Нажмите Выполнить и дождитесь завершения операции.

Ограничения метода:

  • ❌ Не удаляет данные из журналов регистрации (они хранятся отдельно).
  • ❌ Не работает с помеченными на удаление объектами — их нужно сначала физически удалить.
  • ❌ В некоторых конфигурациях (например, 1С:ЗУП) требует прав администратора.

Создайте резервную копию базы|Закройте все сеансы пользователей|Проверьте, что нет незавершённых регламентных операций|Убедитесь, что период очистки не пересекается с текущим расчётным месяцем-->

Конфигурация Поддерживает стандартную очистку Ограничения
1С:Бухгалтерия 3.0 Да Не удаляет движения по регистрам бухгалтерии старше 5 лет
1С:ЗУП 3.1 Да (только для кадровых документов) Требует ручного подтверждения для каждого типа данных
1С:Управление Торговлей 11 Да Не очищает историю цен и скидок
1С:ERP 2.4 Частично Не удаляет данные из подсистемы Бюджетирование

Способ 2: Очистка через обработку "Удаление помеченных объектов"

Если стандартный метод не сработал, можно использовать встроенную обработку Удаление помеченных объектов.epf. Она позволяет удалить данные, которые уже помечены на удаление, но физически ещё хранятся в базе.

Как это работает:

  1. Сначала пометьте ненужные документы на удаление (через журнал или отчёт Поиск и замена).
  2. Запустите обработку: Файл → Открыть → [папка с шаблонами 1С] → Удаление помеченных объектов.epf.
  3. Выберите параметры:
    Удалять помеченные объекты = Да
    

    Удалять движения = Да

    Режим удаления = Полный (для полной очистки)

  4. Нажмите Выполнить и дождитесь завершения.

Преимущества метода:

  • 🔄 Работает даже с "зависшими" объектами, которые не удаляются стандартными средствами.
  • 📂 Очищает связанные движения в регистрах (если включена опция).
  • 🛡️ Меньше риск нарушить ссылочную целостность, чем при ручном SQL-запросе.
⚠️ Внимание: В конфигурациях с распределённой базой данных (например, 1С:УНФ) эта обработка может не удалить данные из удалённых узлов. Для полной очистки потребуется синхронизация.
Что делать, если обработка зависла?

Если процесс удаления застопорился на одном объекте более 30 минут:

1. Прервите выполнение (кнопка "Отмена").

2. Проверьте журнал регистрации на ошибки (раздел "Администрирование → Журнал регистрации").

3. Попробуйте удалить проблемный объект вручную через консоль запросов (см. Способ 4).

4. Если не помогает — восстановите базу из резервной копии и повторите очистку меньшими порциями (например, по кварталам).

Способ 3: Ручное удаление через консоль запросов (для опытных пользователей)

Этот метод требует знания языка 1С:Запросы и подходит для удаления конкретных типов данных, которые не очищаются стандартными способами. Например, так можно удалить:

  • 📋 Старые записи из Регистра сведений (например, курсы валют за 2015 год).
  • 🗑️ Устаревшие данные из Журналов регистрации (логи действий пользователей).
  • 📦 Движения по регистрам накопления, которые не используются в текущих расчётах.

Пример запроса для удаления движений по регистру ТоварыНаСкладах за 2019 год:

Удалить Из

РегистрНакопления.ТоварыНаСкладах

Где

Период Между '2019-01-01' И '2019-12-31';

Предупреждения:

  • ⚠️ Всегда делайте резервную копию перед выполнением массовых удалений.
  • ⚠️ Проверяйте запросы на тестовой базе — ошибка в условии может удалить все данные.
  • ⚠️ Некоторые регистры (например, БухгалтерскийУчет) защищены от прямого удаления.
💡

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

Способ 4: Очистка журналов регистрации (скрытая история)

Журналы регистрации — это "чёрный ящик" 1С, куда записываются все действия пользователей: входы в систему, изменения документов, ошибки и даже неудачные попытки печати. Эти данные могут занимать десятки гигабайт, но не отображаются в стандартных отчётах.

Как очистить:

  1. Перейдите в Администрирование → Журнал регистрации.
  2. Откройте настройки журнала (кнопка Ещё → Настройка).
  3. Установите флаги:
    Удалять записи старше = 365 дней
    

    Максимальный размер журнала = 1000 Мб (или другой лимит)

  4. Нажмите Очистить и подтвердите действие.

Особенности:

  • 🔍 По умолчанию журнал хранит данные 1 год, но в некоторых конфигурациях (например, 1С:ERP) этот срок увеличен до 3 лет.
  • 📊 Очистка не влияет на работоспособность базы, но лишает возможности аудита действий пользователей.
  • 🔄 В клиент-серверном варианте журнал хранится на сервере, и его очистка требует прав администратора SQL.
⚠️ Внимание: В облачных версиях 1С (1С:Фреш) настройки журнала регистрации могут быть ограничены провайдером. Обратитесь в поддержку, если не находите опцию очистки.

Способ 5: Полный сброс истории через выгрузку/загрузку данных (крайний случай)

Если база сильно замусорена, а стандартные методы не помогают, можно применить радикальный способ: выгрузить актуальные данные в новый файл, а затем загрузить их обратно. Это фактически создаст "чистую" базу без истории.

Пошаговая инструкция:

  1. Создайте новую пустую базу той же конфигурации и версии.
  2. В старой базе через Администрирование → Выгрузка данных выгрузите только актуальные документы (например, за последний год).
  3. В новой базе загрузите эти данные через Администрирование → Загрузка данных.
  4. Проверьте целостность связей (отчёт Контроль ссылочной целостности).

Риски метода:

  • 🔗 Может разорвать связи между документами, если не выгрузить все зависимые объекты.
  • 📈 Потеряются все настройки пользователей (права, интерфейсы, отчёты).
  • 🛠️ Потребуется перенастройка интеграций (обмен с сайтом, банк-клиент и т.д.).
💡

Этот метод оправдан только для баз с критическим объёмом истории (100+ Гб), когда другие способы не работают. В остальных случаях используйте частичную очистку.

Чего нельзя делать при очистке истории в 1С

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

  • 🚫 Удаления данных напрямую через SQL (например, командой TRUNCATE TABLE). Это нарушает логику работы 1С и может сделать базу неработоспособной.
  • 🚫 Очистки регистров бухгалтерии за закрытые периоды — это приведёт к расхождению итогов.
  • 🚫 Удаления помеченных объектов без предварительной проверки. Некоторые документы могут быть связаны с текущими операциями.
  • 🚫 Использования сторонних утилит для очистки без тестирования на копии базы.

Также не рекомендуется:

  • 🔄 Очищать историю в рабочее время — это заблокирует базу для других пользователей.
  • 📅 Удалять данные за текущий расчётный период (например, если сейчас июнь 2026, не очищайте май 2026).
  • 🛠️ Менять настройки версионности в конфигураторе без понимания последствий.
⚠️ Внимание: В конфигурациях с блокировкой периодов (например, 1С:Бухгалтерия) попытка очистки закрытого периода может привести к ошибке "Период заблокирован для изменений". Сначала снимите блокировку в настройках учётной политики.

FAQ: Частые вопросы об очистке истории в 1С

Можно ли очистить историю только по одному контрагенту?

Да, но стандартными средствами это сделать сложно. Лучше использовать консоль запросов с фильтром по контрагенту:

Удалить Из

Документ.РеализацияТоваровУслуг

Где

Контрагент = &КонтрагентИД

И Дата Между &ДатаНачала И &ДатаОкончания;

Где &КонтрагентИД — ссылка на нужного контрагента, а &ДатаНачала/&ДатаОкончания — период очистки.

После очистки пропали данные в отчётах. Как восстановить?

Если очистка задела регистры, используемые в отчётах, попробуйте:

  1. Восстановить базу из резервной копии (если она есть).
  2. Перепровести документы за очищенный период (кнопка Провести в журнале).
  3. Выполнить регламентное задание Закрытие месяца заново.

Если ничего не помогает — обратитесь к программисту для восстановления движений через технологический журнал (если он вёл запись).

Как очистить историю изменений документов (версии)?

В конфигурациях с версионностью (например, 1С:ERP или 1С:Документооборот) история изменений хранится в регистре ВерсииОбъектов. Для очистки:

  1. Откройте консоль запросов.
  2. Выполните запрос:
    Удалить Из
    

    РегистрСведений.ВерсииОбъектов

    Где

    ДатаСоздания < &ГраничнаяДата;

Где &ГраничнаяДата — дата, до которой нужно удалить версии (например, '2023-01-01').

Сколько места освободится после очистки?

Объём освобождённого места зависит от:

  • 📊 Типа данных: движения по регистрам занимают больше места, чем сами документы.
  • 🗓️ Периода: история за 5 лет может весить 50+ Гб, а за 1 год — 5–10 Гб.
  • 📂 Конфигурации: в 1С:ERP данные занимают больше места, чем в 1С:Бухгалтерии.

Чтобы оценить объём, перед очисткой запустите отчёт Анализ использования дискового пространства (если он есть в вашей конфигурации).

Нужно ли очищать историю в облачной 1С (1С:Фреш)?

В 1С:Фреш очистка истории не требуется — провайдер автоматически архивирует старые данные и оптимизирует производительность. Однако:

  • 🔍 Вы можете скрыть устаревшие данные в настройках отчётов (фильтр по дате).
  • 📊 Для аналитики используйте отчёты с ограничением по периоду.
  • 🛠️ Если нужна полная очистка — обратитесь в поддержку 1С:Фреш (самостоятельно это сделать нельзя).