К статье
Практический материал

Администрирование · 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, укажите путь к файлу базы, установите флажок «Исправлять обнаруженные ошибки» и нажмите «Выполнить». Работа всех пользователей с базой на этот момент должна быть завершена. По окончании утилита покажет, найдены ли ошибки и были ли они исправлены.

Утилита устраняет только физические дефекты файла: повреждённые страницы, нарушенные внутренние структуры. Логические проблемы — битые ссылки, ошибки в регистрах — она не трогает, поэтому после неё почти всегда следует этап тестирования и исправления в конфигураторе.

text
C:\Program Files\1cv8\<версия_платформы>\bin\chdbfl.exe

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

Основной инструмент исправления ошибок — пункт меню «Администрирование → Тестирование и исправление» в конфигураторе. Для его запуска база должна быть в монопольном режиме: все пользователи и фоновые сеансы завершены. В клиент-серверном варианте также убедитесь, что регламентные задания на время остановлены.

В окне настроек доступны несколько проверок. «Реиндексация таблиц» перестраивает индексы и помогает при ошибках поиска и медленной работе. «Проверка логической целостности» выявляет рассогласования внутри данных. «Проверка ссылочной целостности» находит ссылки на несуществующие объекты. «Пересчёт итогов» восстанавливает итоговые значения регистров накопления и бухгалтерии. «Сжатие таблиц» уменьшает размер файла и устраняет фрагментацию, «Реструктуризация таблиц» пересоздаёт структуру таблиц заново.

Для типового случая рекомендуется включить реиндексацию, проверку логической и ссылочной целостности, а при расхождении итогов — пересчёт итогов. Режим выбирайте «Тестирование и исправление»; вариант «Только тестирование» полезен для предварительной оценки масштаба проблем без изменения данных.

Порядок действий
  1. 1
    Завершите работу всех пользователей и сделайте резервную копию базы
  2. 2
    Для файловой базы прогоните chdbfl.exe с включённым исправлением
  3. 3
    Откройте базу в конфигураторе в монопольном режиме
  4. 4
    Выберите «Администрирование → Тестирование и исправление»
  5. 5
    Отметьте реиндексацию, проверку логической и ссылочной целостности
  6. 6
    Установите режим «Тестирование и исправление» и нажмите «Выполнить»
  7. 7
    После завершения проверьте проблемные документы и отчёты в режиме предприятия

Исправьте битые ссылки и ошибки в данных

Наиболее частая логическая проблема — ссылки на несуществующие объекты, которые в интерфейсе выглядят как «<Объект не найден> (123:…)». Они возникают после прямого удаления объектов в обход контроля ссылочной целостности, неудачных обменов данными или аварийных завершений.

При проверке ссылочной целостности механизм предлагает три варианта обработки таких ссылок: создать объекты (восстановить заглушки), очистить ссылки или не изменять. Создание объектов-заглушек сохраняет связность данных — документы продолжат открываться, а заглушки позже можно заполнить или пометить на удаление. Очистка ссылок быстрее, но теряет информацию о том, что в поле было значение.

Ошибки в регистрах — например, движения документа, который был удалён, или записи с пустыми измерениями — выявляются проверкой логической целостности. После исправления имеет смысл перепровести проблемные документы за затронутый период и сравнить ключевые отчёты с данными до сбоя, если есть эталон (распечатки, выгрузки, прошлая копия).

Исправьте ошибки в коде конфигурации через отладку

Если сообщение об ошибке содержит имя модуля, процедуру и номер строки — проблема в коде, а не в данных. Типичные примеры: деление на ноль, обращение к реквизиту, которого нет у объекта, ошибка запроса после обновления конфигурации.

Откройте конфигуратор, найдите указанный модуль через «Конфигурация → Открыть конфигурацию» и глобальный поиск по тексту сообщения. Для воспроизведения ошибки используйте отладчик: «Отладка → Подключение», установите точку останова в проблемной строке и выполните действие, вызывающее ошибку, в режиме предприятия. Отладчик покажет значения переменных в момент сбоя, что позволяет точно определить причину.

Если конфигурация типовая и на поддержке, не спешите править код напрямую: сначала проверьте, не исправлена ли ошибка в свежем релизе поставщика. Обновление на актуальный релиз часто решает проблему без ручных доработок и сохраняет конфигурацию на полной поддержке. Изменения в типовых модулях делайте только осознанно и с фиксацией внесённых правок.

Проверьте результат и типичные ошибки

После завершения всех процедур откройте базу в режиме предприятия и проверьте то, что раньше вызывало ошибку: проблемный документ должен открываться и проводиться, отчёт — формироваться без сообщений, итоги — сходиться с контрольными значениями. Повторное «Тестирование и исправление» в режиме «Только тестирование» должно завершиться без обнаруженных ошибок.

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

Типичные ошибки
01
Запуск исправления без резервной копии — при неудаче данные теряются безвозвратно
02
Работа пользователей во время тестирования — приводит к новым повреждениям и блокировкам
03
Выбор очистки битых ссылок вместо создания заглушек — теряется информация о связях
04
Правка типового кода до проверки обновлений — конфигурация снимается с поддержки без необходимости
05
Многократный запуск исправления при неустранённой аппаратной причине — сбойный диск продолжает портить базу
Контрольные точки

Как проверить результат

Повторное тестирование в режиме «Только тестирование»
Норма

Ошибок не обнаружено

Тревожный признак

Те же ошибки находятся снова

Открытие проблемного документа
Норма

Документ открывается и проводится

Тревожный признак

Сообщение об ошибке или «Объект не найден»

Контрольный отчёт за период
Норма

Итоги совпадают с эталоном

Тревожный признак

Расхождения сумм или пустые строки

Часто задаваемые вопросы

Можно ли исправить ошибки 1С без конфигуратора?

Частично — да. Утилита chdbfl.exe работает отдельно от конфигуратора и устраняет физические повреждения файловой базы. Также платформа позволяет запускать тестирование и исправление из командной строки с параметрами, что удобно для автоматизации. Однако полный набор проверок и настроек доступен именно через интерфейс конфигуратора.

Сколько времени занимает тестирование и исправление?

Длительность зависит от размера базы, выбранных проверок и скорости диска. Небольшая файловая база обрабатывается за минуты, крупная клиент-серверная — за часы. Сжатие и реструктуризация таблиц — самые долгие операции, их разумно планировать на нерабочее время.

Что делать, если конфигуратор не открывает базу вообще?

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

Удалит ли тестирование и исправление мои данные?

Штатные проверки не удаляют осмысленные данные, но при исправлении ссылочной целостности могут очищаться битые ссылки, а при серьёзных повреждениях — удаляться нечитаемые записи. Именно поэтому резервная копия обязательна: она позволяет сравнить состояние до и после и вернуть утраченное.

Ошибка появилась после обновления конфигурации — что делать?

Часто после обновления требуется завершить обработчики обновления данных в режиме предприятия — до их выполнения часть функций работает некорректно. Если обработчики завершены, а ошибка осталась, проверьте текст исключения: при совпадении с известной ошибкой релиза поможет установка следующего обновления или временное исправление по рекомендации поставщика.

Как понять, что проблема в оборудовании, а не в базе?

Тревожные признаки: ошибки возвращаются после успешного исправления, повреждаются разные базы на одном диске, в системном журнале Windows есть ошибки диска. В этом случае проверьте диск штатными средствами ОС, состояние памяти и стабильность сети (для баз на сетевых ресурсах), иначе исправленная база будет портиться снова.

Итог

Что важно запомнить

Начинайте с резервной копии, для файловой базы используйте chdbfl.exe, затем запускайте «Тестирование и исправление» в монопольном режиме с проверками целостности. Битые ссылки исправляйте созданием объектов-заглушек, ошибки кода — отладкой, а результат обязательно проверяйте повторным тестированием и контрольными отчётами.