Files
cc-1c-skills/.claude/skills/meta-edit/reference/properties.md
T
51bcc503b0 fix(meta-edit): свойства-списки у заимствованного объекта и не своего типа (#99)
У заимствованного объекта расширения в Properties только изменённые свойства.
add-registerRecord и прочие add-*/set-* над списками не находили элемент, печатали
WARN, файл не меняли и выходили с кодом 0.

- Движения заимствованного документа: отсутствующий RegisterRecords создаётся.
- Прочие списки у заимствованного объекта — отказ. Проверено на 8.3.27: Owners и
  RegisteredDocuments платформа контролирует на равенство основной конфигурации
  (расширение не применяется), BasedOn/InputByString/DataLockFields и движения
  последовательности молча выбрасывает при загрузке.
- Свойство, которого у типа объекта нет (движения у справочника), — отказ; раньше
  modify.properties дописывал его, и meta-validate это пропускал.
- У обычного объекта отсутствие элемента — отказ вместо WARN.
- reference/properties.md: типы объектов в таблице — по выгрузкам ERP, БП, УТ, УНФ.
- verify-snapshots: двухэтапная загрузка и по params.extensionPath кейса.

Co-Authored-By: Roman Syuzyov <rsyuzyov@gmail.com>
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
2026-09-26 16:41:14 +03:00

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 Catalog.XXX
RegisterRecords Document, Sequence AccumulationRegister.XXX
BasedOn ссылочные* Document.XXX
InputByString ссылочные* StandardAttribute.Description
DataLockFields ссылочные* Организация (короткое имя реквизита → полный путь)
RegisteredDocuments DocumentJournal Document.XXX

* Catalog, Document, ChartOfCharacteristicTypes, ChartOfAccounts, ChartOfCalculationTypes, ExchangePlan, BusinessProcess, Task.

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"