Dynamics CRM 2011 汇率更新
人民币贬值,汇率也改变了不少,从去年的6.2224升到了现在的6.48.
具体更新很简单,一方面修改CRM的货币配置,另一方面就是产品价格的修改了。
货币的汇率配置需要进入 设定->商业管理->货币,然后直接修改“Exchange Rate”就可以了
至于产品价格,由于公司主要是以USD为主,所有HKD, RMB都是由USD计算出来的,在Price List Item中虽然有汇率,有基础amount,但是那些是设定值而不是计算值,不能直接修改汇率来改变价格。
这时候就需要用不太推荐的方法,直接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便于以后的分析