Как правильно выполнять тестирование и исправление информационной базы 1С: последовательность и нюансы

Системный администратор 1С v8.3 (Управляемые формы) IT и автоматизация бизнеса
← На главную

Рано или поздно каждый администратор или разработчик 1С сталкивается с необходимостью проведения регламентных работ в конфигураторе. Речь идет о процедуре Тестирование и исправление (ТиИ). У новичков часто возникает вопрос: в какой последовательности отмечать пункты в окне настройки и можно ли запускать все операции одновременно? В этой статье мы подробно разберем внутренние механизмы этого процесса, выясним, как платформа определяет очередность задач, и научимся правильно готовить базу к обслуживанию.

Подготовка — фундамент безопасности данных

Прежде чем мы приступим к разбору технических пунктов, рассмотрим критически важное правило, которое упоминалось в обсуждении: перед любым запуском ТиИ необходимо сделать резервную копию базы данных. Процедуры тестирования и исправления вносят необратимые изменения в структуру и данные таблиц. Если в процессе произойдет сбой электропитания или критическая ошибка СУБД, база может оказаться полностью неработоспособной.

Проанализируем ситуацию: для файловой базы достаточно скопировать файл 1Cv8.1CD, для клиент-серверной — создать бэкап средствами MS SQL Server или PostgreSQL. Только убедившись в наличии актуальной копии, мы можем переходить к работе в конфигураторе.

Разбираем внутреннюю последовательность выполнения

Существует распространенное заблуждение, что если отметить все галочки в меню "Тестирование и исправление", то платформа начнет выполнять их хаотично или неэффективно. На самом деле, разработчики 1С уже предусмотрели оптимальный алгоритм. Независимо от того, в каком порядке вы нажимаете кнопки в интерфейсе, конфигуратор всегда выполняет задачи в строго определенной логической последовательности:

  1. Реиндексация таблиц — это базовый этап, на котором перестраиваются индексы всех таблиц базы данных. Это ускоряет последующие операции поиска и обработки.
  2. Проверка логической целостности — система проверяет внутренние связи между таблицами и структурами метаданных.
  3. Проверка ссылочной целостности — поиск "битых" ссылок (ситуаций, когда объект удален, но ссылка на него в других документах осталась).
  4. Пересчет итогов — актуализация данных в регистрах накопления и бухгалтерии. Без этого этапа отчеты могут показывать неверные остатки.
  5. Сжатие таблиц — удаление физических пустот в файле, возникших после удаления записей.
  6. Реструктуризация таблиц — самый глубокий процесс, подразумевающий создание новых таблиц и перенос данных в них для приведения структуры к идеальному соответствию метаданным.

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

Детальный разбор ключевых операций ТиИ

Рассмотрим подробнее каждый пункт, чтобы понимать, что именно происходит под капотом системы во время выполнения регламента.

1. Реиндексация таблиц

Индексы — это специальные служебные таблицы, которые позволяют 1С быстро находить нужные данные. Со временем индексы могут "раздуваться" или повреждаться. Проанализируем пример: если база начала заметно тормозить при поиске или проведении документов, реиндексация — первое, что стоит сделать. Она полностью очищает старые индексы и создает их заново.

2. Проверка логической и ссылочной целостности

Выясним причину появления ошибок типа "Объект не найден". Это происходит, когда один объект ссылается на другой, который был удален без контроля ссылочной целостности. В окне ТиИ мы можем выбрать варианты действий при обнаружении таких проблем:

Для корректного исправления рекомендуется выбирать "Создавать объекты", так как это позволит в дальнейшем отследить, какие именно данные были потеряны.

3. Реструктуризация таблиц

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

4. Сжатие таблиц (только для файлового варианта)

Посмотрим на пример работы файловой базы .1CD. Когда вы удаляете записи из таблиц, физический размер файла на диске не уменьшается — место просто помечается как "свободное". Сжатие позволяет физически удалить эти пустоты, значительно уменьшив размер файла базы данных.

Важно: для серверных баз (SQL) этот пункт практически бесполезен. Сжатие базы данных (Shrink) в этом случае лучше выполнять средствами самой СУБД.

Особенности обслуживания больших баз данных

Как справедливо замечено в сообщениях форума, на базах размером в сотни гигабайт запуск полного ТиИ может парализовать работу компании на несколько суток. Выясним, как поступать в таких ситуациях:

  1. Разделение операций: не запускайте все сразу. Например, в одни выходные сделайте только реиндексацию, в другие — пересчет итогов.
  2. Использование внешних утилит: перед запуском ТиИ для файловой базы обязательно используйте chdbfl.exe. Эта утилита исправляет физические ошибки файла базы данных. Если файл поврежден на физическом уровне, ТиИ может просто зависнуть или "убить" базу окончательно.
  3. SQL Maintenance Plans: для серверных баз большинство операций по реиндексации и сжатию эффективнее перенести на уровень SQL-сервера, настроив автоматические планы обслуживания.

Алгоритм проведения регламентных работ (чек-лист)

Разберем по шагам правильный порядок действий для системного администратора:

  1. Выполняем полное резервное копирование информационной базы.
  2. Просим всех пользователей выйти из системы (работа в ТиИ возможна только в монопольном режиме).
  3. Для файловых баз запускаем chdbfl.exe (находится в папке bin установленной платформы). Исправляем ошибки, если они найдены.
  4. Заходим в Конфигуратор -> Администрирование -> Тестирование и исправление.
  5. Выбираем необходимые пункты. Для планового обслуживания обычно достаточно: "Реиндексация", "Проверка логической целостности", "Пересчет итогов".
  6. В настройках исправления ошибок выбираем "Создавать объекты" (при необходимости).
  7. Нажимаем "Выполнить" и дожидаемся окончания процесса. Просматриваем отчет в окне сообщений.

Рассмотрим ситуацию, когда тестирование прерывается по времени. Как указано в сообщении 8, если база большая и вы не успеваете завершить процесс в технологическое окно, можно запускать пункты по очереди. Например, сначала выполнить только РеиндексацияТаблиц, а в следующий раз — ПроверкаСсылочнойЦелостности. Это позволит контролировать время простоя системы.

Таким образом, мы проанализировали основные аспекты тестирования и исправления. Главный вывод: платформа сама заботится о последовательности, но ответственность за сохранность данных и предварительную проверку физической целостности файла лежит на администраторе.

← На главную