1c-help-manage · diff
git:20260304.2cc046c to git:20260321.f3d9d20
8 added, 56 removed. Audit A to A.
---
name: 1c-help-manage
- description: Добавить встроенную справку к объекту 1С (обработка, отчёт, справочник, документ и др.)
+ description: Добавить встроенную справку к объекту 1С (обработка, отчёт, справочник, документ и др.). Используй когда пользователь просит добавить справку, help, встроенную помощь к объекту
argument-hint: <ObjectName>
allowed-tools:
- Bash
- Read
- Write
- Edit
- Glob
- Grep
---
# /help-add — Добавление справки
Добавляет встроенную справку к объекту: файл метаданных `Help.xml`, HTML-страницу и при необходимости обновляет метаданные форм.
## Usage
```
/help-add <ObjectName> [Lang] [SrcDir]
```
| Параметр | Обязательный | По умолчанию | Описание |
|------------|:------------:|--------------|-------------------------------------|
- | ObjectName | да | — | Имя объекта |
+ | ObjectName | да | — | Путь объекта относительно SrcDir (например `Catalogs/МойСправочник`, `DataProcessors/МояОбработка`) |
| Lang | нет | `ru` | Код языка справки |
| SrcDir | нет | `src` | Каталог исходников |
## Команда
```powershell
powershell.exe -NoProfile -File skills/1c-help-manage/scripts/add-help.ps1 -ObjectName "<ObjectName>" [-Lang "<Lang>"] [-SrcDir "<SrcDir>"]
```
- ## Что создаётся
-
- ```
- <SrcDir>/<ObjectName>/
- Ext/
- Help.xml # Метаданные справки (namespace extrnprops)
- Help/
- ru.html # HTML-страница справки
- ```
-
- - `Help.xml` — фиксированная структура с `<Page>ru</Page>` (namespace `http://v8.1c.ru/8.3/xcf/extrnprops`)
- - `ru.html` — HTML 4.0 Transitional с подключением стилей 1С (`v8help://service_book/service_style`)
- - Справка **не регистрируется** в `ChildObjects` корневого XML — достаточно наличия файлов
-
- ## Что модифицируется
-
- - Если в метаданных формы (`Forms/<FormName>.xml`) отсутствует `<IncludeHelpInContents>` — скрипт добавит `<IncludeHelpInContents>false</IncludeHelpInContents>` после `<FormType>`. Для форм, созданных через `/form-add`, элемент уже есть.
-
- ## Кнопка справки на форме
-
- После создания справки для её вызова нужна кнопка на форме. Добавь кнопку `Form.StandardCommand.Help` в AutoCommandBar формы (`Forms/<FormName>/Ext/Form.xml`).
-
- ### Текущая структура AutoCommandBar (созданная form-add)
-
- ```xml
- <AutoCommandBar name="ФормаКоманднаяПанель" id="-1">
- <Autofill>true</Autofill>
- </AutoCommandBar>
- ```
-
- ### Нужно заменить на
-
- ```xml
- <AutoCommandBar name="ФормаКоманднаяПанель" id="-1">
- <Autofill>true</Autofill>
- <ChildItems>
- <Button name="ФормаСправка" id="{{свободный_id}}">
- <Type>CommandBarButton</Type>
- <CommandName>Form.StandardCommand.Help</CommandName>
- <ExtendedTooltip name="ФормаСправкаExtendedTooltip" id="{{свободный_id + 1}}"/>
- </Button>
- </ChildItems>
- </AutoCommandBar>
- ```
-
- ### Выбор id
-
- Просмотри все `id="..."` в `Form.xml` и выбери следующий свободный числовой id. Обычно id начинаются с 1 и идут подряд. Для кнопки нужны 2 id: один для Button, один для ExtendedTooltip.
-
- ### Важно
+ ## Что делает скрипт
- - `Form.StandardCommand.Help` — стандартная команда платформы, не нужно объявлять в `<Commands>`
- - Обработчика в Module.bsl не требуется — платформа сама найдёт `Help.xml` и откроет HTML
+ - Создаёт `Ext/Help.xml` и `Ext/Help/ru.html` — шаблон справки
+ - Если у объекта есть формы — добавляет `<IncludeHelpInContents>` в метаданные форм (если отсутствует)
+ - Справка **не регистрируется** в `ChildObjects` — достаточно наличия файлов
- ## Редактирование справки
+ ## После запуска
- После создания содержимое справки — обычный HTML. Отредактируй `Ext/Help/ru.html` в соответствии с назначением объекта. Поддерживается стандартная HTML-разметка: `<h1>`..`<h4>`, `<p>`, `<ul>`, `<ol>`, `<table>`, `<strong>`, `<em>`, `<a>`, `<pre>`.
+ Отредактируй `Ext/Help/ru.html` — наполни содержимым справки (стандартный HTML: `<h1>`..`<h4>`, `<p>`, `<ul>`, `<table>` и т.д.). Кнопка справки появится автоматически через `Autofill` в AutoCommandBar формы.