Кабинет
На этой странице

Инструменты · Код

code_graph

R · чтениепо подпискене изменяет проект

Строит граф вызовов вокруг метода — кто его вызывает и что вызывает он сам, на заданную глубину. Кроме прямых вызовов граф показывает неявные связи 1С — подписки на события, регламентные задания, HTTP- и веб-сервисы, события и команды форм, перехваты из расширений, имена в строках.

обновлено 30.09.2026плагин 0.2.0 · EDT 2025.2Предложить правку или письмом

Когда использовать

  • Перед изменением сигнатуры, переименованием или удалением метода — callers: все вызывающие, включая неявные.
  • Понять, что метод тянет за собой, — callees каскадом вниз, с отметками обращений к базе на узлах.
  • Обработчик подписки на событие выглядит мёртвым кодом — граф покажет привязку в метаданных.
  • Текстовые вхождения имени без разбора вызовов — search; кто использует объект метаданных — metadata_graph.

Соседние инструменты домена «Код»

Операции

Операции code_graph
operationЧто делаетНужно передать
callersпо умолчаниюКто вызывает метод, транзитивно до depth. Виды рёбер: static — точная ссылка; implicit — привязка в метаданных; platform — обработчик события платформы; hook — перехват из расширения; string — имя в строке (достоверность «возможно»).project, target
calleesЧто вызывает метод, каскадом вниз до depth. Объект.Метод() разрешается по типам, а не по имени; вызов через реквизит формы сопоставляется с модулями владельца формы и помечается dynamic.project, target

Параметры

Параметры code_graph
Параметр и типОбязательныйОписаниеПо умолчанию
projectстрокадаИдентификатор проекта рабочей области EDT — имя из ответа project_read (например, УТ2020). Для расширения — проект расширения.—
targetстрокадаМетод: <адрес модуля>::<Метод>, например CommonModule.ОбщегоНазначения::ЗначениеРеквизитаОбъекта, Document.РеализацияТоваровУслуг.ObjectModule::ОбработкаПроведения.—
operationстроканетОперация инструмента — значения и их смысл в таблице «Операции».значения: callers · calleescallers
depthцелоенетГлубина обхода в уровнях вызовов.2
includeмассив (строка)нетКакие виды рёбер собирать. По умолчанию — все, что поддерживает направление: dynamic — только для callees, остальные пять — для callers. Сузьте, если результат упирается в лимит узлов.значения: static · dynamic · implicit · platform · hook · string—
max_nodesцелоенетЛимит узлов обхода. При превышении ответ предупреждает и называет число отброшенных узлов — охват не режется молча.300
filterстроканетРегулярное выражение без учёта регистра по адресам узлов: сохраняет путь от корня до совпадений и всё поддерево совпавшего узла.—
titleстроканетНеобязательная подпись вызова до 40 символов: клиент показывает её в шапке карточки вызова. На результат не влияет.—
limitцелоенетОкно чтения: сколько строк готового ответа вернуть. По умолчанию 200, максимум 1000.200
offsetцелоенетОкно чтения: номер строки ответа, с которой начать (0 — первая страница). Значение для следующей страницы подсказывает строка *lines: …* в конце ответа.0

Таблица собрана из схемы инструмента, которую получает агент при подключении.

Адреса

Цель задаётся параметром target: адрес модуля, два двоеточия, имя метода. Та же запись принимается search с операцией references.

Адреса code_graph
АдресЧто адресует
CommonModule.ОбщегоНазначения::ЗначениеРеквизитаОбъектаметод общего модуля
Document.РеализацияТоваровУслуг.ObjectModule::ОбработкаПроведенияобработчик в модуле объекта
Catalog.Контрагенты.Form.ФормаЭлемента::ПриСозданииНаСервереметод модуля формы
HTTPService.<Сервис>::<Метод>метод модуля HTTP-сервиса

Пример вызова и ответа

Популярный метод: только точные ссылки и один уровень, чтобы не упереться в лимит узлов. Ответ — дерево, у каждого узла все строки вызова (L582, L592), признаки Асинх и Ждать, вид ребра; дайджест > Σ считает методы, места вызова и модули.

аргументы code_graph
{
  "project": "УТ2020",
  "operation": "callers",
  "target": "CommonModule.ОбщегоНазначения::ЗначениеРеквизитаОбъекта",
  "depth": 1,
  "include": ["static"]
}

Пример ответа в подготовке Устройство ответа — на странице Формат ответов.

Отказы и ошибки

Ничего не найдено

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

Лимит узлов

Популярный метод даёт тысячи узлов. Уменьшите depth, сузьте include или увеличьте max_nodes — в ответе сказано, сколько узлов отброшено.

failed · Unknown operation

Неизвестное значение operation. В ответе — fix_hint: supported: … со списком допустимых операций и секция Did you mean. Допустимо: callers, callees.

failed · лицензия

Без действующего ключа инструмент отвечает карточкой failed с сообщением лицензия: … и подсказкой, где ввести ключ; в секции Context — список инструментов, доступных без ключа. Подробнее — Лицензия и бесплатный доступ.

Ограничения

  • Обход проходит через границу проектов: перехват &Вместо в расширении и тело перехватчика — в одном ответе; переход отмечен значком 🧩 и именем проекта.
  • Вызовы между соседними расширениями одной конфигурации находятся по имени модуля и помечены «соседнее расширение».
  • Первый вызов после запуска EDT может идти долго — Таймаут первого поиска ссылок.
Нашли ошибку — предложите правку.обновлено 30.09.2026

Например: metadata_write, «порт занят», коллекционный адрес.

↑ ↓ выборEnter открыть/ или Ctrl K — открыть поиск