2017-03-22 74 views
1

我試圖找到選項集描述存儲在CRM數據庫中的位置。經過對互聯網的研究,我發現選項集數據存儲在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> 

有在上面的腳本兩個參數,你需要修改:

  • <OPTIONSET_NAME>必須替換爲您的選項集的模式名稱並以實體的模式名稱作爲前綴。例如,如果您的選項集名爲new_businessTypes並且它位於帳戶實體,那麼<OPTIONSET_NAME>將替換爲'account_new_businesstypes'
  • <OPTIONSET_VALUE>必須替換爲您正在查找的選項的整數值。在您的示例屏幕截圖,該值是2
+1

是否爲全局和非全局選項集執行此項工作? – Alex

+0

謝謝你的回答,但我已經嘗試了你的查詢,但我沒有ObjectColumnName ='Description'然後我用我的OptionSet_Name過濾,但它不存在我想因爲你的查詢只適用於全球optionSet權利? –