Чистка информационной базы БП 3.0: от проверки целостности до полного обнуления
Содержание
Очистить базу 1С Бухгалтерия можно на четырёх уровнях. Мусор и ошибки убирает Конфигуратор → Администрирование → Тестирование и исправление информационной базы. Лишние документы и справочники — отмена проведения, пометка на удаление и обработка «Удаление помеченных объектов» в разделе Администрирование → Обслуживание. Раздутые итоги — пересчёт через «Управление итогами». Лишние гигабайты — сокращение журнала регистрации и сжатие таблиц.
Чаще всего за очистку берутся в трёх ситуациях: база стала медленной и тяжёлой, после пробного периода нужно убрать тестовые документы, или организацию закрыли и базу хотят использовать заново. Для каждой ситуации свой набор действий, и путать их не стоит: пересчёт итогов не удалит ни одного документа, а удаление помеченных не уменьшит файл базы.
Всё ниже — для 1С:Бухгалтерии предприятия 3.0 на платформе 8.3 с интерфейсом «Такси». Конфигуратор и параметры командной строки общие для всех конфигураций на 8.3.
Подготовка: что сделать до любой очистки
Почти каждая операция из этой статьи необратима. Поэтому сначала копия.
Перед очисткой выгрузите базу в файл .dt и проверьте, что он открывается.
- Попросите всех пользователей выйти из базы. Список сеансов смотрите в
Администрирование → Обслуживание → Активные пользователи(в некоторых релизах пункт находится в группе «Отчеты администратора» того же раздела). - Запустите базу в режиме «Конфигуратор».
- Выберите
Администрирование → Выгрузить информационную базуи сохраните файл на другой диск. - Для файловой базы дополнительно скопируйте каталог базы целиком: файл
1Cv8.1CDи папку1Cv8Log.
Проверить копию просто: создайте в списке баз новую пустую базу и загрузите в неё .dt через Администрирование → Загрузить информационную базу. Если база открылась и в ней есть ваши документы, копия рабочая.
Для клиент-серверной базы кроме .dt сделайте резервную копию средствами СУБД (MS SQL или PostgreSQL). Выгрузка .dt большой базы может идти часами, а бэкап СУБД снимается быстрее и восстанавливается надёжнее.
Тестирование и исправление базы перед чисткой
С этого шага начинают, если база тормозит, выдаёт ошибки при проведении или вы собираетесь удалять много объектов. Тестирование находит битые ссылки и нарушенную структуру, которые иначе помешают удалению.
Для этой операции нужен монопольный доступ: в базе не должно быть ни одного сеанса, кроме Конфигуратора.
Порядок запуска
- Откройте Конфигуратор.
- Выберите
Администрирование → Тестирование и исправление.... - Отметьте проверки (таблица ниже).
- Режим: «Тестирование и исправление». Для первого раза можно выбрать «Только тестирование», чтобы увидеть масштаб проблем.
- Нажмите
Выполнитьи дождитесь протокола.
| Флажок | Что делает | Когда включать |
|---|---|---|
| Реиндексация таблиц информационной базы | Перестраивает индексы | Почти всегда, это безопасно |
| Проверка логической целостности | Ищет нарушения внутренней структуры | Всегда |
| Проверка ссылочной целостности | Находит ссылки на несуществующие объекты | Перед массовым удалением |
| Пересчёт итогов | Пересчитывает итоги всех регистров | Если отчёты расходятся с документами |
| Сжатие таблиц информационной базы | Уменьшает размер файла | Файловая база после удалений |
| Реструктуризация таблиц | Пересоздаёт таблицы | Только при серьёзных сбоях: долго |
Битые ссылки: что выбрать
При проверке ссылочной целостности программа спрашивает, что делать с найденными ссылками на отсутствующие объекты:
- 🟢 «Создавать объекты» — на месте пропавшего элемента появится заглушка вида «Объект не найден». Данные в документах не теряются, заглушку потом можно заменить на нужный элемент.
- 🔴 «Удалять ссылки» — поле очищается. Документ остаётся, но в нём пропадает, например, контрагент.
- ⚪ «Не изменять» — только протокол.
Для бухгалтерской базы безопаснее «Создавать объекты»: потерянный контрагент в сотне платёжек хуже, чем одна заглушка в справочнике.
Для файловой базы с повреждённым файлом 1Cv8.1CD, которую Конфигуратор не открывает, есть утилита chdbfl.exe. Она лежит в каталоге bin установленной платформы и проверяет физическую целостность файла. Запускайте её только на закрытой базе и только после копирования каталога.
Отмена проведения и удаление документов
Здесь чаще всего путают два действия. Отмена проведения снимает движения документа: проводки, записи в регистрах НДС, взаиморасчётов, учёта товаров. Сам документ остаётся в журнале. Удаление убирает документ целиком.
Убрать движения документа
- Откройте список документов, например
Банк и касса → Банковские выписки. - Выделите документы: мышью с
Shiftили все сразу черезCtrl+A. - В меню
Ещёвыберите «Отмена проведения».
Проводки исчезнут, документы останутся непроведёнными. Это удобно, когда нужно «обнулить» учёт за период, но сохранить первичку для повторного проведения.
Перепровести после исправлений
После очистки справочников или изменения учётной политики документы перепроводят, чтобы движения сформировались заново. В БП 3.0 это обработка «Групповое перепроведение документов
» в разделе Администрирование → Обслуживание → Корректировка данных. Задайте период и организацию, затем запустите.
Если в периоде есть закрытие месяца, после перепроведения выполните его снова: Операции → Закрытие месяца. Иначе себестоимость, амортизация и финансовый результат останутся посчитанными по старым данным.
Перепроведение не отменяет запрет на изменение данных. Если на период стоит дата запрета, сначала сдвиньте её в Администрирование → Проведение документов (настройка «Даты запрета изменения»), а после работы верните обратно.
Удалить документы и элементы справочников
Удаление в 1С двухэтапное:
- В списке выделите документы и нажмите
DeleteилиЕщё → Пометить на удаление / Снять пометку. На значке документа появится крестик. - Откройте
Администрирование → Обслуживание → Корректировка данных → Удаление помеченных объектов. - Выберите режим полного удаления или отметьте конкретные объекты, нажмите
Удалить.
Программа удалит только те объекты, на которые больше никто не ссылается. Контрагента, по которому есть проведённые платёжки, удалить не получится: обработка покажет список мешающих документов. Сначала пометьте их, затем запустите удаление повторно.
Пересчёт итогов и регистров накопления
Итоги — это заранее посчитанные остатки и обороты регистров бухгалтерии и накопления. Отчёты вроде оборотно-сальдовой ведомости читают именно их, а не перебирают все проводки. Если итоги разошлись с движениями, отчёты показывают неверные остатки.
Признаки, что итоги пора пересчитать:
- 📉 ОСВ показывает остаток по счёту, а в карточке счёта его нет;
- 🐢 отчёты за старые периоды формируются заметно дольше, чем за текущий;
- ⚠️ после сбоя или аварийного завершения сеанса остатки «поехали».
Как пересчитать итоги в пользовательском режиме
- Включите команду «Все функции»:
Главное меню → Сервис → Параметры, флажок «Отображать команду “Все функции”». - Откройте
Главное меню → Все функции → Стандартные → Управление итогами. - На вкладке с полными возможностями выделите все регистры и нажмите «Пересчитать итоги ».
Там же устанавливается период рассчитанных итогов. Ставьте его на конец последнего закрытого месяца: тогда итоги за прошлое хранятся готовыми, а текущий месяц считается на лету. При закрытом периоде в несколько лет это ощутимо ускоряет отчёты.
Когда пересчитывать через Конфигуратор
Если пользовательский режим не открывается или пересчёт обрывается ошибкой, используйте флажок «Пересчёт итогов» в окне тестирования и исправления. Это тот же пересчёт, но с монопольным доступом и с протоколом.
Полное обнуление: база с чистого листа
Под «полной очисткой» обычно понимают одно из двух: убрать все документы и оставить справочники или получить пустую базу без данных вообще. Решения разные.
| Задача | Способ | Что останется | Риски |
|---|---|---|---|
| Убрать тестовые документы после пробного периода | Пометка всех документов + удаление помеченных | Справочники, настройки, пользователи | Долго на больших объёмах |
| Начать учёт с нового года на тех же справочниках | Свёртка базы или новая база с переносом остатков | Справочники и входящие остатки | Нужна сверка остатков после переноса |
| Совсем пустая база | Новая база из шаблона конфигурации | Ничего, кроме конфигурации | Настройки и пользователей вводить заново |
| Пустая база с вашими доработками | Выгрузка конфигурации в .cf и новая база на её основе | Только конфигурация | Данные справочников теряются |
Пустая база той же конфигурации
- Откройте старую базу в Конфигураторе.
- Выберите
Конфигурация → Сохранить конфигурацию в файли сохраните .cf. - В окне запуска 1С нажмите
Добавить → Создание новой информационной базы → Создание информационной базы без конфигурации. - Откройте новую базу в Конфигураторе и загрузите .cf через
Конфигурация → Загрузить конфигурацию из файла, согласитесь на обновление конфигурации базы данных.
Так вы сохраните доработки и расширения в основной конфигурации. Расширения, если они есть, загружайте отдельно: Конфигурация → Расширения конфигурации.
Свёртка вместо удаления
Если база тяжёлая из-за накопленных за много лет документов, удалять их по одному бессмысленно. Свёртка заменяет документы прошлых лет входящими остатками на дату свёртки. В актуальных релизах БП 3.0 для этого есть обработка «Свертка информационной базы» в разделе Администрирование → Обслуживание. Альтернатива — новая база, куда остатки переносят вводом начальных остатков по оборотно-сальдовой ведомости на дату перехода.
После свёртки документы закрытых лет из базы пропадают. Старую базу сохраните в архив: она понадобится для проверок и восстановления первички.
Журнал регистрации, кэш и техническая очистка
Журнал регистрации пишет каждое действие пользователей и фоновых заданий. За несколько лет его папка 1Cv8Log иногда весит больше самой базы.
Сократить журнал регистрации
- Откройте базу в Конфигураторе.
- Выберите
Администрирование → Настройка журнала регистрации. - Нажмите «Сократить», укажите дату: записи раньше неё будут удалены. Их можно сохранить в отдельный файл.
- Там же уменьшите детализацию: «Регистрировать ошибки» или «Регистрировать ошибки и предупреждения» вместо всех событий.
Если журнал нужен для расследований (кто удалил документ, кто менял проводку), не сокращайте его меньше чем до года.
Очистить кэш клиента
Кэш хранит метаданные конфигурации на компьютере пользователя. Его чистят, когда после обновления появляются странные ошибки формы или база открывается медленно. Это не меняет данных в базе.
Простой способ — запуск с параметром:
"C:\Program Files\1cv8\common\1cestart.exe" /ClearCache
Ручной способ: закройте все сеансы 1С на этом компьютере и удалите папки с длинными именами из GUID в каталогах:
%APPDATA%\1C\1cv8\
%LOCALAPPDATA%\1C\1cv8\
Ручное удаление делайте только при закрытой 1С. Открытые сеансы на этом компьютере могут аварийно завершиться, несохранённые документы пропадут.
Сжать файл базы
После массового удаления файл 1Cv8.1CD не уменьшается сам: свободное место остаётся внутри файла. Чтобы его освободить, запустите тестирование с одним флажком «Сжатие таблиц информационной базы». Ещё один способ — выгрузить базу
в .dt и загрузить обратно в новую: файл получится компактным.
Регламентные задания и очистка по расписанию
Чтобы не возвращаться к чистке раз в год, часть работы передают расписанию.
Внутри программы
Откройте Администрирование → Обслуживание → Регламентные и фоновые задания. Здесь видно, какие задания включены и когда они выполнялись. Задание по удалению помеченных объектов в БП 3.0 можно включить и в самой обработке удаления помеченных: в её форме есть настройка автоматического удаления по расписанию.
В файловой базе регламентные задания выполняются, только пока кто-то работает в программе. Если ночью все вышли, задание не запустится. Для файловой базы надёжнее планировщик Windows.
Через планировщик Windows
Конфигуратор запускается из командной строки. Пример bat-файла для ночного обслуживания файловой базы: сначала выгрузка, затем тестирование с реиндексацией, проверкой целостности, пересчётом итогов и сжатием.
@echo off
set V8="C:\Program Files\1cv8\8.3.24.1691\bin\1cv8.exe"
set IB=D:\Base\Buh
set LOG=D:\Backup\maintenance.log
%V8% DESIGNER /F"%IB%" /N"Admin" /P"password" /DisableStartupMessages /DumpIB"D:\Backup\buh_%date:~6,4%%date:~3,2%%date:~0,2%.dt" /Out"%LOG%"
%V8% DESIGNER /F"%IB%" /N"Admin" /P"password" /DisableStartupMessages /IBCheckAndRepair -ReIndex -LogAndRefsIntegrity -RecalcTotals -IBCompression -BadRefCreate /Out"%LOG%" -NoTruncate
Номер платформы в пути замените на свой. Имя и пароль пользователя пишите латиницей или сохраняйте файл в кодировке OEM 866, иначе кириллица в bat исказится. Пароль в bat-файле хранится открытым текстом, поэтому заведите для обслуживания отдельного пользователя и ограничьте доступ к папке со скриптом.
Тестирование требует монопольного доступа. Планируйте его на ночь или выходные: если в базе останется сеанс, Конфигуратор не начнёт проверку, а принудительное завершение сеансов оборвёт работу пользователей без сохранения.
Для клиент-серверной базы ночное обслуживание лучше строить на планах обслуживания СУБД: перестроение индексов и обновление статистики там идёт без монопольного доступа к 1С.