首页 > 解决方案 > Acumatica API - 库存转移的第二步(收据)

问题描述

要完成两步转移的第二步(收据),通过 UI/浏览器,我们选择相应的转移(第一步),并在详细信息部分选择接收产品的位置。默认情况下,其余信息从传输中填充。

如果我通过 API 尝试相同的操作,则会给出关于位置不能为空的错误。我还包括了分配细节,但错误是一样的。我在这里想念什么?应该如何发布数据以在 Acumatica 中创建收据?

PUT https://ACUInstance/entity/ExtendedDefault/18.200.001/InventoryReceipt/

{
    "TransferNbr": { "value": "06023267" },
    "Details": [
        {
            "Location": { "value": "L100" }
        }
    ]
}

我也试过:

{
    "TransferNbr": { "value": "06023267" },
    "Details": [
        {
            "Location": { "value": "L100" },
            "Allocations":[
                "Location": { "value": "L100" }
                ]
        }
    ]
}

对于两者,错误是相同的:

{ "message": "发生错误。", "exceptionMessage": "InventoryReceipt.Details[0].Allocations[0].Location: 'Location' 不能为空。\nInventoryReceipt.Details[0].Location: ' Location' 不能为空。\n插入 'IN Transaction Split' 记录引发了至少一个错误。请查看错误。", "exceptionType": "PX.Api.ContractBased.OutcomeEntityHasErrorsException", "stackTrace": " at PX.Api .ContractBased.EntityService.GetOperationResult(EntityImpl entity, EntityExportContextBuilder entityExportContextBuilder, PXSYTable exportsKeys, PXOuterException contextError, Boolean throwOnError)\r\n at PX.Api.ContractBased.EntityService.Put(ISystemContract systemContract, String version, String name, EntityImpl entity,CbOperationContext operationContext, Boolean throwOnError)\r\n at PX.Api.ContractBased.Soap.SoapFacadeBase.PutImpl(EntityImpl entity, Boolean throwOnValidationError)\r\n at PX.Api.ContractBased.SystemContracts.V2.RestController.PutEntity(EntityImpl entity , 字符串选择, 字符串过滤器, 字符串扩展, 字符串自定义)\r\n 在 lambda_method(Closure , Object , Object[] )\r\n 在 System.Web.Http.Controllers.ReflectedHttpActionDescriptor.ActionExecutor.<>c__DisplayClass10.b__9 (Object instance, Object[] methodParameters)\r\n at System.Web.Http.Controllers.ReflectedHttpActionDescriptor.ExecuteAsync(HttpControllerContext controllerContext, IDictionary`2 arguments, CancellationToken cancelToken)\r\n--- 上一个堆栈跟踪结束引发异常的位置 ---\r\n 在 System.Runtime.ExceptionServices.ExceptionDispatchInfo。Throw()\r\n at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)\r\n at System.Web.Http.Controllers.ApiControllerActionInvoker.d__0.MoveNext()\r\n--- End of来自先前引发异常的位置的堆栈跟踪 ---\r\n 在 System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()\r\n 在 System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(任务任务)\r\n在 System.Web.Http.Filters.ActionFilterAttribute.d__5.MoveNext()\r\n--- 从先前引发异常的位置结束堆栈跟踪 ---\r\n 在 System.Runtime.ExceptionServices.ExceptionDispatchInfo。 Throw()\r\n at System.Web.Http.Filters.ActionFilterAttribute.d__5.MoveNext()\r\n--- 从先前引发异常的位置结束堆栈跟踪 ---\r\n 在 System 。运行。ExceptionServices.ExceptionDispatchInfo.Throw()\r\n 在 System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(任务任务)\r\n 在 System.Web.Http.Filters.ActionFilterAttribute.d__0.MoveNext()\r\n- -- 从先前引发异常的位置结束堆栈跟踪 ---\r\n 在 System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()\r\n 在 System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task) \r\n 在 System.Web.Http.Filters.ActionFilterAttribute.d__5.MoveNext()\r\n--- 从先前引发异常的位置结束堆栈跟踪 ---\r\n 在 System.Runtime。 System.Web.Http.Filters.ActionFilterAttribute.d__5 处的 ExceptionServices.ExceptionDispatchInfo.Throw()\r\n。MoveNext()\r\n--- 从先前引发异常的位置结束堆栈跟踪 ---\r\n 在 System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()\r\n 在 System.Runtime.CompilerServices .TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)\r\n at System.Web.Http.Filters.ActionFilterAttribute.d__0.MoveNext()\r\n--- 堆栈跟踪从上一个引发异常的位置结束 ---\ r\n 在 System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()\r\n 在 System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(任务任务)\r\n 在 System.Web.Http.Controllers.ActionFilterResult.d__2。 MoveNext()\r\n--- 从先前引发异常的位置结束堆栈跟踪 ---\r\n 在 System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()\r\n 在 System.Runtime.CompilerServices .System.Web.Http.Filters.AuthorizationFilterAttribute.d__2.MoveNext() 处的 TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)\r\n\r\n--- 来自上一个引发异常的位置的堆栈跟踪结束 ---\r \n 在 System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()\r\n 在 System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(任务任务)\r\n 在 System.Web.Http.Controllers.ExceptionFilterResult.d__0.MoveNext ()\r\n--- 在 System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()\r\n 在 System.Web.Http 的上一个引发异常的位置结束堆栈跟踪。 Controllers.ExceptionFilterResult.d__0.MoveNext()\r\n--- 从先前引发异常的位置结束堆栈跟踪 ---\r\n 在 System.Runtime.ExceptionServices.ExceptionDispatchInfo。Throw()\r\n 在 System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(任务任务)\r\n 在 System.Web.Http.Dispatcher.HttpControllerDispatcher.d__1.MoveNext()" }

标签: acumatica

解决方案


推荐阅读