Свертка информационной базы в 1С:Предприятии 7.7 — это процедура, к которой прибегают для повышения производительности системы и уменьшения объема хранимых данных. Однако часто пользователи сталкиваются с ситуацией, когда после удаления десятков тысяч документов объем файлов .DBF уменьшается незначительно, а данные в оборотно-сальдовой ведомости (ОСВ) начинают вызывать вопросы. В этой статье мы подробно разберем, почему база может «сопротивляться» сжатию, как правильно выполнить техническую очистку и почему уменьшение оборотов после свертки — это не ошибка, а ожидаемый результат.
Рассмотрим ситуацию: вы выполнили свертку с помощью стандартной обработки wrap.ert, удалили помеченные объекты (например, 70 000 документов), сделали «упаковку» в Конфигураторе и даже выполнили выгрузку/загрузку данных. Но база уменьшилась, скажем, с 2.6 Гб до 2.0 Гб. На первый взгляд кажется, что удаление такого колоссального объема данных должно было дать больший эффект. Проанализируем, где могут скрываться «лишние» мегабайты.
1. Накопление данных в системных журналах (SYSLOG)
Одной из самых частых причин большого веса базы является папка SYSLOG и файл 1cv7.mlg (журнал регистрации). Процесс свертки и последующее массовое удаление объектов генерируют огромное количество записей в журнале регистрации. Каждое удаление — это отдельная строка в логе. Если не очистить журнал вручную, он может вырасти на сотни мегабайт именно в процессе свертки. Рекомендуется архивировать или удалять содержимое этой папки перед финальным замером объема.
2. Объем папки ExtForms
Проверим содержимое каталога ExtForms. В этой папке хранятся регламентированные отчеты, внешние печатные формы и обработки. Часто за несколько лет работы там скапливаются архивы отчетов за каждый квартал. Каждый такой набор может весить от 50 до 150 Мб. При свертке эти файлы не удаляются автоматически, так как они не являются объектами базы данных. Если отчетность за 2012–2015 годы вам в оперативной базе больше не нужна, их удаление существенно освободит место.
3. Периодические реквизиты (1SCONST)
Файл 1SCONST.DBF хранит историю всех периодических констант и реквизитов справочников (цены номенклатуры, курсы валют, ставки налогов). Обработки свертки часто не трогают историю этих значений. Если цены менялись ежедневно для тысяч позиций, этот файл будет весить очень много. Выясним его размер: если он составляет значительную часть базы, стоит воспользоваться специализированными обработками для очистки истории периодических реквизитов на дату свертки.
Если после свертки сальдо сходится, а обороты кажутся странными, или если база все еще кажется «тяжелой», необходимо выполнить радикальный пересчет бухгалтерских итогов. Выясним, как это сделать правильно, чтобы исключить влияние старых «хвостов» в таблицах.
Иногда штатный режим «Тестирование и исправление» не очищает таблицы итогов полностью. Рассмотрим пошаговый алгоритм «жесткой» очистки итогов:
1SBKTTL.DBF и 1SBKTTL.CDX (основная таблица итогов);1SBKTTLC.DBF и 1SBKTTLC.CDX (таблица итогов по валютам/разделителям учета).Операции — Управление бухгалтерскими итогами.Этот метод заставляет систему заново сформировать все итоги на основании только тех проводок, которые реально остались в базе (таблица 1SENTRY). Это часто помогает уменьшить размер файлов итогов, если в них скопился «мусор» от удаленных документов.
Этот вопрос часто беспокоит бухгалтеров. Проанализируем логику свертки. До процедуры ваша ОСВ за период, например, 2012–2016 гг., включала в себя все хозяйственные операции: закупки, продажи, перемещения между складами, списания, оплаты. Это создавало огромные обороты по дебету и кредиту счетов.
Что происходит при свертке:
Ввод остатков (или операции) на дату свертки (например, на 31.12.2016).Посмотрим на пример: если в течение года вы перемещали товар со склада на склад 100 раз, общие обороты по счету 41 будут включать сумму всех этих 100 перемещений. После свертки останется только финальный остаток товара на складе. Таким образом, обороты за свернутый период обязаны уменьшиться — это прямое следствие удаления детальных проводок. Главный критерий успешности — совпадение входящего сальдо на дату начала «живого» периода (01.01.2017 в данном случае).
Иногда после свертки могут оставаться документы с некорректными датами, которые влияют на итоги. Разберем, как их найти:
Общий журнал документов.Также проанализируем таблицу 1SENTRY.DBF. Это физическая таблица проводок. При свертке через wrap.ert бывает ситуация, когда «Операции» (объекты из таблицы 1SOPER) удаляются, а связанные с ними записи в 1SENTRY остаются «сиротами». Выгрузка и последующая загрузка данных через Конфигуратор (в формате .zip) обычно эффективно решает эту проблему, так как в файл выгрузки попадают только логически связанные объекты.
Для достижения максимального результата при уменьшении размера базы рекомендуем выполнить следующие шаги:
SYSLOG.ExtForms от старых отчетов.*.CDX) перед запуском Конфигуратора — система переиндексирует базу заново, создав компактные и актуальные индексы.1SCONST.DBF (периодические реквизиты) и 1SDN*(имена зависят от структуры).DBF — возможно, остались неиспользуемые элементы в очень длинных справочниках.Соблюдение этих правил позволит вам не только уменьшить физический размер базы, но и обеспечить стабильную и быструю работу системы в послесверточный период.