Files
cc-1c-skills/.agents/skills/meta-edit/reference/external-data-source.md
T

2.7 KiB

Внешние источники данных

Точечные правки внутри уже созданного источника: поле в таблицу, таблица и функция в источник. Источник целиком собирает навык meta-compile — его повторный запуск заменяет файл источника, выдаёт новый uuid и оставляет сиротами таблицы, которых нет в описании.

add-field — поле таблицы

Правится файл таблицы: ExternalDataSources/<Источник>/Tables/<Таблица>.xml.

Поле задаётся как обычный реквизит, плюс три своих ключа: nameInDataSource (умолчание — имя поля), readOnly, allowNull. Флаги строковой формы — readonly, nullable.

{ "add": { "fields": [
  "barcode: String(20) | nullable",
  { "name": "cost", "type": "Number(15,2)", "nameInDataSource": "cost_net", "readOnly": true }
] } }

Типы поля: Number, String, Date, Boolean, UUID, BinaryData и ссылка на таблицу того же источника — ExternalDataSourceTableRef.<Источник>.<Таблица>. Составной тип платформа запрещает.

add-tables / add-functions — в файле источника

Правится файл источника: ExternalDataSources/<Источник>.xml. Таблица — единственная операция навыка, создающая файл: <Источник>/Tables/<Имя>.xml плюс имя в ChildObjects источника. Синтаксис таблицы и функции тот же, что у навыка meta-compile (reference/external-data-source.md там же).

{ "add": {
  "tables": { "sales": { "keyFields": ["id"], "fields": ["id: Number(10,0)", "summa: Number(15,2)"] } },
  "functions": { "nextKey": "NEXT VALUE FOR public.seq_key" }
} }

При добавлении таблицы не поддержаны ключи characteristics и default*Form — навык отвергает их, а не проглатывает молча. Характеристики задаются при сборке источника навыком meta-compile, форму назначает навык form-add.

Удаление

Таблицу удаляет навык meta-remove: ExternalDataSource.<Источник>.Table.<Таблица> — вместе с файлом и записью в ChildObjects. Весь источник — ExternalDataSource.<Источник>.