Процедура свертки информационной базы является одним из самых эффективных способов борьбы с падением производительности в системах 1С:Предприятие. Со временем файлы данных разрастаются, накапливая гигабайты архивной информации, которая уже не нужна для оперативной работы, но продолжает замедлять выборки и проведение документов.
В отличие от простого архивирования, физическая свертка позволяет безвозвратно удалить движения регистров и документы до указанного момента, существенно уменьшая размер файла .1cd или размер базы данных на сервере SQL. Это критически важно для предприятий, работающих с одной базой более трех-пяти лет.
Рассмотрим детально алгоритм действий, технические нюансы и подводные камни, с которыми сталкиваются администраторы при выполнении этой операции. Правильная подготовка гарантирует сохранность актуальных остатков и бесперебойную работу системы после очистки.
Подготовительный этап и создание резервной копии
Перед началом любых манипуляций с структурой данных необходимо обеспечить полную безопасность информации. Свертка — это необратимый процесс удаления истории, поэтому наличие свежей копии является обязательным условием.
Выполните полную выгрузку базы в файл .dt через стандартный конфигуратор или средствами сервера 1С. Если вы работаете в файловом варианте, скопируйте весь каталог базы на внешний носитель или в облачное хранилище.
⚠️ Внимание: Никогда не начинайте свертку без проверки целостности резервной копии. Попробуйте развернуть выгруженный файл .dt в тестовую базу, чтобы убедиться, что данные читаются корректно.
Убедитесь, что в момент проведения операции в базе не работают пользователи. Режим монопольного доступа обязателен, иначе процедура может завершиться ошибкой блокировки таблиц или, что хуже, привести к повреждению данных.
☑️ Чек-лист перед сверткой
Также рекомендуется провести тестирование и исправление базы данных. В конфигураторе выберите меню Администрирование → Тестирование и исправление и отметьте все пункты, включая логическую целостность. Это позволит выявить скрытые ошибки до того, как они станут фатальными в процессе очистки.
Запуск режима свертки базы данных
Процесс удаления истории инициируется из режима Предприятия под пользователем с полными административными правами. Обычно это пользователь с ролью "Администратор" или "Полные права".
Перейдите в раздел Администрирование → Обслуживание → Свертка информационной базы. В некоторых старых конфигурациях этот пункт может находиться в меню "Сервис" или требовать запуска внешней обработки.
Система предложит выбрать дату, по которую необходимо удалить историю. Все документы и движения регистров, датированные ранее этого числа, будут подвергнуты обработке. Важно понимать, что сама дата свертки является границей: документы за этот день обычно сохраняются, а всё, что было до — удаляется.
После выбора даты система выполнит предварительный анализ. На этом этапе определяется объем данных, подлежащих удалению, и estimated время выполнения операции. Для больших баз этот анализ может занять от нескольких минут до часа.
Настройка параметров удаления истории
Интерфейс мастера свертки предоставляет гибкие настройки, позволяющие адаптировать процесс под конкретные задачи бизнеса. Не все данные нужно удалять одинаково агрессивно.
В окне параметров вы можете выбрать режим удаления движений регистров. Доступны опции удаления всех движений или только тех, которые не влияют на итоговые остатки на дату свертки. Второй вариант безопаснее, но занимает больше времени на расчет.
| Параметр настройки | Описание действия | Влияние на скорость |
|---|---|---|
| Удалять помеченные объекты | Физическое удаление объектов, помеченных на удаление | Среднее |
| Сжимать таблицы | Оптимизация физического размера файлов БД после удаления | Высокое (длительное) |
| Удалять сеансы | Очистка журнала регистрации и таблиц временных данных | Низкое |
| Агрегирование итогов | Пересчет итогов регистров накопления после очистки | Высокое |
Отдельное внимание уделите настройке журнала регистрации. Вы можете указать период, за который логи будут сохранены. Часто имеет смысл оставить журналы за последний год даже при свертке основной базы за 5 лет.
Если в вашей конфигурации используется механизм удаления проведенных документов, убедитесь, что галочка активна. Это позволит удалить не только движения, но и сами документы-основания, что критически важно для уменьшения размера.
Если база очень большая (более 50 Гб), отключите опцию "Сжимать таблицы" на первом этапе. Запустите сжатие отдельной процедурой ночью, чтобы не блокировать работу пользователей надолго.
Технические особенности и ограничения процесса
Свертка базы данных — ресурсоемкая операция, которая создает высокую нагрузку на дисковую подсистему и процессор сервера. Время выполнения напрямую зависит от объема удаляемых данных и скорости дисков.
В файловом варианте 1С процесс может занять от 30 минут до нескольких суток. В клиент-серверном варианте на MS SQL или PostgreSQL скорость значительно выше благодаря параллельному выполнению транзакций, но нагрузка на сервер все равно будет пиковой.
⚠️ Внимание: Во время выполнения свертки база находится в режиме монопольной блокировки. Любая попытка подключения пользователя приведет к ошибке. Планируйте операцию на выходные или ночное время.
Существует ограничение на минимальный период хранения данных в некоторых типовых конфигурациях. Например, в 1С:Бухгалтерия предприятия редакция 3.0 не рекомендуется сворачивать базу, если после даты свертки остается менее 3 месяцев работы, так как это может нарушить механизмы перепроведения.
Также стоит учитывать, что после свертки перепроведение документов "задним числом" (ранее даты очистки) станет невозможным. Система просто не найдет исходных данных для расчета движений.
Что происходит с регистрами сведений?
При свертке удаляются только записи регистров сведений, у которых не установлен период или период попадает в удаляемый диапазон. Записи без периодов, используемые для настроек, обычно сохраняются, если они не помечены на удаление.
Анализ результатов и контроль целостности
По завершении работы мастера свертки система выдаст протокол выполненных действий. Внимательно изучите этот отчет: в нем указано количество удаленных документов, движений и освобожденное место на диске.
Первым делом сравните основные итоги (обороты и остатки) на дату, следующую за датой свертки, с данными до начала операции. Они должны совпадать до копейки. Любое расхождение свидетельствует о критической ошибке процесса.
Запустите повторное тестирование и исправление базы. Часто после массового удаления данных в таблицах остаются "висячие" ссылки или нарушается логическая целостность, которую штатными средствами нужно исправить немедленно.
Обязательно выполните процедуру пересчета итогов. Даже если система сообщает, что итоги пересчитаны автоматически, ручной запуск обработки пересчета итогов регистров накопления гарантирует корректность отчетов "Оборотно-сальдовая ведомость" и аналогичных.
Совпадение остатков до и после свертки — главный критерий успешности операции. Если цифры не сходятся, восстанавливайте базу из резервной копии немедленно.
Оптимизация производительности после очистки
После того как история удалена, физический размер файла базы может не уменьшиться пропорционально, особенно в файловом варианте. Это связано с особенностями выделения места СУБД.
Для файловых баз (.1cd) рекомендуется выполнить операцию сжатия через меню Администрирование → Сжать информационную базу. Это вернет операционной системе неиспользуемое дисковое пространство.
В серверном варианте (MS SQL) может потребоваться выполнение команды DBCC SHRINKDATABASE или настройка авто-сжатия файлов данных средствами SQL Server Management Studio. Без этого файл .mdf останется огромным, хотя данных внутри станет мало.
Рекомендуется также обновить статистику по таблицам базы данных. Это поможет оптимизатору запросов 1С и СУБД строить более эффективные планы выполнения, что ускорит открытие форм и формирование отчетов.
⚠️ Внимание: Интерфейсы и названия пунктов меню могут отличаться в зависимости от версии платформы 1С и конфигурации. Всегда сверяйтесь с документацией к вашему конкретному релизу перед нажатием кнопок удаления.
После свертки создайте новую полную резервную копию "чистой" базы. Храните её отдельно от копий "грязной" базы с историей, чтобы не запутаться в версиях.
Часто задаваемые вопросы (FAQ)
Можно ли восстановить удаленную историю после свертки?
Нет, процесс свертки является необратимым. Удаленные документы и движения регистров не попадают в корзину. Единственный способ вернуть данные — развернуть базу из резервной копии, сделанной ДО начала процедуры свертки.
Влияет ли свертка на работу отчетов за прошлые периоды?
Да, влияет критически. После свертки вы не сможете сформировать детальные отчеты (например, анализ счета или карточку счета) за периоды, предшествующие дате очистки. Доступны будут только итоговые остатки на дату свертки.
Сколько времени занимает свертка базы объемом 100 Гб?
Время зависит от производительности дисковой подсистемы (SSD vs HDD) и процессора. На современном сервере с SSD это может занять от 2 до 6 часов. На старых механических дисках процесс может длиться более 24 часов.
Нужно ли обновлять конфигурацию перед сверткой?
Желательно. Обновление до последнего релиза конфигурации и платформы 1С часто включает оптимизацию алгоритмов свертки и исправление ошибок, которые могли возникать в старых версиях при удалении больших объемов данных.
Можно ли сворачивать базу, если в ней есть незавершенные производства?
С осторожностью. Если незавершенное производство (НЗП) сформировано документами до даты свертки, эти документы будут удалены, что может привести к потере данных о НЗП. Необходимо предварительно закрыть все периоды и провести документы расчетов.