Часто на практике мы сталкиваемся с ситуацией, когда размер файловой базы 1С начинает превышать разумные пределы. В какой-то момент администратор замечает, что база весит более 10–11 Гб, а при попытке работы возникает ошибка превышения ограничения в 4 Гб на одну таблицу базы данных. Проанализируем типичную ситуацию: в базе 10 лет учета, ежедневных транзакций немного, но таблица итогов РегистрБухгалтерии.Хозрасчетный.ИтогиПоСчетамССубконто3 занимает огромный объем — более 3 Гб, что даже больше таблицы с самими оборотами.
Выясним причину этой проблемы. Как правило, корень зла кроется в отсутствии методологии учета. Бухгалтеры могут оформлять поступления товаров общей суммой без разбиения по номенклатуре, а списывать все ручными операциями. В результате по счетам 41.02 (Товары в розничной торговле) и 60.01 (Расчеты с поставщиками и подрядчиками) остатки не "схлопываются" по третьему субконто ("Партии" или "Документы расчетов"). Образуется колоссальная свалка из плюсов и минусов, которая ежемесячно дублируется при расчете итогов. Рассмотрим подробнее, как грамотно провести свертку такой базы, вычистить "хлам" и физически уменьшить размер файла базы данных.
Разберем по шагам логику решения, которая чаще всего приходит на ум администраторам. Идея заключается в следующем: сделать стандартную свертку базы, оставив последние 3 года для работы, а все старые, некорректно закрытые "хвосты" по счетам 41.02 и 60.01 на начало периода просто обнулить или свернуть в единые суммы по договорам, очистив третье субконто.
На первый взгляд, подход кажется нормальным. Пользователи на форумах подтверждают, что технически вычистить старые периоды и ввести остатки общими суммами без указания документов расчетов — можно. Однако, давайте посмотрим на проблему шире и проанализируем скрытые угрозы, связанные с налоговым учетом.
Если мы просто очистим третье субконто, то можем нанести непоправимый вред налоговому учету. Разберем, на что влияет детальная аналитика:
1С:Бухгалтерия 3.0 третье субконто на 60 счете отвечает за документы расчетов. Если мы введем общие остатки по 60 счету без указания расчетных документов, программа потеряет возможность корректно вести раздельный учет НДС и зачитывать НДС с авансов.Вместо того чтобы вручную обнулять остатки в момент самой свертки, правильнее навести порядок датой, предшествующей свертке. Рассмотрим, как это сделать:
КорректировкаДолга (с видом операции "Взаимозачет"). Этот документ автоматически схлопнет развернутое сальдо (плюсы и минусы) в разрезе договоров и документов расчетов.ИнвентаризацияТоваров. По результатам инвентаризации оприходуйте излишки и спишите недостачи.После проведения этих регламентных процедур типовая обработка свертки сама корректно сформирует чистые остатки.
Проанализируем ситуацию с вводом остатков. Если часть сальдо всё же приходится вводить или корректировать руками, категорически избегайте использования документа ОперацияБух (Операции, введенные вручную). 1С:Бухгалтерия 3.0 строит отчетность не только на бухгалтерских проводках (по регистру Хозрасчетный), но и на основе десятков регистров накопления (регистры по НДС, учету ИП, УСН и т.д.). Ручная операция эти регистры не заполнит.
Для фиксации сальдо используйте исключительно специализированный штатный документ ВводНачальныхОстатков. Он сам сформирует необходимые движения по всем сопутствующим регистрам.
Свертка сформирует остатки и пометит на удаление документы прошлых периодов. И тут мы сталкиваемся с главной технической проблемой: удаление помеченных объектов в файловой базе размером 11,5 Гб (с данными за 10 лет) может занять несколько суток. Более того, процесс, скорее всего, завершится аварийно из-за нехватки оперативной памяти или внутренних блокировок.
Рассмотрим более эффективный путь, который рекомендуют опытные специалисты. Вместо мучительного удаления старых документов, перенесите результаты свертки в чистую базу:
УниверсальныйОбменДаннымиВФорматеXML перенесите из свернутой базы в чистую только справочники и сгенерированные сверткой документы ВводНачальныхОстатков.Этот подход на 100% гарантирует избавление от скрытого системного мусора, битых ссылок и скрытых записей в регистрах.
Если вы всё же решили пойти по пути удаления помеченных объектов в текущей базе, помните один важнейший нюанс: даже после успешного удаления старых документов за 7 лет физический размер файла 1Cv8.1CD не уменьшится ни на мегабайт! Программа просто помечает освободившееся пространство как "свободное место", но не отдает его жесткому диску.
Посмотрим, как физически "сжать" базу после чистки. Необходимо выполнить следующие действия:
В качестве альтернативного варианта можно прогнать файл базы данных через штатную утилиту chdbfl.exe (находится в папке bin платформы). Только после выполнения этих процедур таблица РегистрБухгалтерии.Хозрасчетный.ИтогиПоСчетамССубконто3 очистится от пустот, а база "похудеет" до приемлемых размеров.
Важное напоминание: Все эксперименты со сверткой, удалением, сжатием и переносом данных всегда делайте исключительно на копии информационной базы. Только после того, как вы убедитесь, что оборотно-сальдовая ведомость в новой базе сходится с исходной, можете передавать ее бухгалтерам для работы, предварительно закрыв прошлые периоды от редактирования.