【问题标题】:InventoryID breaks Acumatica Bill creation using SOAPInventoryID 使用 SOAP 中断 Acumatica 账单创建
【发布时间】:2020-10-20 02:28:51
【问题描述】:

程序使用 SOAP 在 Acumatica 中创建账单。 Endpoint 已扩展为包括 InventoryID,生成的 WSDL。该程序使用扩展端点来读取和写入所有信息。读取非库存商品的 InventoryID 可以正常工作。

使用 InventoryID 以外的字段填充账单详细信息也可以正常工作:

                        loBillDetails[lnCurIndex + I1] = new BillDetail
                        {
                            // InventoryID = new StringValue { Value = lcInventoryID },
                            Branch = new StringValue { Value = lcBranch },
                            Amount = new DecimalValue { Value = lnLineExtAmt },
                            ExtendedCost = new DecimalValue { Value = lnLineExtAmt },
                            UnitCost = new DecimalValue { Value = 0 },
                            Qty = new DecimalValue { Value = 0 },
                            TransactionDescription = new StringValue { Value = lcTranDesc },
                            UOM = new StringValue { Value = lcUOM },
                            Account = new StringValue { Value = lcAccount },
                            Subaccount = new StringValue { Value = lcSubAccount },
                            Description = new StringValue { Value = lcItemDesc },
                        };

但是,包含 InventoryID 会导致账单插入失败,并在下方显示错误消息。我检查了提供给 InventoryID 的值是否正确。

我是否需要为要插入的账单提供任何其他字段?这可能是什么问题?

PX.Data.PXInvalidOperationException:操作失败 ---> PX.Data.PXBadDictinaryException:此时无法更新密钥。尝试先保存之前的更改。\n 在 PX.Data.PXCache1.Update(IDictionary keys, IDictionary values)\n at PX.Data.PXGraph.ExecuteUpdate(String viewName, IDictionary keys, IDictionary values, Object[] parameters)\n at PX.Data.PXGraph.CopyPasteCommitChanges(String viewName, OrderedDictionary keys, OrderedDictionary vals)\n at PX.Api.SyImportProcessor.SyStep.a(Object A_0, PXFilterRow[] A_1, PXFilterRow[] A_2)\n at PX.Api.SyImportProcessor.ExportTableHelper.ExportTable()\n --- End of inner exception stack trace ---\n at PX.Api.ContractBased.Soap.WebApiSoapController.Post(ISoapSystemContract systemContract, XmlReader requestReader, String serviceNamespace, String internalNamespace, MethodInfo method, Func1 serviceFactory, IEdmModel edmModel)\n 在 PX.Api.ContractBased.Soap.WebApiSoapController.d__8.MoveNext()\n--- End of来自先前位置的堆栈跟踪 抛出异常的地方 ---\n 在 System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()\n 在 System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)\n 在 PX.Api.ContractBased.Soap.WebApiSoapController。 d__6.MoveNext()\n--- 从先前引发异常的位置结束堆栈跟踪---\n 在 System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()\n 在 System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification (任务任务)\n 在 System.Threading.Tasks.TaskHelpersExtensions.d__3`1.MoveNext()\n--- 从先前引发异常的位置结束堆栈跟踪 ---\n 在 System.Runtime.ExceptionServices。 ExceptionDispatchInfo.Throw()\n 在 System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)\n 在 System.Web.Http.Controllers.ApiControllerActionInvoker.d__0.MoveNext()\n--- 上一个堆栈跟踪结束位置除外 离子被抛出 ---\n 在 System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()\n 在 System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)\n 在 System.Web.Http.Controllers.ActionFilterResult.d__2 .MoveNext()\n--- 从先前引发异常的位置结束堆栈跟踪 ---\n 在 System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()\n 在 System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(任务任务)\n 在 System.Web.Http.Controllers.ExceptionFilterResult.d__0.MoveNext()" 抛出异常:mscorlib.dll 中的“System.ServiceModel.FaultException”

谢谢。 亚历山大

【问题讨论】:

  • 嗨,Alexander,您是否尝试使用所有其他字段进行保存,然后填充 InventoryID 并再次保存? (我知道 2 次保存并不理想)。
  • 嗨,黛安,感谢您愿意提供帮助。我刚刚收到答复,请看下文。

标签: acumatica


【解决方案1】:

Sergey Marenich 提供了一个解决方案:从我使用的 17.200.001 迁移到端点 18.200.001,因为 18.200.001 已经包含 InventoryID。

他还发现用于扩展端点的映射存在问题:我将新列映射到 InventoryID->InventoryID,而不仅仅是 InventoryID。

我迁移到 18.200.001,这解决了问题。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-10-24
    • 2020-10-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多