Тестирование и исправление информационной базы
Процедура тестирования и исправления информационной базы служит для диагностики и устранения ошибочных состояний информационных баз, имеющих различный формат хранения данных (файловый или клиент-серверный):
Процедура позволяет выбрать проверки и режимы, которые должны быть выполнены для текущей информационной базы. Для баз, использующих клиент-серверный вариант, возможна проверка логической целостности данных и пересчет итогов. Для баз, использующий файловый вариант, в дополнение к этим проверкам, может быть выполнена реиндексация таблиц и сжатие информационной базы.
Имеется возможность выполнять только тестирование или тестирование с исправлением. Причем, возможен выбор нескольких вариантов исправления конфликтных ситуаций.
Процесс тестирования и исправления информационной базы может быть разбит на несколько этапов. При этом доступны следующие возможности:
- ограничение времени тестирования и исправления;
- сохранение параметров тестирования между этапами;
- продолжение прерванного ранее тестирования и исправления;
- поддержка тестирования и исправления порциями в командной строке запуска.
Следует заметить, что тестирование и исправление информационной базы может выполняться только в монопольном режиме (т.е. работа пользователей с информационной базой в процессе тестирования и исправления невозможна).
Тестирование и исправление ИБ в «1С»
Меню тестирования и исправления находится в конфигураторе системы 1С:Предприятие 8, выбором меню Администрирование -Тестирование и исправление.
Проверки и режимы.
Данная процедура позволяет выбрать проверки и режимы, которые должны быть выполнены для текущей информационной базы.
Реиндексация таблиц – это перестроение индексов таблиц, направленное на повышение быстродействия работы базы.
Проверка логической целостности – это целое множество проверок логики базы данных
Проверка ссылочной целостности — это подмножество проверки логической целостности базы данных, существующее для отдельной работы с «битыми» ссылками. Конкретнее будет объяснено ниже по тексту.
Пересчет итогов – расчет итогов таблиц регистров накопления
Сжатие таблиц информационной базы – данный пункт отвечает за уменьшение размера базы после тестирования. Объяснить уменьшение размера базы можно, например, так: когда из базы удаляется объект, он, по сути, остается в базе внутри, но невидимым для конечного пользователя. Сделано это для того, чтобы объект все-таки можно было восстановить уже после полного удаления из базы (хотя мы с таким не встречались). И сжатие таблиц, как раз убирает информацию об удаленных уже объектах из базы данных. От этого таблицы становятся меньше (это всего лишь один пример, как работает сжатие).
Действие «Сжатие таблиц информационной базы» доступно только для файлового варианта. Остальные варианты работают и в файловом и в серверном режиме.
Реструктуризация таблиц – для каждой таблицы — создается новая таблицы с нужной структурой и все данные из старой таблицы переносятся в новую
Имеется возможность выполнять только тестирование или тестирование с исправлением.
Пункты настроек по обработке ошибок базы становятся доступными для выбора при варианте обработки «Тестирование и исправление», а также режиме «Проверка ссылочной целостности информационной базы».

Первая настройка: «При наличии ссылок на несуществующие объекты» означает, что в базе будет произведен поиск «битых ссылок» (когда какой-то реквизит ссылается, к примеру, на элемент справочника, а физически данный элемент уже в базе отсутствует. В результате, встречаются записи типа «Объект не найден ») и вариант обработки таких ссылок:
- попытка создать несуществующий объект;
- очистить «битую» ссылку
- ничего не изменять.
Вторая настройка: «При частичной потере данных объекта» означает, что данные какого-либо объекта были потеряны, но оставшихся данных вполне хватает для восстановления утраченного. Варианты обработки таких объектов не отличаются по смыслу от вариантов предыдущей настройки.
Процесс тестирования и исправления информационной базы может быть разбит на несколько этапов. При этом доступны следующие возможности:
- ограничение времени тестирования и исправления;
- сохранение параметров тестирования между этапами;
- продолжение прерванного ранее тестирования и исправления;
- поддержка тестирования и исправления порциями в командной строке запуска.
Следует заметить, что тестирование и исправление информационной базы 1С может выполняться только в монопольном режиме (т.е. работа пользователей с информационной базой в процессе тестирования и исправления невозможна).
Если по каким то причинам тестирование и исправление не помогает или у вас нет доступа в конфигуратор — воспользуйтесь утилитой Chdbfl.exe.
Тестирование и исправление информационной базы 1С
Иногда при работе с 1С могут возникать сбои или ошибки.
В данной статье мы поговорим о тестировании и исправлении информационной базы 1С.
Информационная база 1С (в терминах фирмы 1С) — место хранения всех данных по учету в одной или нескольких организациях, характеризуемое определенным адресом хранения. Возможны два варианта хранения информационной базы: файловый и клиент-серверный вариант.
Если у Вас возникла необходимость провести процедуру тестирования и исправления информационной базы 1С:
Во первых, следует создать копию базы данных (если это возможно, т.к. иногда структура базы становится настолько «покалечена», что отсутствует даже возможность создать резервную копию).
Во вторых: После создания резервной копии следует открыть Конфигуратор, далее в меню: Администрирование -> Тестирование и исправление…
Процедура тестирования и исправления информационной базы служит для диагностики и устранения ошибочных состояний информационных баз, имеющих различный формат хранения данных (файловый или клиент-серверный):

,
Процедура позволяет выбрать проверки и режимы, которые должны быть выполнены для текущей информационной базы.
Реиндексация таблиц – это перестроение индексов таблиц, направленное на повышение быстродействия работы базы.
Проверка логической целостности – это целое множество проверок логики базы данных
Проверка ссылочной целостности — это подмножество проверки логической целостности базы данных, существующее для отдельной работы с «битыми» ссылками. Конкретнее будет объяснено ниже по тексту.
Пересчет итогов – расчет итогов таблиц регистров накопления
Сжатие таблиц информационной базы – данный пункт отвечает за уменьшение размера базы после тестирования. Объяснить уменьшение размера базы можно, например, так: когда из базы удаляется объект, он, по сути, остается в базе внутри, но невидимым для конечного пользователя. Сделано это для того, чтобы объект все-таки можно было восстановить уже после полного удаления из базы (хотя мы с таким не встречались). И сжатие таблиц, как раз убирает информацию об удаленных уже объектах из базы данных. От этого таблицы становятся меньше (это всего лишь один пример, как работает сжатие).
Действие «Сжатие таблиц информационной базы» доступно только для файлового варианта. Остальные варианты работают и в файловом и в серверном режиме.
Реструктуризация таблиц – пример можно привести такой: берется таблица № 1, создается копия ее структуры, назовем, как Таблица № 2 и данные из таблицы № 1 копируются порциями в таблицу № 2.
Имеется возможность выполнять только тестирование или тестирование с исправлением.
Пункты настроек по обработке ошибок базы становятся доступными для выбора при варианте обработки «Тестирование и исправление», а также режиме «Проверка ссылочной целостности информационной базы».

Первая настройка: «При наличии ссылок на несуществующие объекты» означает, что в базе будет произведен поиск «битых ссылок» (когда какой-то реквизит ссылается, к примеру, на элемент справочника, а физически данный элемент уже в базе отсутствует. В результате, встречаются записи типа «Объект не найден ») и вариант обработки таких ссылок:
— попытка создать несуществующий объект;
— очистить «битую» ссылку
— ничего не изменять.
Вторая настройка: «При частичной потере данных объекта» означает, что данные какого-либо объекта были потеряны, но оставшихся данных вполне хватает для восстановления утраченного. Варианты обработки таких объектов не отличаются по смыслу от вариантов предыдущей настройки.
Процесс тестирования и исправления информационной базы может быть разбит на несколько этапов. При этом доступны следующие возможности:
- ограничение времени тестирования и исправления;
- сохранение параметров тестирования между этапами;
- продолжение прерванного ранее тестирования и исправления;
- поддержка тестирования и исправления порциями в командной строке запуска.
Следует заметить, что тестирование и исправление информационной базы 1С может выполняться только в монопольном режиме (т.е. работа пользователей с информационной базой в процессе тестирования и исправления невозможна).
Утилита chdbfl
Вариант с тестированием базы средствами самой программы 1С – не единственный. В комплект поставки платформы 1С: Предприятие входит еще вспомогательная утилита для тестирования и исправления файлового варианта базы данных.
Опять-таки перед всеми операциями с базой обязательно создавайте копию.
После удачного резервного копирования надо открыть утилиту chdbfl. Она находится в каталоге установленной программы 1С.
Путь к ней, как правило, такой: C:\Program Files\1cv82\ «релиз платформы 1с» \bin
Там находится файл: «chdbfl.exe»
Убедившись, что в базе 1С, которую будете тестировать, не находится ни один пользователь (в том числе вы), запускаете программу.

В окне «Имя файла БД» выбираете путь к файлу с базой данных. Сам файл всегда имеет расширение *.1CD, а путь к папке с базой данных можно посмотреть в списке информационных баз, который открывается при запуске 1С: Предприятие.
Можно просто тестировать базу, можно сразу поставить галочку «Исправлять обнаруженные ошибки». Тогда программа сама поправит ошибки в базе. Настроек тут, правда, никаких нет и программа будет уже сама исправлять ошибки базы автоматически.
После выбора базы и установки режима нужно просто нажать на «Выполнить». Программа начнет работать и через некоторое время сообщит о завершении процесса тестирования.
1С8 Параметры консольного вызова тестирования и исправления
DESIGNER (CONFIG в 8.0) Запуск в режиме Конфигуратора.
/@ Путь к файлу с параметрами командной строки.
/F Путь к файловой информационной базе (исключая имя файла).
/S Адрес информационной базы на сервере 1С:Предприятия.
/IBName запуск информационной базы по имени базы в списке информационнх баз. При необходимости имя должно быть взято в двойные кавычки. При этом, если имя содержит двойные кавычки, то нужно заменить каждые двойные кавычки на две двойные кавычки. Если в списках баз будет найдено более чем одна база с указанным именем, то пользователю будет выдана ошибка.
/N Имя пользователя, как оно задано в Конфигураторе.
/P пароль пользователя, имя которого указано в параметре /N. Если у пользователя нет пароля, этот параметр можно опустить.
/Out[ -NoTruncate] Задаёт файл для вывода служебных сообщений. Если задано -NoTruncate, файл не очищается (не используется в тонком клиенте). C 8.2.15 файл сообщений открывается в режиме, допускающем совместное чтение, и во время пакетного режима запуска Конфигураторa запись в этот файл выполняется сразу, а не буферизуется.
/UC [код доступа] — позволяет выполнить установку соединения с информационной базой, на которую установлена блокировка установки соединений. Если при установке блокировки задан непустой код доступа, то для установки соединения необходимо в параметре /UC указать этот код доступа.
/DumpIB[ИмяФайла] Выгрузка информационной базы.
/IBCheckAndRepair выполнить тестирование и исправление информационной базы.
• -ReIndex реиндексация таблиц;
• -LogIntegrity проверка логической целостности или
-LogAndRefsIntegrity проверка логической и ссылочной целостности;
• -RecalcTotals пересчет итогов;
• -IBCompression сжатие таблиц;
• -Rebuild реструктуризация таблиц информационной базы;
-BadRefCreate создавать объекты или
-BadRefClear очищать объекты или
-BadRefNone не изменять при частичной потере объектов:
-BadDataCreate создавать объекты или
-BadDataDelete удалять объекты или
-BadDataNone не изменять объекты;
• UseStartPoint использовать сохраненную точку возврата для продолжения тестирования с того места, на котором оно было прервано в предыдущем сеансе;
• TimeLimit:hhh:mm ограничение максимального времени сеанса тестирования: hhh — количество часов (0..999); mm — количество минут (0..59).
Примеры использования параметров
C:\Program Files\1cv8\bin\1cv8.exe CONFIG /F»C:\DemoTrd2″ /N»Федоров (администратор)» /P»» /IBcheckAndRepair -LogIntegrity
C:\Program Files\1cv82\common\1cestart.exe DESIGNER /S»Server-1C\1C-Work82″ /N»Администратор» /P»12345″ /IBcheckAndRepair -LogIntegrity
Нужна помощь по 1C:УПП?
Как сделать тестирование и исправление базы «1С:Предприятие» 8.3?
Если с вашей базой 1С возникли проблемы, полезли различные ошибки или даже она перестала запускаться, то следует выполнить тестирование и исправление базы 1С. Первое и самое важное, что нужно сделать перед исправлением любой конфигурации, – сделать резервную копию базы 1С. Мы не зря привели 2 способа создания резервной копии базы 1С. Даже если конфигурация перестала запускаться в режиме конфигуратора, вы всегда сможете сделать ее копию, воспользовавшись 1 способом (копированием файла конфигурации).

Теперь, когда резервная копия сделана, запустите базу в режиме конфигуратора:
Если ваша конфигурация повреждена на столько, что не запускается даже в режиме Конфигуратора, то для ее восстановления можно использовать специальную утилиту chdbfl, которая входит в комплект поставки 1С Предприятие 8.

Выберите пункт ‘Администрирование’-‘Тестирование и исправление…’ :

Перед вами откроется окно с настройками режима проверки и исправления базы 1С, которые нужно выбрать и нажать кнопку ‘Выполнить’.
Данная проверка в зависимости от размера вашей базы может выполняться очень долго. Поэтому рекомендуется выбирать по одному режиму проверки в порядке их следования (вначале только режим «Реиндексация таблиц информационной базы», затем только режим «Проверка логической целостности информационной базы» и т.д.) и после каждого исправления проверять пропали или нет ошибки в базе 1С.
Рассмотрим все режимы проверки и исправления по порядку:
Реиндексация таблиц информационной базы.
Для ускорения поиска по определенным реквизитам объектов нашей конфигурации система 1с формирует индексы. В данном режиме исправления система сформирует все индексы заново.
Проверка логической целостности информационной базы.
Как следует из названия, в данном режиме система проверяет и исправляет логические ошибки в структурах таблиц базы данных.
Проверка ссылочной целостности информационной базы.
В данном режиме система проверяет существование всех ссылок на объекты. Если находятся ссылки на объекты, которые не существуют, то система может либо удалить такие сбойные ссылки, либо попытаться их исправить. Поэтому для данной проверки необходимо дополнительно указать, что делать с такими объектами: создавать новые, очищать или ничего не делать.
Пересчет итогов.
Итоги - это своеобразные индексы для регистров. Например, итоги по регистру остатков товаров позволяют нам быстро получать остатки товаров на нужную дату и т.д. В данном режиме система пересчитывает все итоги за все периоды. Как правило это очень долгая по времени проверка.
Сжатие таблиц информационной базы.
Данный режим больше относится к повышению быстродействия работы конфигурации, нежели к устранению ошибок, но тем не менее. Со временем базы данных сильно увеличиваются в размерах. Это происходит, потому что в базе накапливается много данных, которые мы пометили на удаление, затем удалили, но на самом-то деле в базе они по-прежнему остались (просто мы их больше не видим). Сжатие таблиц информационной базы производит их настоящее удаление и база сокращается в размере.
Реструктуризация таблиц информационной базы.
Самый действенный режим в борьбе с ошибками. Принцип реструктуризации следующий. Для каждой таблицы базы данных создается новая таблица с аналогичной структурой и все данные из старой таблицы переносятся в новую.

Выбрав нужный пункт, запустите проверку нажав на кнопку ‘Выполнить’.

После всех проверок откроется окно Служебные сообщения с информацией о результатах тестирования.
