Acumatica 有没有办法通过PXLongOperation()获取当前BLC之外执行的特定线程的状态?

Acumatica 有没有办法通过PXLongOperation()获取当前BLC之外执行的特定线程的状态?,acumatica,Acumatica,我正在尝试创建一个INTransfer,并在制造模块的移动页面中的发布操作上生成INReceipt后发布它。我一直收到一个错误,说明没有可用的库存,但它是不一致的。在做了一些挖掘之后,我相信这是因为在我执行对INDocumentRelease.ReleaseDoc()的调用之前,收据的发布还没有完成。我发现,如果我添加一个线程睡眠,它每次执行都不会有问题,但我不想强迫用户每次执行该版本都要等待X秒。是否有一种方法可以检查INReceipt的发布过程线程是否完成,并等待它是否不执行我的发布 我遇到

我正在尝试创建一个INTransfer,并在制造模块的移动页面中的发布操作上生成INReceipt后发布它。我一直收到一个错误,说明没有可用的库存,但它是不一致的。在做了一些挖掘之后,我相信这是因为在我执行对INDocumentRelease.ReleaseDoc()的调用之前,收据的发布还没有完成。我发现,如果我添加一个线程睡眠,它每次执行都不会有问题,但我不想强迫用户每次执行该版本都要等待X秒。是否有一种方法可以检查INReceipt的发布过程线程是否完成,并等待它是否不执行我的发布


我遇到的问题是,我不知道是否有办法获取正在执行INReceipt发布函数的PXLongOperation线程的ID。如果有,我知道有一种方法可以执行PXLongOperation.WaitCompletion()函数。如果我能够获得threadID,我相信我会在调用PXLongOperation之前执行该操作。

考虑使用IPXCustomInfo。我已经描述了如何在单击中止时做出反应,但也可以考虑如何在完成的和进程内的情况下添加反应:

case PXLongRunStatus.Completed:
            SomeReactionOnCompleted();
            break;

        case PXLongRunStatus.InProcess:
            SomeReactionOnInProcess();
            break;