name: kd31-rules description: > Программная работа с «Конвертация данных, редакция 3.1» (КД 3.1) через MCP-toolkit (HTTP API) к живой ИБ: инспекция и создание Конвертаций, ПКО, ПКС, ПКПД, ПОД, теневой модели метаданных (Конфигурации/Объекты/Свойства/Релизы) и слоя формата EnterpriseData (ВерсииФормата/ОбъектыФормата); расширение формата ED с собственным namespace; генерация модуля менеджера обмена и выгрузка XSD штатными обработками КД 3.1; перенос артефактов в расширение конфигурации. Содержит проверенную на живой ИБ схему данных, BSL-шаблоны для execute_code, грабли toolkit. Триггеры: «КД 3.1», «конвертация данных 3.1», «правила обмена EnterpriseData», «настроить ПКО ПКС ПКПД ПОД», «расширение формата ED», «модуль менеджера обмена», «обмен через универсальный формат», «подключить конфигурацию к КД». English: «1C Data Conversion 3.1», «KD 3.1», «EnterpriseData exchange rules», «conversion manager module».
KD 3.1 - правила обмена EnterpriseData через MCP-toolkit
Скилл описывает работу с живой ИБ «Конвертация данных, редакция 3.1» (КД 3.1)
через MCP-toolkit HTTP API: исследование структуры правил, создание/правка
правил, настройка формата и получение артефактов для расширения формата
EnterpriseData - модуля менеджера обмена (общий модуль BSL) и XDTO-пакета
расширения / версии формата (XSD).
Структура и грабли проверены на реальной ИБ КД 3.1.6.14 (платформа 8.5.1.1302) через toolkit, а не взяты из общих источников.
Модель данных: КД 3.1 близка к КД 2.0 + слой формата
В этой сборке КД 3.1 по структуре похожа на КД 2.0:
- Теневая модель метаданных:
Релизы(версия загруженной структуры) ->Объекты(Владелец=Релизы) ->Свойства/Значения(Владелец=Объекты).Конфигурации- топ-контейнер, на который ссылаются Релизы (версии живут в Релизах). - Правила в справочниках:
ПравилаКонвертацииОбъектов(ПКО),ПравилаКонвертацииСвойств(ПКС, Владелец=ПКО - это справочник, не регистр),ПравилаКонвертацииПредопределенныхДанных(ПКПД),ПравилаОбработкиДанных(ПОД),ПравилаРегистрацииОбъектов(ПРО, Владелец=Регистрации). ПКО/ПОД/ПКПД - топ-уровневые (без Владельца), связь с конвертацией - черезСоставыКонвертаций. ВАЖНО: у ПКО нет реквизита Наименование (идентификатор в Коде, искать НайтиПоКоду) и ПКО НЕ иерархичен (нет ЭтоГруппа); ПКС иерархичен. Паттерн заполнения - 2 ПКО на объект (<Объект>_Отправка+<Объект>_Получение), эталон в демо. См. bsl-templates.md. - Дополнительно - слой формата EnterpriseData (цепочка справочников):
ВерсииФормата(ПространствоИмен, признак расширения) ->ОбъектыФормата(Владелец=ВерсииФормата) ->СвойстваФормата->ЗначенияФормата; типы -ТипыФормата.
Отличие результата от КД 2.0: КД 3.1 генерирует модуль менеджера обмена (BSL)
для движка ОбменДаннымиXDTO плюс работает с XDTO-пакетом/версией формата, а
не выгружает XML-правила для «Универсального обмена». Для КД 2.0 - скилл kd2-rules.
Архитектура работы
Claude (агент) --Bash+curl (payload через jq/python в файл)--> MCP-toolkit (КД 3.1, СЕРВЕРНЫЙ контекст)
-> справочники Конвертации/ПКО/ПКС/ПКПД/ПОД + теневая модель + слой формата
-> штатные обработки (ЗагрузкаСтруктурыКонфигурацииИзФайловXML, НастройкаПравилОбмена, ВыгрузкаМодуля)
-> артефакты: CommonModule (менеджер обмена) + XDTOPackage/XSD расширения
-> перенос в расширение конфигурации-приёмника (например УНФ)
Эндпоинты toolkit (порт по умолчанию 6011):
POST /api/execute_query- запросы к справочникам/состоянию.POST /api/execute_code- чтение метаданных, создание/правка элементов. Серверный, безВозврат- результат черезРезультат = ....GET /api/get_metadata?type=Configuration- метаданные.
Граница автоматизации
Через toolkit реально:
- Инспекция структуры и состояния (состав справочников, реквизиты, статус Конвертации, есть ли Релиз).
- Создание/правка правил как элементов справочников: Конвертация, ПКО, ПКС, ПКПД, ПОД, СоставыКонвертаций (со снятой защитой записи в форме toolkit). ПКО/ПОД/ПКПД - топ-уровневые, в конвертацию включаются записью СоставыКонвертаций.
- Точечная правка реквизитов и привязок.
- Загрузка структуры и генерация модуля - тоже программно: у форменных обработок есть
headless-точки входа (
ВыполнитьЗагрузкуМетаданных,ВыполнитьВыгрузкуМодулей), вызываемые через фоновое задание. См.methods.md.
Удобнее интерактивно (через формы обработок КД 3.1), но НЕ обязательно:
- Загрузка структуры конфигурации (
ЗагрузкаСтруктурыКонфигурацииИзФайловXML) - заполняет Релиз + Объекты/Свойства. Без неё правила привязывать не к чему. Headless -methods.mdп.1 (для большой конфигурации запускать через фон). - Создание/расширение версии формата (
ВыгрузкаСтруктурыФормата/ редакторы формата). - Генерация модуля менеджера (
ВыгрузкаМодуля). Headless -methods.mdп.2.
Перед массовой работой проверять, что Релизы загружены:
ВЫБРАТЬ КОЛИЧЕСТВО(*) ИЗ Справочник.Релизы (0 -> структура не загружена).
Карта references
| Документ | Что внутри | Когда читать |
|---|---|---|
references/data-schema.md |
проверенные справочники и реквизиты (Конвертации, ПКО, ПКС, ПКПД, ПОД, теневая модель, слой формата), фактические имена обработок | нужны точные имена объектов/реквизитов |
references/bsl-templates.md |
BSL для execute_code: инспекция, состояние конвертации, создание ПКО/ПКС, привязка версии формата | конкретная операция через toolkit |
references/format-extension.md |
расширение формата ED: версия формата с namespace, привязка к Конвертации, обработчики ПКО, генерация менеджера, перенос в расширение; workflow + контекст проекта | разработка расширения формата и перенос артефактов |
references/methods.md |
программный API обработок (headless): загрузка структуры ВыполнитьЗагрузкуМетаданных, генерация модуля ВыполнитьВыгрузкуМодулей, приём вызова форменной обработки в обход UI, file:line |
нужно вызвать обработку КД программно через toolkit |
references/troubleshooting.md |
грабли toolkit :6011 и КД 3.1 (кодировка, Количество(), тип коллекции метаданных, длины реквизитов, имена перечислений) | при ошибке execute_code/execute_query |
Scripts
scripts/kd31_query.sh "<запрос>" [out.json]- execute_query.scripts/kd31_exec.sh <файл.bsl> [out.json]- execute_code из BSL-файла.
Оба: payload через jq (fallback python) + curl --data-binary @файл, порт через
KD31_PORT (по умолчанию 6011). Если указан out.json - ответ в файл (читать
через Read: терминал портит кириллицу).
Демо-база КД 3.1 как эталон (НАСТОЯТЕЛЬНО)
Если доступна демо-база КД 3.1 (типовая поставка содержит готовую конвертацию,
напр. «БП->УП» - сотни ПКО, тысячи ПКС) - использовать её как ЭТАЛОН заполнения
правил, а не угадывать. Демо идентична боевой по структуре метаданных. Перед
созданием своего ПКО/ПКС снять образец аналогичного правила из демо (Код, как
заполнены ОбъектКонфигурации/ОбъектФормата, паттерн _Отправка/_Получение, как
оформлены прямые vs алгоритмические ПКС, ссылочные через ПравилоКонвертацииСвойства).
Порт демо задаётся при запуске её toolkit (в проекте Пример - :7004,
боевая - :6011; уточнять). Чтение демо - KD31_PORT=<порт> bash scripts/kd31_query.sh "...".
Базовая проверка готовности
curl -s -o /dev/null -w "%{http_code}\n" "http://localhost:6011/api/get_metadata?type=Configuration" # 200
bash scripts/kd31_query.sh "ВЫБРАТЬ КОЛИЧЕСТВО(*) КАК К ИЗ Справочник.Конвертации"
bash scripts/kd31_query.sh "ВЫБРАТЬ КОЛИЧЕСТВО(*) КАК К ИЗ Справочник.Релизы"
# Релизы=0 -> структура конфигурации не загружена; для расширения проверить ЕстьРасширения
bash scripts/kd31_query.sh "ВЫБРАТЬ Наименование, ЕстьРасширения ИЗ Справочник.Релизы ГДЕ НЕ ЭтоГруппа"
Связанные скиллы
1c-mcp-toolkit- HTTP API к живой ИБ 1С (этот скилл - надстройка).kd2-rules- аналог для КД 2.0 (та же идея, другой результат - XML-правила).composing-1c-queries- синтаксис запросов для execute_query.