К статье
Практический материал

Администрирование · 10 мин

Как почистить 1С 8.3: пошаговая инструкция по очистке базы

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

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

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

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

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

Любая чистка базы начинается с резервной копии. Удаление помеченных объектов и тестирование с исправлением необратимы: если что-то пойдёт не так, восстановить данные можно будет только из копии. Для файловой базы достаточно скопировать файл 1Cv8.1CD или сделать выгрузку через конфигуратор (Администрирование → Выгрузить информационную базу). Для серверной базы используйте средства СУБД или выгрузку в dt.

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

Удаление помеченных объектов

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

Интерактивное удаление

В режиме 1С:Предприятие откройте «Администрирование → Удаление помеченных объектов» (в некоторых конфигурациях — «Операции → Удаление помеченных объектов»). Система покажет список помеченных объектов и ссылки, которые мешают удалению. Выберите режим «Выборочное удаление», чтобы контролировать процесс, или «Автоматическое удаление всех помеченных объектов», если уверены, что лишнего нет.

Если объект не удаляется, программа покажет, какие документы и записи на него ссылаются. Типовое решение — снять ссылки (перепровести или пометить на удаление ссылающиеся документы) и повторить операцию. Не удаляйте объекты, на которые ссылаются проведённые документы текущего периода: это приведёт к битым ссылкам и ошибкам в отчётах.

Монопольное удаление через обработку

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

Порядок удаления помеченных объектов
  1. 1
    Сделайте резервную копию и завершите сеансы пользователей
  2. 2
    Откройте Администрирование → Удаление помеченных объектов
  3. 3
    Запустите выборочное удаление и изучите список
  4. 4
    Разберите объекты, которые не удаляются из-за ссылок
  5. 5
    Повторите удаление и проверьте отчёты на битые ссылки

Очистка журнала регистрации

Журнал регистрации в активной базе растёт постоянно и может занимать значительную часть объёма. При этом данные старше регламентных сроков хранения обычно не нужны для повседневной работы. Сократить журнал можно через конфигуратор: «Администрирование → Журнал регистрации → Сократить».

При сокращении укажите дату, до которой удалить события, и обязательно включите сохранение удаляемой части в отдельный файл — это позволит вернуться к старым записям при разборе инцидентов. Для файловой базы дополнительно полезно периодически выполнять «Выгрузить журнал регистрации» в новый формат (SQLite), если база ещё использует старый формат lgf: новый формат устойчивее к повреждениям.

Тестирование и исправление базы

Тестирование и исправление (ТиИ) — штатный инструмент конфигуратора: «Администрирование → Тестирование и исправление». Он проверяет физическую и логическую целостность базы и при выбранных настройках исправляет найденные ошибки. Запускайте его только при монопольном доступе и после создания копии.

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

Для серверных баз на MS SQL или PostgreSQL аналогичные задачи (перестроение индексов, сжатие, обновление статистики) эффективнее выполнять средствами самой СУБД — регламентными заданиями обслуживания. ТиИ в этом случае используют точечно, при подозрении на логические ошибки данных.

Контрольные точки

Как проверить результат тестирования

Протокол ТиИ
Норма

Ошибок не найдено или все исправлены

Тревожный признак

Остались неисправленные ошибки таблиц

Отчёты за прошлые периоды
Норма

Цифры совпадают со значениями до чистки

Тревожный признак

Суммы изменились или появились обороты по удалённым объектам

Поиск битых ссылок
Норма

Объектов с неразрешёнными ссылками нет

Тревожный признак

В списке есть элементы вида <Объект не найден>

Очистка кэша и временных файлов

Если проблема не в размере базы, а в глюках интерфейса — «висит» при запуске, не обновляются формы, ошибки «Ошибка формата потока» — чистить нужно кэш клиента, а не саму базу. Кэш хранится в профиле пользователя: в папках %APPDATA%\1C\1cv8 и %LOCALAPPDATA%\1C\1cv8 в каталогах с длинными именами-идентификаторами баз.

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

text
%APPDATA%\1C\1cv8\
%LOCALAPPDATA%\1C\1cv8\

Свёртка базы за прошлые периоды

Когда база отработала несколько лет и занимает десятки гигабайт, удаления помеченных объектов уже недостаточно — нужна свёртка. В типовой Бухгалтерии это обработка «Свёртка информационной базы» (раздел «Администрирование»). Она удаляет документы прошлых лет и формирует на дату свёртки документы ввода остатков.

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

Типичные ошибки при чистке 1С
01
Свёртка без сверки остатков: расхождения на дату свёртки потом почти невозможно объяснить
02
Удаление помеченных объектов без копии: один ошибочно помеченный документ теряется навсегда
03
Запуск ТиИ с исправлением при работающих пользователях: риск повреждения таблиц
04
Очистка кэша сервера вместо клиентского при локальных глюках: время потрачено, проблема осталась
05
Сокращение журнала регистрации без сохранения архива: при разборе инцидента истории действий уже нет

Регламент: как часто чистить базу

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

В клиент-серверном варианте настройте автоматическое удаление помеченных объектов штатным регламентным заданием и регламентное обслуживание на стороне СУБД. Это снимает с администратора рутину и не даёт базе деградировать между ручными чистками.

Итог

Что важно запомнить

Порядок безопасной чистки 1С 8.3 всегда один: копия → монопольный доступ → удаление помеченных объектов → сокращение журнала → тестирование и исправление → проверка отчётов. Свёртку выполняйте только на копии и только после закрытия периода.

Частые вопросы

Уменьшится ли файл базы после удаления помеченных объектов?

Сам по себе — нет: удалённые записи оставляют в файле 1Cv8.1CD пустое место. Физическое уменьшение происходит после реструктуризации в тестировании и исправлении либо после выгрузки базы в dt и загрузки обратно. Для серверных баз аналогичную роль выполняет сжатие средствами СУБД.

Чем отличается выгрузка в dt от копирования файла 1Cv8.1CD?

Копирование файла быстрее и сохраняет всё как есть, включая журнал регистрации и настройки. Выгрузка в dt — логическая копия: при загрузке база перестраивается, что заодно устраняет часть физических дефектов и уменьшает объём. Для чистки полезны оба способа, но dt-выгрузка дополнительно «уплотняет» базу.

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

Нет. Удаление помеченных объектов в монопольном режиме, тестирование и исправление и свёртка требуют отсутствия активных сеансов. Единственное, что можно делать в многопользовательском режиме, — автоматическое удаление помеченных объектов штатным регламентным заданием, но и оно работает медленнее и может блокироваться.

Что делать, если после чистки отчёты не сходятся?

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

Нужно ли чистить кэш на сервере 1С?

Кэш сервера 1С (папка srvinfo, каталоги reg_1541 и аналогичные) чистят редко — только при ошибках кластера или после некорректного завершения работы, и только при остановленной службе агента сервера. Для обычных клиентских проблем достаточно очистки кэша на компьютере пользователя.

Как понять, что базе нужна свёртка, а не обычная чистка?

Ориентиры: база работает несколько лет, файл занимает десятки гигабайт, типовые отчёты строятся заметно дольше, чем раньше, а удаление помеченных объектов и сокращение журнала почти не уменьшают объём. Если основная масса данных — документы закрытых периодов, по которым отчётность сдана, свёртка даст наибольший эффект.