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