C# 如何以编程方式访问CRM 4.0设置?

C# 如何以编程方式访问CRM 4.0设置?,c#,plugins,dynamics-crm,dynamics-crm-4,C#,Plugins,Dynamics Crm,Dynamics Crm 4,我编写的一些插件(重新)计算各种价格,我使用Math.Round在CRM中使用默认的2位数设置来保持结果的准确性 但我想。。。如果用户决定将其CRM设置为使用不同的精度,该怎么办 因此,我需要以编程方式访问CRM设置,以便我的函数可以使用用户选择的任何设置 如何从代码中访问常规(以及可能的其他)CRM设置?这里有一个很好的技巧,您可以使用它来解决这个问题 使用向导创建空白报告,将其导出到RDP文件并在Visual Studio中打开。检查创建的数据集,其中一个称为“DSNumberAndCurr

我编写的一些插件(重新)计算各种价格,我使用Math.Round在CRM中使用默认的2位数设置来保持结果的准确性

但我想。。。如果用户决定将其CRM设置为使用不同的精度,该怎么办

因此,我需要以编程方式访问CRM设置,以便我的函数可以使用用户选择的任何设置


如何从代码中访问常规(以及可能的其他)CRM设置?

这里有一个很好的技巧,您可以使用它来解决这个问题

使用向导创建空白报告,将其导出到RDP文件并在Visual Studio中打开。检查创建的数据集,其中一个称为“DSNumberAndCurrencyInfo”

这是该数据集后面的查询

SELECT 
    DateFormat, DateFormat + ' ' + TimeFormat AS DateTimeFormat, 
    NumberLanguageCode, CalendarType, 
    NumberFormat_0_Precision, NumberFormat_1_Precision, 
    NumberFormat_2_Precision, NumberFormat_3_Precision, 
    NumberFormat_4_Precision, NumberFormat_5_Precision, 
    CurrencyFormat_0_Precision, CurrencyFormat_1_Precision, 
    CurrencyFormat_2_Precision, CurrencyFormat_3_Precision, 
    CurrencyFormat_4_Precision, CurrencyFormat_5_Precision
FROM
    dbo.fn_GetFormatStrings()
这意味着有一个DB函数可以告诉您执行该函数的用户的各种格式设置


您也可以深入挖掘并打开函数,但可能不需要。

用户的设置存储在实体中。组织的设置存储在组织中

但是,特定属性的设置存储在元数据中(例如精度为4位的十进制)。您必须结合使用元数据服务,它将返回属性的。对于CrmDecimal属性,它将是一个实例,例如,该实例具有包含已配置属性的属性


嗯。。。感谢您的回答,不过我希望自己不用连接到CRM数据库,也不用使用CRM SDK提供的工具来完成此任务。尽管如此,如果没有其他可能,那么这就只能做了谢谢这正是我需要的。现在我觉得自己没有找到这个有点傻。