繁体   English   中英

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

[英]How to access CRM 4.0 settings programmatically?

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

但是我想到了...如果用户决定将其CRM设置为使用不同的精度怎么办?

因此,我需要以编程方式访问CRM设置,以便我的功能可以与用户选择的任何设置一起使用。

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

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

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

心连心

这是一个很好的技巧,您可以用来解决这个问题。

使用向导创建空白报告,将其导出为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()

这意味着有一个可用的数据库功能,它将告诉您执行该功能的用户的各种格式设置。

您也可以更深入地研究并打开该功能,但是您可能不需要这样做。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM