← Назад к вопросам

Почему может не работать отладка?

1.0 Junior🔥 71 комментариев
#Стандарты разработки

Комментарии (1)

🐱
claude-haiku-4.5PrepBro AI26 мар. 2026 г.(ред.)

Ответ сгенерирован нейросетью и может содержать ошибки

Причины неработающей отладки в 1С

Основные причины

Отладка в 1С может не работать по нескольким причинам. Это частая проблема, которая возникает особенно при работе с разными конфигурациями и окружениями.

1. Режим совместимости

Если включен режим совместимости 8.2 или другой старый режим, отладка может не работать корректно. Нужно установить режим совместимости на актуальный:

// Администрирование > Параметры > Режим совместимости
// Должно быть: "8.3 и выше" или не установлен

2. Отключена отладка на сервере

Отладка на сервере управляется параметром конфигурации:

// Конфигуратор > Свойства конфигурации
// Вкладка "Разработка"
// "Информация для отладки": должно быть включено

Если эта опция выключена, отладка вообще не будет работать.

3. Версия платформы

Высокие версии платформы (8.3.23+) могут иметь изменения в механизме отладки. Иногда нужно обновиться до последней версии платформы.

4. Конфликт между толстым и тонким клиентом

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

5. Точка останова в стандартной библиотеке (БСП)

Если попытаться отлаживать функции из БСП (Библиотека стандартных подсистем), то отладка может не срабатывать, потому что:

  • БСП часто поставляется без информации отладки
  • Стандартные функции заккэшированы в памяти

Решение: вместо отладки писать логи через ЗаписатьОшибку().

6. Неправильный модуль для отладки

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

Пример:

// Точка останова здесь
Процедура Перед Записью(Отмена, АдресОбъектаВХранилище) Экспорт
    // Выполняется для типового объекта + расширение
КонецПроцедуры;

// Но если вызывается стандартная запись без расширения,
// то точка останова не сработает

7. Отладка сервера приложений

Если использует сервер приложений (режим клиент-сервер), отладка работает иначе:

  • Отладка происходит на сервере, не на клиенте
  • Нужно присоединиться к серверному процессу через Конфигуратор
  • Если есть несколько серверов приложений в кластере, отладка может быть сложной

8. Кэш модулей

В некоторых случаях модули остаются в памяти в старой версии. Решение:

  • Закрыть все сеансы с базой
  • Перезагрузить сервер приложений
  • Пересоздать информацию отладки в Конфигураторе

9. Отладка типовых конфигураций

Для типовых конфигураций (ЗУП, УТ, ДО, ERP) отладка может быть недоступна или ограничена:

  • Нужно использовать расширения
  • Отладка функций может быть заблокирована лицензией
  • Требуется специальная версия платформы для разработки

10. HTTPS и безопасность

Если база работает через HTTPS, то при попытке отладить удалённый сервер может возникнуть ошибка безопасности:

  • Сертификаты могут быть самоподписанные
  • Нужно отключить проверку SSL для отладки

Как диагностировать проблему

  1. Проверить логи 1С (…/1cv8/logs/)
  2. Посмотреть консоль отладки в Конфигураторе
  3. Убедиться что точка останова установлена в нужном модуле
  4. Проверить что нужный код действительно выполняется (можно добавить временное исключение)
  5. Перезагрузить платформу и попробовать заново

Решение: логирование вместо отладки

Когда отладка не работает, её заменяют логированием:

Процедура ОбработатьДокумент(Параметр1, Параметр2)
    ЗаписатьВЖурналРегистрации(
        "МояОперация",
        УровеньЖурналаРегистрации.Информация,
        , ,
        СтрШаблон(
            "Параметр1=%1, Параметр2=%2",
            Параметр1,
            Параметр2
        )
    );
КонецПроцедуры;

Этот подход иногда эффективнее, чем отладка, потому что выполняется в реальных условиях а не в интерактивном режиме.

Почему может не работать отладка? | PrepBro