Как проверить и починить информационную базу 1С 8.3: Конфигуратор, chdbfl и пакетный режим
Содержание
Тестирование и исправление базы 1С 8.3 запускают в Конфигураторе: Администрирование → Тестирование и исправление. Для повседневной проверки достаточно трёх галочек — реиндексация, проверка логической и ссылочной целостности, пересчёт итогов — и режима «Тестирование и исправление». Нужен монопольный доступ: все пользователи должны выйти из базы. Если файловая база вообще не открывается, используют утилиту chdbfl.exe из каталога платформы.
Типичная ситуация: после отключения света бухгалтер открывает базу, а оборотно-сальдовая ведомость показывает странные остатки, в документах вместо контрагента стоит <Объект не найден>. Это не повод переустанавливать программу. Почти всегда базу удаётся проверить и исправить штатными средствами за 10–40 минут, если действовать по порядку. Механизм общий для платформы, поэтому шаги одинаковы для Бухгалтерии, ЗУП, УТ и других конфигураций.
Подготовка: копия базы и монопольный доступ
Тестирование и исправление меняет данные. Если что-то пойдёт не так, откатиться можно только к копии.
Перед запуском в режиме исправления сделайте резервную копию базы
. Для файловой базы проще всего скопировать каталог с файлом 1Cv8.1CD при закрытой программе. Второй вариант — выгрузка в .dt: в Конфигураторе Администрирование → Выгрузить информационную базу.
Для клиент-серверной базы копию делают средствами СУБД: полный бэкап в SQL Server или pg_dump в PostgreSQL. Выгрузка .dt тоже подойдёт, но на больших базах она идёт долго.
Что ещё подготовить:
- 👥 Предупредите пользователей. Процедура требует монопольного режима, сеансы придётся завершить. Удобнее делать вечером или в выходной.
- 💾 Проверьте место на диске. Реструктуризация и сжатие временно создают копии таблиц. Свободного места должно быть не меньше размера самой базы.
- 🔌 Обеспечьте питание. Обрыв посреди исправления хуже исходной проблемы. Ноутбук — на зарядку, сервер — на ИБП.
- ⏱ Оцените время. База на 2 ГБ проверяется минут 10–15, на 20 ГБ — уже часы. Точное время зависит от диска и процессора.
Если в базе кто-то работает, Конфигуратор покажет сообщение о невозможности установить монопольный режим. Завершать чужие сеансы принудительно можно только предупредив людей: несохранённые документы пропадут.
Как запустить тестирование и исправление в Конфигураторе
Это основной инструмент. Он проверяет внутреннюю структуру базы и связи между объектами, а не правильность бухгалтерского учёта.
Шаг 1. Откройте Конфигуратор
- Запустите 1С, выберите базу в списке.
- Нажмите кнопку
Конфигуратор, введите пользователя с административными правами. - Убедитесь, что больше никто в базе не работает .
Шаг 2. Откройте форму проверки
Меню Администрирование → Тестирование и исправление.... Откроется окно с набором флажков и переключателей.
Шаг 3. Отметьте нужные проверки
| Флажок | Что делает | Когда включать |
|---|---|---|
| Реиндексация таблиц информационной базы | Перестраивает индексы таблиц | Всегда при плановой проверке |
| Проверка логической целостности | Ищет нарушения внутренней структуры данных | Всегда |
| Проверка ссылочной целостности | Ищет ссылки на удалённые и несуществующие объекты | Всегда; самая долгая часть |
| Пересчёт итогов | Заново считает итоги регистров накопления и бухгалтерии | При неверных остатках в отчётах |
| Сжатие таблиц информационной базы | Убирает пустое место, уменьшает размер файла | Только файловая база, раз в 1–3 месяца |
| Реструктуризация таблиц информационной базы | Пересоздаёт таблицы целиком | Только при серьёзных ошибках, если обычная проверка не помогла |
Для плановой профилактики хватает первых четырёх флажков. Реструктуризация — тяжёлая операция, на большой базе она идёт часами. Включайте её осознанно.
Шаг 4. Выберите режим
Внизу формы есть переключатель:
- «Только тестирование» — программа найдёт ошибки и покажет их, но ничего не тронет. Полезно, чтобы оценить масштаб.
- «Тестирование и исправление» — найдёт и сразу исправит.
Разумный порядок: сначала «Только тестирование», потом, изучив отчёт, — «Тестирование и исправление».
Шаг 5. Решите, что делать с битыми ссылками
Это самое важное решение в форме. Есть две группы настроек.
При наличии ссылок на несуществующие объекты:
- «Создавать объекты» — программа создаст объекты-заглушки, на которые указывают ссылки. В справочнике появятся элементы с названием вида
Объект не найден (123:8a5b…). Их потом можно найти и заполнить. - «Очищать ссылки» — пустое значение вместо ссылки. Данные в документах теряются безвозвратно.
- «Не изменять» — оставить как есть.
При частичной потере данных объектов: создавать объекты, удалять объекты или не изменять.
Для учётной базы почти всегда выбирайте «Создавать объекты». Заглушки видно, их можно найти по названию и восстановить: подставить правильного контрагента, номенклатуру, статью. Очищенную ссылку восстановить уже не из чего.
Шаг 6. Запустите и изучите отчёт
Нажмите Выполнить. Ход проверки и найденные ошибки выводятся в окно служебных сообщений внизу Конфигуратора. Сохраните этот текст в файл: он пригодится, если придётся разбираться дальше или обращаться к программисту.
Если в сообщениях только строки о начале и окончании этапов — база чистая. Если есть сообщения о несуществующих ссылках или нарушениях структуры, а режим был «Тестирование и исправление», ошибки уже исправлены. Повторный прогон должен пройти без замечаний.
Что означают типичные ошибки проверки и как их убрать
После тестирования и исправления в учётной базе остаются следы. Их нужно доделать вручную.
Администрирование, в группе настроек обслуживания.Ещё одна частая ситуация — проверка сама по себе зависает на этапе ссылочной целостности. На базе в десятки гигабайт это нормально: этап может идти несколько часов. Смотрите на нагрузку диска и процессора в диспетчере задач. Если они работают, процесс идёт.
Утилита chdbfl.exe: когда файловая база не открывается
Когда файловая база падает при открытии или Конфигуратор не может её проверить, помогает chdbfl.exe. Это отдельная программа для физической проверки файла 1Cv8.1CD. Она работает на уровне страниц файла, глубже, чем проверка из Конфигуратора.
Утилита лежит в каталоге установленной платформы, например:
C:\Program Files\1cv8\8.3.24.1548\bin\chdbfl.exe
Номер версии в пути у вас будет свой. Берите утилиту той же версии платформы, с которой работает база.
Порядок работы:
- Закройте все сеансы 1С, которые работают с этой базой.
- Скопируйте
1Cv8.1CDв отдельную папку. Это обязательная страховка. - Запустите
chdbfl.exe. - В поле имени файла укажите путь к
1Cv8.1CD. - Включите флажок
Исправлять обнаруженные ошибки. - Нажмите
Выполнитьи дождитесь окончания. - После chdbfl откройте базу в Конфигураторе и выполните обычное тестирование и исправление.
chdbfl работает только с файловым вариантом. Для серверной базы на SQL Server или PostgreSQL она бесполезна.
Если файл заблокирован, значит, какой-то процесс 1С всё ещё держит базу. Проверьте процессы 1cv8.exe и 1cv8c.exe в диспетчере задач. Закрывать их можно только убедившись, что это не работающий сотрудник.
Автоматическое тестирование базы по расписанию
Делать профилактику руками каждый месяц неудобно. Конфигуратор умеет выполнять тестирование и исправление из командной строки, без открытия окна. Это пакетный режим, его запускают из планировщика Windows.
Пример bat-файла для файловой базы:
@echo off
set V8="C:\Program Files\1cv8\8.3.24.1548\bin\1cv8.exe"
set BASE=D:\Bases\Buh
set LOG=D:\Logs\tii_%date:~-4%%date:~3,2%%date:~0,2%.txt
%V8% DESIGNER /F "%BASE%" /N "Администратор" /P "пароль" /DisableStartupMessages /Out "%LOG%" /IBCheckAndRepair -ReIndex -LogAndRefsIntegrity -RecalcTotals -BadRefCreate
Ключи после /IBCheckAndRepair:
| Ключ | Что включает |
|---|---|
-ReIndex | Реиндексация таблиц |
-LogAndRefsIntegrity | Проверка логической и ссылочной целостности |
-RecalcTotals | Пересчёт итогов |
-IBCompression | Сжатие таблиц (файловая база) |
-TestOnly | Только тестирование, без исправления |
-BadRefCreate | Создавать объекты для битых ссылок |
Для серверной базы вместо /F указывают /S "сервер\имя_базы".
Не храните пароль администратора в открытом bat-файле на общем диске. Положите файл в папку, доступную только учётной записи планировщика, или заведите для обслуживания отдельного пользователя 1С с нужными правами.
В планировщике задайте запуск ночью, когда в базе никого нет. Если в момент запуска кто-то остался в программе, монопольный режим не установится, и в лог-файл попадёт сообщение об ошибке. Проверяйте лог хотя бы раз в неделю.
Сценарное тестирование конфигурации
Есть и другое «тестирование в 1С» — проверка не базы, а самой программы после доработок. Его используют программисты и внедренцы:
- 🧪 Vanessa Automation — бесплатный открытый инструмент. Сценарии пишут на языке Gherkin почти обычными фразами: «открываю документ», «ввожу в поле», «проверяю сумму». Тест сам нажимает кнопки в клиенте 1С.
- 🧩 Встроенные средства платформы для автотестов — платформа умеет запускать клиент в режиме менеджера и клиента тестирования. На этом механизме построены такие инструменты.
- 🔍 Проверка конфигурации — в Конфигураторе
Конфигурация → Проверка конфигурации.... Ищет синтаксические ошибки в модулях, некорректные ссылки на объекты метаданных. Полезно после любой правки кода.
Бухгалтеру эти инструменты обычно не нужны. Но если в компании есть доработанная конфигурация, стоит спросить программиста, прогоняет ли он тесты перед выпуском изменений.
Проверка базы перед обновлением конфигурации
Обновление переносит ошибки базы в новую версию и иногда на них падает. Обработчики обновления не рассчитаны на битые ссылки и сбитые итоги. Отсюда ошибки вида «не удалось выполнить обработчик обновления».
Порядок, который снижает риск:
- Сделайте резервную копию.
- Выполните тестирование и исправление с реиндексацией, проверкой целостности и пересчётом итогов.
- Для доработанной конфигурации —
Конфигурация → Проверка конфигурации..., чтобы убедиться, что исходная версия не содержит ошибок в модулях. - Обновите конфигурацию.
- Запустите Предприятие и дождитесь окончания обработчиков обновления.
- Проверьте ключевые отчёты: ОСВ, остатки по складу, взаиморасчёты.
Если база большая и обновление критично, сначала отрепетируйте его на копии. Разверните копию из .dt, проведите там тестирование и обновление, сверьте отчёты. Только потом повторяйте на рабочей базе.
Если после проверки остались заглушки <Объект не найден>, лучше разобрать их до обновления, а не после. В новой версии разобраться, откуда они взялись, будет сложнее.
Если тестирование и исправление не помогло
Бывает, что проверка проходит, а проблема остаётся. Или проверка сама не может завершиться. Порядок действий от мягкого к радикальному:
Отдельно про серверные базы. Тестирование и исправление из Конфигуратора на них тоже работает. Но на базах в сотни гигабайт оно может идти сутки. Поэтому в клиент-серверном варианте регулярное обслуживание — реиндексацию и обновление статистики — переносят в регламентные задания СУБД. А Конфигуратор запускают точечно, при конкретной ошибке.
Если ни один способ не помог, сохраните лог проверки, копию повреждённой базы и описание, после чего начались проблемы. С этим набором программист разберётся намного быстрее.
Профилактика: как реже чинить базу
Большинство повреждений файловой базы возникает по нескольким причинам. Их можно закрыть заранее:
- 🔋 Внезапное отключение питания. ИБП на компьютер или сервер, где лежит база.
- 🌐 Файловая база в сетевой папке по Wi-Fi. Обрыв связи во время записи — частая причина битых страниц. Подключайтесь по кабелю, а при 5+ пользователях задумайтесь о переходе на клиент-серверный вариант или о публикации через веб-сервер.
- 🛡 Антивирус проверяет файл базы на лету. Добавьте каталог базы и временные файлы 1С в исключения.
- 💽 Заканчивается место на диске. Держите запас не меньше размера базы.
- ❌ Снятие 1С через диспетчер задач. Завершайте зависшую программу только если она точно не отвечает несколько минут.
Регламент, который работает в небольшой бухгалтерии:
| Что | Как часто |
|---|---|
| Резервная копия | Ежедневно, автоматически |
| Тестирование: реиндексация, целостность, пересчёт итогов | Раз в месяц и перед каждым обновлением |
| Сжатие таблиц (файловая база) | Раз в квартал |
| Проверка, что копия восстанавливается | Раз в квартал |
| Проверка лога пакетного тестирования | Еженедельно |
Последний пункт часто пропускают. Копия, которую ни разу не пробовали развернуть, может оказаться пустой или битой ровно в тот день, когда понадобится.