Skip to the content.

Назад

GET /md

Получает список, зарегистрированных на сервере DaJet, баз данных.

Запрос

curl -X GET http://localhost:5000/md

Ответ

[
  {
    "Name": "ms-demo",
    "Description": "",
    "UseExtensions": false,
    "DatabaseProvider": "SqlServer",
    "ConnectionString": "Data Source=server;Initial Catalog=unf;Integrated Security=True;Encrypt=False;",
    "TypeCode": 50,
    "Identity": "e0539cc0-cccc-4423-88a5-a601ca1ad74f"
  },
  {
    "Name": "pg-demo",
    "Description": "",
    "UseExtensions": false,
    "DatabaseProvider": "PostgreSql",
    "ConnectionString": "Host=127.0.0.1;Port=5432;Database=unf;Username=postgres;Password=postgres;",
    "TypeCode": 50,
    "Identity": "955c1791-dd7e-4207-b082-ebfde236eac9"
  }
]

GET /md/{infobase}

Получает свойства конфигурации базы данных по её имени.

Запрос

curl -X GET http://localhost:5000/md/ms-demo

Ответ

{
  "PlatformVersion": 80313,
  "CompatibilityVersion": 80321,
  "AppConfigVersion": "3.0.4.45",
  "Description": "Управление нашей фирмой, редакция 3.0",
  "DetailedDescription": "Управление нашей фирмой, редакция 3.0",
  "Provider": "Фирма \u00221С\u0022",
  "YearOffset": 0,
  "SyncCallsMode": 0,
  "DataLockingMode": 1,
  "ModalWindowMode": 2,
  "AutoNumberingMode": 1,
  "UICompatibilityMode": 2,
  "NamePrefix": null,
  "MapMetadataByUuid": true,
  "ExtensionCompatibility": 0,
  "Uuid": "de29c81d-d880-419b-8f65-cc49813f0e9a",
  "Parent": "00000000-0000-0000-0000-000000000000",
  "Name": "УправлениеНебольшойФирмой",
  "Alias": "Управление нашей фирмой, редакция 3.0",
  "Comment": ""
}

GET /md/{infobase}/{type}

Получает список объектов метаданных определённого типа.

Запрос

curl -X GET http://localhost:5000/md/ms-demo/Справочник

Ответ

[
  {
    "Type": "cf4abea6-37b2-11d4-940f-008048da11f9",
    "Uuid": "40045984-a54c-42bd-8ea8-1c10672f40ec",
    "Name": "АвансовыйОтчетПрисоединенныеФайлы"
  },
  {
    "Type": "cf4abea6-37b2-11d4-940f-008048da11f9",
    "Uuid": "b8c0e639-11ba-4822-ab0b-0555e960d559",
    "Name": "АвансовыйПлатежИностранцаПоНДФЛПрисоединенныеФайлы"
  },
  ... и так далее ...
]

GET /md/{infobase}/{type}/{name}

Получает свойства объекта метаданных определённого типа.

Запрос

curl -X GET http://localhost:5000/md/ms-demo/Справочник/БанковскиеСчета

Ответ

{
  "Code": 21,
  "Uuid": "46bd4919-eaaa-4d20-9448-1c15fffa60a4",
  "Type": "Справочник",
  "Name": "БанковскиеСчета",
  "Alias": "Банковские счета",
  "DbTable": "_Reference21",
  "Comment": "",
  "FullName": "Справочник.БанковскиеСчета",
  "Properties": [
    {
      "Uuid": "43078d73-5cc3-4032-af67-5a0e45e8dd09",
      "Name": "НомерСчета",
      "Alias": "Номер счета",
      "Comment": "",
      "Purpose": "Реквизит",
      "Columns": [
        {
          "DbName": "_Fld626",
          "Purpose": "Значение"
        }
      ],
      "DataType": [
        {
          "Type": "Строка(34,Переменная)"
        }
      ],
      "References": []
    },
    ... и так далее ...
    {
      "Uuid": "00000000-0000-0000-0000-000000000000",
      "Name": "Владелец",
      "Alias": "",
      "Comment": "",
      "Purpose": "СтандартныйРеквизит",
      "Columns": [
        {
          "DbName": "_OwnerID_TYPE",
          "Purpose": "Дискриминатор"
        },
        {
          "DbName": "_OwnerID_RTRef",
          "Purpose": "КодСсылки"
        },
        {
          "DbName": "_OwnerID_RRRef",
          "Purpose": "Ссылка"
        }
      ],
      "DataType": [
        {
          "Type": "Ссылка"
        }
      ],
      "References": []
    },
  ... и так далее ...
  "TableParts": []
}

GET /md/{infobase}/{type}/{name}?{details=full}

Получает логические связи (внешние ссылки) для свойств ссылочного типа объекта метаданных определённого типа.

Запрос

curl -X GET http://localhost:5000/md/ms-demo/Справочник/БанковскиеСчета?details=full

Ответ

{
  "Code": 21,
  "Uuid": "46bd4919-eaaa-4d20-9448-1c15fffa60a4",
  "Type": "Справочник",
  "Name": "БанковскиеСчета",
  "Alias": "Банковские счета",
  "DbTable": "_Reference21",
  "Comment": "",
  "FullName": "Справочник.БанковскиеСчета",
  "Properties": [
    ... и так далее ...
    {
      "Uuid": "00000000-0000-0000-0000-000000000000",
      "Name": "Владелец",
      "Alias": "",
      "Comment": "",
      "Purpose": "СтандартныйРеквизит",
      "Columns": [
        {
          "DbName": "_OwnerID_TYPE",
          "Purpose": "Дискриминатор"
        },
        {
          "DbName": "_OwnerID_RTRef",
          "Purpose": "КодСсылки"
        },
        {
          "DbName": "_OwnerID_RRRef",
          "Purpose": "Ссылка"
        }
      ],
      "DataType": [
        {
          "Type": "Ссылка"
        }
      ],
      "References": [
        {
          "FullName": "Справочник.Организации"
        },
        {
          "FullName": "Справочник.Контрагенты"
        },
        {
          "FullName": "Справочник.ФизическиеЛица"
        }
      ]
    },
  ... и так далее ...
  "TableParts": []
}

GET /md/reset/{infobase}

Очищает кэш метаданных на сервере DaJet по имени базы данных.

Запрос

curl -X GET http://localhost:5000/md/reset/ms-demo

Ответ

< HTTP/1.1 200 OK
< Content-Length: 0
< Date: Wed, 20 Aug 2025 19:04:32 GMT
< Server: Kestrel

GET /md/diagnostic/{infobase}

Выполняет диагностику правильности чтения метаданных. Выполняется сравнение того, что DaJet прочитал, с реальной структурой базы данных. Сервер DaJet в теле ответа сообщает только несоответствия, если они имеют место быть. В противном случае тело ответа пустое.

Запрос

curl -X GET http://localhost:5000/md/diagnostic/ms-demo

Ответ

< HTTP/1.1 200 OK
< Content-Length: 289
< Content-Type: text/plain; charset=utf-8
< Date: Wed, 20 Aug 2025 19:11:02 GMT
< Server: Kestrel
<
[_AccumRg29548] РегистрНакопления.ДвиженияДенежныхСредств
* insert (отсутствующие поля)
  - _dimhash
[_AccumRg8102] РегистрНакопления.Продажи
* insert (отсутствующие поля)
  - _dimhash

POST /md

Регистрирует новую базу данных на сервере DaJet. В случае успеха возвращается HTTP-код 201 (Created), а в теле ответа - идентификатор записи в реестре баз данных сервера DaJet, который был передан в свойстве “Identity”.

Запрос

curl -X POST -H "Content-Type: application/json; charset=utf-8" -d @infobase.json http://localhost:5000/md

Тело запроса в кодировке UTF-8, файл infobase.json

{
  "Code": 50,
  "Identity": "78ffd48e-93d6-4628-8b5d-ef3a8c9569c0",
  "Name": "new-infobase",
  "Description": "Новая информационная база данных",
  "UseExtensions": false,
  "DatabaseProvider": "SqlServer",
  "ConnectionString": "Data Source=server;Initial Catalog=database;Integrated Security=True;Encrypt=False;"
}

Ответ

< HTTP/1.1 201 Created
< Content-Type: application/json; charset=utf-8
< Date: Wed, 20 Aug 2025 19:23:40 GMT
< Server: Kestrel
< Location: new-infobase
< Transfer-Encoding: chunked
<
"78ffd48e-93d6-4628-8b5d-ef3a8c9569c0"