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

В этой статье мы разберём 5 безопасных способов очистки, включая ручное удаление, специализированные обработки, выгрузку-загрузку данных и даже программные решения для автоматизации. Особое внимание уделим скрытым рискам, о которых не пишут в стандартных инструкциях — например, как очистка влияет на регистры накопления или последовательность нумерации документов. Также вы узнаете, какие операции можно выполнить самостоятельно, а когда лучше привлечь 1С-специалиста.

1. Подготовка к очистке: резервное копирование и анализ данных

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

  • 📁 Файловый вариант: копируйте папку с базой (обычно это C:\Program Files\1Cv8\БАЗА_ИМЯ) вручную или через Администрирование → Выгрузить информационную базу.
  • 🖥️ Клиент-серверный вариант: используйте Администрирование → Резервное копирование или настройте автоматическое резервирование через SQL Server Management Studio.
  • Облачные решения: в 1С:Fresh или 1С:ГISPRU резервирование выполняется автоматически, но перед массовыми изменениями лучше создать точку восстановления вручную.

После резервирования проанализируйте структуру данных. Определите:

  • 📊 Какие документы подлежат удалению (например, только за 2020 год или все реализации конкретного контрагента).
  • 🔗 Связанные объекты: удаление документа может повлиять на регистры бухгалтерии, отчёты или даже справочники (например, номенклатуру).
  • 🔢 Последовательность нумерации: если удалить документы посередине, могут возникнуть пробелы в номерах.
⚠️ Внимание: В конфигурациях с включённым механизмом версионирования данных (например, 1С:ERP или 1С:Управление холдингом) удаление документов может заблокировать историю изменений. Перед очисткой проверьте настройки версиирования в Администрирование → Поддержка и обслуживание → Версионирование данных.
📊 Как часто вы очищаете базу 1С от старых документов?
Раз в год
Раз в квартал
Только при необходимости
Никогда не очищал

2. Ручное удаление документов: пошаговая инструкция

Самый простой, но и самый рискованный способ — удаление документов вручную через интерфейс программы. Этот метод подходит для небольших баз или выборочной очистки. Алгоритм действий:

  1. Откройте нужный журнал документов (например, Продажи → Реализация товаров и услуг).

  2. Установите фильтр по дате, контрагенту или другому признаку (кнопка Ещё → Настройка списка).

  3. Выделите документы (можно использовать Ctrl+A для выделения всех) и нажмите Удалить (или Пометить на удаление, если требуется предварительный просмотр).

  4. Подтвердите удаление и выполните Операции → Проведение документов, если требуется перепровести связанные операции.

Для ускорения процесса используйте групповое удаление:

  • 🔍 Поиск по реквизитам: в строке поиска введите, например, Дата >= 01.01.2020 И Дата <= 31.12.2020.
  • 📋 Отбор по статусу: удаляйте только Проведённые или Непроведённые документы, чтобы избежать конфликтов.
  • 🔄 Пакетная обработка: в 1С:Управление торговлей есть обработка Групповое изменение реквизитов, которая позволяет массово помечать документы на удаление.
⚠️ Внимание: Ручное удаление не очищает регистры накопления и регистры бухгалтерии. После массового удаления документов обязательно выполните Операции → Тестирование и исправление с галочкой Перепроведение документов.

Проверить права доступа (полный доступ к документу)

Создать резервную копию базы

Уточнить список документов для удаления

Отключить пользователей от базы (через конфигуратор)

Проверить наличие связанных объектов (счета, платежки)-->

3. Использование обработок для массовой очистки

Для крупных баз с тысячами документов ручное удаление неэффективно. В этом случае помогают специальные обработки, которые автоматизируют процесс. Самые популярные решения:

Обработка Назначение Поддерживаемые конфигурации Особенности
Универсальная обработка удаления документов Массовое удаление по фильтрам (дата, вид документа, организация) 1С:Бухгалтерия, 1С:УТ, 1С:ERP Требует доработки для нетиповых конфигураций
Очистка базы данных (от 1С) Удаление помеченных объектов и сжатие таблиц Все конфигурации на платформе 8.3 Работает только с помеченными на удаление объектами
Удаление данных по периодам Очистка документов и движений за выбранный период 1С:Бухгалтерия, 1С:ЗУП Сохраняет справочники и остатки на начало периода
Стандартная обработка "Поиск и замена" Поиск документов по реквизитам и массовое удаление Любые конфигурации Медленная работа на больших базах

Пример использования Универсальной обработки удаления документов:

  1. Скачайте обработку с сайта its.1c.ru или infostart.ru (проверьте совместимость с вашей версией платформы!).

  2. Откройте её в режиме 1С:Предприятие через Файл → Открыть.

  3. Настройте фильтры: выберите тип документа (например, Поступление товаров), период и организацию.

  4. Запустите предварительный просмотр, чтобы убедиться в корректности отбора.

  5. Нажмите Удалить и дождитесь завершения операции.

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

  • 📅 Удаляйте документы помесячно, а не за весь год сразу.
  • 🏢 Разделите по организациям, если в базе ведётся учёт нескольких юрлиц.
  • 📦 Используйте фоновую обработку (галочка Выполнять в фоновом режиме), чтобы не блокировать работу пользователей.
💡

Перед массовым удалением экспортируйте список документов в Excel через Файл → Сохранить как.... Это поможет восстановить данные, если что-то пойдёт не так.

4. Выгрузка и загрузка данных: радикальный метод

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

Алгоритм действий:

  1. Создайте новую пустую базу с той же конфигурацией (через Конфигуратор → Администрирование → Новая информационная база).

  2. В старой базе через Администрирование → Выгрузка данных сохраните справочники (контрагенты, номенклатура, сотрудники) и документы за актуальный период.

  3. В новой базе выполните Администрирование → Загрузка данных.

  4. Проверьте целостность данных и при необходимости донастройте права пользователей.

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

  • 🧹 Полная очистка от "мусора" (удаленные объекты, временные таблицы).
  • 🚀 Увеличение скорости работы базы за счёт оптимизации структуры.
  • 🔒 Возможность исключить чувствительные данные (например, зарплаты прошлых лет).

Недостатки:

  • ⏳ Длительный процесс для крупных баз (может занять несколько часов).
  • 🔗 Риск потери связей между объектами (например, если не выгрузить справочник Договоры контрагентов, реализации не привяжутся к правильным договорам).
  • 📉 Требует глубокого понимания структуры данных.
⚠️ Внимание: При выгрузке-загрузке в 1С:Зарплата и управление персоналом могут сбиться настройки графика работы и начислений. После переноса данных обязательно проверьте корректность расчёта зарплаты за текущий месяц.
Что делать, если после загрузки данных не работают отчёты?

Если после переноса данных отчёты (например, Оборотно-сальдовая ведомость или Анализ субконто) выдают ошибки, причиной может быть:

1. Несовпадение версий конфигураций (старая и новая база имеют разные релизы).

2. Отсутствие начальных остатков — если не выгрузили остатки на дату начала ведения учёта в новой базе.

3. Повреждение индексов — выполните Тестирование и исправление с пересозданием индексов.

Для устранения проблемы проверьте журнал регистрации (Администрирование → Журнал регистрации) на наличие ошибок и при необходимости восстановите данные из резервной копии.

5. Очистка через SQL-запросы: для опытных пользователей

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

Пример запроса для удаления всех документов РеализацияТоваровУслуг за 2020 год в 1С:Управление торговлей 11:

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

WHERE Дата BETWEEN '2020-01-01' AND '2020-12-31'

Однако такой подход не удаляет движения документов в регистрах! Для полной очистки потребуется комплекс запросов:

  1. Удаление движений из регистров накопления:

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

    WHERE Регистратор IN (

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

    WHERE Дата BETWEEN '2020-01-01' AND '2020-12-31'

    )

  2. Удаление проводок из регистра бухгалтерии:

    DELETE FROM РегистрБухгалтерии.Хозрасчетный
    

    WHERE Регистратор IN (

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

    WHERE Дата BETWEEN '2020-01-01' AND '2020-12-31'

    )

  3. Удаление самих документов (последний шаг!):

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

    WHERE Дата BETWEEN '2020-01-01' AND '2020-12-31'

Важные нюансы:

  • 🔑 Для выполнения запросов нужен прямой доступ к SQL-серверу (например, через SQL Server Management Studio).
  • 🔄 После удаления обязательно выполните Тестирование и исправление с пересчётом итогов.
  • 📊 Перед массовым удалением проверьте количество записей командой SELECT COUNT(*) FROM Документ.РеализацияТоваровУслуг WHERE Дата BETWEEN '2020-01-01' AND '2020-12-31'.
⚠️ Внимание: В конфигурациях с управляемыми блокировками (например, 1С:ERP 2.5) прямой SQL-запрос может нарушить целостность транзакций. Перед использованием этого метода отключите всех пользователей и переведите базу в монопольный режим.
💡

SQL-запросы — самый быстрый способ очистки, но требует глубоких знаний структуры базы 1С. Ошибка в запросе может привести к потере всех данных без возможности восстановления.

6. Автоматизированные решения: сторонние программы

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

  • 🛠️ 1С:Утилиты — набор инструментов для администрирования, включая модуль очистки.
  • 🧹 Clean1C — программа для удаления помеченных объектов и оптимизации базы.
  • 🔍 DBF Recovery — утилита для восстановления и очистки повреждённых баз (актуальна для файлового варианта).
  • 📦 1С:Перенос данных — позволяет выборочно перенести данные в новую базу, исключив ненужные документы.

Пример работы с 1С:Утилитами:

  1. Установите программу и подключитесь к базе через Файл → Подключиться к информационной базе.

  2. Выберите модуль Очистка базы данных.

  3. Настройте фильтры: укажите период, типы документов и дополнительные параметры (например, Удалять движения по регистрам).

  4. Запустите процесс и дождитесь отчёта. Программа автоматически создаст лог-файл с перечнем удалённых объектов.

Преимущества автоматизированных решений:

  • Скорость: обработка крупных баз занимает минуты вместо часов.
  • 🛡️ Безопасность: программы проверяют целостность данных перед удалением.
  • 📊 Отчётность: формируются подробные логи, которые можно использовать для аудита.

Недостатки:

  • 💰 Стоимость: большинство утилит платные (цена от 5 000 до 30 000 рублей).
  • 🔧 Настройка: требуется время на изучение интерфейса и параметров.
💡

Перед покупкой утилиты проверьте, поддерживает ли она вашу версию 1С. Например, Clean1C не работает с конфигурациями на управляемых формах старше 8.3.15.

7. Очистка без потери нумерации и связей

Одна из главных проблем при удалении документов — разрывы в нумерации и потеря связей с другими объектами. Например, если удалить Заказ покупателя, то связанная с ним Реализация может "повиснуть" без родительского документа.

Чтобы избежать этого, используйте следующие приёмы:

  • 🔢 Перенумерация документов: после очистки запустите обработку Перенумерация документов (доступна в 1С:Бухгалтерии и 1С:УТ).
  • 🔗 Сохранение связей: перед удалением экспортируйте данные о связях в Excel, а после очистки восстановите их вручную.
  • 📝 Использование пометки на удаление: вместо полного удаления помечайте документы на удаление, а затем архивируйте их в отдельную базу.

Пример перенумерации в 1С:Бухгалтерия 3.0:

  1. Откройте Администрирование → Обслуживание → Перенумерация документов.

  2. Выберите тип документа (например, Счёт-фактура выданный).

  3. Укажите период и нажмите Выполнить.

  4. Проверьте нумерацию в журнале документов.

Для восстановления связей между документами можно использовать обработку "Поиск и замена ссылок":

  1. Скачайте обработку с infostart.ru.

  2. Загрузите в неё файл с соответствиями старых и новых ссылок (например, СтарыйЗаказ → НовыйЗаказ).

  3. Запустите замену и проверьте корректность связей.

⚠️ Внимание: В конфигурациях с иерархической нумерацией (например, 1С:Документооборот) перенумерация может нарушить структуру папок. Перед запуском обработки проверьте настройки нумерации в Администрирование → Настройки программы → Нумерация документов.

8. Проверка результатов и оптимизация базы

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

Минимальный набор действий:

  1. Запустите Тестирование и исправление через конфигуратор (Администрирование → Тестирование и исправление).

  2. Выберите опции:

    • 🔍 Проверка логической целостности
    • 🔄 Проверка ссылочной целостности
    • 📊 Пересчёт итогов
    • 🗑️ Сжатие таблиц (для файлового варианта)
  • Дождитесь завершения и исправьте найденные ошибки.

  • Дополнительные рекомендации:

    • 📈 Проверьте отчёты: сформируйте Оборотно-сальдовую ведомость и Анализ счетов за период до и после очистки. Сравните итоги.
    • 👥 Тестирование ролей: убедитесь, что у пользователей не сбились права доступа (особенно если очищались справочники Пользователи или Роли).
    • 🔌 Обновление конфигурации: если база давно не обновлялась, после очистки установите последние релизы.

    Для клиент-серверного варианта дополнительно выполните:

    -- Проверка индексов (для Microsoft SQL Server)
    

    DBCC CHECKDB ([ИмяБазыДанных]) WITH NO_INFOMSGS, ALL_ERRORMSGS;

    DBCC INDEXDEFRAG ([ИмяБазыДанных], [ИмяТаблицы], [ИмяИндекса]);

    Если после очистки база работает медленнее, чем до неё, причиной может быть:

    • 🗃️ Фрагментация таблиц — выполните дефрагментацию через SQL Server Management Studio.
    • 📉 Недостаток статистики — обновите статистику запросов:
    EXEC sp_updatestats;
    💡

    Оптимизация базы после очистки увеличивает скорость работы на 20-40%. Не пропускайте этот шаг, даже если база кажется "лёгкой"!

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

    ❓ Можно ли удалить документы за прошлый год, если текущий уже закрыт?

    Да, но с осторожностью. Если документы прошлого года влияют на остатки (например, Поступление товаров или Оплата от покупателя), их удаление приведёт к расхождению итогов. В этом случае:

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

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

    ❓ Как очистить базу от тестовых документов?

    Тестовые документы обычно имеют признак ПометкаУдаления = Истина или содержат в номере/комментарии слово "Тест". Для их удаления:

    1. Используйте обработку Универсальная очистка с фильтром по реквизиту Комментарий (указав "Тест").
    2. Или выполните SQL-запрос:
    DELETE FROM Документ.РеализацияТоваровУслуг
    

    WHERE Комментарий LIKE '%Тест%' OR Номер LIKE '%Тест%'

    После удаления проверьте journal регистрации на наличие ошибок.

    ❓ Что делать, если после очистки не открываются отчёты?

    Причина обычно в нарушении целостности регистров. Попробуйте:

    1. Выполнить Тестирование и исправление с галочкой Пересчёт итогов.
    2. Обновить конфигурацию до последнего релиза.
    3. Если ошибка остаётся — восстановите базу из резервной копии и повторите очистку с другими параметрами.

    Для 1С:Бухгалтерии дополнительно проверьте настройки функциональных опций (Главное → Настройки → Функциональность).

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

    В файловом варианте — нет, так как база блокируется на время изменений. В клиент-серверном варианте:

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

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

    ❓ Как очистить базу от документов конкретного пользователя?

    Для этого:

    1. Найдите Ид пользователя в справочнике Пользователи.
    2. Используйте обработку с фильтром по полю Пользователь (в большинстве документов оно называется Ответственный или Автор).
    3. Или выполните SQL-запрос:
    DELETE FROM Документ.ЗаказПокупателя
    

    WHERE Ответственный = 'ИдПользователя'

    Учтите, что это удалит все документы пользователя, включая актуальные. Рекомендуется предварительно экспортировать список документов в Excel.