Подсетевой выбор данных в crm - PullRequest
0 голосов
/ 10 марта 2020

У меня есть подсетка с динамикой 365 crm, названная конкурентами. Мне нужно получить данные из этой подсетки и распечатать их в виде оповещения. Я искал в net, но каждое решение, которое я получал, когда использовал, выбрасывает ошибки как ограниченные методы, как я могу получить данные подсетки в приложении Dynamics 365, используя JavaScript. Может ли кто-нибудь предоставить пример кода для этого. Заранее спасибо

Ответы [ 2 ]

1 голос
/ 10 марта 2020

Ниже приведен код, который я пробовал в одном из своих экземпляров. Учитывая, что вы хотите получать оповещения об объекте Opportunity и о слишком большой загрузке формы.

Используйте отладчик, и вы получите данные.

function onLoad(executionContext){
debugger;
   var formContext = executionContext.getFormContext();   
var formType= formContext.ui.getFormType();
if(formType && formType!==1 && formContext.data.entity.getId()){
    retreiveOppCompRecords(formContext.data.entity.getId().replace(/[{}]/g, "")).then(
            function success(result) {              
             if(result.entities.length > 0){
                 for(i=0;i<result.entities.length;i++){

                 }               
             }               

            },
            function (error) {
                var alertStrings = {
                    confirmButtonLabel: "OK",
                    text: 'Failed at Function: enableDisableExpiryDate with error: ' + error.message
                };
                var alertOptions = {
                    height: 250,
                    width: 450
                };
                Xrm.Navigation.openAlertDialog(alertStrings, alertOptions);
            }
        );
}
}


function retreiveOppCompRecords(recordId){
    var fetchxml = ['<fetch version="1.0" output-format="xml-platform" mapping="logical" distinct="false">',
  '<entity name="opportunity" >',
    '<attribute name="name" />',
    '<filter type="and" >',
      '<condition attribute="opportunityid" operator="eq" value="' + recordId + '" />',
    '</filter>',
    '<link-entity name="opportunitycompetitors" from="opportunityid" to="opportunityid" alias="OppCompetitor" intersect="true" >',
      '<link-entity name="competitor" from="competitorid" to="competitorid" link-type="inner" alias="Competitor" >',
        '<attribute name="websiteurl" alias="CompetitorWebsite" />',
        '<attribute name="name" alias="CompetitoName" />',
      '</link-entity>',
    '</link-entity>',
  '</entity>',
'</fetch>'].join("");

    fetchxml = "?fetchXml=" + encodeURIComponent(fetchxml); 
    return Xrm.WebApi.retrieveMultipleRecords("opportunity", fetchxml);
}
0 голосов
/ 03 мая 2020

Поскольку AnkUser ускользнул от вас, вам нужно извлечь связанные записи из вашей подсетки, добавив в теги <attribute name=''> необходимые для нужных вам столбцов.

Помните, что подсетка - это просто представление данных обычно ассоциируется с данной записью.

Что конкретно вы пытаетесь получить из подсетки?

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