如何在 MSCRM 中获取选项集描述字段
How to get Option Set Description field in MSCRM
我试图找到选项集描述在 CRM 数据库中的存储位置。在互联网上进行研究后,我发现选项集数据存储在 StringMap
SQL table 中,但是这个 table 不包含我想要的描述字段。
有谁知道选项集描述在 CRM 的 SQL 数据库中的存储位置?下面是突出显示我正在寻找的字段值的屏幕截图:
这似乎有效:
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 并且它位于 account 实体上,则 <OPTIONSET_NAME>
将替换为'account_new_businesstypes'
.
<OPTIONSET_VALUE>
必须替换为您要查找的选项的整数值。在您的示例屏幕截图中,该值为 2.
试试这个:
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'
我试图找到选项集描述在 CRM 数据库中的存储位置。在互联网上进行研究后,我发现选项集数据存储在 StringMap
SQL table 中,但是这个 table 不包含我想要的描述字段。
有谁知道选项集描述在 CRM 的 SQL 数据库中的存储位置?下面是突出显示我正在寻找的字段值的屏幕截图:
这似乎有效:
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 并且它位于 account 实体上,则<OPTIONSET_NAME>
将替换为'account_new_businesstypes'
.<OPTIONSET_VALUE>
必须替换为您要查找的选项的整数值。在您的示例屏幕截图中,该值为 2.
试试这个:
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'