2017-03-22 23 views
1

オプションセットの説明がCRMのデータベースに格納されている場所を探しました。インターネットでの調査の結果、Option SetデータがStringMap SQLテーブルに保存されていますが、このテーブルには説明フィールドがありません。MSCRMのオプションセットの説明フィールド

オプションセットの説明がCRMのSQLデータベースに格納されている場所を知っている人はいますか?以下は、私が探しているフィールドの値を強調表示するスクリーンショットです:

enter image description here

答えて

0

はこの試している:これはグローバルと非グローバルの両方のオプションセットのために働く

SELECT Label FROM [LocalizedLabelView] llv 
join [AttributePicklistValueView] apvv on llv.ObjectId = apvv.AttributePicklistValueId 
join [OptionSetView] osw on apvv.OptionSetId = osw.OptionSetId 
join [AttributeView] aw on osw.OptionSetId = aw.OptionSetId 
where aw.Name = 'fieldname' and llv.ObjectColumnName = 'Description' 

を、あなただけの属性のフィールド名名前として配置する必要があります(グローバルオプションセットの名前ではない)。もちろん、グローバルオプションセットだけを処理するには、最後に参加する必要はありません。単にosw.Name = 'globaloptionsetname'を実行してください。

+0

ありがとう、これは私が望むクエリです –

0

これは動作するようです:

SELECT DISTINCT l.Label 
FROM MetadataSchema.LocalizedLabel l 
LEFT JOIN MetadataSchema.AttributePicklistValue ap ON l.ObjectId = ap.AttributePicklistValueId 
LEFT JOIN MetadataSchema.OptionSet os ON os.OptionSetId = ap.OptionSetId 
WHERE l.ObjectColumnName = 'Description' AND os.Name = '<OPTIONSET_NAME>' AND ap.Value = <OPTIONSET_VALUE> 

変更する必要が上記のスクリプトに2つのパラメータがあります

  • <OPTIONSET_NAME>は、オプションセットのスキーマ名で置き換え、エンティティのスキーマ名の接頭辞を付ける必要があります。たとえば、オプションセットがnew_businessTypesと表示され、アカウントエンティティの場合、<OPTIONSET_NAME>'account_new_businesstypes'に置き換えられます。
  • <OPTIONSET_VALUE>は、探しているオプションの整数値で置き換える必要があります。あなたの例のスクリーンショットでは、その値が2
+1

これは、グローバルおよび非グローバルオプションセットで機能しますか? – Alex

+0

回答ありがとうございますが、私はあなたのクエリを試しましたが、私はObjectColumnName = '説明'を持っていませんその後、私はOptionSet_Nameでフィルタリングしますが、それは存在しませんあなたのクエリは、 –