Администрирование · 11 мин
Как исправить ошибки 1С через конфигуратор
Как исправить ошибки 1С через конфигуратор: тестирование и исправление базы, проверка логической целостности, chdbfl, типичные ошибки и меры безопасности.
Ошибки в информационной базе 1С проявляются по-разному: программа аварийно закрывается, документы не проводятся, отчёты выдают неверные итоги, а при запуске появляются сообщения о повреждении файла базы или нарушении целостности данных. Большинство таких сбоев устраняется штатными средствами — через конфигуратор, не прибегая к сторонним программам и не рискуя данными.
Конфигуратор — это режим платформы 1С, предназначенный для администрирования и разработки. Помимо изменения конфигурации, он включает встроенный механизм «Тестирование и исправление», который проверяет базу на нескольких уровнях: от физической целостности таблиц до логических связей между объектами. Именно этот инструмент решает основную массу проблем с данными.
Прежде чем приступать к исправлению, важно понять природу ошибки: одни сбои связаны с повреждением файла базы, другие — с некорректными записями в регистрах, третьи — с ошибками в коде самой конфигурации. От этого зависит выбор инструмента и последовательность действий. Ниже разобраны основные сценарии и точные шаги для каждого из них.
Сделайте резервную копию перед любыми исправлениями
Любое исправление ошибок в базе начинается с резервной копии. Операции тестирования и исправления изменяют данные необратимо: если механизм удалит «битые» записи, вернуть их без копии будет невозможно. Это особенно критично, когда ошибки затрагивают документы или регистры бухгалтерии.
Для файловой базы достаточно скопировать файл 1Cv8.1CD в отдельный каталог при остановленной работе всех пользователей. Более правильный способ — выгрузка через конфигуратор: откройте базу в режиме конфигуратора и выберите «Администрирование → Выгрузить информационную базу». Полученный файл с расширением .dt содержит и данные, и конфигурацию.
Для клиент-серверных баз выгрузка .dt делается так же через конфигуратор, но для больших баз надёжнее использовать штатные средства СУБД (например, резервное копирование в MS SQL Server или PostgreSQL). Убедитесь, что копия реально создалась и файл доступен для чтения, прежде чем продолжать.
Определите тип ошибки перед исправлением
Разные ошибки требуют разных инструментов. Условно их можно разделить на три группы: повреждение файла базы (физический уровень), нарушение логики данных (ссылки на несуществующие объекты, «битые» записи регистров) и ошибки в коде конфигурации (исключения при выполнении процедур).
Признаки физического повреждения: база не открывается, сообщение «Файл базы данных повреждён», аварийное завершение при обращении к конкретным таблицам. Логические ошибки проявляются иначе: документ не проводится с ссылкой на несуществующий объект, в отчётах появляются строки вида «<Объект не найден>», итоги расходятся. Ошибки кода видны по тексту исключения с указанием модуля и строки.
Проверьте файл утилитой chdbfl.exe до запуска конфигуратора
Нужна проверка ссылочной целостности в тестировании и исправлении
Исправляется отладкой и правкой кода, а не тестированием данных
Помогает пересчёт итогов и реструктуризация таблиц
Проверьте файловую базу утилитой chdbfl
Если база файловая и есть подозрение на физическое повреждение, начните с утилиты chdbfl.exe. Она находится в каталоге установки платформы, в папке bin соответствующей версии (например, C:\Program Files\1cv8\<версия>\bin\chdbfl.exe). Утилита проверяет структуру файла 1Cv8.1CD на низком уровне — до того, как к данным обратится сама платформа.
Запустите chdbfl.exe, укажите путь к файлу базы, установите флажок «Исправлять обнаруженные ошибки» и нажмите «Выполнить». Работа всех пользователей с базой на этот момент должна быть завершена. По окончании утилита покажет, найдены ли ошибки и были ли они исправлены.
Утилита устраняет только физические дефекты файла: повреждённые страницы, нарушенные внутренние структуры. Логические проблемы — битые ссылки, ошибки в регистрах — она не трогает, поэтому после неё почти всегда следует этап тестирования и исправления в конфигураторе.
C:\Program Files\1cv8\<версия_платформы>\bin\chdbfl.exeЗапустите тестирование и исправление в конфигураторе
Основной инструмент исправления ошибок — пункт меню «Администрирование → Тестирование и исправление» в конфигураторе. Для его запуска база должна быть в монопольном режиме: все пользователи и фоновые сеансы завершены. В клиент-серверном варианте также убедитесь, что регламентные задания на время остановлены.
В окне настроек доступны несколько проверок. «Реиндексация таблиц» перестраивает индексы и помогает при ошибках поиска и медленной работе. «Проверка логической целостности» выявляет рассогласования внутри данных. «Проверка ссылочной целостности» находит ссылки на несуществующие объекты. «Пересчёт итогов» восстанавливает итоговые значения регистров накопления и бухгалтерии. «Сжатие таблиц» уменьшает размер файла и устраняет фрагментацию, «Реструктуризация таблиц» пересоздаёт структуру таблиц заново.
Для типового случая рекомендуется включить реиндексацию, проверку логической и ссылочной целостности, а при расхождении итогов — пересчёт итогов. Режим выбирайте «Тестирование и исправление»; вариант «Только тестирование» полезен для предварительной оценки масштаба проблем без изменения данных.
- 1Завершите работу всех пользователей и сделайте резервную копию базы
- 2Для файловой базы прогоните chdbfl.exe с включённым исправлением
- 3Откройте базу в конфигураторе в монопольном режиме
- 4Выберите «Администрирование → Тестирование и исправление»
- 5Отметьте реиндексацию, проверку логической и ссылочной целостности
- 6Установите режим «Тестирование и исправление» и нажмите «Выполнить»
- 7После завершения проверьте проблемные документы и отчёты в режиме предприятия
Исправьте битые ссылки и ошибки в данных
Наиболее частая логическая проблема — ссылки на несуществующие объекты, которые в интерфейсе выглядят как «<Объект не найден> (123:…)». Они возникают после прямого удаления объектов в обход контроля ссылочной целостности, неудачных обменов данными или аварийных завершений.
При проверке ссылочной целостности механизм предлагает три варианта обработки таких ссылок: создать объекты (восстановить заглушки), очистить ссылки или не изменять. Создание объектов-заглушек сохраняет связность данных — документы продолжат открываться, а заглушки позже можно заполнить или пометить на удаление. Очистка ссылок быстрее, но теряет информацию о том, что в поле было значение.
Ошибки в регистрах — например, движения документа, который был удалён, или записи с пустыми измерениями — выявляются проверкой логической целостности. После исправления имеет смысл перепровести проблемные документы за затронутый период и сравнить ключевые отчёты с данными до сбоя, если есть эталон (распечатки, выгрузки, прошлая копия).
Исправьте ошибки в коде конфигурации через отладку
Если сообщение об ошибке содержит имя модуля, процедуру и номер строки — проблема в коде, а не в данных. Типичные примеры: деление на ноль, обращение к реквизиту, которого нет у объекта, ошибка запроса после обновления конфигурации.
Откройте конфигуратор, найдите указанный модуль через «Конфигурация → Открыть конфигурацию» и глобальный поиск по тексту сообщения. Для воспроизведения ошибки используйте отладчик: «Отладка → Подключение», установите точку останова в проблемной строке и выполните действие, вызывающее ошибку, в режиме предприятия. Отладчик покажет значения переменных в момент сбоя, что позволяет точно определить причину.
Если конфигурация типовая и на поддержке, не спешите править код напрямую: сначала проверьте, не исправлена ли ошибка в свежем релизе поставщика. Обновление на актуальный релиз часто решает проблему без ручных доработок и сохраняет конфигурацию на полной поддержке. Изменения в типовых модулях делайте только осознанно и с фиксацией внесённых правок.
Проверьте результат и типичные ошибки
После завершения всех процедур откройте базу в режиме предприятия и проверьте то, что раньше вызывало ошибку: проблемный документ должен открываться и проводиться, отчёт — формироваться без сообщений, итоги — сходиться с контрольными значениями. Повторное «Тестирование и исправление» в режиме «Только тестирование» должно завершиться без обнаруженных ошибок.
Если ошибки остались, не повторяйте одни и те же действия многократно — проанализируйте, какая именно проверка продолжает находить проблему. Устойчивые физические повреждения файловой базы, которые не устраняются chdbfl и реструктуризацией, обычно означают необходимость восстановления из резервной копии или переноса данных в чистую базу штатными средствами обмена.
Как проверить результат
Ошибок не обнаружено
Те же ошибки находятся снова
Документ открывается и проводится
Сообщение об ошибке или «Объект не найден»
Итоги совпадают с эталоном
Расхождения сумм или пустые строки
Часто задаваемые вопросы
Можно ли исправить ошибки 1С без конфигуратора?
Частично — да. Утилита chdbfl.exe работает отдельно от конфигуратора и устраняет физические повреждения файловой базы. Также платформа позволяет запускать тестирование и исправление из командной строки с параметрами, что удобно для автоматизации. Однако полный набор проверок и настроек доступен именно через интерфейс конфигуратора.
Сколько времени занимает тестирование и исправление?
Длительность зависит от размера базы, выбранных проверок и скорости диска. Небольшая файловая база обрабатывается за минуты, крупная клиент-серверная — за часы. Сжатие и реструктуризация таблиц — самые долгие операции, их разумно планировать на нерабочее время.
Что делать, если конфигуратор не открывает базу вообще?
Сначала проверьте файл базы утилитой chdbfl.exe — она работает без запуска платформы. Если и это не помогает, восстановите базу из резервной копии. Для клиент-серверных баз используйте средства восстановления СУБД. Отсутствие резервной копии в такой ситуации означает риск потери данных, поэтому регулярное копирование критично.
Удалит ли тестирование и исправление мои данные?
Штатные проверки не удаляют осмысленные данные, но при исправлении ссылочной целостности могут очищаться битые ссылки, а при серьёзных повреждениях — удаляться нечитаемые записи. Именно поэтому резервная копия обязательна: она позволяет сравнить состояние до и после и вернуть утраченное.
Ошибка появилась после обновления конфигурации — что делать?
Часто после обновления требуется завершить обработчики обновления данных в режиме предприятия — до их выполнения часть функций работает некорректно. Если обработчики завершены, а ошибка осталась, проверьте текст исключения: при совпадении с известной ошибкой релиза поможет установка следующего обновления или временное исправление по рекомендации поставщика.
Как понять, что проблема в оборудовании, а не в базе?
Тревожные признаки: ошибки возвращаются после успешного исправления, повреждаются разные базы на одном диске, в системном журнале Windows есть ошибки диска. В этом случае проверьте диск штатными средствами ОС, состояние памяти и стабильность сети (для баз на сетевых ресурсах), иначе исправленная база будет портиться снова.
Что важно запомнить
Начинайте с резервной копии, для файловой базы используйте chdbfl.exe, затем запускайте «Тестирование и исправление» в монопольном режиме с проверками целостности. Битые ссылки исправляйте созданием объектов-заглушек, ошибки кода — отладкой, а результат обязательно проверяйте повторным тестированием и контрольными отчётами.