Тестирование, исправление базы данных 1С
Тестирование и исправление - это процедуры, необходимые для диагностики и исправления ошибок в информационной базе 1С.
- для решения нештатных ситуаций, связанных с нарушением логической, ссылочной целостности;
- для получения отчета о поврежденных, несуществующих объектах и их исправлении;
- для реиндексации и сжатия таблиц информационной базы для файловой системы работы.
Таким образом, процедура тестирования и исправления информационной базы служит для диагностики и устранения ошибочных состояний информационных баз, имеющих различный формат хранения данных (файловый или клиент-серверный).
Процесс тестирования и исправления информационной базы может быть разбит на несколько этапов. При этом доступны следующие возможности:
- ограничение времени тестирования и исправления;
- сохранение параметров тестирования между этапами;
- продолжение прерванного ранее тестирования и исправления;
- поддержка тестирования и исправления в командной строке запуска.
Тестирование и исправление информационной базы 1С может выполняться только в монопольном режиме (т.е. работа пользователей с информационной базой в процессе тестирования и исправления невозможна).
Вызов процедур производится в конфигураторе, из меню "Администрирование" - "Тестирование и исправление":

Особенности тестирования и исправления информационной базы в 1С:
- Процесс тестирования и исправления информационной базы может быть ограничен указанным интервалом времени, например: "в течение 3 часов".
- Тестирование и исправление может быть запущено только в монопольном режиме (при отсутствии других работающих пользователей): при неудаче перехода в монопольный режим выдается сообщение об ошибке.
Тестирование и исправление информационной базы 1С через конфигуратор
- Сделать резервную копию имеющейся базы (предпочтительно - путем копирования всей папки с базой, вернее, файла данных базы с именем 1Cv8.1CD; либо путем выгрузки базы в файл .dt через меню "Администрирование" - "Выгрузить информационную базу...").
- Запустить базу в режиме конфигуратора.
- В конфигураторе выбрать пункт "Администрирование" - "Тестирование и исправление...".
Рисунок[свернуть]
- Выбрать вариант (режим) проверки. Можно выбрать сразу все проверки и режимы, но более рациональным будет выполнять эти проверки и исправления по-порядку:
Рисунок[свернуть]
- Реиндексация таблиц информационной базы - для каждой таблицы (например, справочника) в базе заново строится индекс для ускорения поиска по определенным полям. Направлена на повышение быстродействия работы базы.
- Проверка логической целостности информационной базы проверяет и исправляет логические ошибки в структурах таблиц.
- Проверка ссылочной целостности информационной базы проверяет все ссылки на объекты, которые могут уже не существовать или быть невалидными. При данной проверке нужно указать действия с такими объектами (Создавать объекты, Очищать ссылки или Не изменять).
- Пересчет итогов - это пересчет индексов для регистров, в которых хранится информация, создаваемая документами. Эта проверка заново пересчитывает все итоги за все время и обычно занимает длительное время.
- Сжатие таблиц информационной базы производит физическое удаление данных, помеченных на удаление, но по каким-то причинам оставшихся в базе. Эта процедура приводит к уменьшению размера информационной базы. Доступно только для файлового варианта.
- Реструктуризация таблиц информационной базы - создаёт новые таблицы с нужной структурой и все данные из старой таблицы переносятся в новую. Обычно эта процедура вызывается при внесении изменений в структуру метаданных конфигурации. Обычно занимает длительное время.
- Если база большого размера, то можно ограничить выполнение проверок во времени (флаг и поля "Прервать выполнение проверки через").
- Нажать кнопку "Выполнить".
- После всех проверок в окне "Служебные сообщения" прочитать информацию о результатах тестирования.
- Если исправление не помогло - восстановите базу из резервной копии, которую сделали на первом этапе.
Тестирование и исправление информационной базы 1С утилитой chdbfl
В комплект поставки платформы 1С:Предприятие входит вспомогательная утилита chdbfl для тестирования и исправления файлового варианта базы данных.
Порядок тестирования и исправления информационной базы 1С утилитой chdbfl:
- Сделать резервную копию имеющейся базы (предпочтительно - путем копирования всей папки с базой, вернее, файла данных базы с именем 1Cv8.1CD; либо путем выгрузки базы в файл .dt через меню "Администрирование" - "Выгрузить информационную базу...").
- Открыть утилиту chdbfl, которая находится в каталоге установленной программы 1С (например, C:\Program Files\1cv8\ "релиз платформы 1с" \bin).
Рисунок[свернуть]
- Запустить программу в монопольном режиме (при отсутствии других работающих пользователей).
Рисунок[свернуть]
- В поле «Имя файла БД» выбрать путь к файлу с базой данных (имеет расширение *.1CD), а путь к папке с базой данных можно посмотреть в списке информационных баз диалога запуска 1С:Предприятие.
- При необходимости установить флаг «Исправлять обнаруженные ошибки».
- Нажать на кнопку «Выполнить». Программа начнет работать и через некоторое время сообщит о завершении процесса тестирования.
1С8 Параметры консольного вызова тестирования и исправления
При вызове из командной строки для ключа /IBCheckAndRepair (тестирование и исправление) предусмотрены два параметра, управляющие проверкой логической целостности:
- -LogIntegrity проверка только логической целостности;
- -LogAndRefsIntegrity проверка логической и ссылочной целостности.