Данные платформы
Сгенерированные наборы данных за проверками: версии, индекс документации и сравнение двух версий платформы.
Семантические правила, автодополнение и панель документации читают данные, извлечённые из дистрибутива. Эта страница – про сами данные: что ещё из них собирается и как разводятся версии.
Поиск по документации
tools/extract_docs.py извлекает справку Элемента из дистрибутива (.car сервера-с-IDE) в базу
docs.sqlite рядом с данными языка: страницы stdlib (тип, его методы, свойства, параметры) с
очищенным HTML, полнотекстовый индекс (SQLite FTS5, из стандартной библиотеки) и канонические
ссылки на первоисточник (https://1cmycloud.com/docs/help/..., адрес берётся из sitemap.xml
дистрибутива). Картинки страниц сохраняются рядом. Справка 1С под копирайтом, поэтому в пакет базу
не кладут – её генерируют из своего дистрибутива, как и данные языка.
python tools/extract_docs.py --dist "$ELEMENT_DIST"
Рантайм-API xbsl.docs (search, page, tree, for_symbol, asset, а также чистые
sections и summarize над HTML страницы) читает docs.sqlite; если базы нет, поиск просто пуст. На нём работают инструменты MCP (ниже) и – в дальнейшем – панель
справки в расширении VS Code.
Версии Элемента
Данные версионированы по версии платформы:
xbsl/data/element/
index.json # { available: [...], default: "<версия>" }
<версия>/{language.json, stdlib.json, metamodel.json}
Выбор версии – --element-version / env XBSL_ELEMENT_VERSION / default из индекса;
--version показывает доступные. Новая версия – повторный запуск xbsl extract с новым
--dist; версией по умолчанию индекс делает самую новую (регенерация старой версии умолчание
не сбивает).
Что изменилось в платформе между двумя версиями данных, показывает xbsl data-diff [старая] [новая] (по умолчанию – версия по умолчанию против ближайшей более старой): типы и члены
stdlib, свойства метамодели, компоненты и их свойства, термины, страницы документации.
--format md пишет полный Markdown-отчёт, --format json – машинный вид; в текстовом виде
каждый список ограничен --limit. Члены типов сравниваются с развёрнутым наследованием, а
изменение поднимается к корню иерархии – добавка в базовом типе не повторяется у каждого
наследника.
Сам корень данных ищется по порядку: --data-dir > env XBSL_DATA_DIR > корень из
установленной точки расширения xbsl.data > xbsl/data/element внутри пакета.