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

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

В данной статье мы рассмотрим безопасные алгоритмы удаления документов, начиная от штатных инструментов "Конфигуратора" и заканчивая прямыми SQL-запросами для опытных специалистов. Особое внимание будет уделено нюансам работы с периодическими регистрами и зависимостями объектов.

Подготовка базы данных перед массовой очисткой

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

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

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

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

☑️ Подготовка к удалению документов

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

Использование штатной обработки "Удаление помеченных объектов"

Самый безопасный и рекомендуемый способ очистки базы — использование встроенной обработки УдалениеПомеченныхОбъектов. Этот инструмент гарантирует корректное удаление ссылок во всех регистрах и таблицах, предотвращая появление "битых" записей. Процесс начинается с пометки объектов на удаление, а завершается их физическим стиранием из базы.

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

💡

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

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

После выбора объектов нажмите кнопку "Установить пометку удаления". Система пройдется по всем выбранным записям и присвоит им специальный признак удаления. Обратите внимание, что этот этап может занять considerable время на больших базах данных, так как требуется проверка всех ссылок.

Этап процесса Действие пользователя Результат
1. Выбор объектов Установка флагов в дереве объектов Система выделяет объекты для обработки
2. Пометка Нажатие кнопки "Установить пометку" Объекты помечены крестиком, но физически существуют
3. Удаление Нажатие кнопки "Удалить помеченные" Физическое удаление записей из таблиц БД
4. Контроль Анализ протокола выполнения Отчет об успешно удаленных и заблокированных объектах

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

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

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

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


Выборка = Документы.РеализацияТоваровУслуг.Выбрать();

Пока Выборка.Следующий() Цикл

Если Выборка.Дата < ДатаВремя(2023, 01, 01) Тогда

Выборка.ПометкаУдаления = Истина;

Выборка.Записать();

КонецЕсли;

КонецЦикла;

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

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

Особенности работы в файловом варианте базы

В файловом варианте 1С операции удаления проходят медленнее из-за особенностей работы с файлом.1CD. Рекомендуется выполнять очистку локально, скопировав базу на быстрый SSD диск, а затем возвращать её на сервер.

Очистка итогов и регистров перед удалением документов

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

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

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

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

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

Прямое удаление через SQL-запросы (для опытных)

В исключительных случаях, когда штатные средства 1С не справляются или работают слишком медленно, администраторы прибегают к прямому удалению данных через SQL-запросы к серверу баз данных (MSSQL, PostgreSQL). Этот метод дает максимальную скорость, но несет высокие риски.

Для выполнения таких операций необходимы права системного администратора СУБД. Вы подключаетесь к базе данных через Management Studio или pgAdmin и выполняете команды удаления записей из таблиц документов и регистров.

Пример запроса для удаления всех записей из таблицы документов (название таблицы зависит от конфигурации):


DELETE FROM _Document12345;

DELETE FROM _AccRg12345;

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

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

💡

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

Проверка целостности данных после очистки

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

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

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

Можно ли восстановить удаленные документы в 1С?

Штатными средствами 1С восстановление удаленных документов невозможно после выполнения процедуры физического удаления. Если у вас есть резервная копия базы, сделанная до удаления, вы можете восстановить базу из нее или выгрузить нужные документы в файл формата MXL/XML и загрузить их обратно в текущую базу.

Почему не удаляются некоторые документы при пакетной обработке?

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

Влияет ли удаление документов на нумерацию?

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

Как удалить документы, если забыт пароль администратора?

Без прав администратора или пользователя с полными правами удалить документы массово не получится. Вам потребуется сбросить пароль через утилиту изменения пользователей на сервере 1С или восстановить доступ через файл конфигурации сервера, после чего войти в базу и выполнить очистку.