Администрирование · 11 мин
Тестирование и исправление в 1С: какие галки ставить
Какие галки ставить в «Тестирование и исправление» 1С: разбор каждой проверки, безопасные настройки, порядок запуска и типичные ошибки при обслуживании базы.
Утилита «Тестирование и исправление» — встроенный механизм платформы 1С:Предприятие, который проверяет целостность информационной базы и устраняет логические и физические повреждения. Запускается она через Конфигуратор: меню «Администрирование» → «Тестирование и исправление». Главный вопрос, который возникает у администратора, — какие флажки ставить, чтобы исправить проблему, но не навредить данным.
Правильный выбор зависит от симптомов: база не открывается, документы не проводятся, отчёты показывают неверные итоги или в списках появляются «битые» объекты вида «<Объект не найден>». Для каждой ситуации набор галок свой, и универсального «безопасного» набора на все случаи не существует.
Перед любыми действиями обязательно сделайте копию базы. Для файловой базы достаточно скопировать файл 1Cv8.1CD в отдельный каталог, для клиент-серверной — выполнить выгрузку через Конфигуратор или средствами СУБД. Тестирование и исправление изменяет данные необратимо, и без резервной копии откатить результат невозможно.
Где находится утилита и в каких режимах она работает
Откройте базу в Конфигураторе с правами администратора. Перейдите в меню «Администрирование» → «Тестирование и исправление». Перед запуском убедитесь, что в базе нет активных сеансов пользователей: для файловой базы это обязательное условие, иначе Конфигуратор просто не даст монопольный доступ. В клиент-серверном варианте установите блокировку регламентных заданий и сеансов через консоль кластера.
Утилита предлагает три режима. «Тестирование» — только диагностика, данные не меняются, на выходе получаете протокол ошибок. «Тестирование и исправление» — поиск и автоматическое устранение найденных проблем. «Только исправление» — применение исправлений без полного цикла проверки, используется редко, когда тип ошибки уже известен.
Реиндексация таблиц: когда ставить галку
Реиндексация перестраивает индексы таблиц базы. Флаг «Реиндексация таблиц информационной базы» полезен, когда база стала заметно медленнее работать, поиск и отборы «подвисают», а в журнале регистрации есть ошибки, связанные с индексами. Для файловых баз это одна из самых частых профилактических операций.
Важно понимать: реиндексация не исправляет логические ошибки в данных — она только оптимизирует структуру хранения. Если проблема в «битых» ссылках или неверных итогах, этой галки недостаточно. На больших базах реиндексация может занять продолжительное время, поэтому планируйте её на нерабочие часы.
Для клиент-серверных баз на MS SQL Server или PostgreSQL реиндексацию обычно эффективнее выполнять средствами самой СУБД через планы обслуживания. Галку в Конфигураторе в этом случае можно не ставить либо использовать как дополнение.
Проверка логической целостности информационной базы
Эта проверка анализирует соответствие данных логике работы платформы: корректность записей в таблицах, целостность итогов регистров, правильность внутренних структур. Ставьте галку практически всегда — и для профилактики, и при диагностике сбоев. Это базовая проверка, которая выявляет большинство «невидимых» проблем.
Типичные ошибки, которые находит эта проверка: нарушение уникальности записей, повреждённые строки таблиц, рассогласование итогов регистров с движениями документов. В режиме «Тестирование и исправление» платформа попытается устранить их автоматически — например, пересчитает итоги или удалит некорректные записи.
Учтите, что автоматическое исправление логики — операция, затрагивающая данные. Если в протоколе после тестового прогона вы видите массовые ошибки по конкретному регистру или документу, сначала разберитесь в причине: возможно, проблему правильнее решить перепроведением документов или восстановлением последовательности, а не автоматическим исправлением.
Проверка ссылочной целостности: что делать с «битыми» ссылками
Проверка ссылочной целостности ищет ссылки на несуществующие объекты — те самые записи «<Объект не найден> (123:abc…)», которые появляются после нештатного удаления данных, сбоев при обмене или восстановления из повреждённой копии. Эта галка обязательна, если пользователи жалуются на такие сообщения в документах, справочниках или отчётах.
При режиме «Тестирование и исправление» для ссылочной целостности доступны три варианта обработки. «Помечать на удаление» — объекты с битыми ссылками получают пометку удаления, сами ссылки при этом очищаются там, где это возможно. «Создавать объекты» — платформа создаёт пустые объекты-заглушки вместо потерянных, чтобы восстановить целостность ссылок. «Очищать ссылки» — битые ссылки просто удаляются из реквизитов.
Как выбрать вариант обработки битых ссылок
Самый предсказуемый вариант для первого прогона — «Помечать на удаление». Он не создаёт фиктивных объектов и не затирает данные, а результат легко проконтролировать через список помеченных. Вариант «Создавать объекты» оправдан, когда документы не проводятся из-за отсутствующего контрагента или договора: заглушка позволит провести документ, после чего вы заполните её корректными реквизитами.
Проверка физической целостности файла базы
Эта проверка доступна только для файловых баз и анализирует структуру файла 1Cv8.1CD на низком уровне. Ставьте галку, если база не открывается, падает с ошибкой «Ошибка формата потока» или «Файл базы данных повреждён», а также после аварийного завершения работы сервера или сбоя диска.
Проверка физической целостности — самая длительная операция и при этом не всесильная: она справляется с частью повреждений, но при серьёзной порче файла поможет только утилита chdbfl.exe из каталога bin установленной платформы или восстановление из резервной копии. Если физическая проверка сообщает об ошибках, которые не исправляются, не запускайте её повторно в надежде на другой результат — переходите к chdbfl или к копии.
Сжатие таблиц и прочие флажки
Флаг «Сжатие таблиц информационной базы» уменьшает размер файловой базы, удаляя неиспользуемое пространство после удалённых объектов. Ставьте его после массового удаления данных (свертки базы, очистки старых периодов, удаления помеченных объектов), если файл заметно разросся. Ежедневно сжатие запускать не нужно — это ресурсоёмкая операция.
Также в диалоге может присутствовать «Реструктуризация таблиц» — она приводит структуру таблиц в соответствие с конфигурацией. Этот пункт используется редко, в основном после нештатных ситуаций при обновлении конфигурации, когда обновление прервалось на середине. Без явной необходимости галку не ставьте.
| Проверка | Когда ставить | Когда не нужна |
|---|---|---|
| Реиндексация таблиц | Медленная работа, профилактика файловой базы | База на SQL с настроенным обслуживанием СУБД |
| Логическая целостность | Почти всегда: профилактика и диагностика | — |
| Ссылочная целостность | Ошибки «Объект не найден», сбои при обмене | — |
| Физическая целостность | База не открывается, ошибки формата потока | Клиент-серверная база |
| Сжатие таблиц | После массового удаления данных | Ежедневная профилактика |
| Реструктуризация | Сбой при обновлении конфигурации | Штатная работа базы |
Рекомендуемый порядок запуска
- 1Сделайте резервную копию базы и убедитесь, что она открывается
- 2Завершите все сеансы пользователей, получите монопольный доступ
- 3Запустите режим «Тестирование» с галками реиндексации, логической и ссылочной целостности
- 4Изучите протокол: оцените тип и масштаб ошибок
- 5При небольшом числе понятных ошибок запустите «Тестирование и исправление» с теми же галками
- 6При массовых ошибках сначала устраните причину (обмены, права, оборудование), затем повторите проверку
- 7После исправления повторно прогоните «Тестирование» и убедитесь, что протокол чистый
- 8Проверьте работу базы: проведение документов, отчёты, отсутствие битых ссылок
Ключевой принцип — сначала диагностика, потом лечение. Прогон в режиме «Тестирование» ничего не меняет и даёт картину проблем. Только поняв масштаб, переходите к исправлению. Если протокол показывает тысячи однотипных ошибок после обмена с другой системой, исправлять их автоматикой бессмысленно — они появятся снова при следующем обмене.
Как проверить результат
Ошибок нет или остались единичные известные замечания
Те же ошибки появляются снова — причина не устранена
Документы проводятся, итоги сходятся с прежними значениями
Ошибки проведения, расхождение итогов
Нет записей «Объект не найден»
Битые ссылки остались или появились заглушки без данных
Типичные ошибки при работе с утилитой
Отдельная ошибка — ожидание, что утилита исправит «всё». Тестирование и исправление работает на уровне платформы и не знает о прикладной логике конфигурации. Ошибки учёта — неправильные остатки, неверные взаиморасчёты, пересорт — она не исправит. Для этого существуют штатные механизмы конфигурации: перепроведение, восстановление последовательностей, пересчёт итогов, обработки свёртки и корректировки.
Что важно запомнить
Всегда начинайте с резервной копии и режима «Тестирование». Базовый набор — реиндексация, логическая и ссылочная целостность. Физическую целостность включайте только при повреждении файловой базы, сжатие — после массового удаления данных. Битые ссылки безопаснее всего обрабатывать вариантом «Помечать на удаление».
Частые вопросы
Какие галки ставить для профилактики файловой базы?
Реиндексация таблиц, проверка логической целостности и проверка ссылочной целостности в режиме «Тестирование». Если ошибок нет — исправление не требуется. Проверку физической целостности и сжатие в регулярную профилактику включать необязательно.
Что выбрать для битых ссылок: пометить, создать или очистить?
Начните с «Помечать на удаление» — это самый обратимый и контролируемый вариант. «Создавать объекты» применяйте, когда из-за потерянного объекта не проводятся важные документы, и обязательно заполните заглушки реальными данными. «Очищать ссылки» — для реквизитов, где потерянное значение не влияет на учёт.
База выдаёт «Ошибка формата потока». Поможет ли тестирование?
Иногда помогает проверка физической целостности, но чаще эта ошибка устраняется утилитой chdbfl.exe из каталога платформы, очисткой кэша метаданных или восстановлением из резервной копии. Сначала попробуйте chdbfl — она специально предназначена для диагностики файла 1Cv8.1CD.
Можно ли запускать тестирование при работающих пользователях?
Нет, для файловой базы требуется монопольный доступ — все сеансы должны быть завершены. В клиент-серверном варианте технически отдельные проверки возможны, но на практике сеансы и регламентные задания блокируют, чтобы избежать конфликтов при исправлении данных.
Сколько времени занимает тестирование и исправление?
Зависит от размера базы, набора галок и скорости диска: небольшая файловая база проходит за минуты, крупная с полным набором проверок — за часы. Поэтому полный прогон планируют на ночь или выходные и никогда не прерывают процесс принудительно.
Исправит ли утилита неверные остатки на складе или в взаиморасчётах?
Нет. Тестирование и исправление работает на уровне платформы и не знает прикладной логики. Ошибки учёта исправляют штатными средствами конфигурации: перепроведением документов, восстановлением последовательностей, пересчётом итогов регистров или специализированными обработками.