<< All versions

Skill v1.0.1

Automated scan100/100
ingvarconsulting/unica/dcs-info

+3 new

──Details
PublishedAugust 11, 2026 at 10:46 PM
Content Hashsha256:7d8dda2dadea9dfe...
Git SHAf7dd99b1ae98
Bump Typepatch
Compare with v1.0.0
──Files
Files (1 file, 10.3 KB)
SKILL.md10.3 KBactive
SKILL.md · 329 lines · 10.3 KB

version: "1.0.1" name: dcs-info description: Анализ структуры схемы компоновки данных 1С (СКД) — наборы, поля, параметры, варианты. Используй для понимания отчёта — источник данных (запрос), доступные поля, параметры argument-hint: <TemplatePath> allowed-tools:

  • Bash
  • Read
  • Glob

/dcs-info — Анализ схемы компоновки данных

MCP routing

  • Preferred path: use MCP unica tool unica.dcs.info; unica owns XML/JSON DSL work and refreshes related workspace caches after mutations.
  • Do not call internal MCP/CLI adapters directly. They are hidden behind unica and synchronized by the orchestrator.
  • Execution path: call MCP unica tool unica.dcs.info; skill-local operation scripts are not part of the workflow.
  • For mutating operations, pass dryRun: false only when the user explicitly requested the change; otherwise keep the default dry run.

Читает Template.xml схемы компоновки данных (СКД) и выводит компактную сводку. Заменяет необходимость читать тысячи строк XML.

В overview и full показывает Поддержка для объекта-владельца макета по Ext/ParentConfigurations.bin. Режим query остаётся пригодным для round-trip текста запроса; support-state используй как риск перед unica.dcs.edit.

Ответ

Инструмент отвечает типизированным data и отдаёт схему целиком; режимы, Raw, Name, Limit и Offset больше не нужны:

СекцияЧто в ней
dataSetsнаборы данных, их поля и сырой текст запроса целиком, с отступами строк продолжения
linksсвязи наборов данных с выражениями источника и приёмника
calculatedFieldsвычисляемые поля с выражением и заголовком
totalFieldsресурсы (итоги) с выражением
parametersпараметры с типом, значением, выражением и признаком ограничения
variantsварианты настроек: отбор, порядок, структура
templatesмакеты схемы

MCP параметры

ПараметрОписание
TemplatePathПуть к Template.xml или каталогу макета (авто-резолв в Ext/Template.xml)
sourceSetИмя набора исходников из v8project.yaml
metadataPathЛогический адрес, например Report.<Отчёт>.Template.<Макет>

Кроме селектора цели предметных аргументов нет — только общие cwd и confirm.

Селектор цели ровно один: либо sourceSet + metadataPath, либо TemplatePath. Оба сразу отклоняются кодом selector_conflict (ADR-0049). Mode, Name, Batch, Raw, Limit и Offset сняты (ADR-0048): схема приходит целиком, сырой текст запроса лежит в dataSets[].query, а отбор набора, поля или варианта выполняется над data.

Overview: точка входа

json
{
"jsonrpc": "2.0",
"method": "tools/call",
"params": {
"name": "unica.dcs.info",
"arguments": {
"cwd": "<workspace>",
"TemplatePath": "<путь>"
}
}
}

Текст запроса набора

json
{
"jsonrpc": "2.0",
"method": "tools/call",
"params": {
"name": "unica.dcs.info",
"arguments": {
"cwd": "<workspace>",
"TemplatePath": "<путь>"
}
}
}

Текст третьего пакета запроса

json
{
"jsonrpc": "2.0",
"method": "tools/call",
"params": {
"name": "unica.dcs.info",
"arguments": {
"cwd": "<workspace>",
"TemplatePath": "<путь>"
}
}
}

Сырой текст запроса для round-trip правки

json
{
"jsonrpc": "2.0",
"method": "tools/call",
"params": {
"name": "unica.dcs.info",
"arguments": {
"cwd": "<workspace>",
"TemplatePath": "<путь>"
}
}
}

Деталь поля

json
{
"jsonrpc": "2.0",
"method": "tools/call",
"params": {
"name": "unica.dcs.info",
"arguments": {
"cwd": "<workspace>",
"TemplatePath": "<путь>"
}
}
}

Вычисляемое поле

json
{
"jsonrpc": "2.0",
"method": "tools/call",
"params": {
"name": "unica.dcs.info",
"arguments": {
"cwd": "<workspace>",
"TemplatePath": "<путь>"
}
}
}

Ресурс

json
{
"jsonrpc": "2.0",
"method": "tools/call",
"params": {
"name": "unica.dcs.info",
"arguments": {
"cwd": "<workspace>",
"TemplatePath": "<путь>"
}
}
}

Трассировка поля

json
{
"jsonrpc": "2.0",
"method": "tools/call",
"params": {
"name": "unica.dcs.info",
"arguments": {
"cwd": "<workspace>",
"TemplatePath": "<путь>"
}
}
}

Вариант настроек

json
{
"jsonrpc": "2.0",
"method": "tools/call",
"params": {
"name": "unica.dcs.info",
"arguments": {
"cwd": "<workspace>",
"TemplatePath": "<путь>"
}
}
}

Карта шаблонов

json
{
"jsonrpc": "2.0",
"method": "tools/call",
"params": {
"name": "unica.dcs.info",
"arguments": {
"cwd": "<workspace>",
"TemplatePath": "<путь>"
}
}
}

Шаблон по имени

json
{
"jsonrpc": "2.0",
"method": "tools/call",
"params": {
"name": "unica.dcs.info",
"arguments": {
"cwd": "<workspace>",
"TemplatePath": "<путь>"
}
}
}

Что где лежит в data

Прежние одиннадцать режимов были одиннадцатью отчётами по одной схеме. Теперь ответ приходит целиком, и «режим» — это выбор секции в data у себя:

Прежний режимГде эти факты теперь
overviewsupport, dataSources, dataSets[].name/kind, links
querydataSets[].query — текст целиком, включая многопакетные запросы
fieldsdataSets[].fields[]: dataPath, field, title
linkslinks[] с выражениями источника и приёмника
calculatedcalculatedFields[]: выражение, заголовок, restricted
resourcestotalFields[]: выражение и group (null — итог в целом)
paramsparameters[]: тип, значение, выражение, restricted, availableAsField
variantvariants[]: selection, order, filters, structure[].groupBy
templatestemplates[]
traceСобирается у потребителя: поле ищется в dataSets[].fields, затем в calculatedFields и totalFields
fullВесь ответ и есть full

-Name больше не аргумент инструмента. Отбор по имени делается над нужной коллекцией внутри data: набор — фильтром data.dataSets по name, поле — обходом data.dataSets[].fields по dataPath, вычисляемое поле и ресурс — по dataPath в data.calculatedFields и data.totalFields, вариант — по name в data.variants. Второй вызов инструмента для этого не нужен.

Типичный workflow

  1. Один вызов — вся схема в data.
  2. Колонка отчёта: найди dataPath в calculatedFields или totalFields,

затем сопоставь операнды выражения с dataSets[].fields[].dataPath.

  1. Текст запроса: dataSets[].query.
  2. Группировки и фильтры варианта: variants[].structure[].groupBy и

variants[].filters.

Переработка запроса (round-trip): возьми data.dataSets[].query -> правка текста из ответа -> unica.dcs.edit с Operation=set-query и Value=<исправленный текст>. Текст приходит без декораций и без обрезки, поэтому передача точна, включая многопакетные запросы с временными таблицами.

Верификация

Overview: точка входа

json
{
"jsonrpc": "2.0",
"method": "tools/call",
"params": {
"name": "unica.dcs.info",
"arguments": {
"cwd": "<workspace>",
"TemplatePath": "<path>"
}
}
}

Трассировка поля

json
{
"jsonrpc": "2.0",
"method": "tools/call",
"params": {
"name": "unica.dcs.info",
"arguments": {
"cwd": "<workspace>",
"TemplatePath": "<path>"
}
}
}

Логический адрес вместо пути

unica.dcs.info принимает либо логический селектор, либо файловый путь — ровно один из двух. Оба сразу отклоняются кодом selector_conflict.

json
{
"jsonrpc": "2.0",
"method": "tools/call",
"params": {
"name": "unica.dcs.info",
"arguments": {
"cwd": "<workspace>",
"sourceSet": "<имя набора>",
"metadataPath": "Report.<Отчёт>.Template.<Макет>"
}
}
}

Имя набора даёт unica.project.map, адрес — unica.source.resolve, а unica.source.locate переводит в адрес путь, найденный иначе. Файловый селектор сохраняется до отдельного среза его снятия (ADR-0049).

← v1.0.0All versionsv1.0.2 →