Получение контактов с помощью номера мобильного телефона в веб-ресурсе HTML с использованием XRMServiceToolkit - PullRequest
0 голосов
/ 09 сентября 2018

Я следую за веб-ресурсом HTML, мне нужно получить контактный идентификатор, а затем сделать остальную часть материала. Это подсказывает мне, что у меня есть 1 контакт с этим конкретным номером телефона, но он вызывает исключение в retreivedContact (переменная в следующем javascript). Когда я иду и проверяю, отладчик mobileNumber также говорит, что он не определен. Пожалуйста, посмотрите и дайте мне знать, что все портит:

    <!DOCTYPE html>
<html>
<head>
    <title>Contacts</title>
    <script type="text/javascript" src="ClientGlobalContext.js.aspx"></script>
    <script type="text/javascript" src="../WebResources/new_jquery_1.9.1.min" ></script>
    <script type="text/javascript" src="../WebResources/new_xrmjson" ></script>
    <script type="text/javascript" src="../WebResources/new_xrmservicetoolkit" ></script>
    <script type="text/javascript">
        function getLoggedInUserRoles() {
            try {
                debugger;
            var context = GetGlobalContext();
            var mobileNumber = "xxx-xxx-xxx";
            if (mobileNumber.length > 0) {
                    var query = "<fetch version='1.0' output-format='xml-platform' mapping='logical' distinct='false'>" +
                        "  <entity name='contact'>" +
                        "    <attribute name='fullname' />" +
                        "    <attribute name='telephone1' />" +
                        "    <attribute name='contactid' />" +
                        "    <order attribute='fullname' descending='false' />" +
                        "    <filter type='and'>" +
                        "      <condition attribute='mobilephone' operator='eq' value='" + mobileNumber + "'/>" +
                        "    </filter>" +
                        "  </entity>" +
                        "</fetch>";

                    var retreivedContacts = XrmServiceToolkit.Soap.Fetch(query);

                    if (retreivedContacts.length == 1) {
                        alert(retreivedContacts.length);
                        alert(retreivedContacts[0].attributes['contactid']);
                        //Xrm.Utility.openEntityForm("contact", retreivedContacts[0].attributes['contactid'])
                    }
                }
            } catch (e) {
            alert("Error: "+e.Message);
            }
    }
    </script>
</head>
<body>  
    <button onclick="getLoggedInUserRoles()">Click here</button>
</body>
</html>

1 Ответ

0 голосов
/ 23 сентября 2018

Это решено, я изменяю следующий фрагмент

alert(retreivedContacts[0].attributes['contactid']);

на

alert(retreivedContacts[0].attributes['contactid'].value);
...