- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
根据 this question .
我正在尝试使用 Silverlight 在 Dynamics CRM 2011 中将现有发票标记为已付款。
根据documentation ,我需要做的就是设置状态代码 = 100001 和状态代码 = 2。
当我这样做时,我得到一个“NotFound”异常。
Guid invoiceID = new Guid("Existing Invoice Guid");
IOrganizationService orgService = OrgServiceFactory.GetInstance();
orgService.BeginRetrieve("invoice", invoiceID, new ColumnSet(new string[] { "invoiceid", "statecode", "statuscode" }), (result) =>
{
var fetchResp = orgService.EndRetrieve(result);
var statecodeAttrib = fetchResp.Attributes.Single(a => a.Key == "statecode");
OptionSetValue statecode = (OptionSetValue)statecodeAttrib.Value;
statecode.Value = 2;
var statuscodeAttrib = fetchResp.Attributes.Single(a => a.Key == "statuscode");
OptionSetValue statuscode = (OptionSetValue)statuscodeAttrib.Value;
statuscode.Value = 100001;
orgService.BeginUpdate(fetchResp, (updateResult) =>
{
/* Web Exception thrown here */
orgService.EndUpdate(updateResult);
Console.Write("");
}, orgService);
}, orgService);
如果我删除“状态代码”位,并尝试将状态代码设置为 2 -(已部分发货)或 4 -(已计费),它会按预期工作。
只有当我尝试同时设置两者时才会失败。如果我只是尝试设置 statuscode = 100001、100002、100003(完整、部分、已取消),它也会失败
还有其他方法可以将发票标记为已付款吗?
最佳答案
要更改记录的状态,您始终需要执行单独的 SetState 请求,而不是仅仅对状态和状态代码进行简单的更新。在您的情况下,您可以执行 SetStateDynamicEntity或 SetStateInvoice请求。
不幸的是,这些消息在 CRM 2011 中的 OData 服务中不可用。您需要做的是通过 Silverlight 使用 SOAP Web 服务。 SDK has a walkthrough ,如果你想抢先一步,SilverCRMSoap库是该演练的一个很好的快速实现。
关于c# - 在 Dynamics CRM 2011 中将发票标记为已付款,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8117335/
Closed. This question does not meet Stack Overflow guidelines。它当前不接受答案。 想改善这个问题吗?更新问题,以便将其作为on-topic
我是一名优秀的程序员,十分优秀!