【发布时间】:2020-03-09 14:06:02
【问题描述】:
我的项目是导入客户和销售订单。我从外部程序中获取一个 CSV 文件,并将它们逐个字段地导入到销售订单和客户中。
我的挑战是确定正确的字段名称以使 REST API 正常工作。
我有以下字段:
我希望包括三个字段:描述、礼品信息和公众评论。我检查了这个元素,这没有给我任何有用的信息。 (即,没有任何值映射到我将在 JSON 中使用的字段名称。)
当我转到客户终端时,描述已经存在:
因此,此 JSON 记录在 ADD 或 UPDATE 中成功:
{
"OrderNbr" : {"value": "SO003525"},
"Description" : {"value": "This is the Description"},
}
我扩展了默认客户(版本 18.200.001),我找到并添加了“礼品说明”和“公众评论”——它们被列为“订单摘要”的一部分——这正是描述是。
但是,此 JSON 数据确实向 Gift 或 Public 添加了任何内容:
{
"OrderNbr" : {"value": "SO003525"},
"Description" : {"value": "This is the Description"},
"PublicComment" : {"value": "This is the Public Comment"},
"GiftMessage": { "value": "This is the Gift Message"},
}
在与设置屏幕的(内部)开发人员交谈时,他告诉我添加了“礼物消息”和“公众评论”字段。但它们没有在端点中显示为“用户定义”字段。
问题:
1) 我如何知道 JSON 结构应该是什么样子?是否有某种映射文档或显示 JSON 到端点数据的打印输出?我的意思是有时我需要使用子对象来引用JSON中的数据,例如,如果我想更新“主要联系人”信息,我会这样做:
{
"CustomerClass":{"value":"INDIVIDUAL"},
"CustomerID":{"value":"78577"},
"CustomerName":{"value":"TEST CUSTOMER "},
"MainContact":
{
"CompanyName":{"value":"TEST CUSTOMER COMPANY"},
"DisplayName":{"value": "TEST CUSTOMER DISPLAY"},
}
}
我怎么知道该怎么做? (我之所以知道,只是因为我在添加记录时返回的数据中看到了它……这就引出了第二个问题:
2) 有没有办法以 JSON 格式检索整个数据记录。有点像:“GET - SELECT ALL - EXPAND ALL”,所以我可以以正确设置的 JSON 格式查看记录中的所有数据?
3) 知道为什么礼物消息和公众评论显示为“订单摘要”但没有像描述那样更新吗?
4) 为什么有些东西是“不可扩展的”?例如,我无法展开销售订单中的付款。我收到一个错误:
【问题讨论】:
-
由于数据源是 .CSV 文件,您是否有理由不为此使用导入方案?
-
@JerryKurtz:有趣的问题。我还没有看到通过 API 调用导入场景的方法。你能指点我吗?
-
对不起,不是我的意思。我想我只是想知道你为什么要使用 REST API 来完成这项任务,而不是仅仅使用简单的导入场景?
-
啊……该死的,我以为你知道这样做的方法!对于您的问题,有两个原因:首先,对 CSV 文件值进行了操作。其次,我们希望在预定的时间间隔内完成此操作,这意味着我们不希望用户必须对其进行初始化。
标签: rest acumatica acumatica-kb