Microsoft dynamics 在Dynamics business central中更新销售订单行项目
我有一个使用API for business central创建的销售订单。销售订单只有一行项目。我想更新行项目的数量。以下是我迄今为止所做的尝试 端点:Microsoft dynamics 在Dynamics business central中更新销售订单行项目,microsoft-dynamics,dynamics-365,dynamics-nav,dynamics-business-central,Microsoft Dynamics,Dynamics 365,Dynamics Nav,Dynamics Business Central,我有一个使用API for business central创建的销售订单。销售订单只有一行项目。我想更新行项目的数量。以下是我迄今为止所做的尝试 端点:https://api.businesscentral.dynamics.com/v1.0/domain.com/api/v1.0/companies(公司id)/销售订单(销售订单ide)/销售订单行(销售订单行id) 其中,销售订单行id的格式为e86d3aa1-f2f8-ea11-aa61-0022481e3b8c-10000 如本节所述
https://api.businesscentral.dynamics.com/v1.0/domain.com/api/v1.0/companies(公司id)/销售订单(销售订单ide)/销售订单行(销售订单行id)
其中,销售订单行id的格式为e86d3aa1-f2f8-ea11-aa61-0022481e3b8c-10000
如本节所述,当发出补丁
请求时,我得到以下异常:
“)”或“,”应位于中的位置9
“(销售订单行项目id)”
当我只是试图获取行项目时,也出现了上述例外情况,但当我更改URL时,该例外情况得到了修复,其形式如下:
终点:
https://api.businesscentral.dynamics.com/v1.0/domain.com/api/v1.0/companies(b4a4beb2-2d42-40dc-9229-5b5c371be4e3)/salesOrders(e86d3aa1-f2f8-ea11-aa61-0022481e3b8c)/salesOrderLines?filter=sequence eq 10000
当我试图通过发出
GET
请求。但是,当我使用相同的端点发出补丁
请求时,使用一个简单的请求主体,例如
{"quantity" : 2.0}
它抛出异常:
对EdmType为“Collection”的“salesOrderLines”的“修补程序”请求不可用
允许在Dynamics 365 Business Central OData web服务中使用
我还指定了
if Match
标题以及包含行项目etag值的请求,但是没有用,并且发生了相同的异常。我错过什么了吗?任何帮助都将不胜感激。对于那些稍后可能访问此问题的人,经过邮递员的反复尝试,我终于解决了问题。在我的例子中,if Match
header基本上是行项目的Etag
。问题在于API URL,特别是我们指定行项目id的方式。我们必须用单引号指定它,以便API调用的URL变为:
您可能会注意到,我们没有在单引号中指定company\u id
和sales\u order\u id
,原因是,根据元数据文档,sales\u order\u line\u id
的类型都是string