Идентификация объектов

При вызове различных методов сервиса, возникает необходимость передавать в параметрах внутренний id объекта базы данных системы Диста:ERP, например, id товара, id контрагента. Его получение возможно несколькими способами:

1. Внешняя система обеспечивает хранение id объектов системы Диста:ERP и их получение при формирование запросов.

2. Получение id через характеристики объекта.

Для этого можно использовать методы сервиса, возвращающие id объекта, например, метод db.getobj_id. В параметрах запроса указывается тип объекта и его характеристики и в ответе возвращается внутренний id объекта.

Например, выполнение запроса db.getobj_id с параметрами:

{
  "_type":"face",
  "inn":"123456"
}

приводит к поиску объекта "Контрагент" (face) с ИНН (inn) равным 123456.

В ответе сервиса содержится id объекта:

{
  "id":7823
}

Вызов метода можно указывать непосредственно в запросах требующих id объекта. Например, для получения остатка товара с артикулом "12345" при вызове метода qnts.get в параметрах запроса можно сделать вызов getobj_id:

{
  "good_id":{
    "@getobj_id":{
      "_type":"good",
      "code":"12345"
    }
  }
}

При добавлении объекта с помощью метода db.insertobj можно выполнить создание другого объекта:

{
  "_type":"doc",
  ...
  "face_id":{
    @insertobj:{
      "_type":"face"
      ...
    }
  }
  ...
}

В примере производится добавление документа с добавлением нового контрагента.