/skd-edit — точечное редактирование СКД (Template.xml)
Атомарные операции модификации существующей схемы компоновки данных: добавление, удаление и модификация полей, итогов, фильтров, параметров, настроек варианта, управление структурой, замена запроса.
Параметры и команда
Параметр Описание
TemplatePath
Путь к Template.xml (или к папке — автодополнение Ext/Template.xml)
Operation
Операция (см. список ниже)
Value
Значение операции (shorthand-строка или текст запроса)
DataSet
(опц.) Имя набора данных (умолч. первый)
Variant
(опц.) Имя варианта настроек (умолч. первый)
NoSelection
(опц.) Не добавлять поле в selection варианта
powershell.exe -NoProfile -File .claude/skills/skd-edit/scripts/skd-edit.ps1 -TemplatePath "<path>" -Operation <op> -Value "<value>"
Пакетный режим (batch)
Несколько значений в одном вызове через разделитель ;; :
-Operation add-field -Value "Цена: decimal(15,2) ;; Количество: decimal(15,3) ;; Сумма: decimal(15,2)"
Работает для всех операций кроме set-query , set-structure и add-dataSet .
Операции
add-field — добавить поле в набор данных
Shorthand: "Имя [Заголовок]: тип @роль #ограничение" .
"Цена: decimal(15,2)" "Организация [Орг-ция]: CatalogRef.Организации @dimension" "Служебное: string #noFilter #noOrder"
Поле добавляется в набор и в selection варианта (если нет -NoSelection ). Дубликат dataPath — предупреждение, пропуск.
add-total — добавить итог
"Цена: Среднее" "Стоимость: Сумма(Кол * Цена)"
add-calculated-field — добавить вычисляемое поле
Shorthand: "Имя [Заголовок]: тип = Выражение" .
"Маржа = Продажа - Закупка" "Наценка [Наценка, %]: decimal(10,2) = Маржа / Закупка * 100"
Также добавляется в selection варианта.
add-parameter — добавить параметр
"Период: StandardPeriod = LastMonth @autoDates" "Организация: CatalogRef.Организации"
@autoDates генерирует ДатаНачала и ДатаОкончания автоматически.
add-filter — добавить фильтр в вариант
Shorthand: "Поле оператор значение @флаги" . Флаги: @off , @user , @quickAccess , @normal , @inaccessible .
"Номенклатура = _ @off @user" "Дата >= 2024-01-01T00:00:00" "Статус filled"
add-dataParameter — добавить параметр данных в вариант
Shorthand: "Имя [= значение] @флаги" .
"Период = LastMonth @user" "Организация @off @user"
add-order — добавить сортировку
Shorthand: "Поле [desc]" . По умолчанию asc. Auto — авто-элемент.
"Количество desc" "Auto"
add-selection — добавить элемент выборки
"Номенклатура" "Auto"
add-dataSetLink — добавить связь наборов данных
Shorthand: "Источник > Приёмник on ВырИсточника = ВырПриёмника [param Имя]" .
"Набор1 > Набор2 on Поле1 = Поле2" "Набор1 > Набор2 on Поле1 = Поле2 [param Связь]"
add-dataSet — добавить набор данных
Shorthand: "Имя: ТЕКСТ_ЗАПРОСА" или "ТЕКСТ_ЗАПРОСА" (авто-имя НаборДанныхN ).
"Доп: ВЫБРАТЬ 1 КАК Тест" "ВЫБРАТЬ Ссылка ИЗ Справочник.Номенклатура"
dataSource берётся из первого существующего. Дубликат имени — предупреждение, пропуск. Не поддерживает пакетный режим (запрос может содержать ;; ).
add-variant — добавить вариант настроек
Shorthand: "Имя [Представление]" . Представление опционально, по умолчанию = имя.
"Детальный" "Детальный [Детальный отчёт]"
Создаёт вариант с Auto selection + detail group. Дубликат имени — предупреждение, пропуск.
add-conditionalAppearance — добавить условное оформление
Shorthand: "Параметр = значение [when условие] [for Поле1, Поле2]" . Блок when — синтаксис add-filter (Поле оператор значение).
"ЦветТекста = web:Red when Сумма < 0" "ЦветФона = web:LightGreen when Статус = Одобрен for Статус" "МинимальнаяШирина = 50 for Организация" "Формат = ЧДЦ=2 for Цена, Сумма"
Типы значений (автодетект): web:* /style:* /win:* → цвет, true /false → boolean, иначе строка.
set-query — заменить текст запроса
Не поддерживает пакетный режим. Value — полный текст запроса.
set-outputParameter — установить параметр вывода
"Заголовок = Мой отчёт" "ВыводитьЗаголовок = true"
Если параметр уже существует — заменяет значение.
set-structure — установить структуру варианта
Shorthand: "Поле1 > Поле2 > details" . details /детали — детальные записи. Заменяет всю структуру. Не поддерживает пакетный режим.
"Организация > Номенклатура > details" "details"
modify-field — изменить существующее поле
Тот же shorthand что и add-field . Находит по dataPath, объединяет свойства (непустые переопределяют), сохраняет позицию.
"Цена [Цена USD]: decimal(10,4) @dimension"
modify-filter — изменить существующий фильтр
Тот же shorthand что и add-filter . Находит по полю, обновляет оператор/значение/флаги.
modify-dataParameter — изменить параметр данных
Тот же shorthand что и add-dataParameter . Находит по имени, обновляет значение/флаги.
remove-* и clear-*
Операция Value Действие
remove-field
dataPath Удаляет поле из набора + из selection варианта
remove-total
dataPath Удаляет итог
remove-calculated-field
dataPath Удаляет вычисляемое поле + из selection
remove-parameter
name Удаляет параметр
remove-filter
поле Удаляет первый фильтр с указанным полем
clear-selection
Очищает все элементы selection
clear-order
Очищает все элементы order
clear-filter
Очищает все элементы filter
Верификация
/skd-validate <TemplatePath> — валидация структуры после редактирования /skd-info <TemplatePath> — визуальная сводка