Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ssis/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 使用web服务更新Dynamics CRM中的状态代码失败_C#_Dynamics Crm - Fatal编程技术网

C# 使用web服务更新Dynamics CRM中的状态代码失败

C# 使用web服务更新Dynamics CRM中的状态代码失败,c#,dynamics-crm,C#,Dynamics Crm,我试图通过数据库中某个产品的CRM web服务将“状态代码”(Active | Inactive)更新为Active 。。。 crmProduct.statecode=new ProductStateInfo(){Value=ProductState.Active}; //crmpproduct.statuscode=newstatus(){Value=1}; crmpproduct.name=“…”; 服务更新(crmProduct); 它似乎工作正常,我没有收到任何错误和名称的变化,但它仍

我试图通过数据库中某个产品的CRM web服务将“状态代码”(Active | Inactive)更新为Active

。。。
crmProduct.statecode=new ProductStateInfo(){Value=ProductState.Active};
//crmpproduct.statuscode=newstatus(){Value=1};
crmpproduct.name=“…”;
服务更新(crmProduct);
它似乎工作正常,我没有收到任何错误和名称的变化,但它仍然不活动

当试图将“状态代码”也设置为活动时,我会收到一个错误,说明当状态为非活动时,我无法将状态设置为活动。。。但是我同时将两者设置为活动。。。嗯。。现在别担心这里出了什么问题


有什么线索吗?

您必须使用更新记录的状态。您可以使用常规更新消息更新状态代码,但前提是您要更新的代码与记录当前处于的状态相同(如您所发现的)。

在实体中设置状态代码在保存时无效。您必须使用适当的SetState请求。正如Matt所说,对于动态实体,这是SetStateDynamicEntityRequest。在您的例子中,我假设您使用的是“product”对象,因此您需要使用SetStateProductRequest类

var request = new SetStateProductRequest()
{
  EntityId = [GUID of product],
  ProductState = ProductState.Active,
  ProductStatus = -1
}
var response = (SetStateProductResponse)crmService.Execute(request);
查看此链接:

ProductStatus的-1告诉CRM使用适当的statecode默认statuscode值