AXForum  
Вернуться   AXForum > Microsoft Dynamics CRM > Dynamics CRM: Разработка
All
Забыли пароль?
Зарегистрироваться Правила Справка Пользователи Сообщения за день Поиск

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 18.11.2013, 11:44   #1  
Space-06 is offline
Space-06
Участник
 
57 / 10 (1) +
Регистрация: 23.01.2013
SOAP Change Status
Доброго всем времени суток уважаемые коллеги!!!

Столкнулся вот с какой проблемкой:

с помощью JS необходимо изменить статус записи (PhoneCall) на "закрыть как завершенную", и взамен такой функции которая уже есть в системе SavaAsComplete()
Использую вот такой код:

Код:
function _CloseAsComplete(ID, state, status) {

        // create the SetState request
        var request = "<s:Envelope xmlns:s=\"http://schemas.xmlsoap.org/soap/envelope/\">";
        request += "<s:Body>";
        request += "<Execute xmlns=\"http://schemas.microsoft.com/xrm/2011/Contracts/Services\" xmlns:i=\"http://www.w3.org/2001/XMLSchema-instance\">";
        request += "<request i:type=\"b:SetStateRequest\" xmlns:a=\"http://schemas.microsoft.com/xrm/2011/Contracts\" xmlns:b=\"http://schemas.microsoft.com/crm/2011/Contracts\">";
        request += "<a:Parameters xmlns:c=\"http://schemas.datacontract.org/2004/07/System.Collections.Generic\">";
        request += "<a:KeyValuePairOfstringanyType>";
        request += "<c:key>EntityMoniker</c:key>";
        request += "<c:value i:type=\"a:EntityReference\">";
        request += "<a:Id>" + ID + "</a:Id>";
        request += "<a:LogicalName>cmic_systemusersalesterritoryassociation</a:LogicalName>";
        request += "<a:Name i:nil=\"true\" />";
        request += "</c:value>";
        request += "</a:KeyValuePairOfstringanyType>";
        request += "<a:KeyValuePairOfstringanyType>";
        request += "<c:key>State</c:key>";
        request += "<c:value i:type=\"a:OptionSetValue\">";
        request += "<a:Value>"+ state +"</a:Value>";
        request += "</c:value>";
        request += "</a:KeyValuePairOfstringanyType>";
        request += "<a:KeyValuePairOfstringanyType>";
        request += "<c:key>Status</c:key>";
        request += "<c:value i:type=\"a:OptionSetValue\">";
        request += "<a:Value>"+ status +"</a:Value>";
        request += "</c:value>";
        request += "</a:KeyValuePairOfstringanyType>";
        request += "</a:Parameters>";
        request += "<a:RequestId i:nil=\"true\" />";
        request += "<a:RequestName>SetState</a:RequestName>";
        request += "</request>";
        request += "</Execute>";
        request += "</s:Body>";
        request += "</s:Envelope>";

        //send set state request
        $.ajax({
            type: "POST",
            contentType: "text/xml; charset=utf-8",
            datatype: "xml",
            url: Xrm.Page.context.getServerUrl() + "/XRMServices/2011/Organization.svc/web",
            data: request,
            beforeSend: function (XMLHttpRequest) {
                XMLHttpRequest.setRequestHeader("Accept", "application/xml, text/xml, */*");
                XMLHttpRequest.setRequestHeader("SOAPAction", "http://schemas.microsoft.com/xrm/2011/Contracts/Services/IOrganizationService/Execute");
            },
            success: function (data, textStatus, XmlHttpRequest) {
                Xrm.Page.ui.close();
            },
            error: function (XMLHttpRequest, textStatus, errorThrown) {
                alert(errorThrown);
            }
        });


    }
Коллега с Блога: http://guruprasadcrm.blogspot.ru/201...avascript.html советует именное таким способом закрывать любую сущность,
но у меня при попытке выполнить данную функцию получаю ошибку "Intel Server Error" и соответственно сама запись не закрывается.

Подобный код на отлично отрабатывает при квалификации(дисквалификации и возобновлении интереса) но на Звонке он выдает подобную ошибку.

Просьба проконсультировать по данной ошибке.

За ранее спасибо.
Старый 18.11.2013, 12:09   #2  
g.Naukovych is offline
g.Naukovych
Участник
MCBMSS
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
 
405 / 130 (5) +++++
Регистрация: 23.03.2011
Я бы сделал так.
Написал код на C#
и воспользовался бы SoapLogger.
Он в СДК есть.

Эта тулза формирует Soap запросы, которые были на сервис отправлены.

Потом бы взял запрос и использовал в JS.

Пример SoapLogger
__________________
Мой блог https://procrm.tv
 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
CRM 2011, вопрос о SOAP mistah Dynamics CRM: Разработка 5 21.03.2012 14:49
javascripterrors: CRM 2011 Change Status Reason Using Work Flow Blog bot Dynamics CRM: Blogs 0 24.06.2011 18:11
Microsoft Dynamics CRM Team Blog: SilverCrmSoap: A CRM Soap Library for CRM 2011 Blog bot Dynamics CRM: Blogs 0 26.04.2011 20:11
SOAP и Join slivka_83 Dynamics CRM: Разработка 3 08.06.2009 10:13
mscrm4ever: CRM 4.0 State and Status code Manager Wizard Blog bot Dynamics CRM: Blogs 0 19.01.2009 02:07

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход

Рейтинг@Mail.ru
Часовой пояс GMT +3, время: 03:55.