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

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

Как уменьшить объем базы 1С Бухгалтерия

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

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

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

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

Что занимает место в базе 1С:Бухгалтерии

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

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

В файловом варианте весь объем сосредоточен в одном файле 1Cv8.1CD. В клиент-серверном варианте данные лежат в базе MS SQL Server или PostgreSQL, и там объем распределяется между таблицами данных, индексами и журналом транзакций — методы сжатия для этих случаев различаются.

Медленное проведение документовБаза и индексы разрослись

Проверьте размер файла 1Cv8.1CD или базы SQL

Долгое обновление конфигурацииМного данных для реструктуризации

Оцените количество лет учета в базе

Большой размер резервной копииНакоплены документы и журналы

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

Журнал регистрации открывается долгоЖурнал не сокращался

Проверьте размер папки журнала или таблицы EventLog

Подготовка: резервная копия и анализ

Любая операция по уменьшению базы начинается с резервной копии. Для файловой базы достаточно скопировать файл 1Cv8.1CD при завершенной работе всех пользователей или выполнить выгрузку через «Администрирование — Обслуживание — Резервное копирование и восстановление». Для SQL-базы сделайте полный backup средствами СУБД.

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

Для анализа структуры объема в клиент-серверном варианте можно посмотреть размеры таблиц средствами SQL Server Management Studio (отчет «Disk Usage by Table»). Это покажет, какие регистры и документы занимают больше всего места, и поможет выбрать точку приложения усилий.

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

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

Выберите режим «Автоматическое удаление всех помеченных объектов» или выборочное удаление. Если объект используется в других документах, программа покажет ссылки и не даст его удалить — такие объекты придется разбирать вручную: сначала убрать ссылки, потом удалить.

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

Сокращение журнала регистрации

Журнал регистрации в файловой базе хранится в отдельной папке рядом с файлом 1Cv8.1CD, а в клиент-серверном — в таблицах служебной базы. Сократить его можно через «Администрирование — Обслуживание — Журнал регистрации — Сократить» (в конфигураторе: «Администрирование — Журнал регистрации», кнопка сокращения).

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

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

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

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

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

Рекомендуемый порядок: сделайте копию, выполните свертку на копии, сформируйте оборотно-сальдовую ведомость до и после свертки и сравните остатки. Они должны совпасть. Только после такой проверки повторяйте свертку в рабочей базе.

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

Порядок свертки итогов
  1. 1
    Создайте резервную копию и проверьте ее восстановлением
  2. 2
    Закройте период и снимите контрольные обороты (ОСВ, анализ счетов)
  3. 3
    Запустите обработку свертки, укажите дату и организации
  4. 4
    Дождитесь завершения и проверьте сообщения об ошибках
  5. 5
    Сравните ОСВ до и после свертки — остатки должны совпадать
  6. 6
    Выполните тестирование и исправление, затем сжатие базы

Физическое сжатие базы

Файловый вариант

В файловом режиме логически удаленные данные не освобождают место на диске. Чтобы файл 1Cv8.1CD реально уменьшился, выполните выгрузку базы в файл .dt через конфигуратор («Администрирование — Выгрузить информационную базу»), а затем загрузите обратно в пустой каталог. Загруженная база будет компактнее, поскольку в ней нет «дыр» от удаленных записей.

Дополнительно помогает «Тестирование и исправление» с включенной опцией «Сжатие таблиц информационной базы». Операция выполняется монопольно и при больших объемах занимает продолжительное время. Не прерывайте ее и обеспечьте бесперебойное питание компьютера.

Клиент-серверный вариант

В SQL Server после удаления данных и свертки выполните shrink файлов базы (DBCC SHRINKDATABASE или через интерфейс Management Studio: «Tasks — Shrink — Database»). Учтите, что shrink фрагментирует индексы — после него рекомендуется выполнить реорганизацию или перестроение индексов, иначе производительность может просесть.

Также проверьте модель восстановления базы. Если установлена Full, журнал транзакций растет постоянно и может занимать больше места, чем сами данные. Для баз 1С часто достаточно простой модели (Simple) с регулярными полными копиями — решение принимайте с учетом требований к восстановлению на момент времени.

Способы уменьшения объема

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

Безопасно, но не уменьшает файл физически; подходит как регулярная профилактика

Сокращение журнала регистрации

Быстрый эффект, если журнал не чистился годами; историю аудита старше даты сокращения потеряете

Свертка итогов

Максимальное уменьшение, но необратимо удаляет документы прошлых периодов

Выгрузка/загрузка .dt

Физически сжимает файловую базу; требует монопольного доступа и времени

Shrink в SQL Server

Возвращает место на диске в клиент-серверном варианте; требует последующей работы с индексами

Что делать с присоединенными файлами и версиями объектов

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

Проверьте, не включено ли версионирование объектов для большого числа типов документов и справочников. Хранение всех версий полезно для аудита, но быстро раздувает базу. Ограничьте глубину хранения версий или отключите версионирование для «шумных» объектов вроде банковских выписок.

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

Типичные ошибки
01
Свертка без резервной копии — при ошибке или неверной дате восстановить документы невозможно
02
Сжатие файловой базы прерыванием питания — риск физического повреждения 1Cv8.1CD
03
Shrink в SQL без перестроения индексов — производительность после сжатия падает
04
Удаление помеченных объектов без разбора ссылок — объекты не удаляются, а пользователь считает, что база очищена
05
Ожидание мгновенного уменьшения файла после удаления данных — без сжатия место на диске не освобождается

Проверка результата

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

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

Наконец, оцените косвенные признаки: скорость проведения документов, время формирования отчетов, длительность резервного копирования. Если база уменьшилась, а скорость не выросла, проблема может быть в индексах (SQL) или в оборудовании, а не в объеме данных.

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

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

Размер файла базы после сжатия
Норма

Файл заметно меньше исходного

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

Размер не изменился — сжатие не выполнялось

ОСВ после свертки
Норма

Остатки совпадают с контрольными до свертки

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

Расхождения по счетам — свертка прошла с ошибками

Тестирование и исправление
Норма

Ошибок не обнаружено

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

Есть ошибки ссылочной целостности — нужен разбор

Скорость типовых операций
Норма

Проведение и отчеты ускорились

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

Все так же медленно — искать причину в индексах и железе

FAQ

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

Нет. При удалении данные лишь помечаются как свободное место внутри файла. Чтобы вернуть место диску, нужна выгрузка и загрузка через .dt, сжатие таблиц в «Тестировании и исправлении» или shrink в SQL Server.

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

Только из резервной копии. Сама свертка необратима: документы заменяются операциями с остатками. Поэтому копию базы до свертки рекомендуется хранить отдельно — она пригодится для налоговых проверок и разбора старых операций.

Как часто нужно делать свертку базы?

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

Опасно ли прерывать тестирование и исправление со сжатием?

Да. Прерывание операции над файловой базой (отключение питания, завершение процесса) может повредить файл 1Cv8.1CD. Перед запуском обеспечьте бесперебойное питание и держите под рукой резервную копию.

Что делать, если база растет из-за присоединенных файлов?

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

Нужно ли сжимать базу на SQL Server после каждого удаления?

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

Итог

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

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