mirror of
https://github.com/Nikolay-Shirokov/cc-1c-skills.git
synced 2026-08-31 23:40:51 +03:00
Навыки-создатели дописывали новый объект в конец группы своего вида, а стандарт требует порядка по имени (АПК:1108). Замеры на 8 боевых выгрузках: 103 385 объектов лежат по алфавиту, нарушают его ровно дописки в хвост. Стенд подтвердил, что беспорядок вечен: платформа нормализует порядок ВИДОВ (возвращает канонический), но порядок имён внутри вида не трогает. Настройка newObjectPosition в .v8-project.json (end по умолчанию | byName) — решение проекта, а не вызова: читают её meta-compile, role-compile, xdto-compile, cfe-borrow и cf-edit add-childObject. Компаратор при этом константа, моделирующая дерево Конфигуратора: ключ «ранг+символ» без культурных таблиц, одинаковый в обоих портах на любой ОС. На корпусе он даёт 4 нарушения на 125 088 пар против 2866 у ordinal-сравнения, которым cf-edit и cfe-borrow сортировали до сих пор. Subsystem не упорядочивается автоматически нигде: пока подсистемы не перечислены в <SubsystemsOrder>, порядок дерева задаёт порядок разделов в панели, а платформа этот список сама не заводит. Настройка не чинит накопленное, поэтому cf-edit получил операцию sort-childObjects (вся конфигурация или названные виды). Она переставляет значения узлов, а не узлы, поэтому диф — чистая перестановка строк. Имя вида принимается в любом регистре, во множественном числе и по-русски; неизвестный вид — отказ со списком допустимых. Попутно: - PS-порты создателей переведены с DOM-сериализации на текстовую вставку: на выгрузке не в каноне Конфигуратора они переписывали заголовок без просьбы; - PS-сторона семьи detect_xml_style/finalize_xml_bytes закрыта в cf-edit и cfe-borrow — правка чужого файла наследует его BOM/EOL/заголовок; - xdto-compile присоединён к семье Register-InChildObjects вместо инлайн-копии; - закрыт ложный успех в py subsystem-compile: <ChildObjects /> с пробелом ET разбирает, а текстовые ветки не находили — файл писался без вставки; - cfe-borrow py не импортировал json, из-за чего резолвер молча возвращал end; - cf-edit add-childObject ставил объект в конец блока, за пределы своей группы, когда видов старше в файле не было. Проверки: 906/906 на PowerShell и 903/906 на Python, 10 гардов, верификация эталонов платформой без падений, раундтрип отсортированной конфигурации на 8.3.24 и 8.3.27, сортировка боевой выгрузки ACC (1,4 МБ) и расширения из корпуса. Задачу принёс PR #85; часть кода взята оттуда. Co-Authored-By: Sergei Pleshanov <72200277+Abacadabras@users.noreply.github.com> Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01QoAJmoNbgWKobA7JGgN5S3
59 lines
1.5 KiB
Plaintext
59 lines
1.5 KiB
Plaintext
# Реальные выгрузки обработок (примеры, не для версионирования)
|
|
upload/
|
|
|
|
# Результаты сборки
|
|
build/
|
|
base/
|
|
*.epf
|
|
*.log
|
|
|
|
# Временные файлы тестов
|
|
test-tmp/
|
|
|
|
# Локальные настройки Claude Code
|
|
.claude/settings.local.json
|
|
|
|
# Инструменты (portable Apache и т.д.)
|
|
tools/
|
|
|
|
# Отладка навыков (eval, trigger-test, run_loop результаты)
|
|
debug/
|
|
|
|
# Кэш тестов навыков
|
|
tests/skills/.cache/
|
|
|
|
# Python кэш
|
|
__pycache__/
|
|
|
|
# Локальный реестр баз данных 1С
|
|
.v8-project.json
|
|
# ...но в кейсах он — вход теста (настройка newObjectPosition), и эталон без него
|
|
# на чистом клоне не сойдётся с результатом прогона.
|
|
!tests/skills/cases/**/.v8-project.json
|
|
|
|
# web-test: Node.js зависимости и runtime-артефакты
|
|
.claude/skills/web-test/scripts/node_modules/
|
|
.claude/skills/web-test/.browser-session.json
|
|
|
|
# Маркер отработавшего prepare() в фикстуре _suite-root
|
|
tests/web-test/_suite-root/prepare-ran.txt
|
|
|
|
# Скриншоты и видео (артефакты тестирования web-test)
|
|
*.png
|
|
*.mp4
|
|
|
|
# Навыки, скопированные для других AI-платформ (генерируются scripts/switch.py)
|
|
.agents/skills/
|
|
.augment/
|
|
.cline/
|
|
.codex/
|
|
.cursor/
|
|
.gemini/
|
|
.github/skills/
|
|
.kilocode/
|
|
.kiro/
|
|
.opencode/
|
|
.roo/
|
|
.windsurf/
|
|
debug-templates.txt
|