Проверка базы через Конфигуратор: что включать в окне тестирования и чем это грозит данным
Содержание
Для плановой проверки базы 1С 8.3 достаточно четырёх галочек: «Реиндексация таблиц», «Проверка логической целостности», «Проверка ссылочной целостности» и «Пересчёт итогов». Сжатие и реструктуризацию включают только по показаниям. Первый прогон делают в режиме «Только тестирование», а исправление запускают уже после чтения протокола.
Частая ошибка — сразу отметить всё подряд и выбрать «Тестирование и исправление» с вариантом «Удалять ссылки». Так можно молча стереть контрагентов из сотен документов. Ниже — что делает каждая галочка, в каком порядке их включать и как не потерять данные.
Где находится тестирование и исправление базы 1С 8.3
Инструмент живёт только в Конфигураторе. В режиме «1С:Предприятие» его нет.
- Запустите 1С и в окне выбора баз выделите нужную.
- Нажмите
Конфигуратори войдите под пользователем с правами администратора. - Откройте меню
Администрирование → Тестирование и исправление....
Если база рабочая, перед запуском выгоните всех пользователей. Тестированию и исправлению нужен монопольный доступ: пока в базе есть хоть один сеанс, платформа выдаст сообщение о невозможности установить монопольный режим.
Монопольный режим обрывает работу коллег. Предупредите их заранее и планируйте проверку на вечер или выходной.
Перед любым исправлением сделайте резервную копию базы
. Самый надёжный способ — Администрирование → Выгрузить информационную базу... в файл .dt. Для файловой базы дополнительно скопируйте всю папку с файлом 1Cv8.1CD, пока программа закрыта.
Что означает каждая галочка в окне проверки
Окно разделено на две части. Сверху — набор операций (галочки), ниже — режим и реакция на найденные ошибки.
Набор операций
| Галочка | Что делает | Когда включать |
|---|---|---|
| Реиндексация таблиц информационной базы | Перестраивает индексы таблиц | Всегда при плановой проверке файловой базы |
| Проверка логической целостности | Проверяет внутреннюю структуру таблиц и записей | Всегда для файловой базы |
| Проверка ссылочной целостности | Ищет ссылки на удалённые или несуществующие объекты | Всегда; это основная проверка |
| Пересчёт итогов | Заново считает итоги регистров накопления и бухгалтерии | При расхождениях в отчётах и ОСВ, после сбоев |
| Сжатие таблиц информационной базы | Убирает пустое место после удалённых записей | Когда база заметно «распухла» после удаления объектов |
| Реструктуризация таблиц информационной базы | Пересоздаёт таблицы целиком | При ошибках структуры, после неудачного обновления |
Галочки «Проверка логической целостности» и «Проверка ссылочной целостности» связаны: ссылочная проверка выполняется вместе с логической. Порядок выполнения задаёт сама платформа, от порядка ваших щелчков он не зависит.
Режим проверки
- 🔍 Только тестирование — платформа ищет ошибки и пишет их в протокол, ничего не меняя.
- 🛠 Тестирование и исправление — платформа исправляет найденное по правилам, которые вы выбрали ниже.
Что делать со ссылками на несуществующие объекты
Это самый важный переключатель окна. Ситуация такая: в документе указан контрагент, а самого контрагента в базе уже нет.
- Создавать объекты — платформа создаёт объект-заглушку. В документе остаётся ссылка, а в справочнике появляется элемент с пометкой «Объект не найден» и внутренним идентификатором. Данные о связях сохраняются.
- Удалять ссылки — поле в документе очищается. Связь теряется навсегда.
- Не изменять — ошибка попадает в протокол, данные остаются как есть.
Что делать при частичной потере данных объектов
Здесь речь о повреждённых записях, у которых пропала часть информации. Варианты похожи: создать недостающее, удалить повреждённый объект или ничего не трогать.
Для рабочей бухгалтерской базы безопасный выбор почти всегда «Создавать объекты». Заглушки потом легко найти и разобрать вручную. Удалённую ссылку вернуть можно только из резервной копии.
Как настройки тестирования влияют на скорость и нагрузку
Время проверки зависит от размера базы и от того, какие галочки отмечены. Самые долгие операции:
- ⏳ Пересчёт итогов — на базе с несколькими годами учёта и большим числом проводок занимает основную часть времени;
- ⏳ Реструктуризация — платформа фактически переписывает все таблицы, а это долго и требует свободного места на диске;
- ⏳ Сжатие — тоже переписывает данные, во время работы файл может временно вырасти.
Реиндексация и проверка целостности на небольших базах проходят быстро. Поэтому разумная тактика — не включать «тяжёлые» операции без причины.
Ещё два практических момента:
- Свободное место. Для сжатия и реструктуризации на диске нужен запас не меньше текущего размера файла базы. Если места не хватит, операция прервётся.
- Ограничение времени. В окне есть настройка, которая ограничивает время тестирования и позволяет продолжить прерванную проверку с того места, где она остановилась. Удобно для больших баз, которые не успевают за одну ночь.
Не запускайте проверку файловой базы через медленную сетевую папку. Скопируйте базу на локальный диск сервера или компьютера, проверьте там и верните обратно: так быстрее и меньше риск обрыва.
Порядок безопасного исправления ошибок базы
Опытные администраторы никогда не начинают с исправления. Рабочая последовательность выглядит так.
Шаг 1. Копия и проверка физической целостности
Сделайте выгрузку .dt и копию папки базы. Для файловой базы до Конфигуратора полезно прогнать утилиту chdbfl.exe. Она лежит в каталоге bin установленной платформы, например C:\Program Files\1cv8\8.3.xx.xxxx\bin\chdbfl.exe.
Утилита проверяет физическую структуру файла 1Cv8.1CD. Укажите путь к файлу базы, сначала запустите проверку без галочки «Исправлять обнаруженные ошибки», затем при необходимости — с ней. Если файл повреждён физически, Конфигуратор может даже не открыть базу
, и chdbfl.exe — единственный способ туда попасть.
Запускайте chdbfl.exe только на закрытой базе. Если в ней кто-то работает, утилита сообщит о блокировке файла.
Шаг 2. Только тестирование
В Конфигураторе отметьте реиндексацию, логическую и ссылочную целостность. Выберите «Только тестирование» и запустите. Пересчёт итогов на этом этапе не нужен.
Шаг 3. Чтение протокола
Прочитайте все сообщения. Определите, какие объекты затронуты: справочники, документы, регистры. Если ошибок нет — на этом можно закончить.
Шаг 4. Исправление с созданием объектов
Повторите проверку в режиме «Тестирование и исправление». Для ссылок на несуществующие объекты выберите «Создавать объекты». Добавьте «Пересчёт итогов», если в отчётах были расхождения.
Шаг 5. Разбор заглушек в режиме Предприятия
Откройте базу в пользовательском режиме. Найдите созданные элементы по тексту «Объект не найден» через поиск в списке справочника. Дальше два пути: заполнить заглушку правильными данными или заменить ссылки на неё в документах на верный элемент и пометить заглушку на удаление.
Шаг 6. Повторный прогон
Запустите «Только тестирование» ещё раз. Чистый протокол означает, что исправление прошло успешно.
chdbfl.exe на копии файла базы. Затем полный набор галочек вместе с реструктуризацией.Файловая и клиент-серверная база: какие галочки доступны
Набор операций зависит от варианта работы базы. Окно одно, но часть галочек в клиент-серверном режиме недоступна.
| Операция | Файловая база | Клиент-серверная база |
|---|---|---|
| Реиндексация таблиц | Да | Нет, индексы обслуживает СУБД |
| Проверка логической целостности | Да | Нет |
| Проверка ссылочной целостности | Да | Да |
| Пересчёт итогов | Да | Да |
| Сжатие таблиц | Да | Нет, это задача СУБД |
| Реструктуризация таблиц | Да | Да |
Что делать вместо недоступных операций на сервере
В клиент-серверной базе за физическое состояние таблиц отвечает СУБД. Реиндексацию и сжатие заменяет её обслуживание:
- 🗄 MS SQL Server — план обслуживания с перестроением индексов и обновлением статистик, настраивается в SQL Server Management Studio;
- 🗄 PostgreSQL — регулярный
VACUUM ANALYZEи при необходимостиREINDEX.
Эти задачи настраивает администратор СУБД. Из 1С их не запускают.
Как выгнать пользователей из серверной базы
Монопольный режим нужен и здесь. Сеансы завершают через консоль администрирования серверов 1С: в свойствах информационной базы можно включить блокировку начала сеансов и задать код разрешения. Затем завершите текущие сеансы в списке сеансов базы.
Принудительное завершение сеанса обрывает работу пользователя без сохранения. Делайте это после предупреждения и вне рабочего времени.
Протокол проверки: как читать сообщения и где ошибаются
После завершения платформа выводит протокол в окно служебных сообщений Конфигуратора. Его можно скопировать и сохранить в текстовый файл, чтобы показать специалисту или сравнить со следующим прогоном.
Сообщения в протоколе обычно говорят о трёх вещах:
- 🔗 ссылки на несуществующие объекты — указано, в каком объекте и каком реквизите найдена «битая» ссылка;
- 🧩 нарушение логической целостности — проблемы во внутренней структуре записей таблицы;
- 📊 итоги регистров — информация о пересчёте и найденных расхождениях.
В конце стоит сообщение о завершении тестирования. Если вместо него проверка оборвалась с ошибкой, файл базы, скорее всего, повреждён физически, и начинать нужно с chdbfl.exe.
Частые ошибки при работе с инструментом
- ❌ «Удалять ссылки» на рабочей базе. Поля в документах очищаются без предупреждения. Восстановить их можно только из копии.
- ❌ Пропуск разбора заглушек. Объекты «Объект не найден» остаются в справочниках, попадают в отчёты и печатные формы.
- ❌ Сжатие «на всякий случай». Долго, требует места на диске и не лечит ошибок данных.
- ❌ Проверка без копии. Сбой питания посреди реструктуризации может оставить базу в нерабочем состоянии.
- ❌ Повторные прогоны с одними и теми же ошибками. Если исправление не убирает сообщение, проблема в данных конкретного объекта: его нужно найти в Предприятии и исправить вручную или восстановить из копии.
Битые ссылки часто появляются после ручного удаления объектов без контроля ссылок, после неудачного обмена данными или загрузки из внешних файлов. Если после проверки они возвращаются, ищите источник в этих процессах.
Автоматическая проверка базы по расписанию
Тестирование и исправление можно запускать без окна, из командной строки. Это удобно для ночной проверки через Планировщик заданий Windows.
Пример bat-файла для файловой базы:
@echo off
set V8="C:\Program Files\1cv8\8.3.xx.xxxx\bin\1cv8.exe"
set BASE="D:\Bases\Buh"
set LOG="D:\Logs\check_buh.txt"
%V8% DESIGNER /F%BASE% /N"Администратор" /P"пароль" /DisableStartupDialogs /DisableStartupMessages /IBCheckAndRepair -ReIndex -LogAndRefsIntegrity -RecalcTotals -BadRefCreate -BadDataCreate /Out %LOG%
Что означают ключи:
/IBCheckAndRepair— запуск тестирования и исправления;-ReIndex— реиндексация таблиц;-LogAndRefsIntegrity— проверка логической и ссылочной целостности;-RecalcTotals— пересчёт итогов;-BadRefCreate— создавать объекты при битых ссылках (-BadRefClear— удалять ссылки,-BadRefNone— не изменять);-BadDataCreate— создавать объекты при частичной потере данных;/Out— файл, куда пишется протокол.
Для режима «только проверка» добавьте ключ -TestOnly. Для клиент-серверной базы вместо /F используется /S"сервер\имябазы". Полный список параметров есть в справке платформы по параметрам командной строки.
Не храните пароль администратора в bat-файле на общем диске. Создайте отдельного пользователя для обслуживания и ограничьте доступ к папке со скриптом.
Как часто проверять
- 📅 Небольшая файловая база одного бухгалтера — раз в месяц, перед закрытием периода.
- 📅 Файловая база на несколько пользователей по сети — раз в неделю, ночью.
- 📅 Клиент-серверная база — проверку ссылочной целостности и пересчёт итогов по необходимости, а обслуживание индексов и статистик — регулярным планом СУБД.
Перед ночным запуском скрипт должен убедиться, что в базе никого нет. Иначе проверка не получит монопольный доступ и завершится с ошибкой — это будет видно в файле протокола.
Частые вопросы
Можно ли запустить тестирование и исправление из пользовательского режима?
Все функции → Стандартные → Управление итогами.Пропадут ли проводки после пересчёта итогов?
Почему галочки сжатия и реиндексации серые?
Сколько длится проверка?
Что делать, если Конфигуратор не открывает базу для проверки?
chdbfl.exe с исправлением ошибок. После этого повторите вход в Конфигуратор.