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

Администрирование · 12 мин

Как читать ошибки в 1С и находить их причину

Как читать ошибки в 1С: структура сообщения, журнал регистрации, типовые ошибки СУБД и объектов, порядок диагностики и способы исправления без риска для данных.

Сообщение об ошибке в 1С — это не просто текст «что-то пошло не так», а структурированная подсказка: в нём почти всегда указано, где произошёл сбой, какой объект участвовал и какое условие нарушено. Умение читать такие сообщения сокращает диагностику с часов до минут и позволяет отличить ситуацию, которую пользователь может исправить сам, от той, где нужен администратор или разработчик.

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

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

Из чего состоит сообщение об ошибке

Типовое окно ошибки в 1С содержит несколько смысловых частей. В заголовке или первой строке обычно указан краткий тип: «Ошибка при выполнении обработчика», «Нарушение прав доступа», «Ошибка СУБД». Далее идёт основной текст — именно он объясняет, что именно не удалось системе. В конце часто присутствует техническая приписка: имя модуля, номер строки кода, имя таблицы или поля базы данных.

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

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

Где искать ошибку: журнал регистрации

Журнал регистрации открывается из меню «Администрирование» → «Обслуживание» → «Журнал регистрации» (в типовых конфигурациях) либо через конфигуратор. В нём фиксируются ошибки, предупреждения, действия пользователей и системные события. Для поиска нужной записи установите отбор по дате и времени, пользователю и уровню важности «Ошибка».

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

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

Порядок действий при появлении ошибки
  1. 1
    Скопируйте полный текст ошибки через кнопку «Подробно» или сделайте снимок экрана
  2. 2
    Зафиксируйте, какое действие выполнялось: какой документ, отчёт или операция
  3. 3
    Откройте журнал регистрации и найдите запись по времени и пользователю
  4. 4
    Определите тип ошибки: данные, код конфигурации или инфраструктура
  5. 5
    Выполните действие, соответствующее типу ошибки, и повторите операцию
  6. 6
    Проверьте результат: операция завершилась, в журнале нет новых записей об ошибке

Ошибки данных: что может исправить пользователь

Самая частая группа — ошибки заполнения. Сообщения вида «Поле "Контрагент" не заполнено» или «Не указана организация» читаются буквально: откройте объект, найдите указанное поле и заполните его. Если поле недоступно для редактирования, вероятно, оно заполняется автоматически из другого реквизита — проверьте источник.

Ошибки уникальности («Запись с такими ключевыми полями существует», «Код не уникален») означают, что в базе уже есть элемент с тем же кодом или набором измерений. Решение — найти существующую запись через поиск и либо использовать её, либо изменить код новой. Не отключайте контроль уникальности: это приводит к дублям и рассогласованию отчётов.

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

Ошибки кода конфигурации

Исключения вида «Ошибка при выполнении обработчика — "ПриЗаписи"» или «Метод объекта не обнаружен» указывают на проблему в коде: модуль объекта, формы или общий модуль. В тексте после двоеточия обычно приведено имя модуля и в фигурных скобках номер строки, например: {ОбщийМодуль.РасчетЦен.Модуль(142)}. Это прямой адрес для разработчика.

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

Если ошибка появилась сразу после обновления конфигурации, вероятна несовместимость расширений или внешних обработок с новой версией. Проверьте список подключённых расширений («Администрирование» → «Печатные формы, отчеты и обработки» → «Расширения») и временно отключите их: если ошибка исчезла, причина найдена.

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

Ошибки инфраструктуры: сервер, СУБД, сеть

Ошибки соединения — «Соединение с сервером 1С:Предприятия разорвано», «Ошибка сети», «Сервер недоступен» — относятся к инфраструктуре, а не к данным. Они читаются просто: клиент потерял связь с сервером приложений или СУБД. Проверьте, воспроизводится ли проблема у других пользователей: если да, смотрите сервер; если нет — сеть или компьютер конкретного пользователя.

Ошибки СУБД узнаваемы по упоминанию SQL Server, PostgreSQL или по фразам «transaction deadlock», «lock timeout», «could not serialize». Блокировки и дедлоки означают, что два процесса одновременно работают с одними данными. Разовая блокировка обычно решается повтором операции; регулярные — повод анализировать код и настройки СУБД, это задача администратора и разработчика совместно.

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

Ошибка у одного пользователяЛокальная проблема

Проверьте кэш клиента, версию платформы, права пользователя

Ошибка у всех пользователейПроблема сервера или данных

Проверьте сервер 1С и СУБД, журнал регистрации, место на дисках

Ошибка только на конкретных данныхПроблема данных или кода

Сравните проблемный объект с аналогичным рабочим

Ошибка после обновленияНесовместимость версий

Проверьте расширения, внешние обработки, обработчики обновления

Типовые формулировки и что за ними стоит

Одни и те же формулировки встречаются постоянно, и за каждой стоит вполне определённая причина. Ниже — сопоставление частых сообщений с их типичным источником и первым действием.

Формулировка в сообщенииВероятная причинаПервое действие
«Поле ... не заполнено»Незаполненный обязательный реквизитЗаполнить указанное поле в объекте
«Запись с такими ключевыми полями существует»Дубль по ключу регистра или уникальному индексуНайти существующую запись поиском
«Объект не найден (GUID)»Битая ссылка на удалённый объектЗафиксировать, восстановить из копии
«Нарушение прав доступа»Недостаточно прав у пользователяПроверить роли и профили доступа
«Конфликт блокировок / deadlock»Одновременная работа с одними даннымиПовторить операцию, при повторах — анализ
«Метод объекта не обнаружен»Ошибка кода или устаревшее расширениеПередать текст разработчику
«Соединение разорвано администратором»Принудительное завершение сеансаУточнить у администратора причину

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

Типичные ошибки при самостоятельной диагностике
01
Закрытие окна ошибки без сохранения текста — теряется информация для поиска причины
02
Многократный повтор операции подряд — при ошибках данных и блокировках это усугубляет проблему
03
Запуск «Тестирования и исправления» без резервной копии — возможна необратимая потеря данных
04
Игнорирование журнала регистрации — диагностика идёт вслепую, по памяти пользователя
05
Отключение контролей (уникальности, остатков) вместо исправления причины — накапливаются скрытые рассогласования

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

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

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

Контрольные точки

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

Повтор операции
Норма

Операция завершается без сообщений об ошибке

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

Ошибка воспроизводится с тем же или новым текстом

Журнал регистрации
Норма

Нет новых записей с уровнем «Ошибка»

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

Появляются ошибки фоновых заданий или обменов

Данные после исправления
Норма

Отчёты и связанные документы показывают согласованные значения

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

Появились дубли, битые ссылки или расхождения в отчётах

Итог

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

Чтение ошибки в 1С — это поиск трёх элементов: места сбоя, типа нарушения и подробного текста. Журнал регистрации сохраняет всё, что было в закрытом окне. Ошибки данных исправляет пользователь, код — разработчик, инфраструктуру — администратор. Любые исправления, затрагивающие структуру данных, выполняются только после резервной копии.

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

Окно с ошибкой закрылось, где найти её текст?

Откройте журнал регистрации («Администрирование» → «Обслуживание» → «Журнал регистрации»), установите отбор по текущей дате, своему пользователю и уровню «Ошибка». Нужная запись будет в начале списка, двойной щелчок покажет полный текст.

Что означает длинный код вида «8b3a...» в сообщении «Объект не найден»?

Это уникальный идентификатор (GUID) удалённого объекта. Ссылка на него осталась в другом документе или регистре. Самостоятельно такую ссылку лучше не удалять: сначала выясните, какой объект был удалён, и восстановите его из резервной копии или пересоздайте.

Ошибка «Конфликт блокировок» — база сломана?

Нет, это штатная ситуация: два процесса одновременно обратились к одним данным, и СУБД отменила одну из транзакций. Повторите операцию. Тревожный признак — если блокировки возникают регулярно в одних и тех же операциях: тогда нужен анализ кода и настроек СУБД.

Можно ли просто очистить кэш, чтобы ошибка исчезла?

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

Когда запускать «Тестирование и исправление»?

Только при подозрении на физическое повреждение базы (например, после аварийного отключения сервера) и обязательно после создания резервной копии. Режимы с удалением объектов и очисткой ссылок могут безвозвратно удалить данные, поэтому их включают осознанно, понимая последствия.

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

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