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.<Источник>.