Битая база 1С: от журнала регистрации до тестирования и исправления
Содержание
Большинство ошибок в базе 1С 8.3 исправляют в Конфигураторе через Администрирование → Тестирование и исправление: реиндексация, проверка логической и ссылочной целостности, пересчёт итогов. Перед запуском обязательно выгрузите базу в файл .dt и закройте все сеансы. Для файловой базы с повреждённым файлом 1Cv8.1CD сначала нужна утилита chdbfl.exe, а для ошибок интерфейса и «странного» поведения формы часто хватает очистки кэша.
Типичная картина: утром бухгалтер открывает базу, а отчёт показывает отрицательный остаток там, где его быть не может, в документе вместо контрагента висит <Объект не найден>, а закрытие месяца
падает с ошибкой. Лечить вслепую нельзя. Сначала диагностика — понять, где сломалось: в данных, в конфигурации, в платформе или в файле базы. От этого зависит инструмент.
Диагностика ошибок базы 1С: симптомы и журнал регистрации
Куда смотреть в первую очередь
Разделите проблему по слою. Это экономит часы на неверные действия.
| Симптом | Где, скорее всего, сбой | Чем лечить |
|---|---|---|
<Объект не найден> в реквизитах | данные: битые ссылки | тестирование ссылочной целостности |
| Неверные остатки, «минус» в отчётах | итоги регистров | пересчёт итогов, перепроведение |
Файл базы данных поврежден | физический файл 1Cv8.1CD | chdbfl.exe, копия базы |
| Ошибка только у одного пользователя | кэш, настройки, права | очистка кэша, проверка прав |
| Ошибка после обновления у всех | конфигурация или платформа | проверка конфигурации, версия платформы |
| Ошибка проведения конкретного документа | учётные настройки, данные документа | анализ текста ошибки, перепроведение |
Как читать журнал регистрации
Журнал регистрации — главный источник фактов. Он показывает, кто, когда и что делал, и какие ошибки возникали.
Открыть его можно двумя путями:
- В пользовательском режиме БП 3.0, ЗУП 3.1, УТ 11:
Администрирование → Обслуживание → Журнал регистрации. - В Конфигураторе:
Администрирование → Журнал регистрации.
Что делать в журнале:
- 🔎 установите отбор по важности «Ошибка» и по интервалу времени, когда проблема появилась;
- 👤 добавьте отбор по пользователю, если ошибка возникает у одного человека;
- 📄 откройте событие двойным щелчком: в комментарии будет полный текст ошибки, в поле «Данные» — ссылка на объект;
- 🗑 ищите события удаления объектов («Данные. Удаление») рядом по времени с появлением битых ссылок.
Скопируйте полный текст ошибки из журнала дословно. Фразы вроде Ошибка при вызове метода контекста или Ошибка СУБД сами по себе мало что говорят — смысл в строках после них.
Если сломан сам журнал
Журнал хранится в папке 1Cv8Log внутри каталога файловой базы (для серверной — в каталоге кластера на сервере 1С). Он может разрастись до гигабайтов и тормозить запуск.
Почистить его можно штатно: Конфигуратор → Администрирование → Настройка журнала регистрации → кнопка «Сократить». Программа предложит сохранить удаляемые события в файл — согласитесь, если журнал может понадобиться для разбора.
Если журнал не открывается совсем, при закрытых сеансах переименуйте папку 1Cv8Log. Платформа создаст новый пустой журнал, а старый останется для анализа.
Тестирование и исправление информационной базы
Подготовка к тестированию
Тестирование и исправление требует монопольного доступа: в базе не должно быть ни одного пользователя, фоновых и регламентных заданий.
Перед любым исправлением выгрузите базу: Конфигуратор → Администрирование → Выгрузить информационную базу. Режим «Тестирование и исправление» меняет данные необратимо: может удалить объекты или очистить ссылки. Без копии откатиться некуда.
Порядок подготовки:
- Предупредите пользователей и назначьте окно — обычно вечер или выходной.
- Завершите сеансы. В серверной базе — через консоль кластера, в файловой — попросите всех выйти. Принудительное завершение оборвёт несохранённую работу.
- Сделайте выгрузку
.dt. Для файловой базы дополнительно скопируйте папку с файлом1Cv8.1CD. - Проверьте свободное место на диске: реструктуризация временно занимает объём, сравнимый с размером базы.
Какие флажки ставить
Окно открывается через Администрирование → Тестирование и исправление. Флажки отвечают за разные операции.
| Операция | Что делает | Когда нужна |
|---|---|---|
| Реиндексация таблиц | перестраивает индексы | медленные отборы, ошибки индексов в файловой базе |
| Проверка логической целостности | ищет нарушения структуры данных | после сбоев питания, аварийных закрытий |
| Проверка ссылочной целостности | ищет ссылки на несуществующие объекты | <Объект не найден> в документах |
| Пересчёт итогов | пересчитывает итоги регистров | неверные остатки и обороты |
| Сжатие таблиц | освобождает место после удалений | файловая база сильно «распухла» |
| Реструктуризация таблиц | пересоздаёт таблицы базы | тяжёлые случаи, по рекомендации; самая долгая операция |
Сначала запустите режим «Тестирование» без исправления. Посмотрите отчёт: сколько ошибок и какого рода. Только потом — «Тестирование и исправление».
Настройки для битых ссылок и потерянных данных
В нижней части окна задаётся реакция на два случая:
- ссылки на несуществующие объекты — «Создавать объекты», «Очищать ссылки» или «Не изменять»;
- частичная потеря данных объектов — «Создавать объекты», «Удалять объекты» или «Не изменять».
Для учётной базы безопаснее «Создавать объекты». Программа создаст элементы-заглушки, и ссылки в документах не пропадут. Потом заглушки можно найти и заменить правильными объектами. «Очищать ссылки» и «Удалять объекты» уничтожают информацию: документ останется без контрагента или исчезнет совсем.
Файловая база: утилита chdbfl.exe
Если база не открывается с ошибкой Файл базы данных поврежден, Конфигуратор может даже не запуститься. Тогда используйте chdbfl.exe — она проверяет физическую целостность файла 1Cv8.1CD.
- Закройте все сеансы базы.
- Запустите утилиту из каталога платформы, например
C:\Program Files\1cv8\8.3.xx.xxxx\bin\chdbfl.exe. - Укажите путь к файлу
1Cv8.1CD. - Сначала проверьте без флажка «Исправлять обнаруженные ошибки», затем — с ним, на копии файла.
- После утилиты запустите тестирование и исправление в Конфигураторе.
Клиент-серверная база
В клиент-серверном варианте данные лежат в СУБД. Тестирование в Конфигураторе тоже работает, но физическую целостность проверяют средствами самой СУБД. В MS SQL Server это DBCC CHECKDB:
DBCC CHECKDB ('ИмяБазы') WITH NO_INFOMSGS;
Индексы и статистику в серверной базе обслуживает план обслуживания СУБД, а не галка «Реиндексация». Настраивает его администратор сервера.
Битые ссылки и удалённые элементы: как исправить
Откуда берутся <Объект не найден>
Битая ссылка — реквизит, который указывает на объект, которого больше нет в базе. В форме документа вместо значения видно <Объект не найден> и длинный идентификатор в скобках.
Частые причины:
- 🗑 непосредственное удаление элемента справочника без контроля ссылок;
- 🔄 обмен данными, при котором документ пришёл, а связанный справочник — нет;
- 🧩 загрузка данных внешней обработкой;
- 💥 сбой при записи или повреждение базы.
Порядок лечения
- Найдите в журнале регистрации, кто и когда удалил объект. Иногда проще восстановить его из копии базы и перенести.
- Запустите тестирование с проверкой ссылочной целостности и режимом «Создавать объекты».
- После исправления в справочниках появятся элементы-заглушки. Найдите их отбором по пустому наименованию или по пометке, которую поставила программа.
- Замените заглушки правильными элементами. В БП 3.0, ЗУП 3.1, УТ 11 для этого есть обработка
Администрирование → Обслуживание → Поиск и удаление дублей: она переносит ссылки с одного элемента на другой. - Перепроведите документы, в которых были битые ссылки.
Удаление помеченных объектов
Правильный путь удаления в 1С — через пометку. Помеченный элемент удаляется обработкой Администрирование → Обслуживание → Удаление помеченных объектов. Она проверяет ссылки и не даст удалить то, что где-то используется.
Не включайте пользователям право непосредственного удаления. Именно оно чаще всего порождает битые ссылки.
Логические ошибки конфигурации и версия платформы
Проверка конфигурации
Если ошибка возникает у всех пользователей сразу после обновления или доработки, виновата, скорее всего, конфигурация. В Конфигураторе откройте Конфигурация → Проверка конфигурации. Отметьте логическую целостность и поиск некорректных ссылок, запустите.
Отчёт покажет модули с синтаксическими ошибками, ссылки на удалённые объекты метаданных, конфликты имён. Для типовой конфигурации без доработок таких ошибок быть не должно. Если они есть — проблема в доработках или неудачном обновлении.
Расширения
Доработки сейчас часто вынесены в расширения. После обновления типовой конфигурации расширение может перестать применяться. Отключите расширения по одному в Администрирование → Печатные формы, отчёты и обработки → Расширения и проверьте, ушла ли ошибка.
Платформа и кэш
Каждый релиз конфигурации требует платформу с номером не ниже указанного в описании релиза. Если номер платформы меньше, база может не открыться или работать с ошибками. Номер версии виден в окне Справка → О программе.
Ошибки формы, Ошибка формата потока, «пропавшие» команды у одного пользователя часто лечит очистка кэша:
- Попросите пользователя закрыть все окна 1С — открытые сеансы оборвутся.
- Удалите папки с длинными именами-идентификаторами в
%APPDATA%\1C\1cv8и%LOCALAPPDATA%\1C\1cv8. - Либо запустите базу с параметром
/ClearCache: в списке баз выберитеИзменить → Дополнительные параметры запуска.
"C:\Program Files\1cv8\common\1cestart.exe" ENTERPRISE /F"D:\Bases\Buh" /ClearCache
Ошибки при проведении документов и расчёте итогов
Разбор сообщения о непроведении
Текст ошибки при проведении почти всегда подсказывает причину. Частые группы:
- 📦 нехватка остатков — товара или материала на складе меньше, чем списывается;
- 📝 не заполнен обязательный реквизит — счёт учёта, статья затрат, подразделение;
- 🔒 дата документа попадает в закрытый период;
- ⚙️ не настроена учётная политика или параметры учёта на дату документа.
Для закрытого периода проверьте настройку «Даты запрета изменения» в разделе Администрирование. Снимать запрет должен ответственный бухгалтер: изменение в закрытом периоде меняет уже сданную отчётность.
Пересчёт итогов
Итоги регистров накопления и бухгалтерии хранятся отдельно от движений. При сбое они расходятся, и отчёты показывают неверные остатки при правильных проводках.
Пересчитать итоги можно двумя путями:
- Конфигуратор →
Тестирование и исправление→ флажок «Пересчёт итогов». Нужен монопольный доступ. - Пользовательский режим:
Администрирование → Обслуживание → Управление итогами. Работает без выгона пользователей, но на большой базе тормозит работу.
Групповое перепроведение
Если пересчёт итогов не помог, значит, неверны сами движения документов. Тогда перепроводят документы за период. В БП 3.0 обработка «Групповое перепроведение документов
» находится в разделе Операции.
Начинайте с месяца, где впервые разошлись остатки. Перепроведение за несколько лет на большой базе может идти много часов — запускайте его в нерабочее время. После перепроведения заново выполните закрытие месяца за затронутые периоды.
Перепроведение меняет движения в прошлых периодах. Если отчётность за них сдана, сверьте результаты до и после — расхождения придётся объяснять.
Профилактика: резервные копии и регламент обслуживания
Большая часть описанного выше не понадобилась бы при нормальном регламенте.
Резервное копирование
- 💾 файловая база: в типовых конфигурациях есть
Администрирование → Обслуживание → Резервное копирование и восстановление— настройте автоматическое копирование по расписанию; - 🗄 серверная база: полные и разностные копии средствами СУБД плюс периодическая выгрузка
.dt; - 📍 храните копии не на том же диске, что и база;
- 🔁 раз в квартал проверяйте восстановление: развертывайте копию в тестовую базу и открывайте её.
Регламент обслуживания
Ещё три правила, которые снижают число сбоев:
- Файловую базу держите на локальном диске сервера, а не на сетевой папке с нестабильным соединением.
- Источник бесперебойного питания для компьютера с базой обязателен: аварийное отключение — частая причина повреждения
1Cv8.1CD. - Когда пользователей больше 10–15 или база перерастает несколько гигабайт, переходите на клиент-серверный вариант.