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

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

В этом руководстве мы рассмотрим легальные и безопасные способы удаления информации. Мы разберем использование внешней обработки dbfix, штатного механизма удаления движений и ручные методы через консоль запросов. Важно понимать, что выбор метода зависит от конфигурации и режима работы базы данных.

Подготовка к процедуре удаления данных

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

Убедитесь, что у вас есть права администратора базы данных и права на выполнение внешних обработок в режиме 1С:Предприятие. В файловом варианте базы необходимо предоставить полный доступ к папке с данными, а в клиент-серверном варианте — права на выполнение SQL-запросов или использование утилиты chdbfl.

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

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

☑️ Подготовка к очистке базы

Выполнено: 0 / 4

Использование обработки DBFix для очистки

Наиболее популярным и надежным инструментом для глубокой очистки базы является внешняя обработка dbfix. Эта утилита позволяет выборочно или полностью удалять данные, сохраняя при этом структуру метаданных и справочники (если это предусмотрено настройками).

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

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

  • 🗑️ Выберите режим «Полная очистка» для удаления всех документов и движений.
  • 📂 Укажите путь к сохранению лога выполнения операции для последующего анализа.
  • ⚙️ Отметьте галочками только те регистры, которые требуют очистки, если не планируете удалять всё подряд.
Где скачать обработку DBFix?

Обработка dbfix не является официальным продуктом фирмы 1С и распространяется на специализированных форумах (например, ИТС или форум миста). Скачивайте файлы только из проверенных источников, чтобы избежать внедрения вредоносного кода. Перед запуском обязательно проверяйте файл антивирусом и анализируйте код в режиме отладки.

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

Штатные средства удаления движений документов

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

Вы можете воспользоваться обработкой «Удаление помеченных объектов», предварительно пометив все документы на удаление. Однако этот метод крайне неэффективен для больших объемов данных, так как система будет пытаться провести проверку ссылок для каждого документа в отдельности, что займет огромное количество времени.

Более эффективным штатным методом является использование обработки «Групповое перепроведение документов». Вы можете установить период с самого начала работы базы до текущей даты и выбрать режим «Отмена проведения». Это удалит все движения по регистрам, но сами документы останутся в базе в непроведенном состоянии.

Метод очистки Скорость работы Риск повреждения Сохраняет документы
DBFix (внешняя) Высокая Средний Нет (опционально)
Групповое перепроведение Низкая Низкий Да (непроведенные)
SQL-скрипт (TRUNCATE) Мгновенная Критический Нет
Пересоздание базы Средняя Отсутствует Нет

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

💡

Для ускорения процесса группового перепроведения отключите контроль отрицательных остатков и другие жесткие контроля в настройках параметров системы на время выполнения операции.

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

Для опытных администраторов, работающих с клиент-серверным вариантом базы данных (MS SQL, PostgreSQL), существует возможность очистки таблиц напрямую через SQL-запросы. Этот метод требует глубокого понимания структуры таблиц и схемы базы данных.

Использование команды TRUNCATE TABLE позволяет мгновенно очистить таблицу, сбросив счетчики и освободив место. Однако применять её к системным таблицам или таблицам справочников без предварительного анализа связей категорически запрещено. Ошибка может привести к тому, что база перестанет запускаться.

TRUNCATE TABLE _AccRgLS;

TRUNCATE TABLE _AccRgCT;

TRUNCATE TABLE _DocShed;

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

⚠️ Внимание: Прямое вмешательство в базу данных через SQL-запросы лишает вас технической поддержки от фирмы 1С. Любые повреждения, возникшие в результате таких действий, придется исправлять самостоятельно или за свой счет.

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

📊 Какой способ очистки вы планируете использовать?
Внешняя обработка DBFix
Штатное перепроведение документов
Прямой SQL запрос
Пересоздание базы с нуля

Радикальный метод: выгрузка и загрузка данных

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

Зайдите в режим Конфигуратор и выберите пункт меню Администрирование → Выгрузить информационную базу. Сохраните файл выгрузки (формат .dt). Этот файл содержит только структуру метаданных, права доступа и, опционально, данные справочников, если вы не выбрали режим выгрузки только конфигурации.

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

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

  • 💾 Выгрузите базу в файл .dt из режима Конфигуратора.
  • 🆕 Создайте новую пустую базу в списке баз 1С.
  • 📥 Загрузите файл выгрузки в новую базу, заменив текущую конфигурацию.
💡

Метод выгрузки/загрузки (.dt) является единственным способом гарантированно получить базу без логических ошибок и «мусора», оставшегося от предыдущих экспериментов.

Частые ошибки и восстановление целостности

После любой процедуры очистки, особенно если использовались сторонние инструменты или SQL, необходимо выполнить проверку целостности. В режиме Конфигуратор выберите пункт Администрирование → Тестирование и исправление.

Запустите проверку с опциями «Пересчет итогов» и «Проверка ссылочной целостности». Система просканирует все регистры и таблицы на наличие записей, ссылающихся на несуществующие объекты. Если такие записи будут найдены, утилита предложит их удалить или исправить.

Частой ошибкой является попытка очистить базу, в которой работают пользователи в фоновом режиме. Это приводит к блокировкам (deadlocks) и зависанию процесса очистки. Всегда используйте монопольный режим запуска 1С для подобных операций.

⚠️ Внимание: Интерфейсы и названия пунктов меню могут отличаться в зависимости от версии платформы 1С:Предприятие (8.2, 8.3) и релиза конфигурации. Всегда сверяйтесь с официальной документацией к вашему конкретному решению перед выполнением деструктивных действий.

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

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

Можно ли очистить базу, не удаляя справочники контрагентов и номенклатуры?

Да, это возможно. При использовании обработки dbfix или при выгрузке базы в файл .dt можно настроить параметры так, чтобы данные справочников сохранялись. Однако при очистке через SQL это сделать крайне сложно из-за связей между документами и элементами справочников.

Сколько времени занимает полная очистка базы объемом 10 Гб?

Время зависит от метода. Использование SQL команды TRUNCATE займет несколько секунд. Обработка dbfix может занять от 10 минут до часа в зависимости от мощности сервера и количества индексов. Штатное перепроведение документов может длиться несколько часов или даже суток.

Нужно ли сжимать базу данных после удаления данных?

Да, особенно в файловом варианте базы. После физического удаления записей файл базы данных на диске не уменьшается автоматически. Для файловой базы используйте обработку «Сжатие информационной базы». Для SQL-версии необходимо выполнить команду DBCC SHRINKDATABASE или аналог в СУБД.

Что делать, если после очистки база не запускается?

В первую очередь восстановите базу из резервной копии, сделанной перед началом работ. Если копии нет, попробуйте запустить тестирование и исправление в режиме Конфигуратора. В большинстве случаев это позволяет устранить критические ошибки целостности.