В процессе интенсивной работы с системой 1С:Предприятие, особенно на конфигурациях типа «Бухгалтерия предприятия» или «Управление торговлей», база данных неизбежно разрастается. Это приводит к замедлению выполнения операций, увеличению времени проведения документов и усложнению регламентных процедур. Оптимальным решением для поддержания быстродействия является процедура свертки информационного ресурса.
Свертка позволяет перенести остатки на выбранный момент времени, удалив при этом все движения и документы предыдущих периодов. В результате вы получаете компактный файл, который содержит только актуальные данные для начала нового периода. Этот процесс критически важен для подготовки демо-баз или передачи данных аудиторам без раскрытия истории операций.
Процедура не является тривиальной и требует тщательной подготовки, так как необратимо удаляет исторические данные. Неправильная настройка параметров может привести к потере важной аналитики или некорректным остаткам. В данной статье мы детально разберем алгоритм действий, настройки сроков и методы выполнения этой операции в платформе версии 8.3.
Подготовительный этап и проверка целостности
Перед запуском механизма свертки необходимо убедиться в технической исправности текущей базы данных. Любые скрытые ошибки в регистрах накопления или табличных частях документов могут привести к сбою процесса или формированию искаженных остатков. Первым шагом всегда должен быть запуск группы обработок «Администрирование».
В режиме предприятия или конфигуратора выполните проверку логической целостности. Система проанализирует связи между объектами и выявит нарушения ссылочной целостности. Если будут найдены ошибки, их необходимо устранить до начала основной процедуры, иначе результат будет непредсказуем.
- 🔍 Выполните тестирование и исправление базы данных через меню «Администрирование».
- 💾 Создайте полную резервную копию файла
.dtили сделайте бэкап SQL-сервера. - 🚫 Убедитесь, что все пользователи завершили работу и вышли из системы.
⚠️ Внимание: Процесс свертки необратим. Если вы работаете с основной рабочей базой, а не с её копией, риск потери исторических данных становится критическим. Всегда выполняйте процедуру на копии!
Перед сверткой обязательно отключите фоновые задания и регламентные операции, чтобы они не заблокировали таблицы во время выполнения процедуры.
Особое внимание следует уделить правам доступа. Пользователь, запускающий свертку, должен обладать полными правами администратора системы и правами на изменение конфигурации. В некоторых случаях требуется монопольный режим работы с базой данных.
Настройка параметров и выбор периода
Ключевым моментом всей операции является определение даты, на которую будут перенесены остатки. Эта дата становится новым началом отсчета для базы данных. Все документы, проведенные ранее этого момента, будут удалены, а их влияние на регистры сохранится в виде начальных остатков.
Выбор периода зависит от целей свертки. Если требуется подготовить базу для нового года, датой обычно выбирают 31 декабря или 1 января. Для передачи данных контрагенту может быть выбрана произвольная дата конца квартала.
| Тип свертки | Рекомендуемая дата | Цель использования |
|---|---|---|
| Годовая | 31.12.202X | Начало нового финансового года |
| Квартальная | Последний день квартала | Подготовка отчетности за период |
| Демо-версия | Любая дата | Обучение сотрудников или демонстрация |
| Архивная | Дата закрытия проекта | Сохранение итогов для истории |
В интерфейсе конфигурации параметры устанавливаются в специальной обработке. Здесь можно указать не только дату, но и конкретные организации или склады, которые подлежат свертке. Это позволяет гибко управлять объемом удаляемых данных.
Методы выполнения свертки в 1С 8.3
В современных версиях платформы реализовано несколько способов выполнения этой операции. Выбор конкретного метода зависит от размера базы данных, типа СУБД и наличия прав доступа к серверу. Наиболее распространенным является использование встроенной обработки.
Стандартный режим запускается непосредственно из интерфейса пользователя. Он подходит для файловых баз и небольших клиент-серверных вариантов. Процесс контролируется визуально, и пользователь видит прогресс выполнения каждого этапа.
Для крупных баз данных, работающих под управлением MS SQL Server или PostgreSQL, рекомендуется использовать режим «Свертка с использованием сервера». Этот метод значительно быстрее, так как использует вычислительные мощности СУБД и выполняет операции на стороне сервера, минуя клиентскую часть.
- 🚀 Режим «Серверная свертка» работает в разы быстрее при больших объемах данных.
- 📂 Файловая база требует обязательного монопольного доступа к каталогу.
- ⚙️ Клиент-серверный вариант позволяет выполнять операцию в фоновом режиме.
⚠️ Внимание: При использовании серверного метода убедитесь, что у учетной записи пользователя 1С есть права на выполнение хранимых процедур в базе данных SQL.
Если стандартные средства по каким-либо причинам не срабатывают, можно воспользоваться утилитой командной строки 1cv8.exe. Это позволяет автоматизировать процесс и включать его в скрипты ночного обслуживания.
1cv8.exe CONFIG /F"C:\Base\1Cv8.1CD" /N"Admin" /P"Password" /Execute "СверткаБазыДанных"
Серверный метод свертки является предпочтительным для баз объемом более 1 ГБ, так как он минимизирует сетевой трафик и нагрузку на клиентские машины.
Процесс переноса остатков и удаления данных
После нажатия кнопки выполнения система переходит в активную фазу обработки данных. Сначала происходит расчет итогов по всем регистрам накопления на указанную дату. Это самый ресурсоемкий этап, длительность которого зависит от количества записей в регистрах.
Затем система формирует новые записи начальных остатков. Важно понимать, что структура этих записей может отличаться от структуры движений документов. Некоторые виды аналитики, не имеющие смысла на начало периода, могут быть отброшены.
На финальном этапе происходит физическое удаление таблиц движений и документов за периоды до выбранной даты. В этот момент размер файла базы данных может существенно уменьшиться. В клиент-серверном варианте освобождаемое место возвращается операционной системе не сразу, а требует дефрагментации.
В ходе процесса могут возникать сообщения о конфликтах блокировок. Если база используется несколькими пользователями, система не сможет удалить записи, которые в данный момент читает другой сеанс. В таких случаях процедуру придется перезапустить.
Что происходит с регистрами сведений?
Регистры сведений, не имеющие периодичности, обычно не затрагиваются сверткой. Периодические регистры сведений сворачиваются до одной записи на дату начала периода, если это предусмотрено логикой конфигурации.
Анализ результатов и контроль остатков
По завершении процедуры необходимо провести детальную проверку полученного результата. Слепая вера в автоматизацию может привести к тому, что вы начнете работать с базой, где расходятся балансы. Первым делом следует сформировать оборотно-сальдовые ведомости.
Сравните остатки на дату начала периода в новой базе с остатками в старой базе на ту же дату. Они должны совпадать до копейки. Особое внимание уделите взаиморасчетам с контрагентами и складским остаткам.
- 📊 Сформируйте ОСВ по всем счетам и сравните итоги с исходной базой.
- 📦 Проверьте количество товаров на складах через отчет «Ведомость по товарам».
- 💰 Сверьте сальдо по расчетам с покупателями и поставщиками.
⚠️ Внимание: Интерфейсы и структуры баз данных могут меняться с выходом новых релизов конфигураций. Всегда сверяйте настройки свертки с актуальной документацией к вашей версии платформы на момент выполнения работ.
Если обнаружены расхождения, необходимо проанализировать журналы регистрации. Часто причина кроется в документах, проведенных задним числом, или в особенностях работы конкретных подсистем, таких как расчет зарплаты или производство.
☑️ Контроль качества свертки
Типичные ошибки и способы их устранения
В процессе работы пользователи часто сталкиваются с рядом стандартных проблем. Понимание причин их возникновения позволяет быстро восстановить работоспособность системы. Одной из самых частых ошибок является сообщение о невозможности получить монопольный режим.
Это означает, что в базе активен хотя бы один сеанс пользователя или фоновое задание. Необходимо зайти в консоль администрирования серверов 1С или в интерфейс базы и принудительно завершить все соединения. Только после этого повторите попытку.
Другая распространенная проблема — ошибка при удалении движений. Она может быть вызвана повреждением индексов в СУБД. В этом случае требуется проведение полной реорганизации индексов и обновление статистики таблиц базы данных.
Иногда свертка завершается успешно, но при попытке ввести документ в новом периоде система выдает ошибки о несуществующих периодах регистрации. Это решается перепроведением документов или корректировкой регистра накопления «Периоды регистраторов».
Что делать, если свертка зависает на 99%?
Зависание на финальном этапе часто связано с очисткой больших таблиц истории изменений или регистрами сведений. Не прерывайте процесс насильственно. Проверьте логи SQL-сервера на наличие блокировок (deadlocks). Если процесс не движется более часа, возможно, потребуется увеличить ресурсы сервера или выполнить свертку по частям (по организациям).
Можно ли свернуть базу, если есть незавершенные производства?
Да, можно, но с осторожностью. Незавершенное производство (НЗП) должно быть корректно отражено в регистрах. Убедитесь, что все документы выпуска продукции и списания материалов проведены до даты свертки. Иначе стоимость НЗП может быть потеряна или рассчитана неверно.
Как свернуть базу в файловой версии без доступа к конфигуратору?
В режиме предприятия запустите обработку «Свертка базы данных» из раздела «Администрирование» -> «Обслуживание». Вам потребуются права полного доступа. Убедитесь, что никто другой не работает в базе в этот момент.
Влияет ли свертка на историю изменений объектов (префикс УИ)?
Да, история изменений объектов метаданных и данных обычно удаляется при свертке, так как она хранится в регистрах сведений, привязанных к периодам. Это штатное поведение для уменьшения размера базы.