Как отменить дело (инцидент) в MS CRM через веб-сервис - PullRequest
1 голос
/ 13 сентября 2010

Вопрос: Как отменить дело (Инцидент) в Microsoft CRM 4 с помощью WebService?

Я пишу это, потому что мне потребовались годы, чтобы найти правильный ответ, а документация MS не очень полезнав связи с этим, надеюсь, это сэкономит время другим людям.

Ответы [ 2 ]

3 голосов
/ 13 сентября 2010

Ответ (в VB.NET):

 Dim CancelRequest As New SetStateIncidentRequest
    CancelRequest.IncidentState = IncidentState.Canceled
    CancelRequest.IncidentStatus = -1
    CancelRequest.EntityId = // [GUID OF INCIDENT]

    Dim CancelResponse As New SetStateIncidentResponse

    Try

        CancelResponse = objCrm.Execute(CancelRequest)

    Catch ex As System.Web.Services.Protocols.SoapException

        Dim root As XmlElement = ex.Detail

        strErrors = strErrors & vbCrLf & vbCrLf & root.ChildNodes(0).ChildNodes(3).InnerText

        Return False

    Catch ex As Exception

        strErrors = strErrors & vbCrLf & vbCrLf & ex.Message

        Return False

    End Try

    Return True

Где objCRM - это экземпляр CrmService.

1 голос
/ 16 января 2014

Вот версия C # для CRM2011.

 try
 {
     SetStateRequest stateRequest = new SetStateRequest();
     stateRequest.EntityMoniker = (EntityReference)entity.ToEntityReference();
     stateRequest.State = new OptionSetValue(2); //Code - Cancelled.
     stateRequest.Status = new OptionSetValue(6); // Reason - Cancelled. 

     SetStateResponse response = new SetStateResponse();
     response = (SetStateResponse)service.Execute(stateRequest);
 }
 catch (Exception ex)
 {
     // Catch exception & do whatever you want man... :)
 }
...