Как проверить базу 1С на ошибки и вернуть её в строй после сбоя

· 9 мин

Содержание

Тестирование и исправление базы 1С 8.3 запускают в Конфигураторе: Администрирование → Тестирование и исправление.... Для первого прохода отметьте «Проверка логической целостности информационной базы», «Проверка ссылочной целостности информационной базы» и «Пересчет итогов», выберите режим «Тестирование и исправление» и нажмите «Выполнить». Перед этим выгрузите базу в .dt и выгоните всех пользователей: проверке нужен монопольный доступ.

Процедура выручает после отключения света, зависания при записи, «битых» документов с <Объект не найден> и расхождений в остатках. Ниже порядок, который не превращает одну проблему в три.

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

Тестирование меняет данные в базе. Если выбрать не те режимы, часть документов может удалиться. Поэтому копия делается всегда, даже когда «вчера был бэкап».

Как сделать копию

Тип базыЧем копироватьЧто получите
ФайловаяСкопировать каталог базы целиком (файл 1Cv8.1CD) при закрытой программеТочный слепок, включая повреждения
Файловая или сервернаяКонфигуратор: Администрирование → Выгрузить информационную базу...Файл .dt, платформа сама проверяет данные при выгрузке
Серверная (MS SQL, PostgreSQL)Полная резервная копия средствами СУБДКопия на уровне СУБД, восстанавливается быстрее .dt

💡 Для файловой базы делайте оба варианта. Если выгрузка в .dt падает с ошибкой, это уже диагноз: база повреждена, и копия каталога остаётся единственной страховкой.

Как получить монопольный доступ

  • 🧑‍💻 Файловая база. Попросите всех выйти. В БП 3.0, ЗУП 3.1 и УТ 11 удобно включить Администрирование → Обслуживание → Блокировка работы пользователей: программа сама завершит сеансы.
  • 🖥️ Серверная база. В консоли администрирования кластера откройте свойства информационной базы и включите «Блокировка начала сеансов включена» и «Блокировка регламентных заданий включена». Активные сеансы завершите в ветке «Сеансы».

При завершении сеансов у пользователей пропадёт несохранённая работа. Предупредите людей заранее и запускайте проверку вечером или в выходной.

Проверьте свободное место на диске. Для файловой базы нужно не меньше двух её размеров: при реструктуризации и сжатии платформа создаёт временные копии таблиц.

Запуск тестирования и исправления в Конфигураторе

  1. Откройте базу в режиме «Конфигуратор» под пользователем с правами администратора.
  2. Выберите Администрирование → Тестирование и исправление....
  3. Отметьте нужные проверки (разбор каждой — в следующем разделе).
  4. Выберите режим: «Только тестирование» или «Тестирование и исправление».
  5. Задайте реакцию на битые ссылки и частичную потерю данных.
  6. Нажмите «Выполнить» и не трогайте компьютер до сообщения о завершении.

Если Конфигуратор пишет, что монопольный доступ установить не удалось, в базе кто-то остался. Чаще всего это забытый сеанс на другом компьютере или фоновое задание.

Сначала разведка, потом лечение

Разумный порядок для незнакомой проблемы:

  1. Первый проход — «Только тестирование» с логической и ссылочной целостностью. Ничего не меняется, вы видите масштаб.
  2. Сохраните протокол из окна сообщений.
  3. Второй проход — «Тестирование и исправление» с осознанно выбранными вариантами.

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

Пакетный запуск из командной строки

Ночную проверку удобно запускать без участия человека. Пример для файловой базы:

"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\.

  1. Закройте все сеансы базы.
  2. Скопируйте каталог базы в резерв.
  3. Запустите chdbfl.exe, укажите путь к 1Cv8.1CD.
  4. Включите «Исправлять обнаруженные ошибки» и нажмите «Выполнить».
  5. После окончания запустите тестирование в Конфигураторе, как описано выше.

Утилита проверяет физическую структуру файла, а Конфигуратор — логику данных. Это разные уровни, поэтому после chdbfl.exe тестирование всё равно нужно. Для серверных баз утилита не применяется: физическую целостность там проверяют средствами СУБД.

Протокол проверки и журнал регистрации

Результаты тестирования выводятся в окно сообщений Конфигуратора. Сохраните его в текстовый файл, пока не закрыли программу: при пакетном запуске то же самое пишется в файл из параметра /Out.

Как читать протокол

  • ✅ Сообщение о завершении без ошибок — база в порядке, проблема в другом месте.
  • 🔗 Строки про ссылки на несуществующие объекты — битые ссылки, разобранные выше.
  • 📉 Строки про пересчёт итогов — итоги были рассчитаны неверно и исправлены.
  • ❌ Сообщения о невозможности исправить данные — повреждение глубже, нужен откат на копию.

Скопируйте из протокола идентификаторы объектов. По ним легче найти пострадавшие документы в пользовательском режиме.

Где искать причину сбоя

Тестирование лечит последствия, а причину показывает журнал регистрации. В Конфигураторе он открывается через Администрирование → Журнал регистрации, в БП 3.0, ЗУП 3.1 и УТ 11 — через Администрирование → Обслуживание → Журнал регистрации.

Что делать в журнале:

  1. Установите отбор по периоду: последние сутки перед сбоем.
  2. Оставьте уровень «Ошибка».
  3. Посмотрите, какой пользователь и какой документ записывались последними.
  4. Обратите внимание на аварийные завершения сеансов и ошибки записи.

Если перед сбоем повторяется одна и та же ошибка на одном документе, проблема в нём, а не в базе. Такой документ после восстановления лучше перезаполнить и перепровести вручную.

Что делать после восстановления, чтобы база работала быстро

Проверка закончилась, ошибок нет — но работа ещё не завершена. Вот что сделать дальше.

Заглушки и пустые поля

Найдите элементы, созданные вместо битых ссылок. Они без наименования и бросаются в глаза в списке справочника при сортировке по наименованию. Заполните их или замените правильными элементами, а лишние пометьте на удаление.

Удаление помеченных объектов в типовых конфигурациях находится в Администрирование → Обслуживание → Удаление помеченных объектов.

Перепроведение и закрытие периода

Если восстанавливали итоги или удаляли объекты, перепроведите документы за пострадавший период. Затем заново выполните закрытие месяца в БП 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С через диспетчер задач посреди проведения.

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

Перед плановым тестированием
Выполнено: 0 / 6

Частые вопросы

Сколько длится тестирование и исправление базы 1С?
Зависит от размера базы и набора проверок. Небольшая файловая база проверяется за минуты, серверная в десятки гигабайт с реиндексацией — несколько часов. Реструктуризация удлиняет процесс в разы.
Можно ли прервать проверку, если она идёт слишком долго?
Технически можно, но база может остаться в промежуточном состоянии. Если прервали — повторите проверку целиком или восстановитесь из копии, сделанной перед запуском.
Нужно ли тестирование, если база серверная на MS SQL или PostgreSQL?
Да, для логической и ссылочной целостности данных 1С. Физическую целостность файлов СУБД проверяет её собственными средствами, это отдельная задача администратора СУБД.
После проверки ошибок нет, а остатки всё равно неверные. Что дальше?
Значит, данные целы, а ошибка в учёте: неверно проведённый документ, неправильный порядок ввода или незакрытый месяц. Ищите расхождение отчётами по регистрам и документам, а не повторным тестированием.
Можно ли запустить проверку без Конфигуратора, из пользовательского режима?
Полностью — нет. Из пользовательского режима доступно только управление итогами. Логическую и ссылочную проверку запускают в Конфигураторе или пакетно через 1cv8.exe DESIGNER /IBCheckAndRepair.