Торговля и Склад · 10 мин
Как обрезать базу 1С: Торговля и склад
Как обрезать базу 1С Торговля и склад: свёртка остатков, удаление старых документов, перенос в новую базу. Подготовка, риски, проверка результата и типичные ошибки.
Обрезка (свёртка) базы «1С: Торговля и склад» — это удаление старых документов и движений за прошлые периоды с вводом остатков на дату свёртки. Операция нужна, когда база разрослась до нескольких гигабайт, документы проводятся медленно, а архивные данные за прошлые годы не нужны в оперативной работе. Результат — компактная база, в которой остаются актуальные остатки по товарам, взаиморасчётам и деньгам, а история начинается с выбранной даты.
Процедура относится к необратимым: после обрезки восстановить удалённые документы можно только из резервной копии. Поэтому свёртку всегда выполняют в копии базы, а рабочую базу заменяют только после проверки остатков. Ниже разобраны подготовка, способы обрезки для файлового и клиент-серверного вариантов, контроль результата и типичные ошибки.
Когда базу действительно нужно обрезать
Свёртка оправдана, когда объём базы мешает работе: медленное проведение документов, долгое формирование отчётов, тайм-ауты при обмене данными, проблемы с резервным копированием из-за размера файла. Для файловой базы формата 1CD критичным считается приближение к ограничениям на размер таблиц — при переполнении база может перестать открываться.
Не стоит обрезать базу, если проблему можно решить иначе: очисткой помеченных на удаление объектов, тестированием и исправлением, переиндексацией, переносом на SQL-сервер. Также свёртка неуместна, если по старым периодам регулярно строятся отчёты, идут налоговые проверки или ведутся долгосрочные взаиморасчёты с дебиторкой прошлых лет.
Высокий риск замедления и ошибок файловой базы — свёртка или переход на SQL
Проверьте, не поможет ли тестирование и исправление вместо свёртки
Кандидат на обрезку по дате свёртки
Свёртка возможна, но остатки по расчётам нужно вводить корректно
Подготовка: копия, закрытие периода, сверка
Первый шаг — полная резервная копия. Для файловой базы достаточно скопировать каталог с файлом 1Cv8.1CD при отсутствии активных сеансов или сделать выгрузку в dt через конфигуратор. Для клиент-серверной базы используйте выгрузку dt либо средства СУБД. Проверьте, что копия открывается: восстановите её в отдельный каталог и запустите.
Далее подготовьте данные к свёртке. Проведите все документы по дату обрезки, завершите незакрытые заказы и накладные, пометьте на удаление лишние объекты и выполните штатное удаление помеченных. Сформируйте и сохраните контрольные отчёты на дату свёртки: остатки товаров на складах, взаиморасчёты с контрагентами, остатки денежных средств. Эти цифры понадобятся для проверки после обрезки.
Способ 1: штатная свёртка базы
Классический вариант для «1С: Торговля и склад» — обработка свёртки, которая создаёт документы ввода остатков на дату обрезки и помечает на удаление все более ранние документы. Для типовых конфигураций существуют обработки свёртки (например, из состава ИТС или поставки конфигурации); для старой версии 7.7 «Торговля и склад» используется обработка Wrap.ert из стандартной поставки.
Общий порядок одинаков: выбирается дата свёртки, обработка формирует остатки по регистрам (товары, взаиморасчёты, деньги) на начало этой даты, затем документы до даты помечаются на удаление. После завершения нужно выполнить удаление помеченных объектов и, для файловой базы, тестирование и исправление со сжатием таблиц — иначе физический размер файла не уменьшится.
- 1Сделайте копию базы и работайте только в ней
- 2Сформируйте контрольные отчёты по остаткам на дату свёртки
- 3Запустите обработку свёртки, укажите дату обрезки
- 4Дождитесь формирования документов ввода остатков
- 5Проверьте остатки в свёрнутой базе по контрольным отчётам
- 6Удалите помеченные объекты и выполните тестирование со сжатием
- 7Сверьте итоговые остатки ещё раз и перенесите базу в работу
Способ 2: перенос остатков в чистую базу
Альтернатива — создание новой пустой базы той же конфигурации и перенос в неё справочников и остатков. Этот способ трудоёмче, но даёт максимально чистый результат: в новой базе нет накопленного «мусора», битых ссылок и физически раздутых таблиц.
Перенос выполняют через обработки выгрузки-загрузки данных (например, универсальный обмен в формате XML). Выгружаются актуальные справочники — номенклатура, контрагенты, склады, цены — и вводятся начальные остатки на дату обрезки. Способ особенно удобен, когда заодно планируется ревизия справочников: задвоенные контрагенты и неиспользуемая номенклатура просто не переносятся.
Сравнение вариантов обрезки
Быстрее и проще, сохраняет историю после даты свёртки; ограничение — в базе остаются старые справочники и возможные ошибки данных
Максимально чистый результат и ревизия справочников; ограничение — трудоёмко, нужно заново настраивать обмены и права
Подходит, если история нужна, а проблема только в производительности файловой базы; не уменьшает объём данных
Особенности для файловой и клиент-серверной базы
В файловом варианте после удаления помеченных объектов размер файла 1Cv8.1CD сам не уменьшается — освобождённое место остаётся зарезервированным внутри файла. Чтобы физически сжать базу, запустите конфигуратор в монопольном режиме и выполните «Тестирование и исправление» с включённым пунктом «Сжатие таблиц информационной базы». На больших базах операция занимает заметное время.
В клиент-серверном варианте (MS SQL, PostgreSQL) удалённые записи освобождают место внутри файлов данных СУБД, и сжатие выполняется средствами самой СУБД (shrink для MS SQL). Дополнительно полезно обновить статистику и перестроить индексы — это ускорит работу после массового удаления. Такие операции лучше согласовать с администратором СУБД.
Проверка результата после обрезки
После свёртки сравните остатки в новой базе с контрольными отчётами, снятыми до обрезки: остатки товаров по каждому складу в количестве и сумме, задолженность покупателей и перед поставщиками по контрагентам, остатки по кассам и банковским счетам. Расхождения означают, что часть документов на дату свёртки не была проведена или остатки введены не полностью.
Дополнительно проверьте работоспособность типовых операций: создайте и проведите тестовую накладную, сформируйте оборотно-сальдовые отчёты, убедитесь, что нет ссылок на удалённые объекты (в 1С 8 они отображаются как «Объект не найден»). Только после полной сверки свёрнутая база заменяет рабочую, а старая сохраняется как архивная копия.
Как проверить результат
Совпадают с отчётом до свёртки по количеству и сумме
Расхождения по позициям или пустые остатки
Долги по каждому контрагенту совпадают с контрольным отчётом
Потерянные долги прошлых периодов
Документы проводятся без ошибок и быстро
Ошибки проведения, ссылки «Объект не найден»
Файл заметно уменьшился после сжатия
Размер не изменился — сжатие не выполнялось
Типичные ошибки и ограничения
Самая частая ошибка — свёртка в рабочей базе без копии. Вторая по распространённости — непроведённые документы на дату обрезки: остатки по ним теряются, и взаиморасчёты «съезжают». Третья — забытое сжатие: администратор удаляет документы, видит, что файл не уменьшился, и считает свёртку неудачной.
Учитывайте ограничения: свёртка не переносит автоматически данные подсистем, не связанных с остатками, — например, историю цен, курсы валют, настройки обменов. Если база участвует в распределённой системе (УРБД в 7.7, РИБ в 8.x) или обмене с другими конфигурациями, свёртку нужно согласовывать со всеми узлами, иначе обмен сломается.
Частые вопросы
Можно ли обрезать базу без остановки работы пользователей?
Нет. Свёртка, удаление помеченных объектов и сжатие требуют монопольного доступа к базе. Операцию планируют на нерабочее время — вечер, выходные, — предупредив пользователей заранее.
Что делать со старой базой после обрезки?
Сохраните её как архивную копию в режиме «только чтение». Она понадобится для отчётов по прошлым периодам, налоговых проверок и поиска старых документов. Удалять архив стоит не раньше, чем истечёт срок хранения первичных документов.
Почему после удаления документов размер файла базы не уменьшился?
Файловая база 1С не возвращает место операционной системе автоматически. Запустите конфигуратор в монопольном режиме и выполните «Тестирование и исправление» с включённым сжатием таблиц. Для SQL-базы сжатие делается средствами СУБД.
Обрежется ли база 7.7 «Торговля и склад» так же, как восьмёрка?
Принцип тот же: ввод остатков на дату и удаление документов до неё, для чего используется обработка Wrap.ert из поставки. Но механика отличается: в 7.7 остатки хранятся в регистрах с периодичностью, и после свёртки нужно корректно установить границы расчёта итогов.
Что выбрать для даты свёртки?
Оптимально — начало года или квартала, по которому закрыта отчётность. Так ввод остатков совпадает с подтверждёнными данными учёта, а сверка после обрезки занимает минимум времени.
Можно ли обрезать базу, если настроен обмен с 1С: Бухгалтерией?
Можно, но с оговорками: сначала завершите обмен всеми документами до даты свёртки, убедитесь, что бухгалтерская база их получила, и только потом обрезайте. После свёртки проверьте первую синхронизацию — правила обмена не должны ссылаться на удалённые документы.
Что важно запомнить
Обрезка базы «1С: Торговля и склад» выполняется только в копии, после резервного копирования, закрытия периода и снятия контрольных остатков. Используйте штатную свёртку или перенос остатков в чистую базу, после удаления обязательно выполните сжатие и сверьте остатки по всем разделам учёта. Старую базу сохраните как архив.