$npx -y skills add Arman-Kudaibergenov/1c-ai-development-kit --skill help-addЭтот скилл MUST быть вызван когда нужно добавить встроенную справку к объекту 1С: обработка, отчёт, справочник, документ. SHOULD также вызывать когда документация объекта должна быть встроена в конфигурацию. Do NOT использовать для создания внешней документации или README.
| 1 | # /help-add — Добавление справки |
| 2 | |
| 3 | Добавляет встроенную справку к объекту: файл метаданных `Help.xml`, HTML-страницу и при необходимости обновляет метаданные форм. |
| 4 | |
| 5 | ## Usage |
| 6 | |
| 7 | ``` |
| 8 | /help-add <ObjectName> [Lang] [SrcDir] |
| 9 | ``` |
| 10 | |
| 11 | | Параметр | Обязательный | По умолчанию | Описание | |
| 12 | |------------|:------------:|--------------|-------------------------------------| |
| 13 | | ObjectName | да | — | Имя объекта | |
| 14 | | Lang | нет | `ru` | Код языка справки | |
| 15 | | SrcDir | нет | `src` | Каталог исходников | |
| 16 | |
| 17 | ## Команда |
| 18 | |
| 19 | ```powershell |
| 20 | powershell.exe -NoProfile -File .claude/skills/help-add/scripts/add-help.ps1 -ObjectName "<ObjectName>" [-Lang "<Lang>"] [-SrcDir "<SrcDir>"] |
| 21 | ``` |
| 22 | |
| 23 | ## Что создаётся |
| 24 | |
| 25 | ``` |
| 26 | <SrcDir>/<ObjectName>/ |
| 27 | Ext/ |
| 28 | Help.xml # Метаданные справки (namespace extrnprops) |
| 29 | Help/ |
| 30 | ru.html # HTML-страница справки |
| 31 | ``` |
| 32 | |
| 33 | - `Help.xml` — фиксированная структура с `<Page>ru</Page>` (namespace `http://v8.1c.ru/8.3/xcf/extrnprops`) |
| 34 | - `ru.html` — HTML 4.0 Transitional с подключением стилей 1С (`v8help://service_book/service_style`) |
| 35 | - Справка **не регистрируется** в `ChildObjects` корневого XML — достаточно наличия файлов |
| 36 | |
| 37 | ## Что модифицируется |
| 38 | |
| 39 | - Если в метаданных формы (`Forms/<FormName>.xml`) отсутствует `<IncludeHelpInContents>` — скрипт добавит `<IncludeHelpInContents>false</IncludeHelpInContents>` после `<FormType>`. Для форм, созданных через `/form-add`, элемент уже есть. |
| 40 | |
| 41 | ## Кнопка справки на форме |
| 42 | |
| 43 | После создания справки для её вызова нужна кнопка на форме. Добавь кнопку `Form.StandardCommand.Help` в AutoCommandBar формы (`Forms/<FormName>/Ext/Form.xml`). |
| 44 | |
| 45 | ### Текущая структура AutoCommandBar (созданная form-add) |
| 46 | |
| 47 | ```xml |
| 48 | <AutoCommandBar name="ФормаКоманднаяПанель" id="-1"> |
| 49 | <Autofill>true</Autofill> |
| 50 | </AutoCommandBar> |
| 51 | ``` |
| 52 | |
| 53 | ### Нужно заменить на |
| 54 | |
| 55 | ```xml |
| 56 | <AutoCommandBar name="ФормаКоманднаяПанель" id="-1"> |
| 57 | <Autofill>true</Autofill> |
| 58 | <ChildItems> |
| 59 | <Button name="ФормаСправка" id="{{свободный_id}}"> |
| 60 | <Type>CommandBarButton</Type> |
| 61 | <CommandName>Form.StandardCommand.Help</CommandName> |
| 62 | <ExtendedTooltip name="ФормаСправкаExtendedTooltip" id="{{свободный_id + 1}}"/> |
| 63 | </Button> |
| 64 | </ChildItems> |
| 65 | </AutoCommandBar> |
| 66 | ``` |
| 67 | |
| 68 | ### Выбор id |
| 69 | |
| 70 | Просмотри все `id="..."` в `Form.xml` и выбери следующий свободный числовой id. Обычно id начинаются с 1 и идут подряд. Для кнопки нужны 2 id: один для Button, один для ExtendedTooltip. |
| 71 | |
| 72 | ### Важно |
| 73 | |
| 74 | - `Form.StandardCommand.Help` — стандартная команда платформы, не нужно объявлять в `<Commands>` |
| 75 | - Обработчика в Module.bsl не требуется — платформа сама найдёт `Help.xml` и откроет HTML |
| 76 | |
| 77 | ## Редактирование справки |
| 78 | |
| 79 | После создания содержимое справки — обычный HTML. Отредактируй `Ext/Help/ru.html` в соответствии с назначением объекта. Поддерживается стандартная HTML-разметка: `<h1>`..`<h4>`, `<p>`, `<ul>`, `<ol>`, `<table>`, `<strong>`, `<em>`, `<a>`, `<pre>`. |