Свертка базы 1С:Предприятие — это процедура, которая вызывает больше вопросов, чем любая другая административная операция в экосистеме платформы. С одной стороны, она решает критические проблемы с производительностью, когда база разрастается до сотен гигабайт и начинает «тормозить» даже на мощном сервере. С другой — неправильное выполнение свертки может привести к потере данных, нарушению целостности отчетности или даже полной неработоспособности системы. Почему так происходит?
Дело в том, что свертка — это не просто «уменьшение размера базы». Это сложный процесс архивации и реструктуризации данных, который затрагивает как таблицы документов, так и служебные объекты платформы. В отличие от бэкапа или выгрузки данных, свертка меняет саму логическую модель хранения информации, оставляя только актуальные записи и «сворачивая» исторические данные в агрегированные итоги. Например, вместо миллиона строк движений по складу за 5 лет в базе останутся только остатки на дату свертки — и это коренным образом меняет подход к аналитике.
В этой статье мы разберем, как технически работает свертка на уровне СУБД и платформы 1С, какие объекты затрагиваются в первую очередь, и почему после процедуры могут «сломаться» отчеты или интеграции. Также вы узнаете, как подготовиться к свертке, чтобы минимизировать риски, и какие альтернативные методы оптимизации базы стоит рассмотреть перед тем, как принимать решение о радикальном сокращении данных.
Что такое свертка базы 1С с технической точки зрения
Свертка базы — это необратимая операция, которая удаляет детализированные данные за выбранный период, заменяя их агрегированными итогами. Например, если вы свернете базу по состоянию на 1 января 2026 года, то:
- 📄 Все документы (поступления, реализации, платежки) до этой даты будут удалены из оперативных таблиц.
- 📊 Вместо них в базе останутся только итоговые остатки по счетам бухгалтерского учета, складам, взаиморасчетам с контрагентами.
- 🔄 Связи между документами (например, цепочки заказов → реализаций → оплат) будут разорваны.
- 🛠️ Служебные таблицы платформы (регистры накопления, бухгалтерии, сведений) будут перестроены с учетом новых данных.
Важно понимать, что свертка не является архивацией. Архив — это отдельная копия данных, которую можно восстановить. Свертка же модифицирует текущую базу, и вернуть удаленные документы после нее невозможно (если не было предварительного бэкапа). Технически процесс реализован через механизм ОбменДанными.ЗагрузкаДанных с флагом ЗагружатьИтоги = Истина, но с дополнительными настройками для конкретных конфигураций (например, 1С:Бухгалтерия или 1С:Управление торговлей).
На уровне СУБД (например, Microsoft SQL Server или PostgreSQL) свертка запускает серию транзакций, которые:
- Блокируют таблицы базы для исключительного доступа.
- Удаляют строки из таблиц документов и движений по ним.
- Пересчитывают итоги в регистрах с учетом новых «стартовых» остатков.
- Оптимизируют индексы и статистику для ускорения будущих запросов.
Какие данные удаляются при свертке, а какие остаются
Один из главных страхов администраторов — непреднамеренное удаление критичных данных. Чтобы этого избежать, нужно точно знать, что остается в базе после свертки, а что исчезает навсегда. Ниже таблица с разбивкой по типам объектов для конфигурации 1С:Бухгалтерия 3.0 (для других конфигураций список может отличаться!).
| Тип данных | Удаляется при свертке | Остается в базе | Примечания |
|---|---|---|---|
| Документы (поступления, реализации, платежки) | ✅ Да, за период до даты свертки | ❌ Нет (кроме шапок с итогами) | Исключение: документы с пометкой "Помечен на удаление" могут остаться |
| Остатки по счетам бухгалтерского учета | ❌ Нет | ✅ Да, на дату свертки | Пересчитываются с учетом удаленных документов |
| Регистры накопления (склад, взаиморасчеты) | ✅ Да, движения до даты свертки | ✅ Да, остатки на дату свертки | Для регистров сведений правила иные — см. документацию |
| Справочники (контрагенты, номенклатура) | ❌ Нет | ✅ Да, полностью | Удаляются только помеченные объекты |
| Планы счетов и настройки учета | ❌ Нет | ✅ Да, без изменений | — |
Критичный нюанс: после свертки все отчеты, которые опираются на детализированные данные (например, «Анализ субконто» или «Карточка счета с движениями»), будут показывать информацию только с даты свертки. Это означает, что для анализа исторических данных потребуется отдельный архив или внешняя система аналитики.
Также стоит учитывать, что некоторые конфигурации (например, 1С:Зарплата и Управление Персоналом) имеют специфические правила свертки для расчетных листов, начислений и удержаний. В них могут оставаться не только итоги, но и часть детализации (например, данные о налогах за последние 3 года для отчетности в ФНС).
Перед сверткой экспортируйте в Excel отчет «Оборотно-сальдовая ведомость» за весь период истории — это поможет верифицировать корректность итогов после процедуры.
Пошаговая инструкция: как правильно свернуть базу 1С
Процесс свертки состоит из подготовительного этапа, самой процедуры и пост-проверки. Пропуск любого шага может привести к ошибкам, поэтому рекомендуем следовать чек-листу:
☑️ Подготовка к свертке базы 1С
Сама процедура свертки запускается через Конфигуратор в режиме Администрирование → Свертка информационной базы. Далее:
- Укажите дату свертки (например, 01.01.2026). Все данные до этой даты будут удалены.
- Выберите объекты для свертки (документы, регистры). В большинстве случаев достаточно оставить параметры по умолчанию.
- Настройте параметры архивации (если нужно сохранить удаляемые данные в отдельный файл).
- Запустите процесс и дождитесь завершения. Время выполнения зависит от размера базы: для 100 ГБ это может занять 4–8 часов.
После свертки обязательно:
- 🔍 Проверить итоги по ключевым счетам (50, 51, 60, 62) в оборотно-сальдовой ведомости.
- 📋 Запустить тестовые отчеты (например, «Анализ субконто» или «Карточка счета»).
- 🔄 Проверить работу интеграций (если они есть) с внешними системами.
Что делать если свертка зависла?
Если процесс свертки «завис» на этапе удаления данных, не прерывайте его принудительно! Сначала проверьте журнал событий в конфигураторе (Администрирование → Журнал регистрации). Если там нет ошибок, дождитесь завершения (иногда процесс может занимать сутки для больших баз). Если база действительно «зависла», восстановите ее из бэкапа и повторите свертку с другими параметрами (например, разбейте на части по годам).
Типичные ошибки при свертке и как их избежать
Даже опытные администраторы сталкиваются с проблемами после свертки. Вот самые распространенные ошибки и способы их предотвращения:
⚠️ Внимание: Если в базе есть документы с непроводками (например, непроведенные платежки или поступления), свертка может привести к расхождению итогов. Перед процедурой обязательно проведите все документы или удалите непроводки!
Ошибка 1: Потеря связей между документами
После свертки часто «ломаются» цепочки связанных документов (например, заказ → реализация → оплата). Это происходит потому, что платформа удаляет старые документы, но не обновляет ссылки в новых. Решение:
- 🔗 Перед сверткой экспортируйте данные о связях в отдельную таблицу.
- 🛠️ После свертки восстановите связи через обработку или ручное редактирование.
Ошибка 2: Расхождения в регистрах
Если в регистрах накопления или бухгалтерии были ошибки до свертки (например, отрицательные остатки), они могут увеличиться после процедуры. Причина — алгоритм свертки пересчитывает итоги на основе текущих данных, не учитывая прошлые исправления. Чтобы избежать этого:
- 📊 Перед сверткой запустите обработку «Поиск и исправление ошибок в учете».
- 📉 Проверьте остатки по критичным счетам (например, 50 «Касса») вручную.
Ошибка 3: Падение производительности после свертки
Парадоксально, но иногда после свертки база начинает работать медленнее, чем до нее. Это происходит из-за:
- 🗃️ Фрагментации индексов (решается перестроением индексов в СУБД).
- 📈 Неправильно настроенных итогов в регистрах (нужно обновить статистику).
- 🔄 Остаточных блокировок (проверьте
sp_who2в SQL Server).
Свертка не исправляет ошибки учета — она их консервирует! Если в базе были расхождения до процедуры, они останутся и после, но анализировать их будет сложнее из-за отсутствия истории.
Альтернативы свертке: когда можно обойтись без радикальных мер
Свертка — это крайняя мера. В большинстве случаев проблемы с производительностью можно решить менее рискованными способами. Рассмотрим альтернативы:
1. Архивация данных с сохранением истории
Вместо удаления старых документов их можно переместить в архивную базу. Для этого:
- 📂 Создайте отдельную информационную базу для архива.
- 🔄 Настройте обмен данными между основной и архивной базой.
- 📤 Перенесите документы старше определенной даты в архив.
Преимущество: история остается доступна для анализа, а основная база «худеет».
2. Оптимизация СУБД
Часто тормоза связаны не с объемом данных, а с неправильной настройкой сервера. Проверьте:
- 🖥️ Размер файла
tempdbв SQL Server (должен быть не менее 20% от размера базы). - 📊 Настройки памяти для 1С:Предприятия (параметр
/Mв ярлыке запуска). - 🔧 Индексы на часто используемых таблицах (например,
Document{ГUID}).
3. Разделение базы по периодам
Для крупных предприятий актуально разделение учета по годам. Например:
- 📅 2020–2022 годы — в одной базе.
- 📅 2023–2026 годы — в другой.
Минус: усложняется консолидация отчетности, но плюс — каждая база остается «легкой».
4. Использование внешних хранилищ
Для аналитики исторических данных можно подключить 1С:Data Lake или Power BI, выгружая туда архивные данные. Это позволит:
- 📈 Сохранить доступ к истории.
- ⚡ Разгрузить оперативную базу.
Как свертка влияет на отчетность и интеграции
Одной из самых болезненных тем после свертки становятся регламентные отчеты (например, декларация по НДС или расчет по страховым взносам). Проблемы возникают потому, что:
- 📋 В отчетах требуется история за 3–4 года, а после свертки ее нет.
- 🔗 Интеграции с Контур.Диадок или СБИС могут «ломаться», если они опираются на удаленные документы.
- 📊 Аудиторы запрашивают первичку, которой физически нет в базе.
Решения:
- Для отчетности: перед сверткой выгрузите все регламентные отчеты за исторический период в PDF/Excel и сохраните их в отдельной папке.
- Для интеграций: настройте в внешних системах фильтр по дате (например, «не запрашивать документы до 01.01.2026»).
- Для аудита: подготовьте архивную базу или выгрузку данных в формате
DT(можно открыть в 1С:Предприятие без конфигуратора).
Критический момент: если ваша компания проходит проверку ФНС, свертку базы можно проводить только после согласования с аудиторами. В противном случае инспекторы могут расценить отсутствие первичных документов как нарушение ст. 120 НК РФ (грубое нарушение учета).
Если вам нужна история для отчетности, но свертка уже проведена, попробуйте восстановить данные из логов транзакций СУБД (при условии, что включен режим FULL RECOVERY MODE в SQL Server).
Когда свертка действительно необходима
Несмотря на риски, есть ситуации, когда свертка — это единственный выход. Вот признаки, что пора ее проводить:
- 🐢 База тормозит даже на простых операциях (открытие справочника занимает >10 секунд).
- 📦 Размер файла
.1CDпревышает 200 ГБ, а бэкап занимает >12 часов. - 🔄 Регламентные операции (закрытие месяца, перепроведение) выполняются >1 часа.
- 💾 На диске не хватает места для роста базы, а расширить хранилище невозможно.
- 📉 Аналитические отчеты (например, «Анализ продаж по номенклатуре») не строятся из-за таймаута.
При этом свертка не нужна, если:
- 📈 Тормоза носят эпизодический характер (например, только в конце месяца).
- 🖥️ Проблемы с производительностью связаны с «железом» (недостаток ОЗУ, медленные диски).
- 📊 История данных критична для бизнеса (например, в торговле важна аналитика продаж за 5 лет).
Если вы все же решили свернуть базу, сделайте это вне сезона отчетности (например, в январе-феврале) и заранее проинформируйте бухгалтерию о возможных сложностях с восстановлением истории.
FAQ: Ответы на частые вопросы о свертке базы 1С
Можно ли отменить свертку после выполнения?
Нет, свертка — это необратимая операция. Единственный способ «отменить» ее — восстановить базу из бэкапа, сделанного до процедуры. Именно поэтому так важно создавать резервные копии перед сверткой.
Сколько времени занимает свертка базы размером 300 ГБ?
Время зависит от конфигурации СУБД и «железа»:
- 🖥️ На SQL Server с SSD и 32 ГБ ОЗУ: 6–12 часов.
- 🖥️ На PostgreSQL с HDD и 16 ГБ ОЗУ: 12–24 часа.
- 🖥️ На файловой базе (
.1CD): до 48 часов (не рекомендуется для больших объемов).
Совет: запускайте свертку в выходные дни, когда пользователи не работают с системой.
Будет ли работать 1С:Документооборот после свертки?
Да, но с оговорками:
- ✅ Документы, созданные после даты свертки, останутся доступны.
- ❌ Документы до даты свертки будут удалены, но их реквизиты (номера, даты) могут сохраняться в журнале.
- 🔗 Ссылки на удаленные документы в задачах или процессах станут неработоспособными.
Рекомендация: перед сверткой выгрузите историю документооборота в PDF или XML.
Можно ли свернуть только часть данных (например, только складской учет)?
Технически да, но это требует кастомизации процедуры. Стандартный механизм свертки в 1С удаляет данные комплексно (документы + регистры + движения). Если вам нужно свернуть только, например, регистры накопления по складу, придется:
- Написать собственную обработку на 1С:Предприятие 8.3.
- Использовать прямые запросы к СУБД (например,
DELETE FROM [dbo].[_AccumRg{ГUID}] WHERE Period < '20260101'). - Пересчитать итоги вручную.
⚠️ Внимание: Такие манипуляции могут нарушить целостность данных. Перед ними обязательно проконсультируйтесь с экспертом по 1С.
Как свертка влияет на лицензии 1С?
Сама процедура свертки не затрагивает лицензионные механизмы платформы. Однако после свертки:
- 🔑 Количество одновременно работающих пользователей не изменится.
- 📋 Если вы используете 1С:Предприятие 8. КОРП, проверьте, не требуется ли перерегистрация сервера лицензий (иногда после изменений в базе возникают ошибки вида «Недостаточно лицензий»).
- 📊 Для 1С:ERP или 1С:УХ может потребоваться пересчет лицензионных метрик (например, количество складов или номенклатурных позиций).