Как получить динамическую схему и логические имена для @ odata.bind в Dynamics CRM? - PullRequest
0 голосов
/ 27 февраля 2019

Я пытаюсь клонировать запись объекта в Dynamics CRM 2016, используя Javascript и CRM Web API.

Но у меня возникли проблемы при попытке кодировать динамическое связывание полей поиска.

Вмой код У меня есть несколько методов:

  1. Получение записи -> возвращает объект JSON с полями поиска, такими как "_createdby_value"
  2. Создание записи -> принимает объект JSON, удаляет его uniqueidentifier и создает новыйзапись с использованием CRM Web API.

Итак, я хочу скопировать все поля поиска из родительской записи, но не могу найти способ получения значений для @ odata.bind для каждого поля поиска.

Я нашел метод:

/api/data/v8.1/$metadata#opportunities/$entity

Он возвращает всю информацию метаданных системы, но мне нужен только один EntitySet с его NavigatonPropertyBindings

Они выглядят так:

<EntitySet Name="opportunities" EntityType="Microsoft.Dynamics.CRM.opportunity">
    <NavigationPropertyBinding Path="opportunitycompetitors_association" Target="competitors"/>
    <NavigationPropertyBinding Path="campaignid" Target="campaigns"/>
    <NavigationPropertyBinding Path="parentcontactid" Target="contacts"/>
    <NavigationPropertyBinding Path="Opportunity_Phonecalls" Target="phonecalls"/>
    <NavigationPropertyBinding Path="Opportunity_AsyncOperations" Target="asyncoperations"/>

Таким образом, мое решение состоит в том, чтобы извлечь эти данные и сгенерировать @odata.bind на основе этого объекта EntitySet.

Помогите, пожалуйста, получить его, или, возможно, у вас есть другой способ клонировать энтиТы запись?

...