Администрирование · 11 мин
Как запустить тестирование и исправление базы 1С в конфигураторе
Как запустить тестирование и исправление базы 1С в конфигураторе: подготовка, выбор режимов проверки, исправление ошибок, ограничения и альтернативы.
Повреждения базы 1С проявляются по-разному: программа аварийно закрывается, документы не проводятся, отчёты выдают неверные итоги или при открытии появляется сообщение «Ошибка формата потока». Встроенный механизм «Тестирование и исправление» в конфигураторе — первый инструмент, который нужно использовать при таких симптомах и перед регламентными операциями вроде обновления конфигурации.
Механизм проверяет физическую и логическую целостность информационной базы: таблицы, индексы, ссылочную целостность, состояние служебных данных. Однако он не всесилен — часть ошибок (например, повреждения на уровне СУБД для клиент-серверных баз) он не устраняет, а при неправильно выбранных параметрах может удалить данные без возможности восстановления.
Ниже разобраны подготовка к запуску, выбор режимов проверки, порядок исправления ошибок и границы, за которыми самостоятельная работа заканчивается.
Подготовка: резервная копия и монопольный доступ
Перед любыми действиями с целостностью базы сделайте резервную копию. Режим «Тестирование и исправление» может удалять объекты с битой ссылочной структурой, очищать повреждённые записи и перестраивать таблицы — откатить эти изменения без копии невозможно. Для файловой базы достаточно скопировать файл 1Cv8.1CD в отдельную папку; надёжнее — выполнить выгрузку через «Администрирование» — «Выгрузить информационную базу» в файл .dt.
Тестирование и исправление требует монопольного доступа: все пользователи должны выйти из базы, а фоновые задания и сеансы — завершиться. В клиент-серверном варианте проверьте активные сеансы в консоли кластера и при необходимости завершите их принудительно. Если база запущена у кого-то в режиме предприятия, конфигуратор либо не даст выполнить операцию, либо процесс завершится с ошибкой.
Убедитесь, что на диске достаточно свободного места. Реиндексация и реструктуризация создают временные копии таблиц, поэтому для больших баз может потребоваться объём, сопоставимый с размером самой базы.
Как открыть базу в конфигураторе и запустить проверку
Запустите ярлык 1С, выделите нужную базу в списке и нажмите кнопку «Конфигуратор». Если конфигурация закрыта от изменений паролем, введите логин и пароль пользователя с правами администратора. Дождитесь полной загрузки — для больших баз это может занять заметное время.
В главном меню выберите «Администрирование» — «Тестирование и исправление». Откроется окно с параметрами: список проверок, выбор режима (только тестирование или тестирование с исправлением) и настройки обработки битых ссылок. После установки параметров нажмите «Выполнить».
Процесс может идти от нескольких минут до нескольких часов в зависимости от размера базы и выбранных проверок. Прерывать его кнопкой «Прервать» допустимо, но нежелательно на этапе исправления: частично обработанные таблицы могут остаться в несогласованном состоянии. Лучше планировать запуск на нерабочее время.
- 1Сделайте резервную копию базы и проверьте, что она открывается
- 2Завершите все сеансы пользователей и фоновые задания
- 3Откройте базу в конфигураторе с правами администратора
- 4Выберите «Администрирование» — «Тестирование и исправление»
- 5Отметьте нужные проверки и выберите режим «Тестирование и исправление»
- 6Нажмите «Выполнить» и дождитесь завершения
- 7Изучите протокол ошибок в окне сообщений
Какие проверки выбрать и что делает каждая
В окне тестирования доступно несколько независимых проверок. Их можно комбинировать, но разумный минимум для профилактики — реиндексация и проверка логической целостности.
Реиндексация таблиц перестраивает индексы всех таблиц. Это безопасная операция, ускоряющая работу базы и устраняющая ошибки, связанные с повреждёнными индексами. Проверка логической целостности выявляет несоответствия внутри данных таблиц: некорректные значения полей, нарушения структуры записей. Проверка ссылочной целостности находит объекты, ссылающиеся на несуществующие элементы (битые ссылки), и предлагает варианты обработки: создать объекты-заглушки, очистить ссылки или удалить объекты.
Дополнительные пункты — «Проверка физической целостности» (актуальна в основном для файловых баз) и «Пересчёт итогов» (восстанавливает итоги по регистрам, если они расходятся с движениями). Пересчёт итогов запускайте, когда отчёты показывают неверные остатки при корректных движениях документов.
Выбор режима проверки
Подходит для первичной диагностики: показывает список ошибок без изменения данных. Безопасно, но ничего не исправляет.
Устраняет найденные ошибки, но может удалять повреждённые объекты и очищать битые ссылки. Запускать только после резервной копии.
Внешнее средство для файловых баз при физических повреждениях файла, когда конфигуратор не открывает базу вообще.
Режимы: только тестирование или с исправлением
Если база работает нестабильно, но вы не знаете масштаба проблемы, начните с режима «Тестирование». Он ничего не меняет в данных и выдаёт протокол обнаруженных ошибок в окне сообщений. По протоколу можно оценить, какие таблицы повреждены, и спланировать дальнейшие действия.
Режим «Тестирование и исправление» применяйте осознанно. Для битых ссылок выберите вариант обработки: «Создавать объекты» — безопаснее всего, так как вместо потерянных элементов создаются заглушки, которые потом можно заполнить вручную. Вариант «Очищать ссылки» убирает ссылки из документов, а «Удалять объект» безвозвратно удаляет записи — это оправдано только при явном мусоре в данных.
После завершения исправления обязательно повторите тестирование: оно должно завершиться без ошибок. Если ошибки остались, механизм их не устранил — значит, проблема глубже, и нужны другие инструменты.
Тестирование и исправление через chdbfl.exe для файловых баз
Если файловая база не открывается даже в конфигураторе и выдаёт ошибку формата потока или повреждения файла, используйте утилиту chdbfl.exe. Она находится в каталоге bin установленной платформы, рядом с исполняемыми файлами 1С.
Запустите утилиту, укажите путь к файлу 1Cv8.1CD, установите флаг «Исправлять обнаруженные ошибки» и нажмите «Выполнить». Утилита работает на уровне физической структуры файла: проверяет сигнатуры блоков, длины записей и целостность таблиц. Предварительно скопируйте файл базы — chdbfl изменяет его напрямую.
После успешной проверки chdbfl откройте базу в конфигураторе и запустите штатное «Тестирование и исправление» с проверками логической и ссылочной целостности: физическое восстановление не гарантирует корректность данных на прикладном уровне.
C:\Program Files\1cv8\<версия платформы>\bin\chdbfl.exeПроверка результата и типичные ошибки
О завершении проверки конфигуратор сообщает в окне служебных сообщений. Нормальный результат — отсутствие строк с текстом об ошибках после повторного тестирования. Тревожные признаки: те же ошибки появляются снова, база продолжает падать, отчёты показывают расхождения. Это указывает на проблемы вне зоны ответственности механизма — на уровне СУБД, диска или сети.
Дополнительно проверьте работу базы в режиме предприятия: откройте журналы документов, сформируйте ключевые отчёты, проведите тестовый документ. Если использовался режим создания объектов-заглушек для битых ссылок, найдите их поиском по подстроке в наименовании и заполните корректными данными.
Ограничения механизма и когда нужны другие средства
«Тестирование и исправление» не лечит аппаратные проблемы: если ошибки возвращаются после каждой проверки, проверьте дисковую подсистему, оперативную память сервера и стабильность сети. Регулярные повреждения файловой базы по сети — типичный признак нестабильного сетевого доступа; в такой ситуации базу лучше перевести на клиент-серверный вариант или веб-серверную публикацию.
Механизм также не исправляет ошибки прикладной логики: неверные проводки, незакрытые периоды, расхождения учёта. Для них существуют отдельные инструменты — групповое перепроведение документов, обработки свёртки и восстановления последовательностей. Если база не открывается и chdbfl не помогает, остаётся восстановление из резервной копии или обращение к специалистам по восстановлению данных.
Как проверить результат
Протокол не содержит ошибок
Те же ошибки появляются снова
База открывается, документы проводятся, отчёты строятся
Аварийные завершения, ошибки формата потока
Остатки сходятся с движениями документов
Расхождения итогов, пустые значения вместо данных
Заглушки найдены и заполнены корректными данными
В документах остались ссылки на пустые объекты
Что важно запомнить
Всегда начинайте с резервной копии и монопольного доступа. Сначала запускайте диагностику без исправления, затем исправление с безопасными вариантами обработки битых ссылок. Для файловых баз при физических повреждениях используйте chdbfl.exe, для клиент-серверных — средства СУБД. Возвращающиеся ошибки после проверки указывают на проблемы оборудования или инфраструктуры.
Частые вопросы
Можно ли запустить тестирование и исправление без монопольного доступа?
Нет, механизм требует монопольного доступа к базе. При активных сеансах операция либо не запустится, либо завершится с ошибкой. В клиент-серверном варианте завершите сеансы через консоль кластера, в файловом — попросите пользователей выйти и проверьте, что файл базы не заблокирован.
Удалит ли тестирование и исправление мои документы?
Само по себе — нет. Удаление возможно только если вы выбрали для битых ссылок вариант «Удалять объект» или если запись физически повреждена настолько, что её нельзя восстановить. Чтобы минимизировать риски, выбирайте вариант «Создавать объекты» и всегда делайте копию базы перед запуском.
Чем отличается chdbfl.exe от проверки в конфигураторе?
Утилита chdbfl работает с физической структурой файла 1Cv8.1CD и применяется, когда база не открывается вообще. Проверка в конфигураторе работает на уровне логики данных: ссылки, итоги, целостность записей. Обычно сначала выполняют chdbfl, затем штатное тестирование и исправление.
Как часто нужно запускать тестирование и исправление?
В профилактических целях — перед обновлением конфигурации, после аварийных завершений сервера или отключения питания, а также при появлении необъяснимых ошибок в работе базы. Ежедневный запуск без показаний не нужен: реиндексацию больших баз лучше выполнять по расписанию в нерабочее время.
Что делать, если после исправления ошибки появляются снова?
Повторяющиеся ошибки почти всегда означают внешнюю причину: неисправный диск, проблемы с оперативной памятью, нестабильную сеть при файловом режиме. Проверьте оборудование, журналы операционной системы и рассмотрите переход на клиент-серверную архитектуру. Если причина не найдена, восстановите базу из последней исправной копии.
Нужно ли запускать проверку для клиент-серверной базы на SQL?
Да, проверки логической и ссылочной целостности, реиндексация и пересчёт итогов актуальны и для клиент-серверных баз. Но физическую целостность проверяйте средствами СУБД: для MS SQL это команда DBCC CHECKDB, для PostgreSQL — анализ журналов и штатные средства проверки кластера.