我们正在 AL 中创建一个扩展来导入订单。对于这个问题,我们简化了扩展来解释我们面临的挑战。
我们想要做的是在 Dynamics 365 Business Central 中导入标题 + 行。
为了实现这一点,我们有: - 创建了一个表格(标题) - 创建了一个表格(行) - 创建了一个 API 类型的页面(文档) - 创建了一个列表部分(SalesLine)
方案 1
我们已发布页面 DOC 并正在尝试对此 odata url 进行发布请求。
POST https://api.businesscentral.dynamics.com/v1.0/{tennant}/Sandbox/ODataV4/Company('CRONUS%20NL')/Doc/ HTTP/1.1
Content-Type: application/json
Authorization: Basic {{username}} {{password}}
{
"name": "Description",
"SalesLines" : [{"lineno" : 1000}]
}
响应:
{
"error": {
"code": "BadRequest",
"message": "Does not support untyped value in non-open type."
}
}
方案 2
当我们发布:
POST https://api.businesscentral.dynamics.com/v1.0/3{tennant}/Sandbox/ODataV4/Company('CRONUS%20NL')/Doc/ HTTP/1.1
Content-Type: application/json
Authorization: Basic {{username}} {{password}}
{
"name": "Description"
}
我们得到以下响应:
{
"@odata.context": "https://api.businesscentral.dynamics.com/v1.0/3ddcca3d-d343-4a06-95f9-f32dbf645199/Sandbox/ODataV4/$metadata#Company('CRONUS%20NL')/Doc/$entity",
"@odata.etag": "W/\"JzQ0O3BKUzExSUMrQUl4UXFQc2R6V1J1ellvZEttRTJoa2xhanNtV0M0K3Ezajg9MTswMDsn\"",
"id": 4,
"name": "Description",
"DateTime": "2019-05-20T19:33:13.73Z"
}
我已经在GitHub 上发布了我们的扩展, 帮助将得到应用。