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

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

Что такое свертка базы 1С простыми словами

Свертка базы — это процедура архивирования и удаления устаревших данных из информационной базы 1С с сохранением актуальной информации для текущей работы. Представьте, что у вас есть огромный склад документов, где 90% папок относятся к 2010–2018 годам, а работать вы активно используете только документы за последние 2 года. Свертка позволяет "упаковать" старые данные в архив, оставив под рукой только актуальные.

Важно понимать: свертка не равна простому удалению данных. При корректном выполнении процедуры:

  • 📊 Сохраняется итоговая отчётность (балансы, обороты, регистры накопления) на дату свертки
  • 🗄️ Архивируются первичные документы (накладные, платежки, приказы) в сжатом виде
  • ⚡ Удаляются промежуточные расчёты, которые больше не нужны для текущей работы
  • 🔄 Остаётся возможность восстановить данные из архива при необходимости

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

📊 Вы когда-нибудь выполняли свертку базы 1С?
Да, самостоятельно
Да, с помощью специалиста
Нет, но планирую
Нет и не планирую

Когда действительно нужна свертка базы

Многие администраторы начинают думать о свертке, когда база уже "легла" под нагрузкой, а пользователи устроили бунт из-за скорости работы. Но есть более объективные признаки, что пора действовать:

Признак Критическое значение Что делать
Размер файла базы (.1CD) Более 50 ГБ Свертка или переход на SQL
Время формирования отчётов От 10 минут за простой оборотно-сальдовую ведомость Свертка + оптимизация запросов
Количество документов Более 1 млн. за 5+ лет Свертка с архивированием по годам
Время резервного копирования Более 2 часов Свертка или разбиение на части

Однако свертка не панацея от всех проблем с производительностью. Если тормоза вызваны:

  • 🖥️ Недостаточными ресурсами сервера (ОЗУ, CPU)
  • 🔌 Плохой сетевой инфраструктурой
  • 🛠️ Неоптимизированными запросами в конфигурации

...то свертка может не дать ожидаемого эффекта. В таких случаях лучше сначала проанализировать причины замедления с помощью Тест-центра или 1С:Аналитики производительности.

⚠️ Внимание: Если ваша база работает на 1С:Предприятие 7.7, технология свертки будет принципиально иной (и более рискованной) по сравнению с платформой 8.x. Для устаревших версий рекомендуется сначала рассмотреть вариант миграции на актуальную платформу.

Чем свертка отличается от других способов очистки базы

Новички часто путают свертку с другими процедурами "чистки" базы. Давайте разберём ключевые различия:

Процедура Что делает Когда применять Риски
Свертка Архивирует старые данные, оставляя итоги База разрослась, но нужна история Сложность восстановления данных
Выгрузка/загрузка Перенос данных в новую базу с фильтрацией Нужно оставить только актуальные документы Потеря связей между объектами
Удаление помеченных Физическое удаление отмеченных объектов Есть явный мусор (дубли, тестовые данные) Нарушение целостности данных
Перенос в архив Создание отдельной базы для старых данных Нужно полностью разделить историю и текущую работу Сложность синхронизации

Главное преимущество свертки перед полной выгрузкой/загрузкой — сохранение всех итоговых расчётов. Например, после свертки базы 1С:ЗУП на 01.01.2023 вы сможете:

  • 📅 Видеть остатки отпусков сотрудников на эту дату
  • 💰 Просматривать суммы начисленной зарплаты за все годы
  • 📊 Формировать отчёты по ФОТ с учётом исторических данных

При этом все первичные документы (приказы, больничные, табели) за 2020–2022 годы будут упакованы в архив и не будут мешать текущей работе.

💡

Перед сверткой обязательно проверьте, поддерживает ли ваша конфигурация эту функцию. В стандартных решениях (Бухгалтерия 3.0, ЗУП 3.1, ERP 2.4) свертка реализована "из коробки", а в сильно доработанных или отраслевых конфигурациях может потребоваться доработка.

Пошаговая инструкция: как сделать свертку базы 1С

Процесс свертки можно разделить на 3 этапа: подготовка, выполнение и проверка. Рассмотрим каждый из них на примере 1С:Бухгалтерии предприятия 3.0.

1. Подготовка к свертке

Проверить актуальность резервной копии|Остановить работу всех пользователей|Убедиться в наличии свободного места на диске (минимум 20% от размера базы)|Отключить регламентные задания|Проверить целостность базы (Тестирование и исправление)

-->

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

1Cv8.exe DESIGNER /IBName "ИмяБазы" /DumpIB "C:\Backup\base_before_svertka.dt"

Обратите внимание на дату свертки. Оптимальный вариант — конец отчётного периода (31.12, 30.06 и т.д.). Это упростит дальнейшую работу с отчётностью. В меню свертки выберите:

  1. Администрирование → Обслуживание → Свертка информационной базы
  2. Укажите дату, на которую будут сохранены итоги (например, 31.12.2022)
  3. Выберите объекты для архивирования (обычно все галочки ставятся по умолчанию)

2. Выполнение свертки

Процесс может занять от нескольких минут до десятков часов — всё зависит от размера базы и мощности сервера. На экране будет отображаться прогресс:

  • 🔄 Анализ данных (самый долгий этап)
  • 🗃️ Архивирование документов
  • 🧹 Очистка таблиц
  • 🔢 Пересчёт итогов

Если свертка прервалась по какой-то причине, не пытайтесь запустить её заново сразу. Сначала:

  1. Проверьте логи ошибок в C:\Users\Public\1C\1Cv8\log
  2. Восстановите базу из резервной копии
  3. Устраните причину сбоя (нехватка места, блокировки и т.д.)

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

После завершения свертки:

  1. Сравните размер файла базы (.1CD или SQL-базы) до и после
  2. Проверьте формирование ключевых отчётов (оборотка, баланс, расчётная ведомость)
  3. Убедитесь, что архивные данные доступны через Отчёты → Архивные данные

Если что-то пошло не так, у вас есть два варианта:

  • 🔄 Откатиться на резервную копию и повторить процедуру
  • 🛠️ Восстановить недостающие данные из архива вручную
💡

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

Типичные ошибки при свертке и как их избежать

Даже опытные администраторы иногда сталкиваются с проблемами после свертки. Вот наиболее распространённые ловушки:

⚠️ Внимание: Если ваша база работает на SQL Server, перед сверткой обязательно проверьте настройки транзакций и размер tempdb. Недостаточный размер временной базы — частая причина сбоев при свертке крупных баз (от 100 ГБ).

Ошибка 1: Потеря связей между документами

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

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

Ошибка 2: Несовпадение итогов до и после свертки

Если суммы в оборотно-сальдовой ведомости до свертки и после отличаются, это признак того, что не все регистры были корректно пересчитаны. Чаще всего проблема возникает с:

  • 💰 Валютными расчётами (если курс менялся)
  • 📦 Партионным учётом (остатки по партиям)
  • 👥 Расчётами с персоналом (НДФЛ, страховые взносы)

Решение: выполните полный пересчёт итогов (Администрирование → Обслуживание → Пересчёт итогов) после свертки.

Ошибка 3: База стала работать медленнее

Парадоксально, но иногда после свертки производительность падает. Это происходит, если:

  • 🗜️ Свертка была выполнена на фрагментированном диске
  • 🔄 Не были перестроены индексы (для SQL-баз)
  • 📊 Архивные данные хранятся в той же базе, но в другом разделе

Решение: после свертки выполните дефрагментацию диска и оптимизацию SQL-базы (команда DBCC INDEXDEFRAG для MS SQL).

Что делать если свертка зависла?

Если процесс свертки не показывает прогресс более 6 часов:

1. Проверьте загрузку CPU и диска — если они не нагружены, процесс мог действительно зависнуть.

2. Попробуйте подключиться к базе в монопольном режиме (1Cv8.exe /IBName "ИмяБазы" /N) и прервать операцию.

3. Если база на SQL, проверьте активные транзакции через SQL Server Management Studio.

4. Восстановите базу из бэкапа и повторите свертку с другими параметрами (например, разбейте на более мелкие периоды).

Альтернативы свертке: когда лучше выбрать другой способ

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

1. Перенос в архивную базу

Instead of packing old data inside the main base, you can completely move it to a separate archive base. This approach is suitable if:

  • 📂 You need to completely separate current and historical data
  • 👥 Different departments work with different periods
  • 🔍 You need to frequently access old documents without slowing down the main base

Tools for implementation: 1С:Data Separation or standard Data Unloading/Loading with filters by date.

2. Transition to SQL version

If your base is still in file mode (.1CD), and its size exceeds 30–50 GB, it's time to think about migrating to 1С:Enterprise 8.3 + SQL Server/PostgreSQL. Advantages:

  • ⚡ Higher performance with large data volumes
  • 🛡️ Better data protection and recovery tools
  • 🔧 More flexible administration (backups, replication)

3. Optimization without data reduction

Sometimes the problem isn't the amount of data, but how it's structured. Try these steps before deciding on shrinkage:

  • 🧹 Clean up marked deletion objects (Administration → Data Cleanup)
  • 🔧 Rebuild database indexes (for SQL bases)
  • 📊 Optimize frequent queries (use Query Profiler)
  • 🖥️ Upgrade server hardware (add RAM, switch to SSD)
Problem Shrinkage Archive Base SQL Transition Optimization
Base size > 100 GB ✅✅
Need for quick access to old documents ⚠️ ✅✅
Slow report generation ✅✅
Frequent data recovery needs ⚠️

Как восстановить данные после свертки

One of the main fears when shrinking a base is the inability to restore old data if needed. In fact, all archived documents remain available, but accessing them requires knowing a few nuances.

Method 1: Viewing through archive reports

Most configurations after shrinkage provide special reports for working with archived data:

  1. Go to Reports → Archive Data
  2. Select the report type (e.g., "Archive Turnover Balance Sheet")
  3. Specify the period before the shrinkage date

Limitations: you can view data but not edit it.

Method 2: Partial restoration

If you need to return specific documents to the working base:

  1. Use the Archive Data Restoration tool (Administration → Maintenance)
  2. Select the document type and period
  3. Confirm the restoration (the system will warn about possible conflicts)

Method 3: Full rollback

In critical situations (e.g., when shrinkage was performed with errors), you can:

  1. Restore the base from backup before shrinkage
  2. Perform shrinkage again with corrected parameters
  3. Or refuse shrinkage in favor of alternative methods
⚠️ Attention: When restoring data from archive, conflicts may arise if:
  • 🔄 The same documents exist in both archive and working base
  • 🔢 The numbering sequences don't match
  • 📊 There are discrepancies in register totals
  • In such cases, it's better to restore data in test mode first and check the results.

    💡

    The ability to restore data after shrinkage directly depends on the correct execution of the procedure. If during shrinkage you selected the option "Delete archived data without possibility of recovery", then returning old documents will only be possible from backup.

    FAQ: Частые вопросы о свертке базы 1С

    Можно ли сделать свертку базы 1С без остановки работы пользователей?

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

    Для минимизации простоя планируйте свертку на выходные или нерабочие часы. Для крупных баз (100+ ГБ) может потребоваться несколько часов, поэтому заранее предупредите пользователей.

    Сколько места на диске нужно для свертки?

    Минимальное требование — свободное место в размере 150–200% от текущего размера базы. Например, если ваша база занимает 50 ГБ, то для свертки потребуется 75–100 ГБ свободного пространства.

    Это связано с тем, что в процессе свертки создаются:

    • Временные файлы с архивными данными
    • Копии таблиц для пересчёта итогов
    • Лог-файлы транзакций (для SQL-баз)

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

    Можно ли сделать свертку базы 1С:ЗУП, если в ней есть не закрытые больничные или отпуска?

    Технически свертка возможна, но крайне не рекомендуется, если на дату свертки есть:

    • 🩺 Открытые листы нетрудоспособности
    • ☀️ Неиспользованные отпуска с переносом
    • 💰 Недорасчитанные премиальные или удержания

    Проблема в том, что после свертки расчёт этих начислений может пойти неправильно, так как часть исходных данных окажется в архиве. Оптимальное решение:

    1. Закрыть все открытые документы (рассчитать больничные, оформить отпуска)
    2. Выполнить свертку на дату после закрытия всех операций
    3. Или перенести проблемные документы в текущий период вручную
    Что будет, если прервать свертку базы 1С?

    Последствия зависят от этапа, на котором произошел сбой:

    • 🔄 На этапе анализа: обычно можно повторно запустить свертку без последствий.
    • 🗃️ Во время архивирования: высока вероятность потери части данных. Требуется восстановление из бэкапа.
    • 🧹 При очистке: может остаться "мусор" в виде битых ссылок. Нужна проверка целостности.

    В любом случае не пытайтесь "доделать" свертку после сбоя — восстановите базу из резервной копии и начните процедуру заново.

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

    Чёткого графика нет, но есть рекомендации в зависимости от типа базы:

    Тип конфигурации Рекомендуемая частота Признаки необходимости
    1С:Бухгалтерия Раз в 3–5 лет Размер > 30 ГБ, тормоза при закрытии месяца
    1С:ЗУП Раз в 5–7 лет Более 500 сотрудников с историей > 5 лет
    1С:УТ (Управление торговлей) Раз в 2–3 года Более 1 млн. документов, медленный обмен с сайтом
    1С:ERP Раз в 4–6 лет Замедление производственных расчётов

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