如何通过 REST 从商机屏幕创建销售订单 API
How to create a Sales Order from Opportunity screen, via REST API
我正在尝试通过 Postman 向 acumatica 中默认机会端点中的操作 CreateOpportunitySalesOrder 发送一个 POST 请求。但是没有创建销售订单。
请求正文为:
{
"entity":{
"OpportunityID": {"value":"OP000376"}
},
"parameters":{
"OrderType":{"value":"SO"},
"RecalculatePricesandDiscounts":{"value":false}
}
}
我在响应中收到 202,在请求后的 GET 中收到 204 响应代码。但是没有创建销售订单。
我尝试使用 Acumatica 20 R1 和 20 R2,但结果相同。
在 UI 中,我可以创建销售订单并重定向到 SO301000 屏幕,但在按下“保存”之前创建订单。
我在请求中遗漏了什么?
是否可以通过 REST api?
通过端点调用 CreateOpportunitySalesOrder
一个更新
Samvel Petrosov 是对的,是图表中的一个错误,但使用新操作创建图表扩展将是这样的:
public class OpportunityMaint_Extension : PXGraphExtension<OpportunityMaint>
{
#region Event Handlers
public delegate void DoCreateSalesOrderDelegate(CreateSalesOrderFilter param);
[PXOverride]
public void DoCreateSalesOrder(CreateSalesOrderFilter param, DoCreateSalesOrderDelegate baseMethod)
{
try
{
baseMethod(param);
}
catch(PXRedirectRequiredException ex)
{
var graphSO = ex.Graph as SOOrderEntry;
graphSO.Actions.PressSave();
}
}
#endregion
}
通过此操作在 UI 和 REST API 请求中创建 SO。
我正在尝试通过 Postman 向 acumatica 中默认机会端点中的操作 CreateOpportunitySalesOrder 发送一个 POST 请求。但是没有创建销售订单。 请求正文为:
{
"entity":{
"OpportunityID": {"value":"OP000376"}
},
"parameters":{
"OrderType":{"value":"SO"},
"RecalculatePricesandDiscounts":{"value":false}
}
}
我在响应中收到 202,在请求后的 GET 中收到 204 响应代码。但是没有创建销售订单。
我尝试使用 Acumatica 20 R1 和 20 R2,但结果相同。
在 UI 中,我可以创建销售订单并重定向到 SO301000 屏幕,但在按下“保存”之前创建订单。
我在请求中遗漏了什么? 是否可以通过 REST api?
通过端点调用 CreateOpportunitySalesOrder一个更新 Samvel Petrosov 是对的,是图表中的一个错误,但使用新操作创建图表扩展将是这样的:
public class OpportunityMaint_Extension : PXGraphExtension<OpportunityMaint>
{
#region Event Handlers
public delegate void DoCreateSalesOrderDelegate(CreateSalesOrderFilter param);
[PXOverride]
public void DoCreateSalesOrder(CreateSalesOrderFilter param, DoCreateSalesOrderDelegate baseMethod)
{
try
{
baseMethod(param);
}
catch(PXRedirectRequiredException ex)
{
var graphSO = ex.Graph as SOOrderEntry;
graphSO.Actions.PressSave();
}
}
#endregion
}
通过此操作在 UI 和 REST API 请求中创建 SO。