Работа с 1С:Предприятие иногда требует кардинальных мер — полной очистки базы данных. Это может понадобиться при тестировании новых конфигураций, переносе на чистую платформу или устранении критических ошибок, вызванных накоплением "мусорных" записей. Однако процедура удаления всех данных в 1С имеет свои особенности: неправильные действия могут привести к потере важной информации, нарушению целостности базы или даже невозможности её дальнейшего использования.
В этой статье мы разберём все доступные способы полной очистки — от стандартных инструментов платформы до ручных методов для опытных администраторов. Особое внимание уделим скрытым зависимостям между объектами конфигурации, которые могут блокировать удаление, и расскажем, как обойти типичные ошибки типа "Объект используется в документе X" или "Невозможно удалить, так как есть ссылки". Материал актуален для 1С:Предприятие 8.3 (включая последние релизы 2026 года) и большинства типовых конфигураций: Бухгалтерия 3.0, Управление торговлей 11, Зарплата и управление персоналом 3.1.
1. Подготовка к очистке: резервное копирование и анализ зависимостей
Прежде чем приступать к удалению данных, необходимо выполнить два критически важных шага: создать резервную копию базы и проанализировать структуру хранения данных. Без этого вы рискуете потерять не только текущие документы, но и настройки обмена, права доступа и даже конфигурацию формы отчётов.
Для резервирования используйте:
- 📁 Средства 1С:
Администрирование → Выгрузить информационную базу(файловый вариант) илиСервис → Архивные копии(для SQL-версий). - 💾 Внешние инструменты: SQL Server Management Studio (для MS SQL) или pgAdmin (для PostgreSQL) — если база работает на серверной СУБД.
- ☁️ Облачные решения: автоматические бэкапы в 1С:Fresh или 1С:ГISPRU (если используете облачную версию).
Перед выгрузкой проверьте размер будущего архива. Если база весит более 10 ГБ, используйте инструменты сжатия типа 7-Zip с алгоритмом LZMA2 — это ускорит процесс резервирования в 2-3 раза.
Особое внимание уделите анализу зависимостей между объектами. Например, в Управлении торговлей нельзя просто удалить все ДокументыПоступления, если они связаны с:
- 📦 Заказами поставщикам (через реквизит
Основание) - 💰 Платёжными поручениями (ссылки в
ДвиженияДенежныхСредств) - 📊 Отчётами о продажах (агрегированные данные в регистрах накопления)
2. Стандартные методы очистки: что предлагает платформа 1С
Платформа 1С:Предприятие 8.3 включает несколько встроенных механизмов для удаления данных, которые можно использовать без программирования. Их основное преимущество — сохранение целостности конфигурации и минимальный риск ошибок.
2.1. Очистка через "Удаление помеченных объектов"
Самый простой способ — использовать механизм пометки на удаление:
- Перейдите в
Все функции → Операции → Удаление помеченных объектов. - В открывшемся окне нажмите
Пометить все объекты на удаление(или выберите конкретные типы: документы, справочники и т.д.). - Подтвердите действие и дождитесь завершения процесса.
Этот метод подходит для небольших баз (до 50 000 документов), но имеет ограничения:
- ❌ Не удаляет регистры сведений и регистры накопления автоматически.
- ❌ Может завершиться ошибкой, если есть блокирующие ссылки (например, документ используется в отчёте).
- ❌ Не очищает журналы изменений и историю версий.
2.2. Использование обработки "Очистка данных"
Для типовых конфигураций (Бухгалтерия 3.0, ЗУП 3.1) фирма 1С выпускает специализированные обработки. Например, обработка ОчисткаДанных.epf позволяет:
- 🗑️ Удалить документы за выбранный период.
- 🧹 Очистить остатки по счётам бухгалтерского учёта.
- 🔄 Сбросить нумерацию документов.
Скачать обработку можно:
- 🌐 На сайте users.v8.1c.ru (раздел "Обработки для типовых конфигураций").
- 📂 В комплекте поставки 1С (папка
ExtForms).
☑️ Подготовка к очистке через обработку
3. Ручное удаление данных: SQL-запросы и консольные команды
Если стандартные методы не подходят (например, из-за большого объёма данных или специфической структуры базы), можно использовать прямые SQL-запросы или консольные команды. Этот способ требует знаний языка запросов и структуры СУБД, но позволяет очистить базу максимально быстро и избирательно.
3.1. Очистка через SQL (для серверных баз)
Для баз на Microsoft SQL Server или PostgreSQL можно выполнить следующие запросы:
-- Удаление всех документов (пример для Бухгалтерии 3.0)
DELETE FROM _Document123; -- где 123 — внутренний идентификатор типа документа
GO
-- Очистка регистров накопления
TRUNCATE TABLE _AccumRg1234;
GO
-- Сброс счётчиков последовательностей
DBCC CHECKIDENT ('_Document123', RESEED, 0);
GO
Важно учитывать:
- 🔗 Внешние ключи: перед удалением отключите проверку ссылочной целостности командой
EXEC sp_MSforeachtable "ALTER TABLE ? NOCHECK CONSTRAINT ALL"(для MS SQL). - 🗃️ Системные таблицы: не трогайте таблицы с префиксом
_1S— они содержат метаданные конфигурации. - 🔄 Транзакции: оберните запросы в
BEGIN TRANSACTIONиCOMMIT, чтобы иметь возможность откатиться при ошибке.
Что будет если удалить таблицу _Config?
Таблица _Config хранит метаданные конфигурации. Её удаление приведёт к полной потере структуры базы — 1С перестанет открывать файлы, даже если данные документов останутся. Восстановить конфигурацию можно только из резервной копии или шаблона (.cf).
3.2. Очистка файловой базы через консоль
Для файловых баз (.1CD) можно использовать утилиту chdbfl.exe, которая входит в комплект поставки 1С. Пример команды для полного сброса:
chdbfl.exe /F "C:\Bases\MyBase.1CD" /ClearAll
Ключи утилиты:
| Ключ | Описание |
|---|---|
/ClearAll | Полная очистка всех данных (кроме конфигурации) |
/ClearData | Удаление только пользовательских данных (сохраняются настройки) |
/ReIndex | Переиндексация базы (полезно после массового удаления) |
/TestAndRepair | Проверка и восстановление целостности |
Утилита chdbfl.exe работает только с файловой версией базы. Для SQL-вариантов используйте средства СУБД или специализированные обработки.
4. Очистка конкретных объектов: справочники, документы, регистры
Часто требуется удалить не всё подряд, а только определённые типы данных. Рассмотрим, как это сделать для ключевых объектов 1С:Предприятие.
4.1. Удаление всех справочников
Для очистки справочников (например, Номенклатура, Контрагенты) используйте:
- Откройте справочник в режиме
Все функции. - Нажмите
Ещё → Удалить помеченные. - В диалоговом окне выберите
Пометить все элементы.
Если справочник иерархический (например, Подразделения), сначала удалите подчинённые элементы, иначе система выдаст ошибку:
⚠️ Внимание: При удалении иерархического справочника "сквозным" методом (сверху вниз) 1С может зависнуть на этапе проверки ссылок. Используйте рекурсивное удаление через запрос:ВЫБРАТЬ ССЫЛКА КАК Объект ИЗ Справочник.Подразделения КАК СправочникУПОРЯДОЧИТЬ ПО Ссылка.Родитель УБЫВ
4.2. Очистка документов с учётом движений
Документы в 1С связаны с движениями по регистрам. Простое удаление через интерфейс может оставить "мусор" в регистрах накопления или бухгалтерии. Чтобы очистить всё корректно:
- Откройте журнал документов (
Операции → Журналы документов).- Выделите все документы (
Ctrl+A) и нажмитеПометить на удаление.- Запустите обработку
Удаление помеченных объектовс флагом "Удалять движения".Для Бухгалтерии 3.0 после удаления документов необходимо:
- 📉 Перепровести остатки через
Операции → Закрытие периода → Перепроведение документов.- 🔢 Сбросить нумерацию в
Администрирование → Нумерация документов.5. Особенности очистки для разных конфигураций
Каждая типовая конфигурация имеет уникальные объекты, которые требуют специального подхода при удалении. Рассмотрим нюансы для популярных решений.
5.1. 1С:Бухгалтерия 3.0
В бухгалтерских базах главная сложность — связь документов с проводками. При очистке:
- 💳 Сначала удаляйте банковские выписки и платежные поручения — они блокируют удаление связанных документов.
- 📑 Регламентные операции (например,
Закрытие месяца) удаляйте в последнюю очередь.- 📊 Для очистки регистров бухгалтерии используйте обработку
Помощник закрытия периодас опцией "Сбросить итоги".5.2. 1С:Управление торговлей 11
В УТ 11 основные проблемы возникают с:
- 🛒 Заказами клиентов: они связаны с
Резервами товаровиГрафиками оплат.- 🚚 Документами перемещения: их нельзя удалить, если есть остатки на складах.
- 📦 Серийными номерами: требуют отдельной очистки через
Справочник.СерийныеНомера.Для массового удаления торговой истории используйте обработку
ОчисткаДанныхУТ.epf, которая:
- 🗓️ Позволяет выбрать период очистки (например, удалить данные старше 2 лет).
- 🔄 Автоматически пересчитывает остатки товаров.
- 📈 Сохраняет настройки цен и скидок.
5.3. 1С:Зарплата и управление персоналом 3.1
В ЗУП 3.1 критически важно сохранить:
- 👥 Справочник физических лиц (если планируете использовать базу дальше).
- 📅 Графики работы и виды расчётов.
- 💼 Настройки налогов и взносов (они привязаны к периодам).
Для очистки расчётных данных:
- Удалите все документы типа
Начисление зарплаты,Больничные листы,Отпуска.- Очистите регистры
НачисленияОрганизацийиВзносыНаСтрахование.- Пересчитайте итоги через
Сервис → Перерасчёт итогов.6. Автоматизация очистки: скрипты и внешние обработки
Для регулярной очистки (например, тестовых баз) целесообразно использовать автоматизированные скрипты. Это экономит время и снижает риск ошибок.
6.1. Скрипт на языке 1С для массового удаления
Пример скрипта для удаления всех документов за определённый период:
Процедура ОчиститьДокументы(ДатаНачала, ДатаОкончания)Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ ССЫЛКА КАК Объект
|ИЗ Документ.&ТипДокумента КАК Документ
|ГДЕ Документ.Дата МЕЖДУ &ДатаНачала И &ДатаОкончания";
ТипыДокументов = Новый Массив;
ТипыДокументов.Добавить(Тип("ДокументПоступления"));
ТипыДокументов.Добавить(Тип("РеализацияТоваровУслуг"));
// Добавьте другие типы документов
Для Каждого Тип Из ТипыДокументов Цикл
Запрос.УстановитьПараметр("ТипДокумента", Тип);
Запрос.УстановитьПараметр("ДатаНачала", ДатаНачала);
Запрос.УстановитьПараметр("ДатаОкончания", ДатаОкончания);
Результат = Запрос.Выполнить();
Выборка = Результат.Выбрать();
Пока Выборка.Следующий() Цикл
Объект = Выборка.Объект.ПолучитьОбъект();
Объект.УстановитьПометкуУдаления(Истина);
Объект.Записать();
КонецЦикла;
КонецЦикла;
// Удаление помеченных объектов
ОбработкаУдаления = Обработки.УдалениеПомеченныхОбъектов.Создать();
ОбработкаУдаления.УдалятьДвижения = Истина;
ОбработкаУдаления.ВыполнитьУдаление();
КонецПроцедуры
6.2. Внешние обработки для сложных сценариев
Для нестандартных задач (например, очистки только части данных с сохранением связей) можно использовать:
- 🛠️ "Универсальная очистка" от ГК "Инфостарт" — поддерживает фильтры по датам, типам объектов и реквизитам.
- 🔧 "Clean1C" от 1С-Рарус — очищает данные с учётом зависимостей между конфигурациями (например, УТ + Бухгалтерия).
- 🌐 Облачные сервисы типа 1C-Fresh — позволяют создать "чистую" копию базы за несколько кликов.
Автоматизированные инструменты уменьшают риск ошибок, но требуют тестирования на копии базы. Особенно осторожно используйте их в продуктивных системах с большим количеством пользователей.
7. Восстановление после очистки: проверка целостности и настройка
После массового удаления данных необходимо выполнить ряд действий, чтобы база осталась работоспособной:
7.1. Проверка целостности
Запустите тестирование и исправление базы:
- Для файловой версии:
chdbfl.exe /F "путь_к_базе.1CD" /TestAndRepair.- Для SQL-версии:
-- Для MS SQLDBCC CHECKDB ('ИмяБазыДанных') WITH NO_INFOMSGS, ALL_ERRORMSGS;
GO
-- Для PostgreSQL
VACUUM FULL ANALYZE;
7.2. Настройка прав и ролей
Очистка данных может сбросить:
- 🔑 Права доступа пользователей (проверьте в
Администрирование → Пользователи).- 📋 Настройки ролей (особенно если удалялись объекты, к которым были привязаны права).
- 🔗 Параметры обмена данными (если база участвует в распределённой системе).
7.3. Переиндексация и оптимизация
После массового удаления:
- 🔄 Перестройте индексы (в SQL-базах это ускорит работу).
- 🗃️ Сожмите базу (для файлового варианта:
chdbfl.exe /F "путь.1CD" /Pack).- 📊 Обновите статистику (в SQL:
EXEC sp_updatestats).Если после очистки 1С стала работать медленнее, проверьте фрагментацию индексов в SQL Server Management Studio. Фрагментация выше 30% требует реорганизации (
ALTER INDEX REORGANIZE).8. Типичные ошибки и как их избежать
Даже опытные администраторы сталкиваются с проблемами при очистке баз 1С. Рассмотрим самые распространённые ошибки и способы их предотвращения.
8.1. Ошибка: "Объект используется в документе X"
Причина: в базе остались ссылки на удаляемый объект (например, справочник
Номенклатураиспользуется в документеРеализацияТоваровУслуг).Решения:
- 🔍 Найдите все ссылки через запрос:
ВЫБРАТЬ РАЗРЕШЕННЫЕ ССЫЛКА КАК ОбъектИспользованияИЗ Документ.&ТипДокумента КАК Документ
ГДЕ Документ.СсылкаНаОбъект = &Ссылка
- 🗑️ Удалите сначала использующие документы, затем целевой объект.
- 🔄 Используйте рекурсивное удаление (см. раздел 4.1).
8.2. Ошибка: "Невозможно удалить, так как есть движения"
Причина: документ сформировал движения по регистрам (бухгалтерским, накопления и т.д.), которые блокируют удаление.
Решения:
- 📉 Отмените проведение документа перед удалением.
- 🗃️ Удалите движения вручную через
Операции → Журналы регистрации.- 🔧 Используйте флаг
УдалятьДвижения = Истинав обработке удаления.8.3. Ошибка: "Недостаточно прав"
Причина: текущий пользователь не имеет роли
АдминистраторилиПолные права.Решения:
- 👤 Зайдите в базу под пользователем с ролью
Администратор.- 🔑 Назначьте себе дополнительные права через
Администрирование → Пользователи.- 🛡️ Для SQL-баз проверьте права на уровне СУБД (например, роль
db_ownerв MS SQL).Что делать если база "зависла" после очистки?
Если после массового удаления 1С перестала отвечать:
1. Перезапустите службу
1C:Enterprise 8.3 Server Agent.2. Проверьте журнал событий Windows на ошибки типа "Timeout expired".
3. Для SQL-баз увеличьте
command_timeoutв параметрах подключения (вconf.cfgдобавьте строкуSQLCommandTimeout=3600).Если проблема сохраняется — восстановите базу из бэкапа и повторите очистку меньшими порциями (например, по 5 000 документов за раз).
FAQ: Частые вопросы по очистке баз 1С
Можно ли очистить базу 1С без резервной копии?
Технически да, но это крайне рискованно. Без бэкапа вы не сможете восстановить данные при:
- Ошибке в скрипте очистки (например, удаление не тех объектов).
- Нарушении ссылочной целостности (база перестанет открываться).
- Непредвиденном сбое (отключение электричества, ошибка СУБД).
Минимальный безопасный сценарий: создайте копию файла базы (
.1CD) или снимок SQL-базы (snapshot).Как очистить базу 1С:УНФ (Управление нашей фирмой)?
В 1С:УНФ особенности очистки:
- Сначала удалите задачи и события в разделе
CRM и маркетинг.- Очистите банковские выписки через
Банк и касса → Выписки.- Для удаления документов продаж/покупок используйте обработку
ОчисткаДанныхУНФ.epf.- Пересчитайте итоги по денежным средствам через
Главное → Сервис → Перерасчёт итогов.Внимание: в УНФ нельзя удалить справочник "Контрагенты", если к нему привязаны договоры. Сначала удалите договоры!
Сколько времени занимает очистка базы на 100 000 документов?
Время зависит от:
- Типа базы:
- 📁 Файловая: ~1-2 часа (зависит от диска: SSD ускорит процесс в 3-5 раз).
- 🗃️ SQL: 10-30 минут (при оптимизированных индексах).
- Метода очистки:
- Стандартное удаление через интерфейс: медленно (проверяет все ссылки).
- SQL-запросы: быстро, но требует подготовки.
- Утилита
chdbfl.exe: средняя скорость, но надёжно.- Аппаратных ресурсов:
- ОЗУ: менее 8 ГБ — ожидайте подвисаний.
- CPU: многопоточные процессы (например, в SQL) ускорят очистку.
Для ускорения:
- Разбейте очистку на этапы (например, по годам).
- Отключите антивирус на время операции.
- Используйте ночное время (меньше нагрузки на сервер).
Как очистить базу 1С:Розница 2.3?
В 1С:Розница ключевые моменты:
- Начните с очистки кассовых смен (
Магазин → Кассовые смены).- Удалите чеки ККМ через
Отчёты → Чековая лента.- Очистите остатки товаров в регистре
ТоварыВНаличии.- Сбросьте серийные номера через
Справочники → Серийные номера товаров.Особенность Розницы: нельзя удалить справочник "Товары", если он используется в ценовых группах или маркетинговых акциях. Сначала очи