Поиск по расширениям 1С (.cfe)

·
  • cfe
  • расширения
  • расширенная
  • a2

Расширения .cfe в Расширенной редакции индексируются вместе с основной конфигурацией. Метка [Расш] в результатах поиска. Что происходит под капотом.

Расширения конфигурации (.cfe) это удобный механизм для доработки типовой без снятия её с поддержки. Но когда расширений в базе больше двух, разобраться где какой код становится сложно. Особенно если AI-ассистент не видит расширений и предлагает решения только на основе основной конфигурации.

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

Что индексируется

Расширения подгружаются как .cfe файлы или напрямую с подключённой базы. Из файла извлекаются BSL-модули и метаданные расширения. Каждый модуль попадает в Bleve-индекс с дополнительными полями: имя расширения и тип (общий модуль, модуль формы, модуль объекта, и так далее).

Хранение и парсинг отделены от индексации. Модуль из расширения и модуль из основной конфигурации в индексе живут на одинаковых правах: разница только в метках.

Метка [Расш]

В выдаче поиска модули из расширений получают префикс [Расш] и имя расширения. Например, при поиске процедуры ПолучитьДанные AI увидит результаты вида:

ОбщийМодуль.РаботаСДокументами.ПолучитьДанные
[Расш] МойФункционал.ОбщийМодуль.РаботаСДокументамиДополнительно.ПолучитьДанные
[Расш] КастомОтчеты.ОбщийМодуль.РаботаСДокументами.ПолучитьДанные

Видно, что в основе процедура определена один раз, и поверх неё два расширения добавили свои варианты. Без метки эту картину пришлось бы собирать вручную через Конфигуратор.

Когда обновляется

Индекс расширений обновляется при подключении расширения к базе и при изменении модуля внутри расширения. Через MCP-инструмент refresh_extensions можно принудительно перечитать список и пересобрать индекс. Это нужно если работаешь с базой через файловое подключение и в ней появилось новое расширение в обход стандартного жизненного цикла.

Поиск только по расширениям

Если нужно сузить выдачу до расширений, в запросе указывается фильтр extension:true. Это удобно когда ищешь именно кастомные доработки и не хочешь перебирать тысячи модулей основной конфигурации.

Ограничения

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

Внешние обработки и отчёты (.epf, .erf) расширениями не считаются, для них работает отдельный механизм.

Где это полезно

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