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

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

Как уменьшить базу 1С 7.7

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

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

Выбор метода зависит от формата базы (DBF или SQL), от того, нужны ли старые документы для отчётности, и от того, готовы ли вы к необратимым изменениям. Ниже разобраны все рабочие подходы с конкретными действиями, рисками и способами проверки результата.

Что занимает место в базе 1С 7.7

Перед чисткой полезно понять, из чего складывается объём. В файловой (DBF) версии данные лежат в таблицах .dbf с индексами .cdx: документы, справочники, журналы, регистры и итоги. Основную массу обычно занимают файлы документов (DH*, DT*), журналы (1SJOURN.DBF) и таблицы регистров (RG*, RA*).

Отдельные «пожиратели» места — служебные каталоги внутри папки базы. Каталог SYSLOG накапливает журналы регистрации, NEW_STRU — временные файлы при реструктуризации, а файлы 1SDBSET.CDX и индексы раздуваются при интенсивной работе. В SQL-версии данные хранятся в базе MS SQL Server, и там растут файл данных .mdf и журнал транзакций .ldf.

Папка базы более 1–2 ГБТипичный признак разросшейся DBF-базы

Откройте свойства папки базы и посмотрите размер подкаталогов

Медленное открытие журналовИзбыточное количество документов

Проверьте размер файлов DH*.DBF и 1SJOURN.DBF

Долгая архивацияЛишние служебные файлы и индексы

Сравните размер папки до и после исключения SYSLOG

Обязательная подготовка: архивная копия

Любые операции по уменьшению базы — удаление документов, свёртка, упаковка таблиц — необратимы или труднообратимы. Поэтому первый шаг всегда одинаков: полная копия папки базы в отдельное место. Для DBF-версии достаточно скопировать весь каталог базы при выключенной программе; для SQL-версии сделайте резервную копию средствами MS SQL Server (Backup Database).

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

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

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

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

Свёртка остатков — главный инструмент уменьшения

Свёртка (свертка базы) — это перенос остатков на выбранную дату в документы ввода остатков и удаление всех документов до этой даты. Для типовых конфигураций существуют стандартные обработки, например wrap.ert (для «Торговля и склад») или аналогичные «Свёртка базы» для «Бухгалтерии». Обычно их запускают из режима Предприятия через «Файл → Открыть».

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

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

Упаковка DBF-таблиц и тестирование базы

Упаковка (pack) физически удаляет записи, помеченные к удалению, и сжимает файлы. В 1С 7.7 это делается через Конфигуратор: «Администрирование → Тестирование и исправление ИБ». Отметьте пункты «Реиндексация таблиц» и, главное, «Упаковка таблиц» (в разных версиях формулировки отличаются), запустите проверку в монопольном режиме.

Дополнительно можно упаковать таблицы сторонними средствами, работающими с DBF (например, утилитами уровня DBF-редакторов), но делайте это только при закрытой 1С и только на копии, если нет опыта. Ошибка при внешней упаковке может повредить индексы и сделать базу нечитаемой.

text
Конфигуратор → Администрирование → Тестирование и исправление ИБ → отметить: Реиндексация таблиц, Упаковка таблиц → Выполнить

Очистка служебных файлов и журналов

Часть объёма — не данные, а служебная информация, которую можно удалить безболезненно. Каталог SYSLOG внутри папки базы хранит файлы журналов регистрации: их можно удалить или перенести, если история входов не нужна. Файлы с расширением .lck и временные файлы в каталоге NEW_STRU после завершённой реструктуризации тоже удаляются.

Журнал регистрации можно также отключить или ограничить в настройках, чтобы он не разрастался снова. В SQL-версии уменьшите журнал транзакций: переведите модель восстановления базы в Simple и выполните команду сжатия лога (DBCC SHRINKFILE) — но только понимая, что это влияет на возможность восстановления на момент времени.

Типичные ошибки
01
Удаление файлов базы вручную из папки — приводит к рассогласованию таблиц и невозможности открыть базу
02
Свёртка без предварительных отчётов — после удаления документов сверить остатки уже не с чем
03
Упаковка таблиц при открытых сеансах пользователей — повреждение индексов и данных
04
Удаление старых документов без свёртки — остатки на начало периода «обнуляются», отчётность ломается

SQL-версия: сжатие базы средствами MS SQL Server

Если 1С 7.7 работает на MS SQL Server, уменьшение делается на стороне СУБД. После свёртки и удаления данных в 1С физический размер файлов .mdf и .ldf не уменьшится автоматически — нужно выполнить Shrink Database или Shrink Files в SQL Server Management Studio. Перед сжатием сделайте полный backup.

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

Сравнение способов уменьшения базы

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

Быстро и безопасно, но даёт небольшой выигрыш; требует последующей упаковки

Свёртка остатков

Самый эффективный способ для старых баз; необратима, требует сверки остатков

Упаковка таблиц

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

Очистка служебных каталогов

Простое освобождение места без риска для учётных данных

Shrink в SQL Server

Для SQL-версии после чистки; не применять регулярно из-за фрагментации

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

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

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

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

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

Размер папки базы
Норма

Заметно меньше исходного после упаковки

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

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

Остатки по отчётам
Норма

Совпадают с отчётами, снятыми до свёртки

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

Расхождения — свёртка выполнена с ошибкой, восстановите копию

Открытие журналов и документов
Норма

Журналы открываются, документы ввода остатков на месте

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

Ошибки открытия таблиц — нужна реиндексация или восстановление из копии

Итог

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

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

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

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

В формате DBF удалённые записи остаются в файле как помеченные. Чтобы вернуть место на диске, выполните упаковку таблиц через «Тестирование и исправление ИБ» в Конфигураторе в монопольном режиме.

Можно ли просто удалить старые файлы DH*.DBF из папки базы?

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

Что даёт свёртка базы и что при этом теряется?

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

Как уменьшить журнал транзакций в SQL-версии 1С 7.7?

Сделайте backup, переведите модель восстановления базы в Simple, затем выполните сжатие файла журнала через Shrink Files в SQL Server Management Studio. Если нужно восстановление на момент времени, верните модель Full и настройте регулярные backup журнала.

Как часто нужно уменьшать базу?

Разовой глубокой чистки со свёрткой достаточно раз в год при закрытии отчётного периода. Удаление помеченных объектов с упаковкой таблиц разумно выполнять ежемесячно или ежеквартально — это занимает немного времени и не даёт базе разрастаться.

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

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