Как получить записи из нескольких объектов с помощью текстового поиска в динамике CRM по Javascript или API? - PullRequest
0 голосов
/ 28 июня 2019

Я хочу получить записи из нескольких объектов путем сопоставления текста. Возможно ли использовать fetchxml или web api? Я хочу использовать его с помощью JavaScript.

Ответы [ 2 ]

0 голосов
/ 28 июня 2019

Это, безусловно, достижимо с помощью FetchXML. В частности, вы хотите использовать оператор like . Например, следующий запрос Fetch ищет имя контакта и адрес электронной почты для заданного значения:

<fetch version="1.0" output-format="xml-platform" mapping="logical" distinct="false">
  <entity name="contact">
    <attribute name="fullname" />
    <attribute name="contactid" />
    <filter type="and">
      <filter type="or">
        <condition attribute="fullname" operator="like" value="%[Insert Dynamic Value]%" />
        <condition attribute="emailaddress1" operator="like" value="%[Insert Dynamic Value]%" />
      </filter>
    </filter>
  </entity>
</fetch>

Напишите аналогичный запрос на выборку для каждой таблицы, которую вы хотите найти.

Можно ли объединить все сущности вместе, а не запрашивать отдельно, используя fetchXml?
Нет, по замыслу FetchXML не поддерживает запросы к нескольким несвязанным записям. Хотя вы можете выполнять запросы к связанным записям в одном выражении выборки, вы не можете применять условия ИЛИ для нескольких таблиц. Например, вы не можете написать запрос FetchXML, сопоставимый со следующим SQL:

SELECT *
FROM contact
JOIN account on contact.accountid = account.accountid
WHERE contact.fullname like '%foo%'
OR account.name like '%foo%'
0 голосов
/ 28 июня 2019

Возможно, хотя и не поддерживается, доступ к поиску релевантности через API: https://bguidinger.com/blog/relevance-search-api

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...