Acumatica创建货件锁违规异常问题

时间:2016-02-02 23:52:27

标签: exception process locking acumatica

在Acumatica中通过API创建货件时,收到错误

  

另一个流程更新了SOOrder'记录。您的更改将会丢失

我们创建货件的方式如下:

  1. 将销售订单添加到货件。
  2. 保存。
  3. 清除屏幕。 oScreen.SO302000Clear();
  4. 加载创建的货件。
  5. 添加装运详细信息,例如装箱位置,装运qtys,批次/序列等。
  6. 保存。
  7. 如果用户在创建后立即在Acumatica中加载创建的货件,则会出现此问题。然后,当API尝试发布货件详细信息时(步骤4到6),API会抛出错误

      

    PX.Data.PXLockViolationException:错误#90:另一个进程已更新' SOOrder'记录。您的更改将会丢失。

    在编辑当前在UI中打开的货件时,我们是否可以避免锁定违规异常?

1 个答案:

答案 0 :(得分:5)

Saving a shipment triggers a long-running, asynchronous operation. You need to wait for this process to complete before you do anything else, by calling GetProcessStatus() and retrying until it is completed. Otherwise, you'll run into concurrency issues with your second update call.