Почему не отображается замер производительности для внешней обработки в 1С?

Программист 1С v8.3 (Управляемые формы) IT и автоматизация бизнеса
← На главную

Часто в процессе разработки возникает ситуация, когда необходимо проанализировать быстродействие программного кода, но стандартный инструмент «Замер производительности» в конфигураторе упорно не показывает данные для внешних обработок. Рассмотрим, как правильно настроить окружение и что предпринять, чтобы замер начал корректно фиксировать выполнение процедур и функций.

Основные принципы запуска замера

Прежде всего, давайте вспомним стандартную методику работы с замером. Чтобы получить корректные данные, необходимо соблюдать строгую последовательность действий:

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

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

Возможные причины отсутствия данных

Если после выполнения шагов выше данные в окне замера всё еще отсутствуют, проанализируем возможные причины:

Практические советы по повышению точности

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

1. Очистка предыдущих результатов

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

2. Изоляция функционала

Если обработка выполняет большой объем работы, постарайтесь замерять только конкретный участок кода. Например, если у вас есть процедура СоздатьДокументыПоФайлу(), попробуйте вызвать именно её отдельно, чтобы в отчет замера не попадали лишние операции по открытию форм или инициализации интерфейса.

3. Сортировка по времени

После получения результатов в конфигураторе воспользуйтесь колонкой «Время». Отсортируйте строки по убыванию времени выполнения. Это поможет вам мгновенно увидеть так называемые «узкие места» — строки кода, в которых выполнение занимает больше всего времени (например, длительные запросы к базе данных или сложные циклы обработки ТЧ).

Пример структуры кода, который чаще всего подвергается анализу:


Процедура СоздатьДокументыПоФайлу(ДанныеФайла)
    // Инициализация
    Запрос = Новый Запрос;
    Запрос.Текст = "...";
    Результат = Запрос.Выполнить();
    
    // Обработка данных
    Для Каждого Строка Из ДанныеФайла Цикл
        Док = Документы.РеализацияТоваровУслуг.СоздатьДокумент();
        // Заполнение ТЧ
        // ...
        Док.Записать();
    КонецЦикла;
КонецПроцедуры

Если вы видите, что время распределено неравномерно, обратите внимание на методы, связанные с записью объектов или выполнением запросов. В приведенном выше примере, если замер покажет, что львиная доля времени уходит на метод Док.Записать(), значит, проблема кроется в большом количестве записей в транзакции или влиянии подписок на события.

Что делать, если ничего не помогает?

Если проблема сохраняется и после всех манипуляций, попробуйте выполнить «жесткую» очистку кэша 1С. Удалите папки с временными файлами из профиля пользователя. Часто после этого платформа пересоздает временные объекты, и связь с отладчиком восстанавливается. Также убедитесь, что версия платформы (например, 8.3.18) не содержит известных ошибок, связанных с отладкой, и при возможности протестируйте замер на более актуальном релизе 1С:Предприятие.

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

← На главную