Как проверить базу 1С на ошибки и вернуть её в строй после сбоя
Содержание
Тестирование и исправление базы 1С 8.3 запускают в Конфигураторе: Администрирование → Тестирование и исправление.... Для первого прохода отметьте «Проверка логической целостности информационной базы», «Проверка ссылочной целостности информационной базы» и «Пересчет итогов», выберите режим «Тестирование и исправление» и нажмите «Выполнить». Перед этим выгрузите базу в .dt и выгоните всех пользователей: проверке нужен монопольный доступ.
Процедура выручает после отключения света, зависания при записи, «битых» документов с <Объект не найден> и расхождений в остатках. Ниже порядок, который не превращает одну проблему в три.
Подготовка: резервная копия и монопольный доступ
Тестирование меняет данные в базе. Если выбрать не те режимы, часть документов может удалиться. Поэтому копия делается всегда, даже когда «вчера был бэкап».
Как сделать копию
| Тип базы | Чем копировать | Что получите |
|---|---|---|
| Файловая | Скопировать каталог базы целиком (файл 1Cv8.1CD) при закрытой программе | Точный слепок, включая повреждения |
| Файловая или серверная | Конфигуратор: Администрирование → Выгрузить информационную базу... | Файл .dt, платформа сама проверяет данные при выгрузке |
| Серверная (MS SQL, PostgreSQL) | Полная резервная копия средствами СУБД | Копия на уровне СУБД, восстанавливается быстрее .dt |
💡 Для файловой базы делайте оба варианта. Если выгрузка в .dt падает с ошибкой, это уже диагноз: база повреждена, и копия каталога остаётся единственной страховкой.
Как получить монопольный доступ
- 🧑💻 Файловая база. Попросите всех выйти. В БП 3.0, ЗУП 3.1 и УТ 11 удобно включить
Администрирование → Обслуживание → Блокировка работы пользователей: программа сама завершит сеансы. - 🖥️ Серверная база. В консоли администрирования кластера откройте свойства информационной базы и включите «Блокировка начала сеансов включена» и «Блокировка регламентных заданий включена». Активные сеансы завершите в ветке «Сеансы».
При завершении сеансов у пользователей пропадёт несохранённая работа. Предупредите людей заранее и запускайте проверку вечером или в выходной.
Проверьте свободное место на диске. Для файловой базы нужно не меньше двух её размеров: при реструктуризации и сжатии платформа создаёт временные копии таблиц.
Запуск тестирования и исправления в Конфигураторе
- Откройте базу в режиме «Конфигуратор» под пользователем с правами администратора.
- Выберите
Администрирование → Тестирование и исправление.... - Отметьте нужные проверки (разбор каждой — в следующем разделе).
- Выберите режим: «Только тестирование» или «Тестирование и исправление».
- Задайте реакцию на битые ссылки и частичную потерю данных.
- Нажмите «Выполнить» и не трогайте компьютер до сообщения о завершении.
Если Конфигуратор пишет, что монопольный доступ установить не удалось, в базе кто-то остался. Чаще всего это забытый сеанс на другом компьютере или фоновое задание.
Сначала разведка, потом лечение
Разумный порядок для незнакомой проблемы:
- Первый проход — «Только тестирование» с логической и ссылочной целостностью. Ничего не меняется, вы видите масштаб.
- Сохраните протокол из окна сообщений.
- Второй проход — «Тестирование и исправление» с осознанно выбранными вариантами.
Если в протоколе десяток битых ссылок, можно смело исправлять. Если тысячи строк о потере данных, лучше остановиться и сначала попробовать восстановить базу из копии.
Пакетный запуск из командной строки
Ночную проверку удобно запускать без участия человека. Пример для файловой базы:
"C:\Program Files\1cv8\8.3.24.1548\bin\1cv8.exe" DESIGNER /F"D:\Bases\Buh" /N"Администратор" /P"пароль" /DisableStartupDialogs /IBCheckAndRepair -LogIntegrity -RecalcTotals -BadRefCreate -BadDataCreate /Out"D:\Logs\check.txt"
Для серверной базы вместо /F укажите /S"имя_сервера\имя_базы". Номер версии в пути замените на установленную у вас. Флаг -TestOnly включает режим «только тестирование», -ReIndex — реиндексацию, -IBCompression — сжатие таблиц.
Пароль в bat-файле храните только на защищённом сервере, к которому нет доступа у рядовых пользователей.
Какие проверки выбирать и что они исправляют
Каждая галочка в окне тестирования решает свою задачу. Включать всё подряд на большой базе — значит ждать часами без пользы.
| Проверка | Что делает | Когда включать |
|---|---|---|
| Реиндексация таблиц | Перестраивает индексы | Медленные отборы, ошибки при поиске, после аварийного выключения |
| Проверка логической целостности | Ищет нарушения внутренней структуры данных | Всегда при первом проходе |
| Проверка ссылочной целостности | Ищет ссылки на несуществующие объекты | <Объект не найден> в документах и справочниках |
| Пересчет итогов | Пересчитывает итоги регистров накопления и бухгалтерии | Неверные остатки, ОСВ не сходится с отчётом по документам |
| Сжатие таблиц | Убирает пустое место в файле базы | Файловая база сильно разрослась после удаления данных |
| Реструктуризация таблиц | Пересоздаёт таблицы базы заново | Только когда остальные проверки не помогли |
💡 Реструктуризация — самая долгая и тяжёлая операция. На серверной базе в сотни гигабайт она может идти всю ночь. Не включайте её «для профилактики».
Битые ссылки: создать, очистить или не трогать
Для ссылок на несуществующие объекты есть три варианта:
- 🧩 Создавать объекты. Платформа создаёт пустой элемент-заглушку на месте пропавшего. Документ сохраняет связь, а вы потом заполняете заглушку или заменяете её правильным элементом. Самый безопасный выбор.
- 🧹 Очищать ссылки. Поле в документе станет пустым. Связь с контрагентом, номенклатурой или договором теряется безвозвратно.
- ⏸️ Не изменять. Только запись в протоколе.
Частичная потеря данных объектов
Здесь варианты другие: «Создавать объекты», «Удалять объекты», «Не изменять». «Удалять объекты» стирает повреждённые документы целиком — вместе с их движениями по регистрам. Выбирайте его только если знаете, какие документы пострадали, и готовы ввести их заново.
Если база файловая и не открывается вообще: chdbfl.exe
Когда файл 1Cv8.1CD повреждён настолько, что Конфигуратор не стартует или падает с «Ошибкой формата потока», начните с утилиты chdbfl.exe. Она лежит в каталоге bin установленной платформы, например C:\Program Files\1cv8\8.3.24.1548\bin\.
- Закройте все сеансы базы.
- Скопируйте каталог базы в резерв.
- Запустите
chdbfl.exe, укажите путь к1Cv8.1CD. - Включите «Исправлять обнаруженные ошибки» и нажмите «Выполнить».
- После окончания запустите тестирование в Конфигураторе, как описано выше.
Утилита проверяет физическую структуру файла, а Конфигуратор — логику данных. Это разные уровни, поэтому после chdbfl.exe тестирование всё равно нужно. Для серверных баз утилита не применяется: физическую целостность там проверяют средствами СУБД.
Протокол проверки и журнал регистрации
Результаты тестирования выводятся в окно сообщений Конфигуратора. Сохраните его в текстовый файл, пока не закрыли программу: при пакетном запуске то же самое пишется в файл из параметра /Out.
Как читать протокол
- ✅ Сообщение о завершении без ошибок — база в порядке, проблема в другом месте.
- 🔗 Строки про ссылки на несуществующие объекты — битые ссылки, разобранные выше.
- 📉 Строки про пересчёт итогов — итоги были рассчитаны неверно и исправлены.
- ❌ Сообщения о невозможности исправить данные — повреждение глубже, нужен откат на копию.
Скопируйте из протокола идентификаторы объектов. По ним легче найти пострадавшие документы в пользовательском режиме.
Где искать причину сбоя
Тестирование лечит последствия, а причину показывает журнал регистрации. В Конфигураторе он открывается через Администрирование → Журнал регистрации, в БП 3.0, ЗУП 3.1 и УТ 11 — через Администрирование → Обслуживание → Журнал регистрации.
Что делать в журнале:
- Установите отбор по периоду: последние сутки перед сбоем.
- Оставьте уровень «Ошибка».
- Посмотрите, какой пользователь и какой документ записывались последними.
- Обратите внимание на аварийные завершения сеансов и ошибки записи.
Если перед сбоем повторяется одна и та же ошибка на одном документе, проблема в нём, а не в базе. Такой документ после восстановления лучше перезаполнить и перепровести вручную.
Что делать после восстановления, чтобы база работала быстро
Проверка закончилась, ошибок нет — но работа ещё не завершена. Вот что сделать дальше.
Заглушки и пустые поля
Найдите элементы, созданные вместо битых ссылок. Они без наименования и бросаются в глаза в списке справочника при сортировке по наименованию. Заполните их или замените правильными элементами, а лишние пометьте на удаление.
Удаление помеченных объектов в типовых конфигурациях находится в Администрирование → Обслуживание → Удаление помеченных объектов.
Перепроведение и закрытие периода
Если восстанавливали итоги или удаляли объекты, перепроведите документы за пострадавший период. Затем заново выполните закрытие месяца в БП 3.0 или расчёт себестоимости в УТ 11. Без этого отчёты будут показывать старые цифры.
Групповое перепроведение за закрытые периоды меняет данные уже сданной отчётности. Согласуйте его с главным бухгалтером и начинайте с самого раннего пострадавшего месяца.
Скорость работы
- 🗜️ Файловая база. Сжатие таблиц уменьшает файл, если в нём было много удалённых данных.
- 🧮 Итоги. В пользовательском режиме проверьте
Администрирование → Обслуживание → Корректировка данных → Управление итогами и агрегатами: итоги должны быть рассчитаны, а период рассчитанных итогов — актуальным. - 🗄️ Серверная база. Попросите администратора СУБД перестроить индексы и обновить статистику. Для PostgreSQL это
VACUUM ANALYZE, для MS SQL — план обслуживания с перестроением индексов. - 🧽 Клиентский кэш. Если после восстановления у отдельных пользователей появились странные ошибки форм, запустите программу с параметром
/ClearCache.
"C:\Program Files\1cv8\common\1cestart.exe" /ClearCache
Ключ /ClearCache можно добавить и в дополнительные параметры запуска базы в окне выбора баз. Он очищает только кэш этого компьютера и не затрагивает данные.
Регулярное обслуживание: как не доводить до аварии
Тестирование — инструмент неотложки, а не ежедневная процедура. Профилактика дешевле.
| Что делать | Как часто | Кто |
|---|---|---|
Резервная копия (.dt или копия каталога/СУБД) | Ежедневно, автоматически | Администратор |
| Проверка, что копия восстанавливается | Раз в месяц | Администратор |
| Тестирование с логической целостностью и пересчётом итогов | Раз в квартал и после каждого сбоя | Администратор |
| Обслуживание индексов и статистики СУБД | Еженедельно, ночью | Администратор СУБД |
| Обновление платформы и конфигурации | По выходу релизов, после копии | Администратор |
Для файловой базы в БП 3.0, ЗУП 3.1 и УТ 11 автоматическое копирование настраивается прямо в программе: Администрирование → Обслуживание → Резервное копирование и восстановление. Укажите каталог на другом диске или в сетевой папке, расписание и число хранимых копий. Хранить копии на том же диске, что и базу, бессмысленно: при отказе диска пропадёт всё сразу.
Для серверной базы копирование настраивают средствами СУБД. Выгрузка в .dt по расписанию тоже возможна, но на время выгрузки нужен монопольный доступ, поэтому её ставят на ночь.
Причины, которые чаще других портят файловую базу :
- ⚡ Отключение питания без ИБП во время записи.
- 🌐 Работа с файловой базой по нестабильной сети или через Wi-Fi.
- 🛡️ Антивирус, проверяющий файл
1Cv8.1CDна лету. Добавьте каталог базы в исключения. - 💾 Заканчивающееся место на диске с базой.
- 🔌 Снятие задачи 1С через диспетчер задач посреди проведения.
Если пользователей больше пяти-семи и они работают одновременно, подумайте о переходе на клиент-серверный вариант. Повреждение файловой базы при сетевых сбоях — её типичная слабость.
Частые вопросы
Сколько длится тестирование и исправление базы 1С?
Можно ли прервать проверку, если она идёт слишком долго?
Нужно ли тестирование, если база серверная на MS SQL или PostgreSQL?
После проверки ошибок нет, а остатки всё равно неверные. Что дальше?
Можно ли запустить проверку без Конфигуратора, из пользовательского режима?
1cv8.exe DESIGNER /IBCheckAndRepair.