mirror of
https://github.com/Nikolay-Shirokov/cc-1c-skills.git
synced 2026-09-06 18:20:52 +03:00
Форма могла удаляться, оставляя ссылки на себя в других объектах: платформа затем отвергала загрузку с «Неизвестный объект метаданных». Навык правил только файл своего объекта и про остальную конфигурацию не знал. Теперь перед удалением конфигурация сканируется на ссылки на эту форму (слоты Default*/Auxiliary*Form и ChoiceForm, ChoiceForm и SettingsStorage внутри форм, элементы начальной страницы). Есть ссылки — удаление останавливается со списком мест; с -Force форма удаляется, а ссылки очищаются: слот пустеет, элемент начальной страницы вырезается. Заодно починен матч ссылки: сравнение шло по хвосту «Form.<Имя>» без вида и объекта, поэтому при удалении своей ФормаСписка обнулялась и ссылка на DocumentJournal.Ж.Form.ФормаСписка в том же файле. Сравнение путей переведено на длинную форму: Resolve-Path отдаёт короткое имя 8.3, перечисление файлов — длинное, из-за чего собственный файл объекта не исключался из скана. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
1.8 KiB
1.8 KiB
name, description, argument-hint, disable-model-invocation, allowed-tools
| name | description | argument-hint | disable-model-invocation | allowed-tools | ||||||
|---|---|---|---|---|---|---|---|---|---|---|
| form-remove | Удалить форму из объекта 1С (обработка, отчёт, справочник, документ и др.) | <ObjectName> <FormName> | true |
|
/form-remove — Удаление формы
Удаляет форму и убирает её регистрацию из корневого XML объекта.
Usage
/form-remove <ObjectName> <FormName>
| Параметр | Обязательный | По умолчанию | Описание |
|---|---|---|---|
| ObjectName | да | — | Имя объекта |
| FormName | да | — | Имя формы для удаления |
| SrcDir | нет | src |
Каталог исходников |
| Force | нет | — | Удалить, даже если на форму ссылаются, и очистить ссылки |
Команда
powershell.exe -NoProfile -File "${CLAUDE_SKILL_DIR}/scripts/remove-form.ps1" -ObjectName "<ObjectName>" -FormName "<FormName>" [-SrcDir "<SrcDir>"] [-Force]
Что удаляется
<SrcDir>/<ObjectName>/Forms/<FormName>.xml # Метаданные формы
<SrcDir>/<ObjectName>/Forms/<FormName>/ # Каталог формы (рекурсивно)
Что модифицируется
<SrcDir>/<ObjectName>.xml— убирается<Form>изChildObjects- Свойства объекта, указывавшие на удалённую форму — очищаются