Инструменты

Инструменты Расширенной версии

8 консолидированных инструментов Расширенной версии с параметром action и поддержкой расширений .cfe.

8 консолидированных инструментов, доступных по подписке

В Расширенной версии возможности Открытой объединены в консолидированные инструменты с параметром action (code_read, code_search, code_execute, system). К ним добавлены четыре новых инструмента (code_analyze, code_generate, memory и templates) и новые действия в уже существующих инструментах.

Отдельно от консолидированных инструментов сохранены два инструмента Открытой версии, analyze_subsystems и reload_dump. Они остались самостоятельными под своими именами из Открытой версии, чтобы при переходе на Расширенную клиенту AI не пришлось переучиваться.

Без действующей подписки сервер регистрирует шесть инструментов уровня Открытой версии: code_read, code_search, code_execute, system, analyze_subsystems и reload_dump. Эти возможности бесплатны в Открытой версии, поэтому отсутствующая или истёкшая подписка их не забирает. Остальные четыре, code_analyze, code_generate, memory и templates, требуют действующей подписки уровня Расширенной: пока подписки нет или она истекла, в списке инструментов их нет. Если подписки нет уже на старте, сервер их вовсе не регистрирует, а если она перестала действовать на работающем сервере, он убирает их из списка. После восстановления подписки они появляются снова.

Пометка «по подписке» выше относится к этим четырём инструментам, а также к отдельным действиям уровня Расширенной внутри code_read, code_search, code_execute и system: сами эти инструменты регистрируются и без подписки, а часть их действий подписки требует.

code_read

Расширенная

Чтение кода и метаданных 1С

Объединяет инструменты чтения метаданных и кода Открытой версии (get_metadata_tree, get_object_structure, get_form_structure, get_configuration_info) в один инструмент с параметром action и добавляет чтение исходного кода модулей.

Действия:

  • action: "metadata_tree" Открытая - дерево объектов конфигурации по категориям
  • action: "object_structure" Открытая - реквизиты, табличные части, измерения, ресурсы и типы полей объекта
  • action: "form_structure" Открытая - элементы, команды и обработчики управляемой формы
  • action: "config_info" Открытая - имя, версия, поставщик, режим совместимости конфигурации
  • action: "module_code" Расширенная - исходный код модуля объекта, формы, общего модуля или расширения
  • action: "context" Расширенная - сжатые метаданные объекта с кэшированием: связанные объекты, регистры, модули, подписки на события
  • action: "resolve" Расширенная - резолв имени или GUID объекта в его модули (doc_id) и формы по индексу выгрузки, мост к действию module_code. Параметр kind: name (по умолчанию) или guid. Требует --dump
  • action: "get_xsd_schema" Расширенная - структурная XSD-схема типа объекта, выведенная из вашей выгрузки (честная граница: это не авторитетная XSD 1С, а структура по образцам дампа). Требует --dump (v2.18.0)
  • action: "verify_xml" Расширенная - структурная проверка XML против схемы, выведенной из выгрузки: состав, вложенность, обязательность и типы листьев. Не заменяет авторитетную XSD-валидацию 1С. Требует --dump (v2.18.0)
  • action: "dossier" Профессиональная - агрегированное досье объекта одним вызовом: структура + где используется + движения по регистрам + связанные объекты (см. карточку dossier)
  • action: "report_structure" Профессиональная - структура схемы компоновки данных (СКД) отчёта из выгрузки: наборы данных, параметры, наблюдаемые поля (см. карточку report_structure) (v2.25.0)
  • action: "report_search" Профессиональная - поиск по схемам компоновки данных всех отчётов выгрузки (см. карточку report_search) (v2.25.0)

Расширенная

Поиск по коду и справочнику 1С

Объединяет поиск по коду модулей (search_code) и справочник по синтаксису 1С (bsl_syntax_help) в один инструмент с параметром action.

Действия:

  • action: "text" Открытая - полнотекстовый поиск по коду модулей: режимы smart (BM25, по умолчанию), regex, exact. Векторные режимы mode: "semantic" и mode: "hybrid" доступны в Профессиональной редакции при запуске с --enable-semantic
  • action: "syntax_help" Расширенная - справка по функциям и типам платформы из файлов синтакс-помощника (.hbk); поиск понимает русскую морфологию: запрос «работа с датами» находит раздел «Работа с датами и временем»
  • action: "syntax_ref" Расширенная - статический справочник по языку запросов, функциям компоновки данных (СКД) и спецификаторам форматной строки. Работает офлайн, без выгрузки конфигурации и без живой базы. Параметр query (обязательный): имя конструкции, например ПОДСТРОКА. Необязательный domain сужает область справочника: query (язык запросов), scd (компоновка данных), format (форматная строка) (v2.25.0)
  • action: "semantic" Профессиональная (устарело) - векторный поиск по смыслу. Канонический способ задаётся через action: "text" с mode: "semantic" (см. карточку semantic search)

code_execute

Расширенная

Выполнение кода и запросов 1С

Объединяет выполнение запросов (execute_query) и проверку их синтаксиса (validate_query) в один инструмент с параметром action и добавляет выполнение произвольного кода BSL.

Внимание: действие code может изменять данные в базе 1С (инструмент помечен как не доступный только для чтения).

Действия:

  • action: "query" Открытая - выполнить запрос ВЫБРАТЬ/SELECT к данным 1С (безопасно для рабочих баз)
  • action: "validate" Открытая - проверка синтаксиса запроса без выполнения
  • action: "code" Расширенная - выполнить произвольный код BSL в контексте базы 1С (может изменять данные)

system

Расширенная

Системные операции 1С

Объединяет чтение журнала регистрации (get_event_log) и список подключённых баз в один инструмент с параметром action и добавляет управление кэшем расширений.

Действия:

  • action: "event_log" Открытая - чтение журнала регистрации 1С с фильтрами по дате, уровню важности и пользователю. Требует у пользователя 1С, под которым работает сервер, право «Администрирование»: без него расширение отвечает HTTP 403 и не возвращает ни одной записи
  • action: "list_bases" Открытая - список подключённых баз 1С и их статус
  • action: "refresh_extensions" Расширенная - принудительно обновить кэш расширений конфигурации (.cfe)

code_analyze

Расширенная

Анализ и проверка кода

Действия:

  • action: "explain" - глубокий статический анализ кода BSL с 6 анализаторами: сложность, ошибки, стиль, производительность, безопасность, совместимость
  • action: "check" - проверка кода BSL на типичные ошибки и антипаттерны
  • action: "compatibility" - анализ совместимости с версиями платформы 1С, breaking changes, матрица совместимости

Параметр dump_path читает только действие compatibility, которое определяет версию платформы из ConfigDumpInfo.xml. С версии v2.30.0 остальные действия его отклоняют с сообщением «Параметр dump_path не применяется к действию ...: анализ выполняется по выгрузке зарегистрированной базы. Выберите базу параметром base.» Прежде параметр принимался и молча отбрасывался, то есть анализ всё равно шёл по выгрузке зарегистрированной базы, а вызывающая сторона считала, что сузила область поиска. В Профессиональной версии у инструмента десять действий, и отклоняют параметр девять из них, в Расширенной действий три, и отклоняют его два. Пустая строка и null проходят по-прежнему, потому что это не запрос другой области.

В Профессиональной редакции к инструменту добавляются действия dependency_graph, call_hierarchy, arch_boundary, find_modules, graph_query, goto_definition и find_references (см. раздел Профессиональной).

code_generate

Расширенная

Генерация и оптимизация кода

Действия:

  • action: "query" - генерация запросов 1С по текстовому описанию с учетом структуры конфигурации
  • action: "print_form" - генерация кода печатных форм: шапка, табличная часть, итоги
  • action: "async_convert" - преобразование синхронных вызовов BSL в асинхронные
  • action: "optimize_query" - статический анализ запросов на 15 антипаттернов производительности

memory

Расширенная

Долговременная память по базе

Заметки, решения и договорённости, привязанные к конкретной базе 1С. AI-ассистент сам сохраняет важный контекст и поднимает его в следующих сессиях, не теряя нить работы по проекту.

Действия:

  • action: "remember" - сохранить заметку, привязанную к текущей базе
  • action: "recall" - найти ранее сохранённые заметки по запросу
  • action: "forget" - удалить заметку

В Профессиональной редакции recall работает как семантический поиск по смыслу (TF-IDF + синонимы 1С) при запуске с --enable-semantic; в Расширенной выполняется поиск по ключевым словам.

templates

Расширенная

Библиотека шаблонов кода и запросов

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

Действия:

  • action: "add" - добавить шаблон в библиотеку
  • action: "list" - список доступных шаблонов
  • action: "get" - получить шаблон по идентификатору
  • action: "search" - найти шаблон по описанию задачи
  • action: "remove" - удалить шаблон

В Профессиональной редакции search работает как семантический поиск по смыслу (TF-IDF + синонимы 1С) при запуске с --enable-semantic; в Расширенной выполняется поиск по ключевым словам.

analyze_subsystems

Открытая

Анализ топологии подсистем

Анализ распределения объектов конфигурации 1С по подсистемам. Помогает при аудите архитектуры: найти неучтённые объекты, понять к каким подсистемам относится объект, выявить дублирование между ветвями дерева подсистем. Вид анализа задаётся параметром action:

  • orphans: объекты вне подсистем. В разбор берётся весь набор видов верхнего уровня, пригодных для состава подсистемы, и прикладные (справочники, документы, регистры, отчёты, обработки, планы, бизнес-процессы, задачи, перечисления), и служебные (константы, общие модули, общие формы, команды, роли, HTTP и web сервисы, пакеты XDTO, регламентные задания, подписки на события и другие). Не берутся сам контейнер, то есть подсистемы, и языки: язык в состав подсистемы не входит.
  • containing: список подсистем, содержащих указанный объект.
  • intersections: объекты, входящие сразу в несколько подсистем.

Параметры:

  • action (обязательный): вид анализа, orphans, containing или intersections
  • object (для action: "containing"): имя объекта, полное (Документ.РеализацияТоваровУслуг) или короткое (РеализацияТоваровУслуг). При коротком неоднозначном имени возвращаются все совпадения
  • object_type (необязательный): уточнение вида метаданных при неоднозначном коротком имени, Справочник, Документ, РегистрСведений и т.п. или английский эквивалент (Catalog, Document, InformationRegister)
  • cross_branch_only (необязательный, для action: "intersections"): при true остаются только объекты, входящие в подсистемы из разных корневых веток дерева

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

reload_dump

Открытая

Перечитать выгрузку конфигурации

Перечитывает локальную выгрузку конфигурации (DumpConfigToFiles) без перезапуска сервера. Вызывается после того, как выгрузка сделана заново. Сам инструмент 1С не запускает и выгрузку не создаёт: он только перечитывает то, что уже лежит на диске.

В отличие от Открытой версии, где база одна и параметров у инструмента нет, в Расширенной он принимает необязательный параметр base.

Параметры:

  • base (необязательный): имя базы, выгрузку которой нужно перечитать. Без него перечитывается одна база, та, что по умолчанию, а не все подключённые. За один вызов перечитывается ровно одна база. Список имён и отметку базы по умолчанию даёт system с action: "list_bases". Базу, которую перечитать нельзя, ответ называет по имени вместе с причиной, а не пропускает молча.

Что устаревает без вызова:

  • Модуль, добавленный или переименованный после запуска сервера, не находится ни в одном режиме code_search с action: "text".
  • Изменения внутри уже существующего модуля (добавлена процедура, переписано тело) не видит режим smart: он отвечает по тексту, снятому при построении индекса. Удалённый модуль smart всё ещё считает в общем числе совпадений.
  • code_read с action: "module_code" и action: "resolve" ищут модуль по списку из индекса, поэтому новый модуль они тоже не найдут до перечитывания. Текст уже существующего модуля они читают с диска, и он всегда свежий.

Кому вызов не нужен: режимы regex и exact перечитывают файлы на каждом запросе, поэтому по изменённым и по удалённым модулям отвечают верно и без него. analyze_subsystems и code_read с action: "form_structure" или action: "object_structure" открывают каталог выгрузки заново на каждом вызове и всегда актуальны.

Чего вызов не обновляет: векторный индекс режимов semantic и hybrid строится один раз при запуске сервера, перечитывание выгрузки его не пересобирает.

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

Индекс строится заново полностью, поэтому вызов занимает столько же времени, сколько перезапуск сервера с перестроением индекса (порядка секунд на тысячу модулей). Всё это время поиск отвечает по прежнему состоянию, новое подключается атомарно в конце. Вызывать его перед каждым чтением выгрузки не нужно.

Инструмент зарегистрирован всегда, в том числе без подписки, потому что он бесплатен в Открытой версии. Если база запущена без --dump, вызов не молчит: он отвечает, что для этой базы каталог выгрузки не задан и перечитывать нечего.

Расширения .cfe

Расширенная

Поиск и чтение кода расширений

Расширенная версия автоматически обнаруживает установленные расширения конфигурации (.cfe) и включает их модули в code_search и code_read. Результаты расширений помечаются префиксом [Расш].

При работе через транспорт опроса (polling) расширения .cfe также подхватываются автоматически для баз, которые отдают их список; базы без такой возможности работают как раньше, без расширений (v2.22.0).

Бюджет загрузки .cfe в polling-режиме настраивается флагом --polling-extension-timeout (по умолчанию 60с). Он отделён от --poll-timeout, поэтому крупный набор расширений не обрывается преждевременно (v2.23.0).

Ограничение (платформа 8.3.27, режим опроса): чтение исходного текста модулей расширения в реальном времени в режиме опроса на 8.3.27 недоступно и выполняется по выгрузке конфигурации. Запустите сервер с флагом --dump и читайте модуль расширения через extension_module. Остальные возможности анализа расширений в режиме опроса доступны в полном объёме (v2.29.0).