为Microsoft Dynamics CRM中的“选项集”选项指定非数字值

时间:2014-07-24 10:02:14

标签: dynamics-crm-2011 dynamics-crm microsoft-dynamics dynamics-crm-online

我知道默认情况下,CRM选项集接受其选项值的整数值。我只想弄清楚是否有任何解决方法来指定非数字值,如OPT1,而不是像选项那样的数字值。

我需要此功能的原因是因为我的CRM应用程序与另一个使用IN,US,UK,AU等代码的应用程序进行交互。因此,我需要在CRM中为这些代码进行相应的映射。

enter image description here

3 个答案:

答案 0 :(得分:3)

不能存储非int值。我认为您可以在其他应用程序中处理代码中的映射。例如,您可以使用以下枚举:

enum FieldName
{
    India = 100000000,
    USA = 100000001,
    UnitedKingdom = 100000002
};

switch(externalCode)
{
case "IN":
    {
        return (int)FieldName.India;        
    }
case "UK":
    {
        return (int)FieldName.UnitedKingdom;        
    }
}

答案 1 :(得分:2)

您可以为必须映射的每个选项集创建映射实体。

例如,如果您的选项集是国家/地区:

  Label           Value
{ India,          100000001 }
{ USA,            100000002 }
{ United Kingdom, 100000003 }

创建一个国家/地区实体,其中包含您设置为字段的国家/地区选项以及地图文字的字段。

  Country   Mapping
{ 10000001, IN }
{ 10000002, US }
{ 10000003, UK }

答案 2 :(得分:2)

您可以创建一个具有代码(您的非数字值)属性的实体,以及一个具有您在其他实体中使用的选项集类型的属性。然后,您将为选项集中的每个值创建一条记录。

如果您采用这种方法,请确保使用全局选项集,这样您就不必管理两个不同的集合。

Creating an attribute that references a global option set