0

Я разрабатываю для Dynamics CRM 2013. Я пытаюсь изменить состояние цитаты, но похоже, что QuoteState не найден. Я пытаюсь использовать QuoteState.Active, но я получаю ошибку: «Имя« QuoteState »не существует в текущем контексте». Это пространство имен, которые я использую:QuoteState не существует?

using Microsoft.Crm.Sdk.Messages; 
using Microsoft.Crm.Sdk; 
using Microsoft.Xrm.Client; 
using Microsoft.Xrm.Client.Services; 
using Microsoft.Xrm.Sdk; 
using Microsoft.Xrm.Sdk.Query; 
using Microsoft.Xrm.Sdk.Messages; 
using Microsoft.Xrm.Sdk.Client; 
using System; 
using System.Collections.Generic; 
using System.Linq; 
using System.Text; 
using System.Threading.Tasks; 
using Xrm; 

Что пространства имен мне не хватает или что я делаю не так?

Edit:

Это функция, где я пытаюсь использовать:

/// <summary> 
/// Activates the Quote 
/// </summary> 
/// <param name="quote">The quote</param> 
/// <param name="xrm">The Xrm Service Context</param> 
private static void ActivateQuote(Quote quote, XrmServiceContext xrm) 
{ 
    SetStateRequest activateQuote = new SetStateRequest() 
    { 
     EntityMoniker = quote.ToEntityReference(), 
     State = new OptionSetValue((int)QuoteState.Active), 
     Status = new OptionSetValue(3) 
    }; 
    SetStateResponse activateResponse = (SetStateResponse)xrm.Execute(activateQuote); 

    // Save 
    xrm.SaveChanges(); 
    Console.WriteLine("Activated the quote..."); 
} 

Если я использую State = новый OptionSetValue (1) она работает, так что это просто QuoteState пропал, отсутствует.

+0

вам нужно добавить ссылку. см. http://msdn.microsoft.com/en-us/library/aa613627.aspx – dovid

+0

У меня есть googled, без каких-либо результатов. Также я добавил ссылки, но это не сделало трюк. – Jowzer

+0

@ Jowser нужно будет увидеть больше кода, в том числе, как вы используете QuoteState.Active. Возможно, [this] (http://msdn.microsoft.com/en-us/library/gg309346.aspx) поможет – keerz

ответ

1

QuoteState - это настраиваемое enum, созданное при использовании программирования раннего программирования. Это означает, что вам нужно запустить Инструмент генерации кода (CrmSvcUtil.exe) из SDK.

http://technet.microsoft.com/en-us/library/gg327844.aspx

Просто для информации, это будет перечисление генерируется с помощью инструмента:

[System.Runtime.Serialization.DataContractAttribute()] 
[System.CodeDom.Compiler.GeneratedCodeAttribute("CrmSvcUtil", "5.0.9690.3339")] 
    public enum QuoteState 
    { 

     [System.Runtime.Serialization.EnumMemberAttribute()] 
     Draft = 0, 

     [System.Runtime.Serialization.EnumMemberAttribute()] 
     Active = 1, 

     [System.Runtime.Serialization.EnumMemberAttribute()] 
     Won = 2, 

     [System.Runtime.Serialization.EnumMemberAttribute()] 
     Closed = 3, 
    } 
+0

Это трюк, большое спасибо! – Jowzer