Dynamics CRM 2011 汇率更新

人民币贬值,汇率也改变了不少,从去年的6.2224升到了现在的6.48.

具体更新很简单,一方面修改CRM的货币配置,另一方面就是产品价格的修改了。

 

货币的汇率配置需要进入 设定->商业管理->货币,然后直接修改“Exchange Rate”就可以了

image

 

至于产品价格,由于公司主要是以USD为主,所有HKD, RMB都是由USD计算出来的,在Price List Item中虽然有汇率,有基础amount,但是那些是设定值而不是计算值,不能直接修改汇率来改变价格。

image

 

这时候就需要用不太推荐的方法,直接sql 修改,代码如下

先使用下面代码导出所有的价格信息

select p.name, pp.pricelevelidname, pp.transactioncurrencyidname, p.New_ProductCategoryIdName,
pp.amount RMBAmount, pp.amount_base RMBAmountBase, pp.amount/pp.amount_base, pp.amount/ppusd.amount, pp.exchangeRate,
ppusd.transactioncurrencyidname, ppusd.amount RMBAmount, ppusd.amount_base RMBAmountBase, ppusd.amount/ppusd.amount_base, ppusd.exchangeRate
from Product p inner join ProductPriceLevel pp on p.productid = pp.ProductId
inner join ProductPriceLevel ppusd on p.productid = ppusd.ProductId
where pp.pricelevelidname ='General Price List (RMB)' and ppusd.pricelevelidname ='General Price List (USD)'

然后使用下面的代码修改价格和汇率信息

begin tran
update pp set amount_base = ppusd.amount, amount = cast(ppusd.amount*6.48 as decimal(18,0)), exchangerate = 6.48
from Product p inner join ProductPriceLevel pp on p.productid = pp.ProductId
inner join ProductPriceLevel ppusd on p.productid = ppusd.ProductId
where pp.pricelevelidname ='General Price List (RMB)' and ppusd.pricelevelidname ='General Price List (USD)'

commit

 

这种方法很快解决问题,主要是由于公司的价格信息只是用来创建合同的时候用,并且都会带入到合同中,所以如果分析历史价格变动可以靠合同信息来做分析。

否则还是用api改动会好一些,那样可以保留audit history便于以后的分析

posted @ 2016-01-04 17:40  lightyun  阅读(375)  评论(0编辑  收藏  举报