Остановка ТиИ в 1С: на каком этапе можно, а на каком лучше дождаться
Содержание
Безопасно прервать тестирование и исправление базы 1С можно, пока идёт режим «Только тестирование» без исправлений. Если же запущены сжатие или реструктуризация таблиц, обрывать проверку опасно: файл базы остаётся наполовину переписанным. Правильный способ остановить проверку — заранее задать в окне Администрирование → Тестирование и исправление лимит времени, а потом продолжить с места остановки.
Частое заблуждение: «закрою Конфигуратор через Диспетчер задач, а потом запущу проверку заново, и она всё починит». Иногда так и выходит. Но если процесс убит во время сжатия файловой базы, повторная проверка может просто не открыть повреждённый файл. Тогда остаётся только резервная копия.
Когда прерывать проверку базы 1С допустимо, а когда нет
Тестирование и исправление (ТиИ) — это не одна операция, а цепочка этапов. Риск прерывания зависит от того, какой этап идёт прямо сейчас и что он делает с данными.
| Этап | Что делает | Риск при обрыве |
|---|---|---|
| Только тестирование (без исправления) | Читает данные и пишет отчёт об ошибках | 🟢 Низкий: данные не меняются |
| Реиндексация таблиц | Перестраивает индексы | 🟡 Средний: индексы могут остаться битыми, лечится повторной реиндексацией |
| Проверка логической и ссылочной целостности с исправлением | Удаляет или создаёт объекты, правит ссылки | 🟡 Средний: часть исправлений применена, часть нет |
| Пересчёт итогов | Пересобирает таблицы итогов регистров | 🟡 Средний: остатки в отчётах неверные до повторного пересчёта |
| Сжатие таблиц (файловая база) | Переписывает файл базы без пустых страниц | 🔴 Высокий: файл может стать нечитаемым |
| Реструктуризация таблиц | Пересоздаёт таблицы и копирует в них данные | 🔴 Высокий: таблицы в промежуточном состоянии |
Понять, какой этап идёт, можно по строке состояния Конфигуратора: там выводится название текущей операции и таблица, которую она обрабатывает.
Когда прерывать оправдано:
- 🕐 проверка не уложилась в технологическое окно, а утром пользователи должны начать работу;
- 💽 на диске заканчивается место (сжатие и реструктуризация требуют свободного объёма, сопоставимого с размером базы);
- ⚙️ проверку запустили не с теми флажками, например с удалением объектов вместо создания;
- 🧊 процесс действительно завис, а не просто долго работает (как это отличить — ниже).
Если на экране сжатие или реструктуризация — по возможности дождитесь окончания. Час ожидания обходится дешевле, чем восстановление базы из копии.
Штатная остановка через Конфигуратор: лимит времени и продолжение
В актуальных версиях платформы 8.3 в окне Администрирование → Тестирование и исправление есть два параметра, ради которых стоит открыть это окно внимательно:
- Ограничение максимального времени выполнения тестирования. Вы задаёте, сколько часов и минут может работать проверка. Когда время выходит, платформа сама останавливает её в безопасной точке.
- Продолжение тестирования с места остановки. При следующем запуске проверка не начинается с первой таблицы, а продолжает с той, на которой закончила.
Порядок работы такой:
- Сделайте резервную копию базы (о ней — в разделе про профилактику).
- Завершите сеансы пользователей: ТиИ требует монопольного доступа.
- Откройте базу в режиме Конфигуратора, затем
Администрирование → Тестирование и исправление. - Отметьте нужные проверки и режим: «Тестирование и исправление» или «Тестирование».
- Включите ограничение времени и задайте окно, например
03:00:00при работе ночью с 23:00 до 2:00 с запасом. - Нажмите «Выполнить» и дождитесь итогового сообщения.
- На следующую ночь запустите проверку с теми же флажками и включите продолжение с места остановки.
💡 Названия этих флажков в окне немного менялись от версии к версии платформы. Если их нет вовсе — у вас старая версия, и штатно разбить проверку на части не получится. Тогда помогают только запуск по частям (сначала реиндексация, в другой раз пересчёт итогов) и обновление платформы .
Те же параметры доступны из командной строки. Это удобно для ночного запуска по расписанию:
"C:\Program Files\1cv8\8.3.24.1548\bin\1cv8.exe" DESIGNER /F "D:\Bases\Buh" /N "Администратор" /P "пароль" /IBCheckAndRepair -ReIndex -LogIntegrity -RecalcTotals -TimeLimit:003:00 -UseStartPoint /Out "D:\Logs\tii.log"
Здесь -TimeLimit задаёт лимит в формате часы:минуты, а -UseStartPoint велит продолжить с места прошлой остановки. Путь к 1cv8.exe и номер версии подставьте свои. Полный список ключей смотрите в справке по параметрам командной строки к вашей версии платформы.
Аварийная остановка в файловом режиме
Если лимит времени не задан, а прервать нужно сейчас, остаётся снять процесс. В файловой базе Конфигуратор сам читает и пишет файл 1Cv8.1CD, поэтому обрыв процесса обрывает и запись в этот файл.
Сначала убедитесь, что проверка действительно зависла:
- Откройте «Монитор ресурсов» Windows (
resmon), вкладку «Диск». - Найдите процесс
1cv8.exeи посмотрите, идёт ли чтение или запись в1Cv8.1CD. - Загляните в папку базы: если размер файла или время изменения меняются, работа идёт.
- Посмотрите загрузку процессора процессом
1cv8.exeв Диспетчере задач.
Если диск и процессор активны, проверка жива, даже когда строка состояния не меняется 20–30 минут. На базе в 30–50 ГБ одна большая таблица может обрабатываться очень долго.
Если активности нет 15–20 минут, а окно Конфигуратора не отвечает:
- Выберите момент, когда в строке состояния не сжатие и не реструктуризация.
- Попробуйте закрыть окно Конфигуратора обычным способом и подождите пару минут.
- Если не закрылось — в Диспетчере задач на вкладке «Подробности» завершите именно тот процесс
1cv8.exe, который запущен в режиме Конфигуратора. Если открыто несколько окон 1С, сверьте по столбцу командной строки. - Не перезагружайте компьютер и не выключайте питание, пока процесс не завершится: кэш записи на диск должен успеть сброситься.
Если файловая база лежит в сетевой папке, не прерывайте проверку обрывом сети или выключением сервера с папкой. Это худший сценарий: запись в файл обрывается на полпути без всякого контроля.
Как прервать тестирование и исправление на сервере 1С
В клиент-серверном варианте всю работу выполняет рабочий процесс кластера и СУБД, а Конфигуратор только командует и показывает прогресс. Поэтому закрытие Конфигуратора не останавливает операцию мгновенно: сервер дорабатывает текущую транзакцию или откатывает её.
Порядок действий:
- Откройте «Консоль администрирования серверов 1С Предприятия».
- Раскройте кластер, затем
Информационные базы → ваша база → Сеансы. - Найдите сеанс с приложением «Конфигуратор» и пользователем, который запустил проверку.
- Удалите этот сеанс через контекстное меню. Предупредите остальных: если в базе остались другие сеансы, их тоже придётся завершить перед повторной проверкой.
- Дождитесь, пока СУБД откатит незавершённую транзакцию. Откат длинной операции может идти столько же, сколько сама операция.
Ход отката удобно смотреть средствами самой СУБД: в Microsoft SQL Server — по активным запросам базы в Management Studio, в PostgreSQL — по представлению pg_stat_activity.
Не перезапускайте службу «Агент сервера 1С:Предприятия» и не останавливайте службу СУБД, чтобы «ускорить» откат. Оборвутся сеансы всех баз кластера, а незавершённая транзакция всё равно будет откатываться при следующем запуске СУБД.
💡 В серверной базе реиндексацию и пересчёт статистики лучше поручить самой СУБД: планы обслуживания SQL Server или REINDEX и VACUUM ANALYZE в PostgreSQL. Эти операции идут по таблицам, их проще планировать по времени, а останавливаются они средствами СУБД. ТиИ из Конфигуратора на сервере оставьте для логической и ссылочной целостности и пересчёта итогов.
Что сделать с базой после прерванной проверки
После любого обрыва проверьте, открывается ли база и в каком она состоянии. Действуйте по шагам, от простого к радикальному.
Шаг 1. Откройте базу в режиме Предприятия. Если открывается без ошибок, сформируйте пару отчётов с остатками, например оборотно-сальдовую ведомость, и сравните с тем, что было до проверки.
Шаг 2. Повторите прерванный этап. Запустите ТиИ ещё раз с теми же флажками. Если был включён лимит времени — с продолжением с места остановки. Если обрыв пришёлся на пересчёт итогов, достаточно повторить только его.
Шаг 3. Для файловой базы — физическая проверка. Если база не открывается, а Конфигуратор сообщает о повреждении файла, используйте утилиту chdbfl.exe из папки bin установленной платформы. В ней укажите путь к 1Cv8.1CD, включите исправление ошибок и запустите. Перед запуском скопируйте файл базы: утилита пишет прямо в него.
Шаг 4. Восстановление из резервной копии. Если ни ТиИ, ни chdbfl.exe не помогли, верните копию, сделанную до проверки. Для файловой базы — замените папку с базой, для серверной — восстановите копию средствами СУБД. Данные, введённые после копии, придётся внести заново.
Как спланировать проверку, чтобы её не пришлось обрывать
Большинство вынужденных остановок — следствие того, что проверку запустили «на авось» перед рабочим днём. Это легко предотвратить.
Резервная копия до старта. Для файловой базы — копия папки с 1Cv8.1CD при закрытых сеансах или выгрузка через Администрирование → Выгрузить информационную базу в файл .dt. Для серверной — полная копия средствами СУБД. Без копии любое прерывание превращается в лотерею.
Оценка времени. Прикиньте длительность по прошлым запускам или по пробному прогону на копии. Ориентир, а не норма: файловая база на несколько гигабайт на SSD проходит полную проверку за десятки минут, база в десятки гигабайт на обычном диске — за несколько часов.
Свободное место. Для сжатия и реструктуризации держите на диске свободный объём не меньше размера базы.
Разбивка на части. Не обязательно отмечать все флажки сразу. Например:
| Когда | Что запускать |
|---|---|
| Ночь 1 | Реиндексация + проверка логической целостности |
| Ночь 2 | Проверка ссылочной целостности + пересчёт итогов |
| Выходные | Сжатие таблиц (файловая база) |
Тест на копии. Если база большая, а проверка нужна с исправлением, сначала разверните копию и запустите ТиИ на ней. Так вы узнаете и время, и что именно программа собирается исправлять.
Запрет на вход. Перед ночным запуском установите блокировку начала сеансов, чтобы утром никто не попытался зайти в базу, пока идёт проверка. В серверной базе это делается в свойствах информационной базы в консоли кластера.
Ошибки при остановке проверки
Эти промахи встречаются чаще всего и обходятся дороже всего.
- ❌ Перезагрузка сервера кнопкой. Файловая база на этом сервере может остаться с незаписанными данными в кэше диска. Сначала завершите процесс
1cv8.exe, потом перезагружайте. - ❌ Удаление сеанса и сразу новая проверка. В серверной базе откат ещё идёт, а новая проверка либо не получит монопольный доступ, либо будет ждать блокировок. Дождитесь окончания отката в СУБД.
- ❌ Повтор с другими флажками. После обрыва на исправлении целостности запускают проверку с режимом «Удалять объекты» вместо «Создавать объекты». В результате теряются документы, на которые остались битые ссылки.
- ❌ Работа пользователей в базе после обрыва пересчёта итогов. Остатки по складу и взаиморасчётам в отчётах неверные, и по ним уже принимают решения. Закройте вход, пока пересчёт не повторён.
- ❌ Копия «после». Резервную копию делают уже после неудачной проверки и затирают ею последнюю исправную. Храните копию до проверки отдельно, пока не убедитесь, что база в порядке.
Частые вопросы
Сколько ждать, прежде чем считать, что проверка зависла?
1cv8.exe 15–20 минут не читает и не пишет файл базы и не грузит процессор, можно считать проверку зависшей.Можно ли работать в базе, пока идёт тестирование?
Что будет, если прервать проверку в режиме «Только тестирование»?
Почему после прерывания база открывается, но отчёты показывают странные остатки?
Нужно ли запускать chdbfl.exe для серверной базы?
1Cv8.1CD файловой базы. Целостность серверной базы проверяют средствами СУБД.