Acumatica REST基于合同的API SalesInvoice实体18.200.001的问题
通过RESTAPI自动创建销售发票 无法获取要填充的CustomerLocation 在WebService端点中,此项的映射对象和映射字段为空 是否有人成功使用此API修改位置? 有人知道我的JSON中是否有链接实体的格式错误,它与文档匹配,但可能不是最新的 根据指南和经验尝试了多种JSON格式,包括链接、摘要、自定义和详细信息 尝试了BillToSettings和BillingSetting实体 搜索已知问题,Newton JSonAcumatica REST基于合同的API SalesInvoice实体18.200.001的问题,acumatica,Acumatica,通过RESTAPI自动创建销售发票 无法获取要填充的CustomerLocation 在WebService端点中,此项的映射对象和映射字段为空 是否有人成功使用此API修改位置? 有人知道我的JSON中是否有链接实体的格式错误,它与文档匹配,但可能不是最新的 根据指南和经验尝试了多种JSON格式,包括链接、摘要、自定义和详细信息 尝试了BillToSettings和BillingSetting实体 搜索已知问题,Newton JSon "Type": { "value": "Invoic
"Type": { "value": "Invoice" },
"CustomerID": { "value": "C0004055" },
/// bit does not create in Acumatica
"BillToSettings": { "CustomerLocation": { "value": "67217" } },
/// "BillingSettings" : {"CustomerLocation" : {"value" : "67217"}
/// also LocationID, CustomerLocationID and many combinations there of
"CustomerOrder": { "value": 1942 },
"Date": { "value": "2/14/2019" },
"Description": { "value": "SO S048773" },
"Details": [
{
"InventoryID": { "value": "POLLING-HOSTING" },
"TransactionDescr": { "value": "GPRS Monitoring" },
"UOM": { "value": "PNTS" },
"Qty": { "value": "3" },
"UnitPrice": { "value": "68.25" }
},
{
"InventoryID": { "value": "AIRTIME" },
"TransactionDescr": { "value": "GPRS Airtime" },
"UOM": { "value": "EACH" },
"Qty": { "value": "3" },
"UnitPrice": { "value": "20" }
}
]
我希望默认的主位置被67217覆盖,而不是每个记录都显示MAIN
如果我添加地址覆盖字段(如下所示),那么我会在成功创建发票时获取这些字段的数据,但不会返回CustomerLocation数据。
LocationID也没有正确更新
BillingSettings = new
{
BillToAddressOverride = new {value = true},
BillToContactOverride = new { value = true },
CustomerLocation = new { value = "67217"}
},
我尝试在2019R1的clean SalesDemo安装上使用您的JSON示例,并且可以复制您遇到的相同问题 我认为这与默认18.200.001端点中未映射的
CustomerLocation
字段有关。如果我们查看响应对象,它实际上是有意义的——响应中也没有CustomerLocation
字段
第一次尝试,不扩展API端点:
{
"Type": {
"value": "Invoice"
},
"CustomerID": {
"value": "ABARTENDE"
},
"Date": {
"value": "5/10/2019"
},
"Description": {
"value": "Test SalesInvoice Creation"
},
"BillingSettings" : {
"CustomerLocation" : {
"value" : "VEGAS"
}
}
}
第一次尝试的响应:
"BillingSettings": {
"BillToAddress": {
"AddressLine1": {
"value": "201 Lower Notch Rd"
},
"AddressLine2": {},
"City": {
"value": "Little Falls"
},
"Country": {
"value": "US"
},
"PostalCode": {
"value": "07424"
},
"State": {
"value": "NJ"
}
},
"BillToAddressOverride": {
"value": false
},
"BillToContact": {
"Attention": {
"value": "Accounts Receivable"
},
"BusinessName": {
"value": "USA Bartending School"
},
"Email": {
"value": "barkeep@usabartend.con"
},
"Phone1": {
"value": "+1 (908) 532-9522"
}
},
"BillToContactOverride": {
"value": false
}
}
如果在填充字段时选择端点并实现位置
字段(可在发票摘要选择下找到),则应该能够实现预期结果。另外,我在SalesInvoice对象本身上添加了位置
,而不是在BillingSettings
对象上:
第二个请求,扩展端点包括添加的位置
字段:
{
"Type": {
"value": "Invoice"
},
"CustomerID": {
"value": "ABARTENDE"
},
"Date": {
"value": "5/10/2019"
},
"Description": {
"value": "Test SalesInvoice Creation"
},
"Location" : {
"value" : "VEGAS"
}
}
第二项答复:
{
"Amount": {
"value": 0
},
"Balance": {
"value": 0
},
"BillingSettings": {
"BillToAddressOverride": {
"value": false
},
"BillToContactOverride": {
"value": false
}
},
"Currency": {
"value": "USD"
},
"CustomerID": {
"value": "ABARTENDE"
},
"Date": {
"value": "2019-05-10T00:00:00+00:00"
},
"Description": {
"value": "Test SalesInvoice Creation"
},
"DueDate": {
"value": "2019-06-09T00:00:00+02:00"
},
"Hold": {
"value": false
},
"Location": {
"value": "VEGAS"
},
"ReferenceNbr": {
"value": "AR006994"
},
"Status": {
"value": "Balanced"
},
"Type": {
"value": "Invoice"
}
}
至于
CustomerLocation
是否具有任何有意义的价值/用途,我不确定,因此我将其保留在BillingSettings中。我尝试在2019R1的干净SalesDemo安装上使用您的JSON示例,并可以复制您遇到的相同问题
我认为这与默认18.200.001端点中未映射的CustomerLocation
字段有关。如果我们查看响应对象,它实际上是有意义的——响应中也没有CustomerLocation
字段
第一次尝试,不扩展API端点:
{
"Type": {
"value": "Invoice"
},
"CustomerID": {
"value": "ABARTENDE"
},
"Date": {
"value": "5/10/2019"
},
"Description": {
"value": "Test SalesInvoice Creation"
},
"BillingSettings" : {
"CustomerLocation" : {
"value" : "VEGAS"
}
}
}
第一次尝试的响应:
"BillingSettings": {
"BillToAddress": {
"AddressLine1": {
"value": "201 Lower Notch Rd"
},
"AddressLine2": {},
"City": {
"value": "Little Falls"
},
"Country": {
"value": "US"
},
"PostalCode": {
"value": "07424"
},
"State": {
"value": "NJ"
}
},
"BillToAddressOverride": {
"value": false
},
"BillToContact": {
"Attention": {
"value": "Accounts Receivable"
},
"BusinessName": {
"value": "USA Bartending School"
},
"Email": {
"value": "barkeep@usabartend.con"
},
"Phone1": {
"value": "+1 (908) 532-9522"
}
},
"BillToContactOverride": {
"value": false
}
}
如果在填充字段时选择端点并实现位置
字段(可在发票摘要选择下找到),则应该能够实现预期结果。另外,我在SalesInvoice对象本身上添加了位置
,而不是在BillingSettings
对象上:
第二个请求,扩展端点包括添加的位置
字段:
{
"Type": {
"value": "Invoice"
},
"CustomerID": {
"value": "ABARTENDE"
},
"Date": {
"value": "5/10/2019"
},
"Description": {
"value": "Test SalesInvoice Creation"
},
"Location" : {
"value" : "VEGAS"
}
}
第二项答复:
{
"Amount": {
"value": 0
},
"Balance": {
"value": 0
},
"BillingSettings": {
"BillToAddressOverride": {
"value": false
},
"BillToContactOverride": {
"value": false
}
},
"Currency": {
"value": "USD"
},
"CustomerID": {
"value": "ABARTENDE"
},
"Date": {
"value": "2019-05-10T00:00:00+00:00"
},
"Description": {
"value": "Test SalesInvoice Creation"
},
"DueDate": {
"value": "2019-06-09T00:00:00+02:00"
},
"Hold": {
"value": false
},
"Location": {
"value": "VEGAS"
},
"ReferenceNbr": {
"value": "AR006994"
},
"Status": {
"value": "Balanced"
},
"Type": {
"value": "Invoice"
}
}
至于
CustomerLocation
是否具有任何有意义的价值/用途,我不确定,因此我将其保留在BillingSettings中。>我认为这与CustomerLocation字段未映射到默认的18.200.001端点有关。-确实很有可能。>我认为这与默认18.200.001端点中未映射CustomerLocation字段有关。-确实很有可能。