Свёртка базы 1С:Управление торговлей 11: сокращаем документы и объём

· 10 мин

Содержание

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

Полноценная свёртка УТ 11 — это несколько независимых операций: архивация старых данных, удаление помеченных объектов, сжатие базы и чистка журнала регистрации. Их можно делать по очереди, а можно ограничиться частью — если цель только «ускорить и уменьшить», иногда хватает удаления помеченных объектов и сжатия, без переноса остатков.

Что даёт свёртка и когда она действительно нужна

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

  • 🗂️ Сократить число документов и движений. База с историей за 8–10 лет тормозит на проведении, закрытии месяца, построении отчётов по регистрам накопления. Перенос остатков на свежую дату и удаление старых документов убирают лишние строки из регистров.
  • 💽 Уменьшить размер файла на диске. Файл 1Cv8.1CD или база SQL разрослись, не хватает места, долго идёт резервное копирование . Здесь помогает не свёртка как таковая, а сжатие таблиц после удаления данных.

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

Полную свёртку с архивацией периода имеет смысл затевать, когда:

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

Свёртка необратима в рабочей базе. Все действия сначала выполняются и проверяются на копии, и только потом — на рабочей базе.

Подготовка: копия, дата свёртки и монопольный режим

Главное перед любой операцией — сделайте резервную копию базы и проверьте, что она разворачивается. Для файловой базы это копия каталога с 1Cv8.1CD (при остановленных сеансах) или выгрузка в .dt через Конфигуратор: Администрирование → Выгрузить информационную базу. Для клиент-серверной — бэкап средствами СУБД плюс, при желании, выгрузка .dt.

Выберите дату свёртки. Это первое число периода, с которого документы останутся «живыми». Всё, что до неё, сворачивается в остатки. Обычно берут начало года или начало квартала — так проще сверять.

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

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

Отдельно проверьте свободное место на диске. Сжатие таблиц и выгрузка в .dt переписывают данные во временные структуры, поэтому запас нужен примерно равный текущему размеру базы. Если диск забит под завязку, операция оборвётся на середине.

Что сделать до свёртки
Выполнено: 0 / 5

Шаг 1. Удаление помеченных объектов

Это штатная обработка — отправная точка любой чистки. Она физически удаляет из базы то, что пользователи уже пометили на удаление: ошибочные документы, лишние элементы справочников, устаревшие цены.

Откройте раздел НСИ и администрирование → Администрирование → Обслуживание и запустите Удаление помеченных объектов. Если пункта не видно, обработка доступна через меню Все функции (включается в настройках платформы).

Порядок работы:

  1. Выберите режим — автоматический (удалить всё помеченное) или выборочный.
  2. Нажмите Удалить — программа проверит ссылки. Если на помеченный объект ссылаются непомеченные документы, он не удалится.
  3. Разберите список «не удалось удалить»: либо снимите пометку, либо допометьте ссылающиеся объекты, либо замените ссылку.

Контроль ссылок — главная причина, по которой «помеченное» годами висит в базе. Удаление без разбора этого списка ничего толком не сократит.

Чаще всего в УТ 11 без дела копятся пометки на устаревших ценах номенклатуры, отменённых заказах, служебных документах обмена и дублях номенклатуры. Пройдите по ним осмысленно: иногда объект не удаляется именно потому, что на него ссылается такой же мусорный, но не помеченный документ.

Обработка требует монопольного доступа и может идти несколько часов на большой базе. Запускайте, когда в базе никого нет.

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

Шаг 2. Перенос остатков на дату свёртки

Это и есть собственно «свёртка» — замена истории на входящие остатки. В УТ 11 нет кнопки «Свернуть базу», поэтому задачу решают одним из двух способов.

Способ 1. Внешняя обработка свёртки. Для УТ 11 существуют специализированные внешние обработки, которые формируют документы ввода остатков по регистрам (товары на складах, взаиморасчёты, партии) на дату свёртки и помечают старые документы на удаление. Это самый быстрый путь, но обработку нужно брать проверенную и обязательно обкатывать на копии: набор регистров в УТ 11 большой, и некорректная обработка легко исказит остатки.

Способ 2. Ручной ввод начальных остатков . Подходит, когда регистров для переноса немного. Остатки вводят документами начального заполнения — помощник ввода остатков находится в разделе начального заполнения (НСИ и администрирование → Начальное заполнение). Логика такая:

  1. На дату свёртки выгрузите остатки по ключевым разделам.
  2. Внесите их документами ввода остатков датой свёртки.
  3. Пометьте на удаление документы до даты свёртки.
  4. Удалите помеченные объекты (шаг 1).

Минимальный набор разделов, которые в УТ 11 нужно перенести, чтобы остатки сошлись:

  • 📦 товары на складах (в разрезе складов и характеристик);
  • 💰 себестоимость и партии товаров — их легко упустить, а без них «поедет» валовая прибыль;
  • 🤝 взаиморасчёты с клиентами и поставщиками, включая авансы;
  • 🏦 остатки денежных средств по кассам и счетам;
  • 📝 резервы товаров под заказы клиентов, если вы их ведёте.

Чем сложнее учёт (ордерный склад, несколько организаций, управленческий и регламентированный учёт вместе) — тем больше регистров и тем выше цена ошибки. Это ещё один аргумент за внешнюю обработку вместо ручного переноса.

Ручной перенос — операция для специалиста. Легко упустить регистр (например, себестоимость партий или резервы), и остатки «поедут». После переноса сверяйте каждый раздел с копией.

После свёртки обязательно сверьте ключевые показатели до и после:

Что сверяемГде смотреть
Остатки товаров по складамОтчёт по остаткам товаров
Взаиморасчёты с клиентами/поставщикамиВедомость расчётов
Остатки денежных средствОтчёт по движению денег

Если хоть одна сумма не сходится — откатывайтесь на копию и ищите пропущенный регистр.

Шаг 3. Как реально уменьшить размер файла

После удаления документов внутри базы образуется «пустота». Чтобы отдать это место диску, базу нужно физически сжать. Способ зависит от типа базы.

Файловая база (1Cv8.1CD). В Конфигураторе: Администрирование → Тестирование и исправление, включите только пункт Сжатие таблиц информационной базы (остальные проверки по желанию) и запустите в монопольном режиме. Платформа перепишет таблицы без пустых страниц, и файл уменьшится. Для проверки целостности файловой базы отдельно есть утилита chdbfl.exe из каталога платформы — она ищет и правит ошибки в .1CD, но запускать её тоже нужно на копии.

Клиент-серверная база (SQL). Удаление объектов в 1С не уменьшает файл данных СУБД автоматически. Физический размер сокращает администратор СУБД, и способ зависит от сервера:

  • на MS SQL — усечение журнала транзакций и, при необходимости, DBCC SHRINKFILE с последующей перестройкой индексов;
  • на PostgreSQL — VACUUM FULL по крупным таблицам; команда возвращает место операционной системе, но полностью блокирует таблицу на время работы, поэтому её запускают в окно без пользователей.

Делать это вслепую не стоит: сжатие фрагментирует индексы, после него нужна перестройка. Привлекайте администратора СУБД.

Сильно экономит место чистка журнала регистрации. Он копится годами и бывает больше самой базы. В Конфигураторе: Администрирование → Настройка журнала регистрации — там его можно сократить или отключить избыточную детализацию.

Сравнение методов: что и насколько уменьшает

У каждой операции своя зона ответственности. Браться сразу за всё не нужно — часто хватает первых двух строк.

МетодЧто уменьшаетРискКогда применять
Удаление помеченных объектовЧисло объектов в базеНизкийВсегда, первым шагом
Чистка журнала регистрацииОбъём на дискеНизкийЕсли журнал разросся
Сжатие таблиц ИБ / shrinkФизический размер файлаСреднийПосле удаления данных
Перенос остатков (свёртка)Число документов и движенийВысокийБаза тормозит на старых периодах

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

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

Файловая и клиент-серверная база: в чём разница

Порядок действий общий, но детали расходятся, и путать их опасно.

  • 📁 Файловая база. Все данные — в одном файле 1Cv8.1CD. Сжатие делается через Конфигуратор (Тестирование и исправление → Сжатие таблиц) или проверяется chdbfl.exe. Ограничение размера одной таблицы — 4 ГБ, поэтому крупную УТ 11 на файловом варианте вообще держать не стоит: это сам по себе повод перейти на SQL, а не только сворачивать.
  • 🖥️ Клиент-серверная база. Данные — в СУБД (MS SQL или PostgreSQL). Логическая чистка (удаление помеченных, свёртка) делается так же из 1С, а физическое сжатие и обслуживание — на стороне СУБД силами администратора.

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

Типичные ошибки, из-за которых свёртка выходит боком

Сам порядок действий несложный — проблемы возникают на стыках. Три ошибки встречаются чаще других, и все они приводят к тихому искажению данных, а не к явному сбою.

Дата свёртки попала в незакрытый период. Если на дату переноса не рассчитана себестоимость и не закрыт месяц, остатки по партиям и финансовому результату будут неверными. Сначала закройте период до даты свёртки, проверьте расчёт себестоимости — и только потом переносите остатки.

Сжали SQL-базу и не перестроили индексы. DBCC SHRINKFILE освобождает место, но сильно фрагментирует индексы, и после него база нередко работает медленнее, чем до чистки. Сжатие на стороне СУБД всегда завершают перестройкой или реорганизацией индексов — иначе теряется смысл всей оптимизации.

Свернули базу, из которой идёт выгрузка в бухгалтерию по документам. Если обмен настроен на выгрузку первички, удаление старых документов рассинхронизирует базы: в УТ их уже нет, а в бухгалтерии ещё есть ссылки. Завершите и выверите обмен до свёртки, а дальше обменивайтесь только данными после даты переноса.

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

Есть ли в УТ 11 штатная обработка «Свёртка информационной базы»?
Нет. Такая обработка есть в 1С:Бухгалтерии 3.0, а в УТ 11 перенос остатков делают вручную через документы ввода остатков или внешней обработкой. Сжатие файла — отдельная операция в Конфигураторе или на стороне СУБД.
Почему после удаления помеченных объектов файл базы не уменьшился?
Платформа освободила место внутри базы, но не вернула его операционной системе. Чтобы файл реально уменьшился, нужно сжать таблицы: для файловой базы — Тестирование и исправление → Сжатие таблиц ИБ, для SQL — средствами СУБД.
Можно ли свернуть базу без потери истории?
Сами документы до даты свёртки удаляются — детальная история по ним пропадёт, останутся только входящие остатки. Поэтому перед свёрткой сохраняют полную копию базы: в неё можно зайти, когда понадобятся старые документы.
Что выбрать для даты свёртки?
Начало закрытого и сданного периода — обычно начало года. Главное, чтобы периоды до этой даты уже не требовали изменений, иначе править их после свёртки будет негде.
Сколько времени занимает удаление помеченных объектов?
Зависит от числа объектов и связей — от минут до нескольких часов на большой базе. Поэтому операцию планируют на нерабочее время в монопольном режиме, а перед запуском прикидывают окно с запасом: прервать процесс на середине без риска нельзя.