2013-01-07 51 views
0

我想在SalesOrderDetail实体上插入数据,一切工作正常,除了金额字段保持为空。我没有收到任何错误消息。 这里是我的代码示例:null价值salesorderdetail上crm 2011-Silverlight

private void beginCreateSalesOrderDetail() 
{ 
    SalesOrderDetail orderDetail = new SalesOrderDetail(); 
    orderDetail.SalesOrderId = new EntityReference() 
    { 
     Id = id, 
     LogicalName = "salesorder" 
    }; 
    orderDetail.Quantity = element.QuantityOnHand; 
    orderDetail.ProductId = new EntityReference() 
    { 
     Id = element.ProductId, 
     LogicalName = "product" 
    }; 
    orderDetail.UoMId = new EntityReference() 
    { 
     Id = new Guid("8DDD2AFB-73CF-E111-8140-00155D55B216"),   
     LogicalName = "uom" 
    }; 
    orderDetail.TransactionCurrencyId = new EntityReference() 
    { 
     Id = new Guid("77D695B5-ACB4-E111-97BC-00155D55B216"), 
     LogicalName = "transactioncurrency" 
    }; 

    Money Taxe = new Money(); 
    Money Amount = new Money(); 
    Taxe.Value = Convert.ToDecimal(element.totalCharges); 
    Amount.Value = Convert.ToDecimal(InvoiceTotal); 
    orderDetail.Tax = Taxe; 
    orderDetail.BaseAmount = Amount; 
    orderDetail.PricePerUnit = element.Price; 
    orderDetail.Description = element.PDesc; 
    _context.AddToSalesOrderDetailSet(orderDetail); 
_context.BeginSaveChanges(EndCreateSalesOrderDetail, orderDetail); 

} 



private void EndCreateSalesOrderDetail(IAsyncResult result) 
    { 

    try 
    { 
     _context.EndSaveChanges(result); 
    } 
      catch (Exception ex) 
      { 
      } 

    }  

请注意,只有这仍然是空量

+0

是一个货币值什么是它在数据库中定义..? – MethodMan

+0

是的,金额是货币值。 – wben

+0

为什么不把代码包装在try {} catch中,看看你是否得到了一个错误,或许错误正在被抑制 – MethodMan

回答

1

我得到的解决方案。 其实,crm 2011中有一个限制,用于计算产品的数量, 我们必须创建一个价目表,并将每个产品关联到列表中。 谢谢。

+0

是的,这是因为价格表项目和报价细节之间的单位字段不匹配。 –