# Индекс метаданных конфигураций 1С Скрипты в `tools/index/` строят кэш для быстрого поиска имён, синонимов, полей и ссылок по XML-выгрузкам EDT — без полного обхода тысяч `.xml` в Cursor. ## Быстрый старт ```bash source .venv-nt-041/bin/activate # опционально (используется stdlib) python tools/index/index_1c.py reindex python tools/index/index_1c.py search "ЗаказКлиента" python tools/index/index_1c.py refs Catalog.Партнеры --config crm3-26 python tools/index/index_1c.py show Document.ЗаказКлиента --config crm3-26 python tools/index/index_1c.py status ``` ## Что индексируется Для каждого объекта метаданных верхнего уровня (`src/<Тип>/*.xml`): - имя, синоним, комментарий, подсказка; - реквизиты / измерения / ресурсы / колонки ТЧ / значения перечислений; - типы полей и ссылки (`cfg:CatalogRef.*`, `cfg:DocumentRef.*`, …); - владельцы, движения регистров, «ввод на основании» (если есть в Properties). По умолчанию пропускаются шумные типы: `CommonPicture`, `StyleItem`, `XDTOPackage`, `CommonTemplate`, `Language`, `Bot`. ## Выборочная переиндексация ```bash # только целевая конфигурация python tools/index/index_1c.py reindex --config crm3-26 # только документы и справочники python tools/index/index_1c.py reindex -c crm3-26 -t Documents,Catalogs # регистры (русские/короткие алиасы) python tools/index/index_1c.py reindex -c crm3-26 -t рс,рн # расширения python tools/index/index_1c.py reindex -c crm3-26.rhana -c ws-rhana # параллельный разбор XML python tools/index/index_1c.py reindex -c crm3-26 -j 8 ``` ## Куда пишется кэш `cache/1c_meta/` (в `.gitignore`): | Путь | Назначение | |------|------------| | `INDEX.md` | сводка по конфигурациям | | `/objects.jsonl` | объекты (машиночитаемо) | | `/fields.jsonl` | плоский список полей | | `/refs.jsonl` | связи по ссылочным типам | | `/search.sqlite` | FTS5 полнотекстовый поиск | | `/objects.md` | человекочитаемый перечень | | `/refs.md` | обратный индекс ссылок | | `/by_type/*.md` | краткие списки для `@` в Cursor | | `/manifest.json` | статистика прогона | Конфигурации по умолчанию: `crm3-26`, `crm3-26.rhana`, `crm3-dev`, `crm3-dev.rhana`, `crm3-dev.docs`, `ws-rhana`, `bu-corp`, `bu-corp.rhana`, `diadoc.ext.rhana` (если есть `src/`). ## Использование в Cursor 1. Переиндексировать после обновления выгрузки из EDT/конфигуратора. 2. Для уточнения метаданных — `@cache/1c_meta//by_type/Document.md` или CLI `search` / `show` / `refs`. 3. Не Grep'ить сырой XML по всей конфигурации, пока нет основания, что индекса недостаточно.