К статье
Практический материал

Администрирование · 11 мин

Тестирование и исправление в 1С: какие галки ставить

Какие галки ставить в «Тестирование и исправление» 1С: разбор каждой проверки, безопасные настройки, порядок запуска и типичные ошибки при обслуживании базы.

Утилита «Тестирование и исправление» — встроенный механизм платформы 1С:Предприятие, который проверяет целостность информационной базы и устраняет логические и физические повреждения. Запускается она через Конфигуратор: меню «Администрирование» → «Тестирование и исправление». Главный вопрос, который возникает у администратора, — какие флажки ставить, чтобы исправить проблему, но не навредить данным.

Правильный выбор зависит от симптомов: база не открывается, документы не проводятся, отчёты показывают неверные итоги или в списках появляются «битые» объекты вида «<Объект не найден>». Для каждой ситуации набор галок свой, и универсального «безопасного» набора на все случаи не существует.

Перед любыми действиями обязательно сделайте копию базы. Для файловой базы достаточно скопировать файл 1Cv8.1CD в отдельный каталог, для клиент-серверной — выполнить выгрузку через Конфигуратор или средствами СУБД. Тестирование и исправление изменяет данные необратимо, и без резервной копии откатить результат невозможно.

Где находится утилита и в каких режимах она работает

Откройте базу в Конфигураторе с правами администратора. Перейдите в меню «Администрирование» → «Тестирование и исправление». Перед запуском убедитесь, что в базе нет активных сеансов пользователей: для файловой базы это обязательное условие, иначе Конфигуратор просто не даст монопольный доступ. В клиент-серверном варианте установите блокировку регламентных заданий и сеансов через консоль кластера.

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

Реиндексация таблиц: когда ставить галку

Реиндексация перестраивает индексы таблиц базы. Флаг «Реиндексация таблиц информационной базы» полезен, когда база стала заметно медленнее работать, поиск и отборы «подвисают», а в журнале регистрации есть ошибки, связанные с индексами. Для файловых баз это одна из самых частых профилактических операций.

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

Для клиент-серверных баз на MS SQL Server или PostgreSQL реиндексацию обычно эффективнее выполнять средствами самой СУБД через планы обслуживания. Галку в Конфигураторе в этом случае можно не ставить либо использовать как дополнение.

Проверка логической целостности информационной базы

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

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

Учтите, что автоматическое исправление логики — операция, затрагивающая данные. Если в протоколе после тестового прогона вы видите массовые ошибки по конкретному регистру или документу, сначала разберитесь в причине: возможно, проблему правильнее решить перепроведением документов или восстановлением последовательности, а не автоматическим исправлением.

Проверка ссылочной целостности: что делать с «битыми» ссылками

Проверка ссылочной целостности ищет ссылки на несуществующие объекты — те самые записи «<Объект не найден> (123:abc…)», которые появляются после нештатного удаления данных, сбоев при обмене или восстановления из повреждённой копии. Эта галка обязательна, если пользователи жалуются на такие сообщения в документах, справочниках или отчётах.

При режиме «Тестирование и исправление» для ссылочной целостности доступны три варианта обработки. «Помечать на удаление» — объекты с битыми ссылками получают пометку удаления, сами ссылки при этом очищаются там, где это возможно. «Создавать объекты» — платформа создаёт пустые объекты-заглушки вместо потерянных, чтобы восстановить целостность ссылок. «Очищать ссылки» — битые ссылки просто удаляются из реквизитов.

Маршрут решения

Как выбрать вариант обработки битых ссылок

Потерянные объекты были неважными (удалённые элементы справочников)Выбирайте «Помечать на удаление» — самый безопасный вариант
Потерян критичный объект, на который ссылаются проведённые документыИспользуйте «Создавать объекты», затем вручную заполните заглушки реальными данными
Ссылки в неиспользуемых реквизитах и исторических данныхПодойдёт «Очищать ссылки» — реквизиты станут пустыми

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

Проверка физической целостности файла базы

Эта проверка доступна только для файловых баз и анализирует структуру файла 1Cv8.1CD на низком уровне. Ставьте галку, если база не открывается, падает с ошибкой «Ошибка формата потока» или «Файл базы данных повреждён», а также после аварийного завершения работы сервера или сбоя диска.

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

Сжатие таблиц и прочие флажки

Флаг «Сжатие таблиц информационной базы» уменьшает размер файловой базы, удаляя неиспользуемое пространство после удалённых объектов. Ставьте его после массового удаления данных (свертки базы, очистки старых периодов, удаления помеченных объектов), если файл заметно разросся. Ежедневно сжатие запускать не нужно — это ресурсоёмкая операция.

Также в диалоге может присутствовать «Реструктуризация таблиц» — она приводит структуру таблиц в соответствие с конфигурацией. Этот пункт используется редко, в основном после нештатных ситуаций при обновлении конфигурации, когда обновление прервалось на середине. Без явной необходимости галку не ставьте.

ПроверкаКогда ставитьКогда не нужна
Реиндексация таблицМедленная работа, профилактика файловой базыБаза на SQL с настроенным обслуживанием СУБД
Логическая целостностьПочти всегда: профилактика и диагностика—
Ссылочная целостностьОшибки «Объект не найден», сбои при обмене—
Физическая целостностьБаза не открывается, ошибки формата потокаКлиент-серверная база
Сжатие таблицПосле массового удаления данныхЕжедневная профилактика
РеструктуризацияСбой при обновлении конфигурацииШтатная работа базы

Рекомендуемый порядок запуска

Порядок действий
  1. 1
    Сделайте резервную копию базы и убедитесь, что она открывается
  2. 2
    Завершите все сеансы пользователей, получите монопольный доступ
  3. 3
    Запустите режим «Тестирование» с галками реиндексации, логической и ссылочной целостности
  4. 4
    Изучите протокол: оцените тип и масштаб ошибок
  5. 5
    При небольшом числе понятных ошибок запустите «Тестирование и исправление» с теми же галками
  6. 6
    При массовых ошибках сначала устраните причину (обмены, права, оборудование), затем повторите проверку
  7. 7
    После исправления повторно прогоните «Тестирование» и убедитесь, что протокол чистый
  8. 8
    Проверьте работу базы: проведение документов, отчёты, отсутствие битых ссылок

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

Контрольные точки

Как проверить результат

Протокол после повторного тестирования
Норма

Ошибок нет или остались единичные известные замечания

Тревожный признак

Те же ошибки появляются снова — причина не устранена

Проведение документов и отчёты
Норма

Документы проводятся, итоги сходятся с прежними значениями

Тревожный признак

Ошибки проведения, расхождение итогов

Списки документов и справочников
Норма

Нет записей «Объект не найден»

Тревожный признак

Битые ссылки остались или появились заглушки без данных

Типичные ошибки при работе с утилитой

Типичные ошибки
01
Запуск исправления без резервной копии — при неудачном результате данные теряются безвозвратно
02
Выбор «Создавать объекты» без последующего заполнения заглушек — в учёте остаются пустые контрагенты и номенклатура, которые искажают отчёты
03
Прерывание процесса кнопкой «Отмена» или перезагрузкой на длительной операции — база может остаться в несогласованном состоянии
04
Исправление симптомов вместо причины: если битые ссылки появляются после каждого обмена, чинить нужно правила обмена, а не базу
05
Одновременный запуск всех галок на большой базе в рабочее время — сеанс может занять часы и заблокировать работу пользователей

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

Итог

Что важно запомнить

Всегда начинайте с резервной копии и режима «Тестирование». Базовый набор — реиндексация, логическая и ссылочная целостность. Физическую целостность включайте только при повреждении файловой базы, сжатие — после массового удаления данных. Битые ссылки безопаснее всего обрабатывать вариантом «Помечать на удаление».

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

Какие галки ставить для профилактики файловой базы?

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

Что выбрать для битых ссылок: пометить, создать или очистить?

Начните с «Помечать на удаление» — это самый обратимый и контролируемый вариант. «Создавать объекты» применяйте, когда из-за потерянного объекта не проводятся важные документы, и обязательно заполните заглушки реальными данными. «Очищать ссылки» — для реквизитов, где потерянное значение не влияет на учёт.

База выдаёт «Ошибка формата потока». Поможет ли тестирование?

Иногда помогает проверка физической целостности, но чаще эта ошибка устраняется утилитой chdbfl.exe из каталога платформы, очисткой кэша метаданных или восстановлением из резервной копии. Сначала попробуйте chdbfl — она специально предназначена для диагностики файла 1Cv8.1CD.

Можно ли запускать тестирование при работающих пользователях?

Нет, для файловой базы требуется монопольный доступ — все сеансы должны быть завершены. В клиент-серверном варианте технически отдельные проверки возможны, но на практике сеансы и регламентные задания блокируют, чтобы избежать конфликтов при исправлении данных.

Сколько времени занимает тестирование и исправление?

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

Исправит ли утилита неверные остатки на складе или в взаиморасчётах?

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