2014-05-01 48 views
0

這裏是我的觀點。在Dynamics CRM定義它時,new_TotalAssets在tsql中定義爲Money。我需要將它轉換爲十進制,因此我可以向它添加另一個值並在tsql中更新該值。當我試圖在所有金錢領域做到這一點時,我得到了錯誤:Operand +不能應用於'Microsoft.Xrm.Sdk.Money'和'Microsoft.Xrm.Sdk.Money'類型的操作數。做這項工作的正確方法是什麼?從CRM插件轉換TSQL錢到十進制?

Decimal TotA = decimal.Parse("0.0000"); 
Entity opp = service.Retrieve("opportunity", Guid.Parse(oppid), new ColumnSet(new string[] { "new_totalassets" })); // no runtime error here 

//TotA = (Decimal)opp.Attributes["new_totalassets"];      // specified cast is not valid 
//TotA = Convert.ToDecimal(opp.Attributes["new_totalassets"]);    // Unable to cast object of type 'Microsoft.Xrm.Sdk.Money' to type 'System.IConvertible'. 
//TotA = Convert.ToDecimal(opp.Attributes["new_totalassets"].ToString()); // input string was not in a correct format 
//TotA = Decimal.Parse(opp.Attributes["new_totalassets"].ToString());  // input string was not in a correct format 

回答

1

在總結數據之前,請嘗試使用。屬性的值。事情是這樣的,

decimal totalValue=((Money)opp.Attributes["new_totalassets"]).Value; 

現在使用的總價值最多爲所需要的求和或任何其他操作。

希望這有助於!

+0

我敢肯定,我試過類似的路線之前,我開始跟蹤誤差的,但視覺工作室,所以我甚至沒有嘗試編譯輸入密碼以後給了一個初步的錯誤。但事後編好,非常感謝! –

0
Convert.ToDecimal(opp.GetAttributeValue<Money>(item).Value);