Тестирование и исправление базы 1С 8.3: какие галочки ставить
Содержание
Короткий ответ: для планового обслуживания ставьте Реиндексацию таблиц, Проверку логической целостности и Пересчёт итогов, а переключатель действий — в положение Тестирование и исправление. Остальные галочки включают точечно, когда база уже сбоит.
Тестирование и исправление базы 1С 8.3 — штатный механизм, который проверяет структуру информационной базы и лечит мелкие поломки. Вопрос «какие галочки ставить» возникает у каждого, кто первый раз открыл это окно: пунктов много, а неверный набор либо ничего не даст, либо надолго заблокирует базу. Ниже — что делает каждая проверка, в каком режиме запускать и какой набор безопасен.
Что такое ТИИ в 1С и что делает механизм
ТИИ — рабочее сокращение от «тестирование и исправление». Когда админ говорит «прогони ТИИ», речь именно про это окно в Конфигураторе, а не про какую-то отдельную утилиту.
1С: тестирование и исправление работает на уровне таблиц СУБД, а не документов. Механизм не пересчитывает налоги и не правит проводки — он чинит саму «тару», в которой лежат ваши данные: индексы, ссылки между объектами, служебные итоги, физическую структуру файла.
ТИИ — не панацея от ошибок учёта. Если бухгалтер ввёл документ не той датой, механизм его не заметит: для него это корректные данные. Он ловит только техническую порчу базы.
Признаки того, что базу 1С 8.3 пора проверить на ошибки
Гонять ТИИ «на всякий случай» каждую неделю смысла нет. Поводы реальные:
- 🐌 база стала заметно медленнее открываться и проводить документы;
- ⚠️ выскакивают сообщения вида
Ошибка формата потока,Ошибка СУБД,Файл базы данных поврежден; - 🔁 «поехали» остатки и обороты в ОСВ, карточке счёта, отчётах по складу;
- 🧩 база пережила аварийное выключение, отключение питания или падение сервера;
- 🗃 после свёртки или массового удаления объектов файл базы не уменьшился;
- 🔄 обновление конфигурации завершилось с ошибкой на этапе реструктуризации.
Если ничего из списка нет, а хочется профилактики — достаточно раза в квартал прогнать лёгкий набор галочек.
Как проверить базу 1С 8.3 на ошибки: запуск процедуры
Порядок зависит от типа базы.
Файловая база (один файл 1Cv8.1CD):
- Выгоните всех пользователей, закройте все сеансы.
- Сделайте резервную копию — выгрузку
.dtили простую копию каталога базы. - Запустите базу в режиме
Конфигуратор. - Меню
Администрирование→Тестирование и исправление.... - Выставьте галочки и режим, нажмите
Выполнить.
Клиент-серверная база (MS SQL / PostgreSQL):
Окно доступно оттуда же, из Конфигуратора. Но глубокие операции здесь разумнее делать средствами СУБД: проверку целостности и перестроение индексов — в регламентных планах обслуживания SQL-сервера, а ТИИ оставить для прикладных проверок (ссылочная целостность, пересчёт итогов).
Перед любым запуском с исправлением сделайте резервную копию. Режим исправления физически меняет базу; откатить его можно только из копии.
Разные инструменты для разных баз
| Инструмент | Для какой базы | Что умеет |
|---|---|---|
| ТИИ в Конфигураторе | файловая и серверная | все шесть проверок, прикладной уровень |
chdbfl.exe | только файловая | правит физически повреждённый 1Cv8.1CD, работает когда база не открывается |
Выгрузка/загрузка .dt | любая | пересобирает базу с нуля, «лечит» то, что не берёт ТИИ |
ibcmd | файловая (из командной строки) | работа с базой без Конфигуратора: выгрузка, загрузка, обслуживание |
| Средства СУБД | только серверная | DBCC CHECKDB, перестроение индексов, VACUUM в PostgreSQL |
Какие галочки ставить: разбор всех проверок
В окне два блока. Сверху — список проверок (что искать), снизу — режим действий (что делать с найденным). Разберём проверки по порядку появления в окне.
Реиндексация таблиц информационной базы 1С: что это
Индекс — «оглавление» таблицы, по которому платформа быстро находит нужные строки. Со временем индексы фрагментируются, и выборка тормозит: отчёт, который строился 5 секунд, начинает думать минуту.
Реиндексация удаляет старые индексы и строит их заново. Данные при этом не меняются — только служебные структуры.
- ✅ Безопасна, ставьте почти всегда.
- ⏱ На базе 20–30 ГБ занимает десятки минут, но не портит данные.
- 🎯 Первое, что стоит попробовать при «база стала тормозить».
Проверка логической целостности информационной базы 1С
Проверяет, что внутренняя структура таблиц не разрушена: заголовки, страницы, форматы записей.
- ✅ Ставьте вместе с реиндексацией — это базовый набор.
- 🔍 Именно эта проверка ловит
Ошибка формата потока. - 🚫 Если логическая целостность нарушена глубоко, ТИИ сообщит об этом и остановится — дальше только
chdbfl.exeили загрузка из.dt.
Проверка ссылочной целостности информационной базы 1С
Проверяет ссылки между объектами. Классика: документ ссылается на контрагента, а тот удалён «жёстко» мимо пометки на удаление. Получается битая ссылка — в поле документа вместо названия висит <Объект не найден> и длинный внутренний идентификатор.
Когда галочка включена, снизу активируются варианты действий:
| Вариант | Что делает | Когда выбирать |
|---|---|---|
Создавать объекты | восстанавливает пустой объект по битой ссылке | нужно сохранить документы-владельцы |
Очищать ссылки | обнуляет ссылку в реквизите | ссылка не критична |
Не изменять | только сообщает, ничего не трогает | сначала оценить масштаб |
Первый прогон делайте с Не изменять, чтобы увидеть список проблем. Создавать объекты даёт в справочниках пустышки с именами вида <Объект не найден> — их потом придётся разбирать руками, зато документы останутся целыми.
Пересчёт итогов
Регистры накопления и бухгалтерии хранят предрассчитанные итоги — иначе каждый отчёт лопатил бы всю историю движений. Если итоги «разошлись» с движениями, отчёты врут: в ОСВ сальдо одно, а в карточке счёта после пересчёта другое.
Пересчёт итогов перестраивает эти таблицы заново.
- ✅ Ставьте, если съехали остатки и обороты.
- 🧮 Документы не трогает — только агрегаты.
- ⚡ Работает относительно быстро даже на больших базах.
Сжатие таблиц информационной базы 1С
Физически освобождает место, занятое ранее удалёнными записями. Файл .1CD реально уменьшается: после свёртки база на 40 ГБ спокойно схлопывается до 12–15 ГБ.
- 📉 Полезно после массового удаления объектов, свёртки, чистки регистров.
- ⏱ Долгая операция, актуальна для файловых баз.
Реструктуризация таблиц информационной базы 1С
Пересоздаёт таблицы по текущей структуре метаданных: платформа копирует данные во временные таблицы и переносит обратно.
- 🏗 Требует свободного места на диске ≈ размер базы, а лучше с запасом ×2.
- 🐢 Самая долгая из всех: на крупной базе — часы.
- ⚠️ Без свежей копии не запускать вообще.
Сводная таблица: время и риск по каждой галочке
| Галочка | Что чинит | Время | Риск |
|---|---|---|---|
| Реиндексация таблиц | скорость выборок | среднее | минимальный |
| Логическая целостность | физическую структуру таблиц | среднее | низкий |
| Ссылочная целостность | битые ссылки между объектами | среднее | средний: может удалить данные |
| Пересчёт итогов | расхождения в отчётах | быстро | минимальный |
| Сжатие таблиц | размер файла базы | долго | низкий |
| Реструктуризация | соответствие таблиц метаданным | очень долго | высокий |
Готовые наборы галочек под задачу
Чтобы не гадать, выберите свой сценарий.
Режим действий: тестирование или исправление
Под списком проверок стоит переключатель. Разница принципиальная:
- Только тестирование — платформа ищет ошибки и пишет отчёт, но ничего не меняет. Безопасно, база не «лечится» в процессе.
- Тестирование и исправление — найденные ошибки тут же чинятся. Именно этот режим меняет базу необратимо.
Логика такая: сначала прогон в режиме Только тестирование, смотрим лог. Если ошибки есть и они лечатся — второй прогон в режиме Тестирование и исправление с резервной копией под рукой.
Как протестировать базу 1С 8.3 и исправить ошибки: порядок действий
Правильная последовательность важнее набора галочек. Половина «неудачных ТИИ» — это не сбой механизма, а спешка.
Отдельно про последний пункт: сохраните ОСВ и пару ключевых отчётов до прогона. После исправления сравните — так вы сразу увидите, что механизм изменил в данных.
Что означают сообщения в логе
Лог ТИИ пишет сухо, и по формулировке не всегда понятно, страшно это или нет.
| Сообщение в логе | Что это значит | Что делать |
|---|---|---|
Ошибка формата потока | повреждена физическая структура файла или отдельного объекта | chdbfl.exe, затем выгрузка/загрузка .dt |
| Объект не найден по ссылке | битая ссылка на удалённый объект | ссылочная целостность, решить: создавать или очищать |
| Несоответствие структуры таблиц метаданным | таблицы отстали от конфигурации | реструктуризация таблиц |
| Итоги не соответствуют движениям | разошлись агрегаты регистров | пересчёт итогов |
| Не удалось исправить ошибку | механизм бессилен | восстановление из копии |
Консольный запуск ТИИ в пакетном режиме
Для регламентного обслуживания процедуру запускают без окна, из командной строки — удобно повесить на планировщик задач в ночь.
Пример пакетного запуска через 1cv8:
"C:\Program Files\1cv8\common\1cv8.exe" DESIGNER ^
/F "D:\bases\buh" ^
/N "Администратор" /P "пароль" ^
/IBCheckAndRepair -ReIndex -LogIntegrity -RecalcTotals ^
/Out "D:\logs\ttii.log"
Ключевые параметры -IBCheckAndRepair:
-ReIndex— реиндексация таблиц;-LogIntegrity— проверка логической целостности;-RefIntegrity— проверка ссылочной целостности;-RecalcTotals— пересчёт итогов;-TestOnly— только тестирование, без исправления;-BadRefCreate/-BadRefClear/-BadRefNone— что делать с битыми ссылками.
Точный список ключей зависит от версии платформы: состав параметров между релизами иногда меняется. Перед автоматизацией сверьтесь с описанием параметров запуска именно вашего релиза.
Для файловых баз есть ещё утилита ibcmd — она работает с базой напрямую, без Конфигуратора, и обычно используется для выгрузки/загрузки и обслуживания по расписанию. Состав её команд тоже зависит от релиза платформы, так что перед встраиванием в скрипты проверьте вывод ibcmd help.
Если не помогло: chdbfl.exe и выгрузка в .dt
Иногда база не открывается даже в Конфигураторе — например, Файл базы данных поврежден. Штатное окно тогда недоступно, и в дело идёт внешняя утилита для файловых баз.
- Скопируйте повреждённый
1Cv8.1CDв отдельную папку — работайте с копией. - Запустите
chdbfl.exeиз каталога платформы (C:\Program Files\1cv8\<версия>\bin). - Укажите путь к файлу базы.
- Первый прогон — без флага исправления, просто посмотреть список ошибок.
- Второй прогон — с флагом
Исправлять обнаруженные ошибки.
Если chdbfl.exe не помог, следующий рубеж — выгрузка в .dt и загрузка в новую пустую базу. Перезагрузка через .dt нередко устраняет то, что не берёт исправление на месте: база собирается заново, а мусорные структуры просто не переносятся.
Когда исправление — тупик
Есть точка, после которой упорствовать вредно. Признаки:
- ❌
chdbfl.exeзавершается с ошибкой и не может дочитать файл; - ❌ выгрузка в
.dtпадает на середине; - ❌ ТИИ пишет «не удалось исправить» по одним и тем же объектам подряд;
- ❌ после исправления в базе исчезли документы или суммы в отчётах разошлись сильнее.
Дальше — только восстановление из резервной копии и повторный ввод данных за период после бэкапа. Неприятно, но быстрее и надёжнее, чем сутки реанимировать битый файл. Именно поэтому копия перед ТИИ — не формальность, а единственный путь назад.
Типичные ошибки при тестировании
- ❌ Запуск сразу с исправлением и без копии. Если механизм «почистит» лишние ссылки, вернуть их будет неоткуда.
- ❌ Реструктуризация без свободного места. Диск заполнится в процессе, база останется в промежуточном состоянии.
- ❌ Прогон на работающей базе. Пользователи внутри → блокировки и незавершённая обработка.
- ❌ Все галочки сразу «чтобы наверняка». Это часы простоя и максимальный риск вместо десяти минут реиндексации.
- ❌
Создавать объектыне глядя. Справочники засоряются пустышками, разбирать их потом дольше, чем разобраться сразу. - ❌ Ожидание, что механизм исправит учёт. Неверные документы правит бухгалтер, а не ТИИ.
Как предотвратить
- 🗓 Регулярные бэкапы по расписанию — ежедневно, с хранением нескольких дней.
- 🔌 ИБП на сервере и на компьютере с файловой базой: аварийные выключения — причина номер один.
- 🚫 Файловую базу не держать в сетевой папке и не гонять по Wi-Fi — рвущееся соединение портит файл.
- 📦 Базу больше 5–8 ГБ переводить в клиент-серверный режим: у файлового варианта есть предел.
- 🧹 Раз в квартал — лёгкий набор галочек плюс свёртка старых периодов, если база разрослась.
- 🛠 Для серверных баз — настроенные планы обслуживания СУБД, а не ручные прогоны раз в год.
Частые вопросы
Какие галочки ставить для планового обслуживания?
Что такое реиндексация таблиц информационной базы 1С?
Что значит ТИИ в 1С?
Чем отличается «Только тестирование» от «Тестирование и исправление»?
Обязательно ли делать резервную копию перед запуском?
Сколько времени идёт тестирование и исправление базы 1С?
Что делать, если база вообще не открывается?
chdbfl.exe с флагом исправления ошибок. Если не помогло — выгрузить в .dt и загрузить в новую базу, а в крайнем случае восстановиться из бэкапа.