Acumatica Create Shipment Lock 违规异常问题
Acumatica Create Shipment Lock Violation Exception Issue
在 Acumatica 中通过 API 创建货件时,我收到错误消息
Another process has updated 'SOOrder' record. Your changes will be lost
我们创建Shipment的方式如下:
- 将销售订单添加到装运中。
- 保存。
- 清除屏幕。 oScreen.SO302000Clear();
- 加载创建的货件。
- 添加装运详细信息,例如 Bin 位置、装运数量、Batch/Serials 等
- 保存。
如果用户在创建后立即在 Acumatica 中加载创建的货件,就会出现此问题。然后,当 API 尝试 post 发货详细信息(步骤 4 到 6)时,API 会抛出错误
PX.Data.PXLockViolationException: Error #90: Another process has updated 'SOOrder' record. Your changes will be lost.
在编辑当前在 UI 中打开的 Shipment 时,我们是否可以避免锁冲突异常?
保存装运会触发一个长期的运行宁异步操作。在执行任何其他操作之前,您需要等待此过程完成,方法是调用 GetProcessStatus() 并重试直至完成。否则,您将 运行 陷入第二次更新调用的并发问题。
在 Acumatica 中通过 API 创建货件时,我收到错误消息
Another process has updated 'SOOrder' record. Your changes will be lost
我们创建Shipment的方式如下:
- 将销售订单添加到装运中。
- 保存。
- 清除屏幕。 oScreen.SO302000Clear();
- 加载创建的货件。
- 添加装运详细信息,例如 Bin 位置、装运数量、Batch/Serials 等
- 保存。
如果用户在创建后立即在 Acumatica 中加载创建的货件,就会出现此问题。然后,当 API 尝试 post 发货详细信息(步骤 4 到 6)时,API 会抛出错误
PX.Data.PXLockViolationException: Error #90: Another process has updated 'SOOrder' record. Your changes will be lost.
在编辑当前在 UI 中打开的 Shipment 时,我们是否可以避免锁冲突异常?
保存装运会触发一个长期的运行宁异步操作。在执行任何其他操作之前,您需要等待此过程完成,方法是调用 GetProcessStatus() 并重试直至完成。否则,您将 运行 陷入第二次更新调用的并发问题。