0

Dynamics CRM 4.0 の営業案件のさまざまなピックリストから値を照会したいと考えています。実際の商談をクエリするのではなく、ピックリストの値のみをクエリします。したがって、Source という名前の Picklist があり、その値が 1、2、3、4、5 の場合、picklist にクエリを実行して、それらの値を取得したいと考えています。これは可能ですか?もしそうなら、世界でどのようにそれをしますか?

私は Java (JAX-WS) を使用していますが、同じ基本エンティティーを使用しているため、.NET の例も歓迎します。

私が試したこと。次のクエリをセットアップしました。

// Set up query ...
QueryExpression query = new QueryExpression();
query.setEntityName("picklistmapping");
// Set up columns to retrieve ...
// Add columns to retrieve to the query ...
query.setColumnSet(new AllColumns());

しかし、このクエリは空の結果を返します!

記録として、これは次の質問のコピーです: Query the Description Value of a Picklist . 違い: その質問は Dynamics CRM 2011 に関するもので、私の質問は Dynamics CRM 4.0に関するものです。その質問の受け入れられた答えは、クラス「RetrieveAttributeRequest」で何かを言います。私のwsdlがそのクラスを生成しなかったことを除いて、それはダイナミクスcrm 2011に固有のものだと思います.

4

1 に答える 1

2

そのためには、Metadata Serviceを使用する必要があります。コードサンプルを見つけることができる同様の質問があります

RetrieveAttributeRequest attributeRequest = new RetrieveAttributeRequest();
attributeRequest.EntityLogicalName = <your entity name>;
attributeRequest.LogicalName = <your picklist attribute name>;
attributeRequest.RetrieveAsIfPublished = true;

RetrieveAttributeResponse response = (RetrieveAttributeResponse)metaService.Execute(attributeRequest);
PicklistAttributeMetadata picklist = (PicklistAttributeMetadata)response.AttributeMetadata;


foreach (Option o in picklist.Options)
{
    // do something e.g. take o.ValueValue
}
于 2012-05-09T07:35:10.280 に答える