Ошибки в конфигурации 1С 8.3: от журнала регистрации до тестирования базы

· 10 мин

Содержание

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

Всё ниже относится к платформе 8.3 и типовым конфигурациям на БСП (Бухгалтерия 3.0, ЗУП 3.1, УТ 11). Инструменты Конфигуратора общие для всех решений, поэтому методика подходит и для отраслевых конфигураций.

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

Любой ремонт начинается с копии. В Конфигураторе откройте Администрирование → Выгрузить информационную базу и сохраните файл .dt на другой диск. Для клиент-серверной базы дополнительно попросите администратора СУБД сделать штатный бэкап.

Не запускайте тестирование, обновление или объединение конфигураций без свежей выгрузки .dt.

Где взять полный текст ошибки

Окно с ошибкой в режиме 1С:Предприятие показывает только верхнюю строку. Нажмите ссылку «Подробнее» — откроется стек вызовов с именем модуля и номером строки. Например:

{ОбщийМодуль.ПроведениеСервер.Модуль(214,12)}: Переменная не определена (СуммаНДС)

Здесь всё нужное: модуль, строка 214, колонка 12 и причина. Скопируйте текст целиком — его же вы отправите разработчику или на линию поддержки.

Как читать журнал регистрации

Журнал открывается двумя способами:

  • 🔹 в Конфигураторе: Администрирование → Журнал регистрации;
  • 🔹 в пользовательском режиме: Все функции → Стандартные → Журнал регистрации (команда «Все функции» включается в параметрах главного меню).

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

Технологический журнал для неуловимых сбоев

Когда в журнале регистрации пусто, а база «падает», включите технологический журнал. Создайте файл logcfg.xml в каталоге conf установленной платформы:

<config xmlns="http://v8.1c.ru/v8/tech-log">
  <log location="C:\1c_logs" history="24">
    <event>
      <eq property="name" value="EXCP"/>
    </event>
    <property name="all"/>
  </log>
</config>

Платформа подхватит настройку сама в течение минуты. Событие EXCP пишет все исключения. history="24" — хранить логи 24 часа.

Не оставляйте технологический журнал включённым надолго: на нагруженном сервере он за день занимает гигабайты. После диагностики удалите logcfg.xml.

Ошибки компиляции модулей и как их найти до пользователей

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

  • ❌ Переменная не определена (ИмяПеременной);
  • ❌ Процедура или функция с указанным именем не определена;
  • ❌ Ожидается символ ';';
  • ❌ Метод объекта не обнаружен (ИмяМетода);
  • ❌ Поле объекта не обнаружено (ИмяРеквизита).

Первые три ловятся на этапе компиляции. Последние два — только во время выполнения, поэтому их видно лишь по журналу регистрации.

Проверка конфигурации в Конфигураторе

  1. Откройте Конфигурация → Проверка конфигурации.
  2. Отметьте «Логическая проверка конфигурации», «Поиск некорректных ссылок» и «Синтаксический контроль модулей».
  3. В режимах проверки включите все контексты: тонкий клиент, веб-клиент, сервер, внешнее соединение.
  4. Нажмите «Выполнить» и пройдите по списку: двойной щелчок по строке открывает модуль на нужной строке.

Для одного модуля есть быстрый вариант: откройте его и нажмите Ctrl+F7 — синтаксический контроль текущего модуля.

Что делать с найденной ошибкой

  • 🔧 Ошибка в вашей доработке — исправьте код или откатите изменение.
  • 🔧 Ошибка в типовом модуле, который вы не трогали, — сравните его с поставщиком: Конфигурация → Поддержка → Настройка поддержки, затем «Сравнить, объединить с конфигурацией поставщика».
  • 🔧 Ошибка внутри расширения — отключите расширение в Администрирование → Печатные формы, отчеты и обработки → Расширения и проверьте, ушла ли проблема.

Изменения, сделанные в конфигурации, вступают в силу только после Конфигурация → Обновить конфигурацию базы данных (F7). Если при входе вы видите Конфигурация базы данных не соответствует сохраненной конфигурации, значит, кто-то сохранил правки, но не применил их к базе.

Нарушенная целостность метаданных и данных: тестирование и исправление

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

Главный инструмент — Конфигуратор → Администрирование → Тестирование и исправление. Для его запуска нужен монопольный режим: все пользователи должны выйти из базы.

Какие флажки ставить

РежимЧто делаетКогда нужен
Реиндексация таблицПерестраивает индексыМедленные отборы, ошибки сортировки
Проверка логической целостностиИщет нарушения внутренней структурыПосле сбоя питания, ошибок формата
Проверка ссылочной целостностиНаходит ссылки на удалённые объекты<Объект не найден> в документах
Пересчёт итоговПересчитывает итоги регистровОстатки в отчётах не сходятся с движениями
Сжатие таблицУдаляет пустые записиФайл базы сильно вырос
Реструктуризация таблицПересоздаёт таблицы базыНарушена структура, остальное не помогло

Безопасный порядок

  1. Первый запуск — режим «Только тестирование». Посмотрите, что найдено, ничего не меняя.
  2. Для битых ссылок выберите «Создавать объекты» вместо «Удалять ссылки на объекты». Созданные объекты-заглушки потом видно и можно разобрать вручную.
  3. Пересчёт итогов и реиндексацию запускайте отдельно от реструктуризации: так проще понять, какой шаг помог.
  4. Реструктуризацию оставьте последней мерой — на крупной базе она идёт часами.

Режим «Удалять ссылки на объекты» безвозвратно очищает реквизиты в документах. Восстановить их можно только из копии.

Права доступа и роли: как исправить отказы

Сообщения Нарушение прав доступа! и Недостаточно прав для просмотра — тоже ошибки конфигурации, но лечатся настройкой, а не кодом.

Типовые конфигурации на БСП

В БП 3.0, ЗУП 3.1 и УТ 11 роли напрямую пользователю не назначают. Работают группы доступа:

  1. Откройте Администрирование → Настройки пользователей и прав → Группы доступа.
  2. Найдите группу пользователя и проверьте её профиль.
  3. В профиле посмотрите список ролей; если нужной нет — выберите другой профиль или создайте копию профиля с нужной ролью.
  4. Пользователь должен перезайти в программу — права перечитываются при входе.

Если включено «Ограничивать доступ на уровне записей» (там же, в настройках прав), отказ может касаться не объекта целиком, а конкретной организации или склада. Проверьте вкладку ограничений в группе доступа.

Права после обновления или правки ролей

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

Администратор без прав в Конфигураторе

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

Диагностика: выберите симптом

Как исправить ошибки конфигурации при обновлении типовых решений

Обновление — частый источник ошибок, особенно в доработанных базах.

Конфигурация снята с поддержки или изменена

Откройте Конфигурация → Поддержка → Настройка поддержки и посмотрите режим:

  • ✅ «На поддержке, изменения не включены» — обновление ставится штатно;
  • ⚠️ «Изменения разрешены» — при обновлении откроется окно сравнения, придётся решать конфликты;
  • ❌ «Снята с поддержки» — нужен файл полной поставки .cf и ручное объединение.

Как разбирать конфликты при объединении

В окне «Сравнение, объединение» объекты, изменённые и вами, и поставщиком, помечены отдельно. Рабочее правило:

  1. Для объектов, которые вы не дорабатывали, берите версию поставщика.
  2. Для доработанных модулей выбирайте объединение с приоритетом поставщика и потом вручную переносите свой код.
  3. Перед применением нажмите «Выполнить» только после проверки фильтра «Показывать только дважды изменённые».

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

Ошибки на этапе обновления базы данных

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

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

Файловая и клиент-серверная база: разные причины одних ошибок

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

СимптомФайловая базаКлиент-сервер
Ошибка формата потокаКэш клиента, повреждение файла 1Cv8.1CDКэш клиента или сеансовые данные сервера
База не открываетсяНет прав на папку, файл занятНе запущен агент, недоступен порт 1540
Медленная работаСеть, антивирус на папке базыБлокировки, нагрузка на СУБД
Ошибка при записиНет прав на запись в каталогОшибка СУБД (текст будет в «Подробнее»)

Очистка кэша клиента

Самое безопасное действие — запуск с параметром /ClearCache. В списке баз нажмите «Изменить», на последнем шаге в поле дополнительных параметров запуска впишите /ClearCache. После одного запуска параметр уберите.

Вручную кэш лежит в %APPDATA%\1C\1cv8 и %LOCALAPPDATA%\1C\1cv8 в папках с длинными именами-идентификаторами. Закройте 1С и удалите эти папки — список баз при этом не пострадает.

Файловая база: утилита chdbfl.exe

Если файл 1Cv8.1CD повреждён и Конфигуратор не открывается, используйте chdbfl.exe из папки bin платформы. Все пользователи должны выйти. Укажите файл базы, отметьте «Исправлять обнаруженные ошибки» и запустите. Работайте с копией файла, а не с оригиналом.

Клиент-сервер: сеансовые данные

Если серверная база выдаёт ошибки после сбоя, а у клиентов кэш уже очищен, администратор чистит сеансовые данные кластера: останавливает службу агента сервера 1С и удаляет папки snccntx* в каталоге srvinfo\reg_1541.

Остановка службы обрывает сеансы всех пользователей во всех базах кластера. Делайте это вне рабочего времени, предупредив пользователей.

Внешние отчёты и обработки: почему не работают

Внешняя обработка — частая причина ошибок, которые принимают за поломку конфигурации.

Обработка написана под другую версию

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

Обработка не открывается по правам

В типовых конфигурациях на БСП открытие внешних файлов через Файл → Открыть разрешено не всем. Правильный путь — регистрация в справочнике: Администрирование → Печатные формы, отчеты и обработки → Дополнительные отчеты и обработки. Там обработку можно назначить разделам и пользователям.

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

Предупреждение о небезопасных действиях

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

Перед исправлением ошибки конфигурации
Выполнено: 0 / 6

Частые вопросы об исправлении ошибок конфигурации

Можно ли исправить ошибку конфигурации без Конфигуратора?
Частично. Права, кэш и внешние обработки настраиваются в пользовательском режиме. Ошибки компиляции и целостности требуют Конфигуратора.
Чем ошибка конфигурации отличается от ошибки данных?
Ошибка конфигурации повторяется на любых данных: модуль или метаданные неисправны. Ошибка данных возникает на конкретном документе или справочнике и лечится тестированием или правкой записи.
Как вернуть конфигурацию к состоянию базы данных, если правки не сохранены в базу?
В Конфигураторе: Конфигурация → Конфигурация базы данных → Вернуться к конфигурации БД. Несохранённые в базу изменения будут отменены.
Почему ошибка исчезла после перезапуска, а потом вернулась?
Так ведут себя проблемы кэша и временные блокировки. Очистите кэш клиента; если ошибка вернётся — ищите её в журнале регистрации по времени.
Помогает ли переустановка платформы?
Редко. Переустановка нужна, если повреждены файлы самой платформы или версия не подходит конфигурации. Ошибки модулей и данных она не исправляет.