Тестирование и исправление базы 1С 8.3 и 8.2: пошаговая инструкция

Тестирование и исправление базы 1С 8.3 — штатный механизм восстановления повреждённой информационной базы. Сбой питания, аварийное завершение работы, сетевые проблемы, ошибки SSD — и часть данных может стать недоступной. Стандартные средства не подходят, восстанавливать из резервной копии — потеря последних изменений. На этом этапе на помощь приходит встроенная утилита Конфигуратора.

В материале — когда применять тестирование, какие режимы выбрать, как использовать утилиту chdbfl.exe и что делать с клиент-серверной базой.

Содержание

Когда нужно тестирование и исправление

Признак Что произошло
Не открывается база Повреждение системных таблиц
Документы зависают при проведении Битые индексы или регистры
Не сходятся остатки в отчётах Расхождение итогов с движениями
Ошибки «Битая ссылка» при открытии справочников Удалённые объекты остались в ссылках
База тормозит после сбоя Раздутые индексы, нужна реиндексация
База не загружается из .DT Повреждение архивной копии

Профилактическое тестирование

Раз в квартал стоит запускать механизм даже при отсутствии явных проблем. Это:

  • Сжимает базу за счёт удаления помеченных объектов.
  • Перестраивает индексы — ускоряет работу.
  • Пересчитывает итоги — корректирует возможные расхождения.

Главное правило: сначала резервная копия

Любое тестирование с исправлением может изменить или удалить данные в базе. Восстановить ситуацию назад без копии не получится.

Чек-лист подготовки

  1. Закройте все сеансы пользователей в базе.
  2. Создайте резервную копию через копирование файла .1CD или выгрузку в .DT.
  3. Убедитесь, что копия читается (откройте её на тестовом компьютере).
  4. Запустите Конфигуратор с правами администратора.

Запуск тестирования через Конфигуратор

Основной инструмент — встроенная утилита Конфигуратора.

Как открыть

  1. Запустите 1С в режиме Конфигуратор.
  2. Откройте меню Администрирование → Тестирование и исправление.
  3. Откроется окно с настройками режимов.

6 режимов проверки

1. Реиндексация таблиц информационной базы

Полное перестроение индексов всех таблиц. Не меняет данные — только их структуру.

Что даёт:

  • Ускорение запросов в 2–10 раз на больших базах.
  • Восстановление работоспособности после сбоев чтения индексов.
  • Отсутствие риска потери данных.

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

2. Контроль логической целостности

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

Что даёт:

  • Выявление документов с отсутствующими обязательными реквизитами.
  • Поиск противоречий между разделом конфигурации и фактическими данными.

Когда применять: после ошибок при обновлении конфигурации, при подозрении на ручное вмешательство в базу.

3. Контроль ссылочной целостности

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

Что находит:

  • Битые ссылки — указывают на удалённые объекты.
  • Пустые ссылки — частично заполненные данные.
  • Циклические ссылки — взаимные пересылки.

Когда применять: при ошибках «Битая ссылка», после некорректного удаления данных, после сбоя обмена с другой базой.

4. Пересчёт итогов

Регистры в 1С хранят как движения, так и итоги. Иногда они расходятся.

Что даёт:

  • Восстановление корректности отчётов о остатках.
  • Ускорение запросов к регистрам — итоги быстрее, чем пересчёт.

Когда применять: при расхождении в отчётах, после массового перепроведения, при подозрении на повреждение регистров.

5. Сжатие таблиц информационной базы

Удаление физических следов помеченных на удаление объектов.

Что даёт:

  • Уменьшение размера файла базы.
  • Освобождение места на диске.
  • Ускорение работы.

Альтернатива: аналогичный эффект даёт выгрузка в .DT и загрузка обратно. Это полностью пересоздаёт структуру базы.

6. Реструктуризация таблиц

Самый «глубокий» режим. Программа полностью пересоздаёт все таблицы базы по текущей структуре конфигурации.

Что даёт:

  • Восстановление после серьёзных нарушений структуры.
  • Решение проблем после некорректного обновления.

Особенности:

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

Виды действий с битыми ссылками

В нижней части окна выбирается, что делать с найденными ссылочными ошибками.

Опция Действие
Создавать объекты Создать пустые элементы для битых ссылок — заполнить вручную
Очищать ссылки Удалить битые ссылки и связанные объекты
Не изменять Только показать — ничего не менять

Что выбрать

Первый запуск — всегда «Не изменять». Сначала смотрим, что нашлось, потом принимаем решение по каждой ситуации.

Возможность приостановки

На больших базах процесс может длиться часами. В программе есть таймаут.

Как настроить

  1. Установите флаг «Прервать выполнение проверки через».
  2. Укажите количество минут.
  3. По истечении времени проверка остановится.
  4. В следующий раз поставьте флаг «Продолжить прерванное ранее тестирование».

Это удобно для базы с 24/7 эксплуатацией — можно проверять по 2 часа в ночное окно.

Утилита chdbfl.exe

Альтернативный инструмент для случаев, когда Конфигуратор недоступен или база не открывается совсем.

Что умеет

  • Проверять физическую целостность файла .1CD.
  • Восстанавливать повреждённую структуру файла.
  • Работать с базой без её открытия.

Где найти

В папке установленной платформы — обычно C:\Program Files\1cv8\версия\bin\chdbfl.exe. Скачивать отдельно не нужно.

Алгоритм запуска

  1. Закройте все сеансы 1С.
  2. Откройте папку платформы и запустите chdbfl.exe.
  3. В диалоге укажите путь к файлу .1CD.
  4. Поставьте галку «Исправлять найденные ошибки».
  5. Нажмите «Выполнить».
  6. Дождитесь сообщения о результате.

Ограничения

  • Только файловые базы. Для SQL не работает.
  • Проверяет только физическую структуру файла, не логику данных.
  • Не помогает при ссылочных ошибках.

Тестирование клиент-серверной базы

Для базы на MS SQL Server или PostgreSQL применяются другие инструменты.

MS SQL Server

Команда DBCC CHECKDB через SQL Server Management Studio:

  1. Подключитесь к серверу через SSMS.
  2. Откройте новое окно запроса.
  3. Выполните DBCC CHECKDB('имя_базы') WITH NO_INFOMSGS.
  4. Если найдены ошибки — выполните DBCC CHECKDB('имя_базы', REPAIR_ALLOW_DATA_LOSS) в режиме single user.

Команда REPAIR_ALLOW_DATA_LOSS может удалить повреждённые данные, поэтому перед запуском обязательна резервная копия.

PostgreSQL

Используются утилиты VACUUM и REINDEX:

  • VACUUM ANALYZE — очистка устаревших версий и обновление статистики.
  • REINDEX DATABASE имя_базы — перестроение индексов.
  • pg_dump + pg_restore — полная пересборка через выгрузку и восстановление.

Эти команды запускаются администратором СУБД, не из 1С.

Сколько занимает тестирование

Размер базы Все режимы Только реиндексация
До 1 ГБ 15–30 минут 5 минут
1–10 ГБ 1–3 часа 15–30 минут
10–50 ГБ 3–10 часов 1–3 часа
Больше 50 ГБ 10+ часов 3+ часа

Время сильно зависит от скорости диска (SSD vs HDD), процессора и объёма оперативной памяти.

Альтернатива: выгрузка и загрузка .DT

Простой и эффективный способ восстановления небольшой базы.

Алгоритм

  1. Выгрузите базу в файл .DT через Конфигуратор.
  2. Создайте новую пустую информационную базу.
  3. Загрузите .DT в новую базу.
  4. Подключите её на место старой.

Этот способ автоматически:

  • Сжимает базу.
  • Восстанавливает индексы.
  • Удаляет физический мусор.

Недостаток — на больших базах выгрузка/загрузка может занять часы. И не работает для клиент-серверной с большим объёмом данных.

Что делать после тестирования

Если ошибки исправлены

  1. Запустите базу в режиме 1С:Предприятие.
  2. Проверьте, что система работает корректно.
  3. Сформируйте основные отчёты — оборотно-сальдовую ведомость, ОСВ по счетам.
  4. Сравните с данными до проблемы.
  5. Сделайте свежую резервную копию.

Если ошибки остались

  1. Восстановите базу из самой свежей рабочей копии.
  2. При невозможности — обратитесь к специалистам по обслуживанию 1С.
  3. Серьёзные повреждения иногда требуют ручной правки данных через консоль администрирования или прямой редактор SQL.

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

Ошибка 1. Не хватает места на диске для тестирования

Реструктуризация требует временно удвоенный размер базы. Освободите место или выберите другой диск для временных файлов в настройках платформы.

Ошибка 2. Тестирование зависло на этапе реиндексации

База очень большая или диск медленный. Подождите 1–2 часа. Если зависло окончательно — отмените, восстановите из копии и запускайте по одному режиму.

Ошибка 3. После исправления исчезли данные

Опция «Очищать ссылки» удалила объекты с битыми ссылками. Восстановите из резервной копии, в следующий раз применяйте «Не изменять» или «Создавать объекты».

Ошибка 4. chdbfl.exe не запускается

Файл должен быть в папке текущей платформы 1С. Если установлено несколько версий — используйте chdbfl.exe из той же версии, под которой работает база.

Ошибка 5. После реструктуризации не открывается база

Произошёл сбой во время операции. База повреждена окончательно. Восстановите из резервной копии — это последняя страховка.

Часто задаваемые вопросы

Можно ли запустить тестирование в рабочее время?

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

Какой режим запускать первым?

Реиндексацию — она безопасна и часто решает большинство проблем. Затем — Контроль ссылочной целостности с опцией «Не изменять». Только после анализа результатов запускайте остальные режимы.

Что делать, если база не открывается даже в Конфигураторе?

Запускайте chdbfl.exe — он работает с файлом без открытия базы. Если и это не помогает — восстановление только из резервной копии.

Можно ли отменить запущенное тестирование?

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

Помогает ли тестирование от вирусов-шифровальщиков?

Нет. Если файл базы зашифрован — никакой инструмент 1С не восстановит данные. Только резервная копия с не подключённого носителя.

Сколько раз в год запускать профилактически?

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

Заменяет ли тестирование резервное копирование?

Нет. Это разные инструменты. Тестирование — реактивный механизм при проблемах. Резервное копирование — превентивная защита от потерь.

Резюме

  • Тестирование и исправление базы 1С 8.3 — встроенный механизм Конфигуратора с 6 режимами проверки. Применяется при ошибках, расхождениях в отчётах или для профилактики.
  • Перед любым запуском обязательна резервная копия. При исправлении часть данных может быть удалена или изменена.
  • Утилита chdbfl.exe из папки платформы работает с файловой базой без её открытия. Используется, когда Конфигуратор недоступен.
  • Для клиент-серверной базы применяются инструменты СУБД: DBCC CHECKDB для MS SQL, VACUUM и REINDEX для PostgreSQL. Запускаются администратором, не из 1С.

Читайте также