Перейти к содержимому

Идёт открытая бета — все возможности бесплатныПодробнее

one-s-mcp

Анализ влияния изменений

Содержание

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

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

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

Какую боль решает

Как это работает

Оценка влияния строится на карте связей всей конфигурации, которую one-s-mcp собирает локально, в графовой базе на машине клиента. В эту карту входят объекты, формы, команды, модули, отдельные процедуры и функции, подсистемы, подписки на события — и все связи между ними: кто на кого ссылается через реквизиты, какой документ делает движения по какому регистру, какая процедура какую вызывает, какое расширение что перехватывает.

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

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

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

Сама карта собирается из двух источников. Первый — уже разобранная структура конфигурации (объекты, реквизиты, процедуры, связи вызовов), которую готовит модуль поиска по коду и метаданным; повторно разбирать выгрузку XML не нужно. Второй — напрямую читаются данные о подсистемах и подписках на события: их иерархия, состав и то, какое событие какой обработчик подхватывает. Всё складывается в локальную графовую базу прямо на машине разработчика — структура конфигурации никуда не отправляется, что важно для баз под NDA. После каждой переиндексации конфигурации граф пересобирается заново без обращения к нейросети, и делает это быстро — сборка отлажена в том числе на крупных типовых, где раньше вставка миллионов связей могла занимать часы; сейчас это укладывается в минуты.

Ту же карту связей ассистент использует и в сценарии встроенного ИИ-агента — когда он самостоятельно выполняет доработку, оценка влияния помогает ему понять, какие места нужно проверить или затронуть, прежде чем менять код, а не только «дописать функцию и надеяться, что ничего не сломалось».

Что это даёт

Механизм устройства самих вызовов — «кто кого зовёт» как отдельная карта — разобран в статье про граф вызовов. Анализ влияния использует ту же основу, но отвечает именно на вопрос «что заденет изменение», а не просто перечисляет связи.

Честно об ограничениях

Что дальше

Хотите увидеть, как ассистент отвечает на вопрос «что сломается, если тронуть этот документ», на своей конфигурации — скачайте one-s-mcp и попробуйте на реальной базе. Полный список того, что умеет ассистент, — на странице всех возможностей.