AgentSkillsCN

skd-edit

对1C数据编排方案(СКД)进行逐点编辑——新增或删除字段、合计、筛选器、参数、计算字段

SKILL.md
--- frontmatter
name: skd-edit
description: Точечное редактирование схемы компоновки данных 1С (СКД) — добавление/удаление полей, итогов, фильтров, параметров, вычисляемых полей
argument-hint: <TemplatePath> -Operation <op> -Value <value>
allowed-tools:
  - Bash
  - Read
  - Write
  - Glob

/skd-edit — точечное редактирование СКД (Template.xml)

Атомарные операции модификации существующей схемы компоновки данных: добавление, удаление и модификация полей, итогов, фильтров, параметров, настроек варианта, управление структурой, замена запроса.

Параметры и команда

ПараметрОписание
TemplatePathПуть к Template.xml (или к папке — автодополнение Ext/Template.xml)
OperationОперация (см. список ниже)
ValueЗначение операции (shorthand-строка или текст запроса)
DataSet(опц.) Имя набора данных (умолч. первый)
Variant(опц.) Имя варианта настроек (умолч. первый)
NoSelection(опц.) Не добавлять поле в selection варианта
powershell
powershell.exe -NoProfile -File .claude\skills\skd-edit\scripts\skd-edit.ps1 -TemplatePath "<path>" -Operation <op> -Value "<value>"

Пакетный режим (batch)

Несколько значений в одном вызове через разделитель ;;:

powershell
-Operation add-field -Value "Цена: decimal(15,2) ;; Количество: decimal(15,3) ;; Сумма: decimal(15,2)"

Работает для всех операций кроме set-query, set-structure и add-dataSet.

Операции

add-field — добавить поле в набор данных

Shorthand: "Имя [Заголовок]: тип @роль #ограничение".

code
"Цена: decimal(15,2)"
"Организация [Орг-ция]: CatalogRef.Организации @dimension"
"Служебное: string #noFilter #noOrder"

Поле добавляется в набор и в selection варианта (если нет -NoSelection). Дубликат dataPath — предупреждение, пропуск.

add-total — добавить итог

code
"Цена: Среднее"
"Стоимость: Сумма(Кол * Цена)"

add-calculated-field — добавить вычисляемое поле

Shorthand: "Имя [Заголовок]: тип = Выражение".

code
"Маржа = Продажа - Закупка"
"Наценка [Наценка, %]: decimal(10,2) = Маржа / Закупка * 100"

Также добавляется в selection варианта.

add-parameter — добавить параметр

code
"Период: StandardPeriod = LastMonth @autoDates"
"Организация: CatalogRef.Организации"

@autoDates генерирует ДатаНачала и ДатаОкончания автоматически.

add-filter — добавить фильтр в вариант

Shorthand: "Поле оператор значение @флаги". Флаги: @off, @user, @quickAccess, @normal, @inaccessible.

code
"Номенклатура = _ @off @user"
"Дата >= 2024-01-01T00:00:00"
"Статус filled"

add-dataParameter — добавить параметр данных в вариант

Shorthand: "Имя [= значение] @флаги".

code
"Период = LastMonth @user"
"Организация @off @user"

add-order — добавить сортировку

Shorthand: "Поле [desc]". По умолчанию asc. Auto — авто-элемент.

code
"Количество desc"
"Auto"

add-selection — добавить элемент выборки

code
"Номенклатура"
"Auto"

add-dataSetLink — добавить связь наборов данных

Shorthand: "Источник > Приёмник on ВырИсточника = ВырПриёмника [param Имя]".

code
"Набор1 > Набор2 on Поле1 = Поле2"
"Набор1 > Набор2 on Поле1 = Поле2 [param Связь]"

add-dataSet — добавить набор данных

Shorthand: "Имя: ТЕКСТ_ЗАПРОСА" или "ТЕКСТ_ЗАПРОСА" (авто-имя НаборДанныхN).

code
"Доп: ВЫБРАТЬ 1 КАК Тест"
"ВЫБРАТЬ Ссылка ИЗ Справочник.Номенклатура"

dataSource берётся из первого существующего. Дубликат имени — предупреждение, пропуск. Не поддерживает пакетный режим (запрос может содержать ;;).

add-variant — добавить вариант настроек

Shorthand: "Имя [Представление]". Представление опционально, по умолчанию = имя.

code
"Детальный"
"Детальный [Детальный отчёт]"

Создаёт вариант с Auto selection + detail group. Дубликат имени — предупреждение, пропуск.

add-conditionalAppearance — добавить условное оформление

Shorthand: "Параметр = значение [when условие] [for Поле1, Поле2]". Блок when — синтаксис add-filter (Поле оператор значение).

code
"ЦветТекста = web:Red when Сумма < 0"
"ЦветФона = web:LightGreen when Статус = Одобрен for Статус"
"МинимальнаяШирина = 50 for Организация"
"Формат = ЧДЦ=2 for Цена, Сумма"

Типы значений (автодетект): web:*/style:*/win:* → цвет, true/false → boolean, иначе строка.

set-query — заменить текст запроса

Не поддерживает пакетный режим. Value — полный текст запроса.

set-outputParameter — установить параметр вывода

code
"Заголовок = Мой отчёт"
"ВыводитьЗаголовок = true"

Если параметр уже существует — заменяет значение.

set-structure — установить структуру варианта

Shorthand: "Поле1 > Поле2 > details". details/детали — детальные записи. Заменяет всю структуру. Не поддерживает пакетный режим.

code
"Организация > Номенклатура > details"
"details"

modify-field — изменить существующее поле

Тот же shorthand что и add-field. Находит по dataPath, объединяет свойства (непустые переопределяют), сохраняет позицию.

code
"Цена [Цена USD]: decimal(10,4) @dimension"

modify-filter — изменить существующий фильтр

Тот же shorthand что и add-filter. Находит по полю, обновляет оператор/значение/флаги.

modify-dataParameter — изменить параметр данных

Тот же shorthand что и add-dataParameter. Находит по имени, обновляет значение/флаги.

remove-* и clear-*

ОперацияValueДействие
remove-fielddataPathУдаляет поле из набора + из selection варианта
remove-totaldataPathУдаляет итог
remove-calculated-fielddataPathУдаляет вычисляемое поле + из selection
remove-parameternameУдаляет параметр
remove-filterполеУдаляет первый фильтр с указанным полем
clear-selection*Очищает все элементы selection
clear-order*Очищает все элементы order
clear-filter*Очищает все элементы filter

Верификация

code
/skd-validate <TemplatePath>    — валидация структуры после редактирования
/skd-info <TemplatePath>        — визуальная сводка