Тестирование и исправление базы 1С 8.3: какие галочки ставить

· 11 мин

Содержание

Короткий ответ: для планового обслуживания ставьте Реиндексацию таблиц, Проверку логической целостности и Пересчёт итогов, а переключатель действий — в положение Тестирование и исправление. Остальные галочки включают точечно, когда база уже сбоит.

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

Что такое ТИИ в 1С и что делает механизм

ТИИ — рабочее сокращение от «тестирование и исправление». Когда админ говорит «прогони ТИИ», речь именно про это окно в Конфигураторе, а не про какую-то отдельную утилиту.

1С: тестирование и исправление работает на уровне таблиц СУБД, а не документов. Механизм не пересчитывает налоги и не правит проводки — он чинит саму «тару», в которой лежат ваши данные: индексы, ссылки между объектами, служебные итоги, физическую структуру файла.

ТИИ — не панацея от ошибок учёта. Если бухгалтер ввёл документ не той датой, механизм его не заметит: для него это корректные данные. Он ловит только техническую порчу базы.

Признаки того, что базу 1С 8.3 пора проверить на ошибки

Гонять ТИИ «на всякий случай» каждую неделю смысла нет. Поводы реальные:

  • 🐌 база стала заметно медленнее открываться и проводить документы;
  • ⚠️ выскакивают сообщения вида Ошибка формата потока, Ошибка СУБД, Файл базы данных поврежден;
  • 🔁 «поехали» остатки и обороты в ОСВ, карточке счёта, отчётах по складу;
  • 🧩 база пережила аварийное выключение, отключение питания или падение сервера;
  • 🗃 после свёртки или массового удаления объектов файл базы не уменьшился;
  • 🔄 обновление конфигурации завершилось с ошибкой на этапе реструктуризации.

Если ничего из списка нет, а хочется профилактики — достаточно раза в квартал прогнать лёгкий набор галочек.

Как проверить базу 1С 8.3 на ошибки: запуск процедуры

Порядок зависит от типа базы.

Файловая база (один файл 1Cv8.1CD):

  1. Выгоните всех пользователей, закройте все сеансы.
  2. Сделайте резервную копию — выгрузку .dt или простую копию каталога базы.
  3. Запустите базу в режиме Конфигуратор.
  4. Меню Администрирование → Тестирование и исправление....
  5. Выставьте галочки и режим, нажмите Выполнить.

Клиент-серверная база (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 и исправить ошибки: порядок действий

Правильная последовательность важнее набора галочек. Половина «неудачных ТИИ» — это не сбой механизма, а спешка.

Порядок запуска тестирования и исправления
Выполнено: 0 / 8

Отдельно про последний пункт: сохраните ОСВ и пару ключевых отчётов до прогона. После исправления сравните — так вы сразу увидите, что механизм изменил в данных.

Что означают сообщения в логе

Лог ТИИ пишет сухо, и по формулировке не всегда понятно, страшно это или нет.

Сообщение в логеЧто это значитЧто делать
Ошибка формата потокаповреждена физическая структура файла или отдельного объекта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

Иногда база не открывается даже в Конфигураторе — например, Файл базы данных поврежден. Штатное окно тогда недоступно, и в дело идёт внешняя утилита для файловых баз.

  1. Скопируйте повреждённый 1Cv8.1CD в отдельную папку — работайте с копией.
  2. Запустите chdbfl.exe из каталога платформы (C:\Program Files\1cv8\<версия>\bin).
  3. Укажите путь к файлу базы.
  4. Первый прогон — без флага исправления, просто посмотреть список ошибок.
  5. Второй прогон — с флагом Исправлять обнаруженные ошибки.

Если chdbfl.exe не помог, следующий рубеж — выгрузка в .dt и загрузка в новую пустую базу. Перезагрузка через .dt нередко устраняет то, что не берёт исправление на месте: база собирается заново, а мусорные структуры просто не переносятся.

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

Есть точка, после которой упорствовать вредно. Признаки:

  • ❌ chdbfl.exe завершается с ошибкой и не может дочитать файл;
  • ❌ выгрузка в .dt падает на середине;
  • ❌ ТИИ пишет «не удалось исправить» по одним и тем же объектам подряд;
  • ❌ после исправления в базе исчезли документы или суммы в отчётах разошлись сильнее.

Дальше — только восстановление из резервной копии и повторный ввод данных за период после бэкапа. Неприятно, но быстрее и надёжнее, чем сутки реанимировать битый файл. Именно поэтому копия перед ТИИ — не формальность, а единственный путь назад.

Типичные ошибки при тестировании

  • ❌ Запуск сразу с исправлением и без копии. Если механизм «почистит» лишние ссылки, вернуть их будет неоткуда.
  • ❌ Реструктуризация без свободного места. Диск заполнится в процессе, база останется в промежуточном состоянии.
  • ❌ Прогон на работающей базе. Пользователи внутри → блокировки и незавершённая обработка.
  • ❌ Все галочки сразу «чтобы наверняка». Это часы простоя и максимальный риск вместо десяти минут реиндексации.
  • ❌ Создавать объекты не глядя. Справочники засоряются пустышками, разбирать их потом дольше, чем разобраться сразу.
  • ❌ Ожидание, что механизм исправит учёт. Неверные документы правит бухгалтер, а не ТИИ.

Как предотвратить

  • 🗓 Регулярные бэкапы по расписанию — ежедневно, с хранением нескольких дней.
  • 🔌 ИБП на сервере и на компьютере с файловой базой: аварийные выключения — причина номер один.
  • 🚫 Файловую базу не держать в сетевой папке и не гонять по Wi-Fi — рвущееся соединение портит файл.
  • 📦 Базу больше 5–8 ГБ переводить в клиент-серверный режим: у файлового варианта есть предел.
  • 🧹 Раз в квартал — лёгкий набор галочек плюс свёртка старых периодов, если база разрослась.
  • 🛠 Для серверных баз — настроенные планы обслуживания СУБД, а не ручные прогоны раз в год.

Частые вопросы

Какие галочки ставить для планового обслуживания?
Реиндексация таблиц, Проверка логической целостности и Пересчёт итогов в режиме «Тестирование и исправление». Этого достаточно для регулярной профилактики.
Что такое реиндексация таблиц информационной базы 1С?
Это перестроение служебных индексов — «оглавлений» таблиц. Данные не меняются, но выборки и отчёты снова работают быстро. Самая безопасная из проверок.
Что значит ТИИ в 1С?
Сокращение от «тестирование и исправление информационной базы» — то самое окно в Конфигураторе, меню «Администрирование».
Чем отличается «Только тестирование» от «Тестирование и исправление»?
В первом режиме платформа только находит ошибки и пишет отчёт, ничего не меняя. Во втором — сразу их исправляет, физически меняя базу. Сначала запускают тестирование, потом исправление.
Обязательно ли делать резервную копию перед запуском?
Да. Режим исправления меняет базу необратимо. Единственный способ откатить нежелательные изменения — восстановиться из копии.
Сколько времени идёт тестирование и исправление базы 1С?
От пары минут на маленькой базе до нескольких часов на большой. Дольше всего работают реструктуризация и сжатие таблиц, быстрее — реиндексация и пересчёт итогов.
Что делать, если база вообще не открывается?
Для файловой базы использовать утилиту chdbfl.exe с флагом исправления ошибок. Если не помогло — выгрузить в .dt и загрузить в новую базу, а в крайнем случае восстановиться из бэкапа.