Добавление подсистемы в проект 1С:Элемент
Шаг 0: Собери параметры
Из запроса пользователя определи:
| Параметр | Обязательный | Дефолт |
|---|---|---|
ИмяПодсистемы |
Да | — |
ВключатьВАвтоИнтерфейс |
Нет | Истина |
Представление |
Нет | — |
Использование |
Нет | — (список имён других подсистем) |
Если ИмяПодсистемы не указано — спроси пользователя.
Шаг 1: Найди проект и проверь конфликт
find . -name "Проект.yaml" -not -path "*/.claude/*" | head -5
Используй родительскую папку найденных Проект.yaml как {root}, запусти разведку:
python3 .claude/skills/xbsl-explore/scripts/explore.py --root {root}
Из результата возьми путь к проекту (projects[0].path). Если проектов нет — предложи создать проект через xbsl-init.
Проверь конфликт: если файл {project_path}/{ИмяПодсистемы}/Подсистема.yaml уже существует — сообщи пользователю и остановись.
Если проектов несколько — уточни у пользователя, в какой добавить подсистему.
Шаг 2: Создай файл
Создай {project_path}/{ИмяПодсистемы}/Подсистема.yaml.
Собирай файл из блоков по условию:
Блок Использование — добавлять только если указан параметр Использование:
Использование:
- {Подсистема1}
- {Подсистема2}
Блок Интерфейс — добавлять если ВключатьВАвтоИнтерфейс: Истина, либо задано Представление или Изображение:
Интерфейс:
ВключатьВАвтоИнтерфейс: Истина
Добавить Представление внутрь блока только если задано пользователем:
Представление: {Представление}
Если ни один блок не нужен (нет зависимостей, ВключатьВАвтоИнтерфейс: Ложь, нет представления) — создай пустой файл.
Примеры готовых файлов
Навигационный раздел (минимальный):
Интерфейс:
ВключатьВАвтоИнтерфейс: Истина
Вспомогательная (зависимости, не в навигации):
Использование:
- Основное
- Общие
С представлением:
Использование:
- Основное
Интерфейс:
ВключатьВАвтоИнтерфейс: Истина
Представление: Мои задачи
Шаг 3: Выведи итог
Подсистема создана:
{project_path}/{ИмяПодсистемы}/Подсистема.yaml
Следующий шаг: добавь объекты через xbsl-meta-add