mirror of
https://github.com/Nikolay-Shirokov/cc-1c-skills.git
synced 2026-07-26 14:41:02 +03:00
Перевести SKILL.md навыков mxl-info и mxl-validate на русский
Для единообразия с остальными навыками проекта. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Opus 4.6
parent
455c12e6b6
commit
50dc9ceec9
@@ -1,64 +1,64 @@
|
|||||||
---
|
---
|
||||||
name: mxl-info
|
name: mxl-info
|
||||||
description: Analyze SpreadsheetDocument (MXL) template structure — areas, parameters, column sets
|
description: Анализ структуры макета табличного документа (MXL) — области, параметры, наборы колонок
|
||||||
argument-hint: <TemplatePath> or <ProcessorName> <TemplateName>
|
argument-hint: <TemplatePath> или <ProcessorName> <TemplateName>
|
||||||
allowed-tools:
|
allowed-tools:
|
||||||
- Bash
|
- Bash
|
||||||
- Read
|
- Read
|
||||||
- Glob
|
- Glob
|
||||||
---
|
---
|
||||||
|
|
||||||
# /mxl-info — Template Structure Analyzer
|
# /mxl-info — Анализ структуры макета
|
||||||
|
|
||||||
Reads a SpreadsheetDocument Template.xml and outputs a compact summary: named areas, parameters, column sets. Replaces the need to read thousands of XML lines.
|
Читает Template.xml табличного документа и выводит компактную сводку: именованные области, параметры, наборы колонок. Заменяет необходимость читать тысячи строк XML.
|
||||||
|
|
||||||
## Usage
|
## Использование
|
||||||
|
|
||||||
```
|
```
|
||||||
/mxl-info <TemplatePath>
|
/mxl-info <TemplatePath>
|
||||||
/mxl-info <ProcessorName> <TemplateName>
|
/mxl-info <ProcessorName> <TemplateName>
|
||||||
```
|
```
|
||||||
|
|
||||||
## Parameters
|
## Параметры
|
||||||
|
|
||||||
| Parameter | Required | Default | Description |
|
| Параметр | Обязательный | По умолчанию | Описание |
|
||||||
|---------------|:--------:|---------|------------------------------------------|
|
|---------------|:------------:|--------------|------------------------------------------|
|
||||||
| TemplatePath | no | — | Direct path to Template.xml |
|
| TemplatePath | нет | — | Прямой путь к Template.xml |
|
||||||
| ProcessorName | no | — | Processor name (alternative to path) |
|
| ProcessorName | нет | — | Имя обработки (альтернатива пути) |
|
||||||
| TemplateName | no | — | Template name (alternative to path) |
|
| TemplateName | нет | — | Имя макета (альтернатива пути) |
|
||||||
| SrcDir | no | `src` | Source directory |
|
| SrcDir | нет | `src` | Каталог исходников |
|
||||||
| Format | no | `text` | Output format: `text` or `json` |
|
| Format | нет | `text` | Формат вывода: `text` или `json` |
|
||||||
| WithText | no | false | Include static text and template content |
|
| WithText | нет | false | Включить статический текст и шаблоны |
|
||||||
| MaxParams | no | 10 | Max parameters listed per area |
|
| MaxParams | нет | 10 | Макс. параметров в списке на область |
|
||||||
| Limit | no | 150 | Max output lines (truncation protection) |
|
| Limit | нет | 150 | Макс. строк вывода (защита от переполнения) |
|
||||||
| Offset | no | 0 | Skip N lines (for pagination) |
|
| Offset | нет | 0 | Пропустить N строк (для пагинации) |
|
||||||
|
|
||||||
Specify either `-TemplatePath` or both `-ProcessorName` and `-TemplateName`.
|
Укажите либо `-TemplatePath`, либо оба `-ProcessorName` и `-TemplateName`.
|
||||||
|
|
||||||
## Command
|
## Команда
|
||||||
|
|
||||||
```powershell
|
```powershell
|
||||||
powershell.exe -NoProfile -File .claude/skills/mxl-info/scripts/mxl-info.ps1 -TemplatePath "<path>"
|
powershell.exe -NoProfile -File .claude/skills/mxl-info/scripts/mxl-info.ps1 -TemplatePath "<путь>"
|
||||||
```
|
```
|
||||||
|
|
||||||
Or with processor/template names:
|
Или по имени обработки/макета:
|
||||||
```powershell
|
```powershell
|
||||||
powershell.exe -NoProfile -File .claude/skills/mxl-info/scripts/mxl-info.ps1 -ProcessorName "<Name>" -TemplateName "<Template>" [-SrcDir "<dir>"]
|
powershell.exe -NoProfile -File .claude/skills/mxl-info/scripts/mxl-info.ps1 -ProcessorName "<Имя>" -TemplateName "<Макет>" [-SrcDir "<каталог>"]
|
||||||
```
|
```
|
||||||
|
|
||||||
Additional flags:
|
Дополнительные флаги:
|
||||||
```powershell
|
```powershell
|
||||||
... -WithText # include cell text content
|
... -WithText # включить текстовое содержимое ячеек
|
||||||
... -Format json # JSON output for programmatic use
|
... -Format json # JSON-вывод для программной обработки
|
||||||
... -MaxParams 20 # show more parameters per area
|
... -MaxParams 20 # показать больше параметров на область
|
||||||
... -Offset 150 # pagination: skip first 150 lines
|
... -Offset 150 # пагинация: пропустить первые 150 строк
|
||||||
```
|
```
|
||||||
|
|
||||||
## Reading the Output
|
## Чтение вывода
|
||||||
|
|
||||||
### Areas — sorted top-to-bottom
|
### Области — сортировка сверху вниз
|
||||||
|
|
||||||
Areas are listed in document order (by row position), not alphabetically. This matches the order you'll use in fill code — output areas from top to bottom.
|
Области перечислены в порядке документа (по позиции строки), а не по алфавиту. Это соответствует порядку вывода областей в коде заполнения — сверху вниз.
|
||||||
|
|
||||||
```
|
```
|
||||||
--- Named areas ---
|
--- Named areas ---
|
||||||
@@ -68,15 +68,15 @@ Areas are listed in document order (by row position), not alphabetically. This m
|
|||||||
Итого Rows rows 16-17 (1 params)
|
Итого Rows rows 16-17 (1 params)
|
||||||
```
|
```
|
||||||
|
|
||||||
Area types:
|
Типы областей:
|
||||||
- **Rows** — horizontal area (row range). Use: `Макет.ПолучитьОбласть("Имя")`
|
- **Rows** — горизонтальная область (диапазон строк). Получение: `Макет.ПолучитьОбласть("Имя")`
|
||||||
- **Columns** — vertical area (column range). Use: `Макет.ПолучитьОбласть("Имя")`
|
- **Columns** — вертикальная область (диапазон колонок). Получение: `Макет.ПолучитьОбласть("Имя")`
|
||||||
- **Rectangle** — fixed area (rows + cols). Typically uses a separate column set.
|
- **Rectangle** — фиксированная область (строки + колонки). Обычно использует отдельный набор колонок.
|
||||||
- **Drawing** — named picture/barcode.
|
- **Drawing** — именованный рисунок/штрихкод.
|
||||||
|
|
||||||
### Column sets
|
### Наборы колонок
|
||||||
|
|
||||||
When template has multiple column sets, sizes are shown in header and per-area:
|
Когда в макете несколько наборов колонок, их размеры показаны в заголовке и для каждой области:
|
||||||
|
|
||||||
```
|
```
|
||||||
Column sets: 7 (default=19 cols + 6 additional)
|
Column sets: 7 (default=19 cols + 6 additional)
|
||||||
@@ -87,20 +87,20 @@ When template has multiple column sets, sizes are shown in header and per-area:
|
|||||||
НумерацияЛистов Rows rows 59-59 (0 params) [colset 4cols]
|
НумерацияЛистов Rows rows 59-59 (0 params) [colset 4cols]
|
||||||
```
|
```
|
||||||
|
|
||||||
### Intersections
|
### Пересечения
|
||||||
|
|
||||||
When both Rows and Columns areas exist (labels, price tags), the script lists intersection pairs:
|
Когда есть области и Rows, и Columns (этикетки, ценники), скрипт выводит пары пересечений:
|
||||||
|
|
||||||
```
|
```
|
||||||
--- Intersections (use with GetArea) ---
|
--- Intersections (use with GetArea) ---
|
||||||
ВысотаЭтикетки|ШиринаЭтикетки
|
ВысотаЭтикетки|ШиринаЭтикетки
|
||||||
```
|
```
|
||||||
|
|
||||||
Use in BSL: `Макет.ПолучитьОбласть("ВысотаЭтикетки|ШиринаЭтикетки")`
|
В BSL: `Макет.ПолучитьОбласть("ВысотаЭтикетки|ШиринаЭтикетки")`
|
||||||
|
|
||||||
### Parameters and detailParameter
|
### Параметры и detailParameter
|
||||||
|
|
||||||
Parameters are listed per area. If a parameter has a `detailParameter` (drill-down link), it's shown below:
|
Параметры перечислены по областям. Если у параметра есть `detailParameter` (расшифровка), он показан ниже:
|
||||||
|
|
||||||
```
|
```
|
||||||
--- Parameters by area ---
|
--- Parameters by area ---
|
||||||
@@ -110,33 +110,33 @@ Parameters are listed per area. If a parameter has a `detailParameter` (drill-do
|
|||||||
detail: Товар->Номенклатура
|
detail: Товар->Номенклатура
|
||||||
```
|
```
|
||||||
|
|
||||||
This means: parameter `Товар` shows the value, and clicking it opens `Номенклатура` (the detail object).
|
Это означает: параметр `Товар` отображает значение, а при клике открывает `Номенклатура` (объект расшифровки).
|
||||||
|
|
||||||
In BSL:
|
В BSL:
|
||||||
```bsl
|
```bsl
|
||||||
Область.Параметры.Товар = СтрокаТЧ.Номенклатура;
|
Область.Параметры.Товар = СтрокаТЧ.Номенклатура;
|
||||||
Область.Параметры.РасшифровкаТовар = СтрокаТЧ.Номенклатура; // detailParameter
|
Область.Параметры.РасшифровкаТовар = СтрокаТЧ.Номенклатура; // detailParameter
|
||||||
```
|
```
|
||||||
|
|
||||||
### Template parameters (`[tpl]` suffix)
|
### Параметры из шаблонов (суффикс `[tpl]`)
|
||||||
|
|
||||||
Some parameters are embedded in template text: `"Инв № [ИнвентарныйНомер]"`. These are filled via fillType=Template, not fillType=Parameter. The script always extracts them and marks with `[tpl]`:
|
Некоторые параметры встроены в шаблонный текст: `"Инв № [ИнвентарныйНомер]"`. Они заполняются через fillType=Template, а не fillType=Parameter. Скрипт всегда извлекает их и помечает суффиксом `[tpl]`:
|
||||||
|
|
||||||
```
|
```
|
||||||
НумерацияЛистов: Номер [tpl], Дата [tpl], НомерЛиста [tpl]
|
НумерацияЛистов: Номер [tpl], Дата [tpl], НомерЛиста [tpl]
|
||||||
```
|
```
|
||||||
|
|
||||||
In BSL, template parameters are filled the same way as regular ones:
|
В BSL шаблонные параметры заполняются так же, как обычные:
|
||||||
```bsl
|
```bsl
|
||||||
Область.Параметры.Номер = НомерДокумента;
|
Область.Параметры.Номер = НомерДокумента;
|
||||||
Область.Параметры.Дата = ДатаДокумента;
|
Область.Параметры.Дата = ДатаДокумента;
|
||||||
```
|
```
|
||||||
|
|
||||||
Numeric-only placeholders like `[5]`, `[6]` (footnote references in legal forms) are ignored.
|
Числовые подстановки вроде `[5]`, `[6]` (ссылки на сноски в официальных формах) игнорируются.
|
||||||
|
|
||||||
### Text content (`-WithText`)
|
### Текстовое содержимое (`-WithText`)
|
||||||
|
|
||||||
Shows static text (labels, headers) and template strings with `[Param]` placeholders:
|
Показывает статический текст (надписи, заголовки) и шаблонные строки с подстановками `[Параметр]`:
|
||||||
|
|
||||||
```
|
```
|
||||||
--- Text content ---
|
--- Text content ---
|
||||||
@@ -146,21 +146,21 @@ Shows static text (labels, headers) and template strings with `[Param]` placehol
|
|||||||
Templates: "Инв № [ИнвентарныйНомер]"
|
Templates: "Инв № [ИнвентарныйНомер]"
|
||||||
```
|
```
|
||||||
|
|
||||||
- **Text** — static labels (fillType=Text). Useful to understand column meaning.
|
- **Text** — статические надписи (fillType=Text). Полезно для понимания назначения колонок.
|
||||||
- **Templates** — text with `[ParamName]` substitutions (fillType=Template). The param inside `[]` is filled programmatically.
|
- **Templates** — текст с подстановками `[ИмяПараметра]` (fillType=Template). Параметр внутри `[]` заполняется программно.
|
||||||
|
|
||||||
## When to Use
|
## Когда использовать
|
||||||
|
|
||||||
- **Before writing fill code**: run `/mxl-info` to understand area names and parameter lists, then write BSL output code following the top-to-bottom area order
|
- **Перед написанием кода заполнения**: запустить `/mxl-info` чтобы понять имена областей и списки параметров, затем писать BSL-код вывода, следуя порядку областей сверху вниз
|
||||||
- **With `-WithText`**: when you need context — column headers, labels next to parameters, template patterns
|
- **С `-WithText`**: когда нужен контекст — заголовки колонок, надписи рядом с параметрами, шаблонные строки
|
||||||
- **With `-Format json`**: when you need structured data for programmatic processing
|
- **С `-Format json`**: когда нужны структурированные данные для программной обработки
|
||||||
- **For existing templates**: analyze uploaded or configuration templates without reading raw XML
|
- **Для существующих макетов**: анализ загруженных или конфигурационных макетов без чтения сырого XML
|
||||||
|
|
||||||
## Truncation Protection
|
## Защита от переполнения
|
||||||
|
|
||||||
Output is limited to 150 lines by default. If exceeded:
|
Вывод ограничен 150 строками по умолчанию. При превышении:
|
||||||
```
|
```
|
||||||
[TRUNCATED] Shown 150 of 220 lines. Use -Offset 150 to continue.
|
[TRUNCATED] Shown 150 of 220 lines. Use -Offset 150 to continue.
|
||||||
```
|
```
|
||||||
|
|
||||||
Use `-Offset N` and `-Limit N` to paginate through large outputs.
|
Используйте `-Offset N` и `-Limit N` для постраничного просмотра.
|
||||||
|
|||||||
@@ -1,68 +1,68 @@
|
|||||||
---
|
---
|
||||||
name: mxl-validate
|
name: mxl-validate
|
||||||
description: Validate SpreadsheetDocument (MXL) template for structural correctness
|
description: Валидация структурной корректности макета табличного документа (MXL)
|
||||||
argument-hint: <TemplatePath> or <ProcessorName> <TemplateName>
|
argument-hint: <TemplatePath> или <ProcessorName> <TemplateName>
|
||||||
allowed-tools:
|
allowed-tools:
|
||||||
- Bash
|
- Bash
|
||||||
- Read
|
- Read
|
||||||
- Glob
|
- Glob
|
||||||
---
|
---
|
||||||
|
|
||||||
# /mxl-validate — Template Validator
|
# /mxl-validate — Валидатор макета
|
||||||
|
|
||||||
Checks Template.xml for structural errors that the 1C platform may silently ignore (potentially causing data loss or template corruption).
|
Проверяет Template.xml на структурные ошибки, которые платформа 1С может молча проигнорировать (с возможной потерей данных или повреждением макета).
|
||||||
|
|
||||||
## Usage
|
## Использование
|
||||||
|
|
||||||
```
|
```
|
||||||
/mxl-validate <TemplatePath>
|
/mxl-validate <TemplatePath>
|
||||||
/mxl-validate <ProcessorName> <TemplateName>
|
/mxl-validate <ProcessorName> <TemplateName>
|
||||||
```
|
```
|
||||||
|
|
||||||
## Parameters
|
## Параметры
|
||||||
|
|
||||||
| Parameter | Required | Default | Description |
|
| Параметр | Обязательный | По умолчанию | Описание |
|
||||||
|---------------|:--------:|---------|------------------------------------------|
|
|---------------|:------------:|--------------|------------------------------------------|
|
||||||
| TemplatePath | no | — | Direct path to Template.xml |
|
| TemplatePath | нет | — | Прямой путь к Template.xml |
|
||||||
| ProcessorName | no | — | Processor name (alternative to path) |
|
| ProcessorName | нет | — | Имя обработки (альтернатива пути) |
|
||||||
| TemplateName | no | — | Template name (alternative to path) |
|
| TemplateName | нет | — | Имя макета (альтернатива пути) |
|
||||||
| SrcDir | no | `src` | Source directory |
|
| SrcDir | нет | `src` | Каталог исходников |
|
||||||
| MaxErrors | no | 20 | Stop after N errors |
|
| MaxErrors | нет | 20 | Остановиться после N ошибок |
|
||||||
|
|
||||||
Specify either `-TemplatePath` or both `-ProcessorName` and `-TemplateName`.
|
Укажите либо `-TemplatePath`, либо оба `-ProcessorName` и `-TemplateName`.
|
||||||
|
|
||||||
## Command
|
## Команда
|
||||||
|
|
||||||
```powershell
|
```powershell
|
||||||
powershell.exe -NoProfile -File .claude/skills/mxl-validate/scripts/mxl-validate.ps1 -TemplatePath "<path>"
|
powershell.exe -NoProfile -File .claude/skills/mxl-validate/scripts/mxl-validate.ps1 -TemplatePath "<путь>"
|
||||||
```
|
```
|
||||||
|
|
||||||
Or with processor/template names:
|
Или по имени обработки/макета:
|
||||||
```powershell
|
```powershell
|
||||||
powershell.exe -NoProfile -File .claude/skills/mxl-validate/scripts/mxl-validate.ps1 -ProcessorName "<Name>" -TemplateName "<Template>" [-SrcDir "<dir>"]
|
powershell.exe -NoProfile -File .claude/skills/mxl-validate/scripts/mxl-validate.ps1 -ProcessorName "<Имя>" -TemplateName "<Макет>" [-SrcDir "<каталог>"]
|
||||||
```
|
```
|
||||||
|
|
||||||
## Checks Performed
|
## Выполняемые проверки
|
||||||
|
|
||||||
| # | Check | Severity |
|
| # | Проверка | Серьёзность |
|
||||||
|---|---|---|
|
|---|---|---|
|
||||||
| 1 | `<height>` >= max row index + 1 | ERROR |
|
| 1 | `<height>` >= максимальный индекс строки + 1 | ERROR |
|
||||||
| 2 | `<vgRows>` <= `<height>` | WARN |
|
| 2 | `<vgRows>` <= `<height>` | WARN |
|
||||||
| 3 | Cell format indices (`<f>`) within format palette | ERROR |
|
| 3 | Индексы форматов ячеек (`<f>`) в пределах палитры форматов | ERROR |
|
||||||
| 4 | Row/column `<formatIndex>` within format palette | ERROR |
|
| 4 | `<formatIndex>` строк и колонок в пределах палитры | ERROR |
|
||||||
| 5 | Cell column indices (`<i>`) within column count (per column set) | ERROR |
|
| 5 | Индексы колонок в ячейках (`<i>`) в пределах количества колонок (с учётом набора) | ERROR |
|
||||||
| 6 | Row `<columnsID>` references existing column set | ERROR |
|
| 6 | `<columnsID>` строк ссылается на существующий набор колонок | ERROR |
|
||||||
| 7 | Merge/namedItem `<columnsID>` references existing column set | ERROR |
|
| 7 | `<columnsID>` в merge/namedItem ссылается на существующий набор | ERROR |
|
||||||
| 8 | Named area row/column ranges within document bounds | ERROR |
|
| 8 | Диапазоны именованных областей в пределах границ документа | ERROR |
|
||||||
| 9 | Merge ranges within document bounds | ERROR |
|
| 9 | Диапазоны объединений в пределах границ документа | ERROR |
|
||||||
| 10 | Font indices in formats within font palette | ERROR |
|
| 10 | Индексы шрифтов в форматах в пределах палитры шрифтов | ERROR |
|
||||||
| 11 | Border/line indices in formats within line palette | ERROR |
|
| 11 | Индексы линий границ в форматах в пределах палитры линий | ERROR |
|
||||||
| 12 | Drawing `pictureIndex` references existing picture | ERROR |
|
| 12 | `pictureIndex` рисунков ссылается на существующую картинку | ERROR |
|
||||||
|
|
||||||
## Output
|
## Вывод
|
||||||
|
|
||||||
```
|
```
|
||||||
=== Validation: TemplateName ===
|
=== Validation: ИмяМакета ===
|
||||||
|
|
||||||
[OK] height (40) >= max row index + 1 (40), rowsItem count=34
|
[OK] height (40) >= max row index + 1 (40), rowsItem count=34
|
||||||
[OK] Font refs: max=3, palette size=4
|
[OK] Font refs: max=3, palette size=4
|
||||||
@@ -72,14 +72,14 @@ powershell.exe -NoProfile -File .claude/skills/mxl-validate/scripts/mxl-validate
|
|||||||
Errors: 1, Warnings: 0
|
Errors: 1, Warnings: 0
|
||||||
```
|
```
|
||||||
|
|
||||||
Exit code: 0 = all checks passed, 1 = errors found.
|
Код возврата: 0 = все проверки пройдены, 1 = есть ошибки.
|
||||||
|
|
||||||
## When to Use
|
## Когда использовать
|
||||||
|
|
||||||
- **After generating a template**: run validator to catch structural errors before building EPF
|
- **После генерации макета**: запустить валидатор для выявления структурных ошибок до сборки EPF
|
||||||
- **After editing Template.xml**: verify indices and references are still valid
|
- **После редактирования Template.xml**: убедиться, что индексы и ссылки остались валидными
|
||||||
- **On errors**: fix the reported issues and re-run until all checks pass
|
- **При ошибках**: исправить найденные проблемы и перезапустить до полного прохождения
|
||||||
|
|
||||||
## Error Protection
|
## Защита от переполнения
|
||||||
|
|
||||||
Stops after 20 errors by default (configurable with `-MaxErrors`). Summary line always shows total counts.
|
Останавливается после 20 ошибок по умолчанию (настраивается через `-MaxErrors`). Итоговая строка с количеством ошибок/предупреждений выводится всегда.
|
||||||
|
|||||||
Reference in New Issue
Block a user