К статье
Практический материал

Торговля и Склад · 10 мин

Как обрезать базу 1С: Торговля и склад

Как обрезать базу 1С Торговля и склад: свёртка остатков, удаление старых документов, перенос в новую базу. Подготовка, риски, проверка результата и типичные ошибки.

Обрезка (свёртка) базы «1С: Торговля и склад» — это удаление старых документов и движений за прошлые периоды с вводом остатков на дату свёртки. Операция нужна, когда база разрослась до нескольких гигабайт, документы проводятся медленно, а архивные данные за прошлые годы не нужны в оперативной работе. Результат — компактная база, в которой остаются актуальные остатки по товарам, взаиморасчётам и деньгам, а история начинается с выбранной даты.

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

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

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

Не стоит обрезать базу, если проблему можно решить иначе: очисткой помеченных на удаление объектов, тестированием и исправлением, переиндексацией, переносом на SQL-сервер. Также свёртка неуместна, если по старым периодам регулярно строятся отчёты, идут налоговые проверки или ведутся долгосрочные взаиморасчёты с дебиторкой прошлых лет.

Размер файла 1Cv8.1CDБолее 3–4 ГБ

Высокий риск замедления и ошибок файловой базы — свёртка или переход на SQL

Проведение документаДесятки секунд и дольше

Проверьте, не поможет ли тестирование и исправление вместо свёртки

Актуальность историиДокументы старше 2–3 лет не нужны

Кандидат на обрезку по дате свёртки

Открытые взаиморасчётыЕсть долги прошлых периодов

Свёртка возможна, но остатки по расчётам нужно вводить корректно

Подготовка: копия, закрытие периода, сверка

Первый шаг — полная резервная копия. Для файловой базы достаточно скопировать каталог с файлом 1Cv8.1CD при отсутствии активных сеансов или сделать выгрузку в dt через конфигуратор. Для клиент-серверной базы используйте выгрузку dt либо средства СУБД. Проверьте, что копия открывается: восстановите её в отдельный каталог и запустите.

Далее подготовьте данные к свёртке. Проведите все документы по дату обрезки, завершите незакрытые заказы и накладные, пометьте на удаление лишние объекты и выполните штатное удаление помеченных. Сформируйте и сохраните контрольные отчёты на дату свёртки: остатки товаров на складах, взаиморасчёты с контрагентами, остатки денежных средств. Эти цифры понадобятся для проверки после обрезки.

Способ 1: штатная свёртка базы

Классический вариант для «1С: Торговля и склад» — обработка свёртки, которая создаёт документы ввода остатков на дату обрезки и помечает на удаление все более ранние документы. Для типовых конфигураций существуют обработки свёртки (например, из состава ИТС или поставки конфигурации); для старой версии 7.7 «Торговля и склад» используется обработка Wrap.ert из стандартной поставки.

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

Порядок штатной свёртки
  1. 1
    Сделайте копию базы и работайте только в ней
  2. 2
    Сформируйте контрольные отчёты по остаткам на дату свёртки
  3. 3
    Запустите обработку свёртки, укажите дату обрезки
  4. 4
    Дождитесь формирования документов ввода остатков
  5. 5
    Проверьте остатки в свёрнутой базе по контрольным отчётам
  6. 6
    Удалите помеченные объекты и выполните тестирование со сжатием
  7. 7
    Сверьте итоговые остатки ещё раз и перенесите базу в работу

Способ 2: перенос остатков в чистую базу

Альтернатива — создание новой пустой базы той же конфигурации и перенос в неё справочников и остатков. Этот способ трудоёмче, но даёт максимально чистый результат: в новой базе нет накопленного «мусора», битых ссылок и физически раздутых таблиц.

Перенос выполняют через обработки выгрузки-загрузки данных (например, универсальный обмен в формате XML). Выгружаются актуальные справочники — номенклатура, контрагенты, склады, цены — и вводятся начальные остатки на дату обрезки. Способ особенно удобен, когда заодно планируется ревизия справочников: задвоенные контрагенты и неиспользуемая номенклатура просто не переносятся.

Сравнение вариантов обрезки

Штатная свёртка в копии базы

Быстрее и проще, сохраняет историю после даты свёртки; ограничение — в базе остаются старые справочники и возможные ошибки данных

Перенос в чистую базу

Максимально чистый результат и ревизия справочников; ограничение — трудоёмко, нужно заново настраивать обмены и права

Переход на SQL без свёртки

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

Особенности для файловой и клиент-серверной базы

В файловом варианте после удаления помеченных объектов размер файла 1Cv8.1CD сам не уменьшается — освобождённое место остаётся зарезервированным внутри файла. Чтобы физически сжать базу, запустите конфигуратор в монопольном режиме и выполните «Тестирование и исправление» с включённым пунктом «Сжатие таблиц информационной базы». На больших базах операция занимает заметное время.

В клиент-серверном варианте (MS SQL, PostgreSQL) удалённые записи освобождают место внутри файлов данных СУБД, и сжатие выполняется средствами самой СУБД (shrink для MS SQL). Дополнительно полезно обновить статистику и перестроить индексы — это ускорит работу после массового удаления. Такие операции лучше согласовать с администратором СУБД.

Проверка результата после обрезки

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

Дополнительно проверьте работоспособность типовых операций: создайте и проведите тестовую накладную, сформируйте оборотно-сальдовые отчёты, убедитесь, что нет ссылок на удалённые объекты (в 1С 8 они отображаются как «Объект не найден»). Только после полной сверки свёрнутая база заменяет рабочую, а старая сохраняется как архивная копия.

Контрольные точки

Как проверить результат

Остатки товаров на складах
Норма

Совпадают с отчётом до свёртки по количеству и сумме

Тревожный признак

Расхождения по позициям или пустые остатки

Взаиморасчёты с контрагентами
Норма

Долги по каждому контрагенту совпадают с контрольным отчётом

Тревожный признак

Потерянные долги прошлых периодов

Проведение новых документов
Норма

Документы проводятся без ошибок и быстро

Тревожный признак

Ошибки проведения, ссылки «Объект не найден»

Размер базы
Норма

Файл заметно уменьшился после сжатия

Тревожный признак

Размер не изменился — сжатие не выполнялось

Типичные ошибки и ограничения

Самая частая ошибка — свёртка в рабочей базе без копии. Вторая по распространённости — непроведённые документы на дату обрезки: остатки по ним теряются, и взаиморасчёты «съезжают». Третья — забытое сжатие: администратор удаляет документы, видит, что файл не уменьшился, и считает свёртку неудачной.

Учитывайте ограничения: свёртка не переносит автоматически данные подсистем, не связанных с остатками, — например, историю цен, курсы валют, настройки обменов. Если база участвует в распределённой системе (УРБД в 7.7, РИБ в 8.x) или обмене с другими конфигурациями, свёртку нужно согласовывать со всеми узлами, иначе обмен сломается.

Типичные ошибки
01
Свёртка без резервной копии — при сбое данные теряются безвозвратно
02
Непроведённые документы на дату обрезки — остатки вводятся неверно
03
Отсутствие сжатия после удаления — файл базы не уменьшается
04
Игнорирование обменов и подчинённых баз — после свёртки обмены перестают работать
05
Удаление истории, нужной для налоговой проверки, — приходится восстанавливать архив

Частые вопросы

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

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

Что делать со старой базой после обрезки?

Сохраните её как архивную копию в режиме «только чтение». Она понадобится для отчётов по прошлым периодам, налоговых проверок и поиска старых документов. Удалять архив стоит не раньше, чем истечёт срок хранения первичных документов.

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

Файловая база 1С не возвращает место операционной системе автоматически. Запустите конфигуратор в монопольном режиме и выполните «Тестирование и исправление» с включённым сжатием таблиц. Для SQL-базы сжатие делается средствами СУБД.

Обрежется ли база 7.7 «Торговля и склад» так же, как восьмёрка?

Принцип тот же: ввод остатков на дату и удаление документов до неё, для чего используется обработка Wrap.ert из поставки. Но механика отличается: в 7.7 остатки хранятся в регистрах с периодичностью, и после свёртки нужно корректно установить границы расчёта итогов.

Что выбрать для даты свёртки?

Оптимально — начало года или квартала, по которому закрыта отчётность. Так ввод остатков совпадает с подтверждёнными данными учёта, а сверка после обрезки занимает минимум времени.

Можно ли обрезать базу, если настроен обмен с 1С: Бухгалтерией?

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

Итог

Что важно запомнить

Обрезка базы «1С: Торговля и склад» выполняется только в копии, после резервного копирования, закрытия периода и снятия контрольных остатков. Используйте штатную свёртку или перенос остатков в чистую базу, после удаления обязательно выполните сжатие и сверьте остатки по всем разделам учёта. Старую базу сохраните как архив.