Кабинет
На этой странице

Инструменты · Метаданные

metadata_write

W · записьпо подпискеизменяет проект

Создаёт, изменяет и удаляет объекты метаданных и их узлы по адресу FQN. Одна операция — один узел; пачка — через коллекционный адрес.

обновлено 30.09.2026плагин 0.2.0 · EDT 2025.2Предложить правку или письмом

Когда использовать

  • Новый объект или узел: справочник, реквизит, табличная часть, измерение, ресурс, значение перечисления, узел формы или макета.
  • Изменить свойства существующего узла: тип, синоним, индексирование, проверку заполнения; переименовать узел — update с definition.name.
  • Включить объект в подсистемы — definition.subsystems.
  • Несколько узлов одной коллекции — один вызов с коллекционным адресом и массивом definition.
  • Перед удалением или сужением типа — сначала metadata_graph: кто использует объект и в какой роли.

Удаление и переименование без предварительного анализа — главный источник поломок. Перед ними посмотрите metadata_graph по объекту: он показывает, где объект используется как тип реквизита, в подсистемах, движениях документов, правах ролей и коде.

Соседние инструменты домена «Метаданные»

Операции

Операции metadata_write
operationЧто делаетНужно передать
createСоздаёт узел по адресу. Имя — последний сегмент адреса; родитель должен существовать. С коллекционным адресом и массивом — пакетное создание.project, fqn; definition — свойства узла
updateМеняет только переданные свойства узла. definition.name переименовывает узел — ответ возвращает новый адрес. Отдельной операции переименования нет.project, fqn, definition
deleteУдаляет узел. Необратимо — делайте снапшот; перед удалением — metadata_graph.project, fqn

Параметры

Параметры metadata_write
Параметр и типОбязательныйОписаниеПо умолчанию
projectстрокадаИдентификатор проекта рабочей области EDT — имя из ответа project_read (например, УТ2020). Для расширения — проект расширения.—
operationстрокадаОперация инструмента — значения и их смысл в таблице «Операции».значения: create · update · delete—
fqnстрокадаАдрес узла любого уровня: объект, реквизит, табличная часть, измерение, форма, макет. Маркер без имени в конце — коллекционный адрес для пачки.—
definitionобъект | массивдля update; для create — свойства узлаСвойства узла без имени (имя — в адресе). Реквизит, измерение, ресурс: type, synonym, comment, index_kind, fill_check_kind, quick_choice, password_mode, multi_line. Форма: form_kind, form_type. У объектов — subsystems. Для update — только меняемые свойства. Массив — пакетное создание, у каждого элемента name, до 100 элементов, всё или ничего. Полный контракт по адресу — metadata_read с гранью #help.—
dry_runбулевонетtrue — выполнить в транзакции и гарантированно откатить: ответ показывает изменения, конфигурация не меняется.false
titleстроканетНеобязательная подпись вызова до 40 символов: клиент показывает её в шапке карточки вызова. На результат не влияет.—

Таблица собрана из схемы инструмента, которую получает агент при подключении.

Адреса

Адрес — полное имя узла через точку, русские и английские типы. Маркер без имени — коллекционный адрес для пачки.

Адреса metadata_write
АдресЧто адресует
Catalog.Номенклатураобъект верхнего уровня
Catalog.Контрагенты.Attribute.ИННреквизит
Document.РеализацияТоваровУслуг.TabularSection.Товарытабличная часть
Document.РеализацияТоваровУслуг.TabularSection.Товары.Attribute.Количествореквизит табличной части
InformationRegister.КурсыВалют.Dimension.Валютаизмерение регистра
Catalog.Контрагенты.Form.ФормаЭлементаузел формы; содержимое формы — form_write
Document.РеализацияТоваровУслуг.Template.<Макет>узел макета; ячейки — spreadsheet_write
Catalog.Контрагенты.Attributeколлекционный адрес: пачка реквизитов

Пример вызова и ответа

Записи типов: Строка(N), Число(p,s), Число(p,s,Nonnegative), Булево, Дата(Date|Time|DateTime), ХранилищеЗначения, УникальныйИдентификатор, ссылочные СправочникСсылка.X, ДокументСсылка.X, ПеречислениеСсылка.X; английские синонимы (String, Number, CatalogRef.X) тоже принимаются. В Changes — то, что инструмент прочитал после записи: «было → стало».

аргументы metadata_write
{
  "project": "УТ2020",
  "operation": "update",
  "fqn": "Catalog.Контрагенты.Attribute.ИНН",
  "definition": { "type": "Строка(12)", "synonym": "ИНН организации" }
}
ответ инструмента
### 🟢 update — Catalog.Контрагенты.Attribute.ИНН

- **status:** 🟢 committed
- **fqn:** `Catalog.Контрагенты.Attribute.ИНН`
- **operation:** `update`

#### Changes

- synonym: «» → «ИНН организации»
- length: Строка(10) → Строка(12)

#### Warnings

- повторный write перезапишет тип без квалификатора

Отказы и ошибки

rolled_back · лишний ключ definition

Ключ не принимается узлом. Ответ называет ключ и ближайший правильный — и ничего не записывает. Контракт — metadata_read с гранью #help.

ответ инструмента
### 🟠 update — Catalog.Тест.Attribute.Сумма

- **status:** 🟠 rolled_back
- **fqn:** `Catalog.Тест.Attribute.Сумма`
- **operation:** `update`
- **rollback_reason:** validation failed: лишний ключ definition «тип» (did you mean «type»?)

rolled_back · тип не разрешён

Тип записан с ошибкой или EDT не допускает его для этого узла. В пачке ответ называет виновный элемент — definition[i] «Имя», и не создаётся ни один узел.

ответ инструмента
### 🟠 create — Catalog.Тест.Attribute ×3

- **status:** 🟠 rolled_back
- **fqn:** `Catalog.Тест.Attribute`
- **operation:** `create`
- **count:** 3
- **rollback_reason:** definition[1] «Скидка»: тип не разрешён: «Чизло(5,2)»; контракт: metadata_read Catalog.Тест.Attribute#help

failed · объект на поддержке

Объект закрыт поставщиком (🔒 на поддержке). Дорабатывайте его через расширение — см. Поддержка поставщика. Сразу после запуска EDT вместо этого может прийти support: UNDETERMINED — повторите через несколько секунд.

Не найдено

Родителя по адресу нет или в имени опечатка — ответ предлагает ближайшие имена в секции Did you mean. Проверьте адрес через metadata_read или search с операцией symbol.

failed · Unknown operation

Неизвестное значение operation. В ответе — fix_hint: supported: … со списком допустимых операций и секция Did you mean. Допустимо: create, update, delete.

failed · лицензия

Без действующего ключа инструмент отвечает карточкой failed с сообщением лицензия: … и подсказкой, где ввести ключ; в секции Context — список инструментов, доступных без ключа. Подробнее — Лицензия и бесплатный доступ.

Ограничения

  • Пачка — до 100 узлов за вызов, атомарно: либо все, либо ни одного.
  • Сразу после запуска EDT в конфигурации на поддержке возможен ответ support: UNDETERMINED — повторите через несколько секунд.
  • В проекте расширения пишутся только его собственные и заимствованные объекты; объект базовой конфигурации сначала заимствуйте через metadata_action.
  • Не поддерживаются стили и элементы стиля, пакеты XDTO, макеты видов «Текстовый документ» и «Двоичные данные».
  • Изменение записывается в модель EDT сразу; файл на диске обновляется через 5–30 секунд — Файл появился на диске не сразу.
Нашли ошибку — предложите правку.обновлено 30.09.2026

Например: metadata_write, «порт занят», коллекционный адрес.

↑ ↓ выборEnter открыть/ или Ctrl K — открыть поиск