Администрирование · 12 мин
Как почистить базу 1С и ускорить её работу
Как почистить базу 1С от лишних данных: пометка на удаление, тестирование и исправление, сжатие таблиц, обрезка истории. Безопасная инструкция с бэкапом.
Со временем база 1С обрастает помеченными на удаление объектами, старыми версиями документов, историей обменов, лишними записями регистров и служебными данными. Всё это увеличивает размер базы, замедляет проведение документов, формирование отчётов и создание резервных копий. Чистка базы — регулярная операция администрирования, а не разовое действие «когда стало тормозить».
Под чисткой понимают несколько разных операций: удаление помеченных объектов, свёртку и обрезку истории, очистку регистров сведений от устаревших записей, удаление неиспользуемых элементов справочников, а также техническое обслуживание — тестирование и исправление, реиндексацию и сжатие файловой базы. Каждая операция решает свою задачу, и выполнять их нужно в правильной последовательности.
Главное правило: любая чистка начинается с резервной копии. Удаление данных в 1С в большинстве случаев необратимо, и восстановить случайно удалённый документ без бэкапа невозможно. Ниже разобраны все основные сценарии — от простой пометки на удаление до обрезки базы за прошлые периоды.
Что занимает место в базе и что можно удалять
Прежде чем удалять, полезно понять, что именно раздувает базу. Типичные «пожиратели» объёма: документы и элементы справочников, помеченные на удаление, но физически оставшиеся в базе; версии объектов, если включено версионирование; история и протоколы обменов данными; регистрация изменений для узлов обмена; журналы регистрации большого объёма; прикреплённые файлы и хранилище двоичных данных; записи регистров сведений, которые периодически перезаписываются (например, история курсов валют или контактной информации).
Оценить структуру объёма можно штатными средствами. В файловой базе размер виден по файлу 1Cv8.1CD. В клиент-серверном варианте размер таблиц смотрят средствами СУБД (например, через SQL Server Management Studio). Существуют и типовые отчёты для анализа объёма таблиц в составе некоторых конфигураций и внешние обработки, но перед запуском любой сторонней обработки её следует проверять на копии базы.
Проверьте версионирование объектов, историю обменов и регистрацию изменений
Настройте сокращение журнала регистрации
Запустите штатное удаление помеченных объектов
Выполните тестирование и исправление с реиндексацией
Резервная копия перед чисткой
Бэкап — обязательный первый шаг, без которого дальнейшие действия выполнять нельзя. Для файловой базы достаточно скопировать файл 1Cv8.1CD в отдельный каталог при закрытых сеансах пользователей, либо использовать выгрузку в dt через конфигуратор («Администрирование» → «Выгрузить информационную базу»). Для клиент-серверной базы корректный способ — выгрузка dt или резервная копия средствами СУБД.
Проверьте, что копия рабочая: откройте её на тестовом компьютере или в отдельном кластере и убедитесь, что база запускается, а ключевые документы и отчёты на месте. Непроверенный бэкап равен его отсутствию — это самая частая причина потери данных при регламентных операциях.
Удаление помеченных объектов
Пометка на удаление в 1С не удаляет объект физически — он продолжает занимать место и участвовать в запросах. Физическое удаление выполняется отдельной операцией. В типовых конфигурациях путь одинаков: «Администрирование» → «Обслуживание» → «Удаление помеченных объектов» (в некоторых версиях — «НСИ и администрирование» → «Поддержка и обслуживание»).
Доступны два режима: автоматическое удаление всех помеченных объектов и выборочное, где можно отметить конкретные документы и элементы справочников. Выборочный режим предпочтителен, если в помеченных объектах могли оказаться данные, которые решили оставить. Перед удалением платформа проверяет ссылочную целостность: если на помеченный объект ссылаются другие объекты, удаление будет заблокировано и система покажет список ссылающихся документов.
Если объект не удаляется из-за ссылок, есть три варианта: удалить или перепровести ссылающиеся документы, снять пометку с объекта, либо оставить его в базе. Массово «пробивать» удаление, отключая контроль ссылочной целостности сторонними средствами, нельзя — это прямой путь к битым ссылкам вида «Объект не найден» в документах и отчётах.
- 1Создайте резервную копию и завершите сеансы пользователей
- 2Откройте «Администрирование» → «Обслуживание» → «Удаление помеченных объектов»
- 3Выберите режим: автоматический или выборочный
- 4Запустите удаление и дождитесь проверки ссылочной целостности
- 5Разберите объекты, которые не удалось удалить: обработайте ссылающиеся документы
- 6Повторите операцию, пока список помеченных не очистится
Очистка регистров, истории обменов и версий объектов
После удаления помеченных объектов база часто уменьшается незначительно, потому что основной объём дают служебные механизмы. В типовых конфигурациях для этого есть регламентные задания и разделы очистки: «Очистка устаревших данных», настройки хранения истории обменов, ограничение количества версий объектов.
Если включено версионирование объектов, проверьте настройки хранения: для большинства справочников достаточно хранить ограниченное число последних версий, а для документов — только за актуальный период. В разделе обменов данными настройте автоматическое удаление устаревших сообщений обмена и очистку регистрации изменений для узлов, которые больше не используются. Узлы обмена, оставшиеся от старых интеграций, — частый источник раздувания таблиц регистрации изменений.
Журнал регистрации сокращается через конфигуратор: «Администрирование» → «Журнал регистрации» → кнопка «Сократить», с указанием даты, до которой удалить события. Перед сокращением журнал можно выгрузить в файл, если история действий пользователей нужна для аудита. Удалённые регистрации изменений и сокращённый журнал освобождают место только после сжатия базы — об этом ниже.
Свёртка базы: обрезка истории за прошлые периоды
Когда база работает много лет и основной объём — это документы прошлых лет, простая чистка не поможет. Решение — свёртка (обрезка) базы: документы до указанной даты удаляются, а их итоги заменяются документами ввода остатков. После свёртки на начало периода остаются корректные остатки по счетам, складам, взаиморасчётам, а старая история исчезает.
В типовых конфигурациях есть обработка «Свёртка информационной базы» (обычно в разделе «Администрирование» → «Обслуживание»). Она формирует документы ввода остатков на дату свёртки и помечает на удаление документы прошлых периодов. Операция длительная: на большой базе она может занять часы, поэтому её планируют на нерабочее время и обязательно выполняют сначала на копии.
Критически важно после свёртки проверить результат: сформировать оборотно-сальдовую ведомость, отчёты по складу и взаиморасчётам на дату свёртки в старой копии и в свёрнутой базе и сравнить итоги. Расхождения означают, что какие-то данные не попали в остатки — например, непроведённые документы или специфические ручные операции.
Тестирование и исправление, сжатие базы
После массовых удалений физическое место в файловой базе не освобождается автоматически — страницы данных остаются занятыми внутри файла. Для этого служит «Тестирование и исправление» в конфигураторе (меню «Администрирование»). Операция требует монопольного доступа и выполняется в несколько этапов.
Рекомендуемый набор режимов: реиндексация таблиц (перестраивает индексы, ускоряет запросы), проверка ссылочной целостности (находит битые ссылки), сжатие таблиц информационной базы (физически уменьшает файл 1Cv8.1CD). Сначала запускайте проверку без исправления, оцените список ошибок, и только потом — с исправлением. Для клиент-серверных баз сжатие и реиндексация выполняются средствами СУБД: перестроение индексов и shrink файлов базы данных.
Длительность зависит от объёма: на больших базах сжатие может идти часами. Прерывать процесс нельзя — это может повредить файл базы. Поэтому операцию планируют на выходные или ночь, предварительно убедившись в стабильности питания сервера.
- 1Завершите все сеансы и сделайте резервную копию
- 2Откройте конфигуратор: «Администрирование» → «Тестирование и исправление»
- 3Отметьте: реиндексация, проверка ссылочной целостности, сжатие таблиц
- 4Сначала выполните проверку без исправления и изучите ошибки
- 5Затем запустите полный цикл с исправлением и сжатием
- 6Сравните размер файла базы до и после операции
Частые ошибки и как проверить результат
Самая распространённая ошибка — чистка без бэкапа «на живой» базе в рабочее время. Вторая по частоте — ожидание, что после удаления помеченных объектов файл базы сразу уменьшится: без сжатия таблиц этого не произойдёт. Третья — удаление данных за закрытые отчётные периоды без согласования с бухгалтерией и без архивной копии.
Отдельная ошибка — использование сторонних обработок «чистки регистров» без понимания их логики. Удаление записей регистра напрямую ломает итоги и проведение документов. Любые нештатные обработки запускают только на копии и только с проверкой отчётов после.
Проверка результата чистки сводится к нескольким контрольным точкам: размер файла базы или таблиц СУБД уменьшился; ключевые отчёты (ОСВ, склад, взаиморасчёты) совпадают с данными до чистки; в журнале регистрации нет массовых ошибок; обмены данными проходят штатно. Если что-то из этого не выполняется — восстанавливайте копию и разбирайте причину.
Как проверить результат
Файл или таблицы СУБД заметно уменьшились
Размер не изменился — сжатие не выполнялось или прервано
Итоги совпадают с данными до чистки
Расхождения — восстановить копию и найти причину
Синхронизация проходит без ошибок
Ошибки выгрузки — проверить регистрацию изменений узлов
Нет записей вида «Объект не найден»
Битые ссылки — нарушена ссылочная целостность
FAQ
Как часто нужно чистить базу 1С?
Удаление помеченных объектов разумно выполнять ежемесячно или ежеквартально, очистку журналов и истории обменов можно настроить регламентными заданиями автоматически. Тестирование со сжатием достаточно проводить раз в несколько месяцев или после массовых удалений. Свёртка — разовая операция по мере роста базы.
Почему после удаления документов размер базы не уменьшился?
Удаление освобождает страницы внутри файла базы, но сам файл не сжимается автоматически. Для файловой базы выполните «Тестирование и исправление» с включённым сжатием таблиц, для клиент-серверной — shrink средствами СУБД. Только после этого объём на диске уменьшится.
Можно ли удалить документы прошлых лет, не трогая остатки?
Да, для этого предназначена свёртка базы: документы до выбранной даты удаляются, а их итоги фиксируются документами ввода остатков. Перед операцией обязательно сохраните архивную копию — первичные документы могут понадобиться для проверок.
Что делать, если объект не удаляется из-за ссылок на него?
Система покажет список объектов, которые ссылаются на удаляемый. Нужно открыть эти документы и либо удалить их, либо заменить ссылку, либо перепровести. Принудительное удаление в обход контроля ссылочной целостности приведёт к «битым» ссылкам в учёте.
Нужен ли монопольный доступ для чистки базы?
Для удаления помеченных объектов в типовых конфигурациях обычно требуется, чтобы пользователи не работали с удаляемыми данными, а тестирование и исправление и сжатие требуют полного монопольного доступа. Планируйте эти операции на нерабочее время и принудительно завершайте сеансы через консоль кластера или конфигуратор.
Ускорит ли чистка работу базы, если тормозит она из-за железа?
Чистка ускоряет запросы и отчёты за счёт меньшего объёма данных и свежих индексов, но не решает проблемы слабого сервера, медленных дисков или нехватки оперативной памяти. Если после чистки и реиндексации производительность не выросла, анализируйте аппаратные ресурсы и настройки СУБД.