Files
index/README.md
T
mihailkudravcev 7f9d198f79 first commit
2026-07-15 17:02:06 +03:00

3.5 KiB

Индекс метаданных конфигураций 1С

Скрипты в tools/index/ строят кэш для быстрого поиска имён, синонимов, полей и ссылок по XML-выгрузкам EDT — без полного обхода тысяч .xml в Cursor.

Быстрый старт

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.

Выборочная переиндексация

# только целевая конфигурация
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 сводка по конфигурациям
<config>/objects.jsonl объекты (машиночитаемо)
<config>/fields.jsonl плоский список полей
<config>/refs.jsonl связи по ссылочным типам
<config>/search.sqlite FTS5 полнотекстовый поиск
<config>/objects.md человекочитаемый перечень
<config>/refs.md обратный индекс ссылок
<config>/by_type/*.md краткие списки для @ в Cursor
<config>/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/<config>/by_type/Document.md или CLI search / show / refs.
  3. Не Grep'ить сырой XML по всей конфигурации, пока нет основания, что индекса недостаточно.