[英]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.