Режимы и правила выполнения ТИИ (Тестирование и исправление) в 1С
Физическая и логическая целостность базы 1С
База данных 1С может подвергнуться коррупции на двух уровнях: физическом (повреждение структуры файла 1Cv8.1CD для файловых баз) и логическом (битые ссылки, неправильные итоги регистров, рассогласование конфигурации). Симптомы: ошибки «Файл базы данных поврежден», внезапное закрытие клиента при открытии справочника, отрицательные остатки в отчетах при правильных проводках. Бизнес-риски: необратимая потеря бухгалтерских данных, формирование недостоверной отчетности.
Уровни проверки и утилиты
| Утилита / Метод | Уровень проверки | Назначение |
|---|---|---|
chdbfl.exe (в папке bin) | Физический (Только для файловых ИБ) | Восстанавливает структуру внутреннего формата 1CD до читаемого состояния. |
| ТИИ в Конфигураторе | Логический (Объекты 1С) | Проверяет ссылочную целостность, пересчитывает индексы и итоги. |
| Средства СУБД (DBCC CHECKDB) | Физический (Для клиент-серверных) | Поиск коррупции страниц на уровне SQL Server. |
Порядок проведения Тестирования и исправления (ТИИ)
Сценарий 1: Экстренное восстановление файловой базы (chdbfl.exe)
ПРАВИЛО №1: Сделайте копию файла 1Cv8.1CD перед любыми действиями!
- Убедитесь, что все пользователи вышли из базы.
- Запустите
chdbfl.exe(находится вC:\Program Files\1cv8\<версия>\bin). - Укажите путь к файлу БД. Поставьте галочку «Исправлять обнаруженные ошибки» и нажмите «Выполнить».
Сценарий 2: Логическое ТИИ через Конфигуратор
Выполняется только после успешного физического восстановления или для профилактики (пересчет итогов).
- Откройте базу в режиме Конфигуратор (монопольный режим).
- Меню: Администрирование -> Тестирование и исправление...
- Выберите нужные проверки:
- Реиндексация таблиц: Очищает и создает заново индексы. Ускоряет работу, лечит ошибки поиска.
- Проверка логической целостности: Ищет разорванные связи объектов.
- Проверка ссылочной целостности: Что делать с битыми ссылками (Рекомендуется ставить "Очищать ссылки").
- Пересчет итогов: Обязательно при проблемах с остатками в отчетах.
- Нажмите «Выполнить» и ждите завершения (отчет появится в окне сообщений).
Типовые ошибки администраторов
- Запуск ТИИ без бэкапа: Если база логически разрушена, процесс исправления (например, очистка объектов с битыми ссылками) может удалить важные проводки. Откатиться без бэкапа будет невозможно.
- Запуск полного ТИИ на терабайтной базе: Реиндексация и пересчет итогов огромной базы могут занять несколько суток. Для крупных баз реиндексация должна делаться средствами СУБД, а итоги пересчитываться порциями.
Ситуация критическая, но не безнадежная. У инженеров ITSTM есть опыт ручного парсинга HEX-кода файлов 1CD (Tool_1CD) и восстановления таблиц на низком уровне. Не пытайтесь добить базу случайными утилитами — обратитесь к экспертам.
Частые вопросы (FAQ)
Могут ли пользователи работать в базе во время ТИИ?
Нет. ТИИ в конфигураторе требует монопольного доступа к базе данных. Платформа просто не даст запустить процесс, если есть активные сеансы (включая фоновые задания).
Что значит 'Объект изменен' или 'Неизвестный объект' при проверке ссылочной целостности?
Это означает, что в каком-то документе есть ссылка на элемент справочника (например, Контрагента), который был физически удален (минуя пометку на удаление) или структура таблицы была повреждена.
Нужно ли делать chdbfl.exe для серверной базы (SQL)?
Нет, утилита chdbfl предназначена ИСКЛЮЧИТЕЛЬНО для файловых баз (.1CD). В серверном варианте физическую целостность контролирует SQL-сервер (используйте DBCC CHECKDB).
Как запустить ТИИ по расписанию ночью?
Используйте запуск 1С в пакетном режиме через скрипт (cmd/bat) с ключом /IBCheckAndRepair. Пример: 1cv8.exe DESIGNER /F"C:\Base" /N"Admin" /P"Pass" /IBCheckAndRepair -ReIndex -RecalcTotals