child-operations.md был на 191 строку и держал в одном файле реквизиты, поля внешнего источника, таблицы, функции, ТЧ, предопределённые и значения перечисления: модель, добавляющая реквизит, читала заодно про функции внешнего источника. Ось резки была механизмом (add/remove/ modify), а нужна сущность — как в meta-compile. SKILL.md: частое (команда, сводная таблица операций, быстрые примеры) плюс индекс «что правишь → файл». Остальное — reference/: attributes, tabular-sections, predefined, external-data-source, other-children, properties (бывший properties-reference), json-dsl. Попутно: везде «навык form-add», а не голое имя — иначе читается как команда оболочки или значение -Operation. Тексты предупреждений в обоих портах тоже. scripts/switch.py собирал .md только из корня навыка, подкаталоги не видел: команды запуска в reference/*.md молча остались бы на старом рантайме. Обход стал рекурсивным. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01NBsZA5cr2WFThtgp7i5WVi
4.1 KiB
Свойства объекта и свойства-списки
Справочник операций для обычных свойств объекта и свойств-списков (Owners, RegisterRecords, BasedOn, InputByString).
modify-property
Изменение свойств объекта по имени свойства 1С (PascalCase, как в конфигураторе). Формат: Ключ=Значение
(batch через ;;):
-Operation modify-property -Value "CodeLength=11 ;; DescriptionLength=150"
-Operation modify-property -Value "Hierarchical=true"
Свойство можно задать, даже если оно ещё не выставлено у объекта (например FullTextSearch, DataHistory).
Допустимы имена свойств соответствующего типа объекта.
Type — тип значения (Константа, ПВХ)
Type=... перестраивает дескриптор типа значения. Значение — тип 1С в том же синтаксисе,
что у реквизитов: составной через +, с квалификаторами и ссылочными типами:
-Operation modify-property -Value "Type=String(100) + Number(15,2) + CatalogRef.Номенклатура"
Структурные свойства (со вложенными узлами) через Ключ=Значение не задаются — исключение только Type.
Свойства-списки
Свойства, значение которых — список ссылок. Управляются через inline add-* / remove-* / set-* и через JSON modify.properties.
| Свойство | Объекты | Inline-значение |
|---|---|---|
| Owners | Catalog, ChartOfCharacteristicTypes | Catalog.XXX |
| RegisterRecords | Document | AccumulationRegister.XXX |
| BasedOn | Document, Catalog, BP, Task | Document.XXX |
| InputByString | Catalog, ChartOf*, Task | StandardAttribute.Description |
| DataLockFields | Catalog, Document, регистры и др. | Организация (короткое имя реквизита → полный путь) |
| RegisteredDocuments | DocumentJournal | Document.XXX |
add-owner / add-registerRecord / add-basedOn / add-registeredDocument
Полное имя метаданных MetaType.Name:
-Operation add-owner -Value "Catalog.Контрагенты ;; Catalog.Организации"
-Operation add-registerRecord -Value "AccumulationRegister.ОстаткиТоваров"
-Operation add-basedOn -Value "Document.ЗаказКлиента"
-Operation add-registeredDocument -Value "Document.РасходныйОрдер"
add-inputByString / add-dataLockField
Пути полей (короткое имя реквизита разворачивается в полный путь автоматически):
-Operation add-inputByString -Value "StandardAttribute.Description ;; StandardAttribute.Code"
-Operation add-dataLockField -Value "Организация ;; Контрагент"
remove-owner / remove-registerRecord / remove-basedOn / remove-inputByString / remove-dataLockField / remove-registeredDocument
-Operation remove-owner -Value "Catalog.Контрагенты"
-Operation remove-inputByString -Value "Catalog.МойСпр.StandardAttribute.Code"
-Operation remove-dataLockField -Value "Организация"
set-owners / set-registerRecords / set-basedOn / set-inputByString / set-dataLockFields / set-registeredDocuments
Заменяют весь список (в отличие от add/remove):
-Operation set-owners -Value "Catalog.Организации ;; Catalog.Контрагенты"
-Operation set-registerRecords -Value "AccumulationRegister.Продажи ;; AccumulationRegister.ОстаткиТоваров"
-Operation set-inputByString -Value "StandardAttribute.Description ;; StandardAttribute.Code"