Acumatica 检查收据是否已发出

Acumatica 检查收据是否已发出,acumatica,Acumatica,我想在发布收据时执行代码。我编写的代码确实有效,但几天后就不再有效了。没有采取任何措施使其突然停止工作。我的守则如下: public class INReceiptEntry_Extension : PXGraphExtension<INReceiptEntry> { ... protected void INRegister_RowPersisted(PXCache cache, PXRowPersistedEventArgs e) { INR

我想在发布收据时执行代码。我编写的代码确实有效,但几天后就不再有效了。没有采取任何措施使其突然停止工作。我的守则如下:

public class INReceiptEntry_Extension : PXGraphExtension<INReceiptEntry>
{  
  ... 
  protected void INRegister_RowPersisted(PXCache cache, PXRowPersistedEventArgs e)
    {
        INRegister reg = (INRegister)e.Row;           
        if (reg != null)
        {
            if (e.TranStatus == PXTranStatus.Completed)
            {
                if (reg.Released == true)
                {
                    //Code
                }
            }
        }
    }
}

ReceiptEntry_扩展中的公共类:pxGrapherExtension { ... 注册表中受保护的无效项保存(PXCache缓存,PXRowPersistedEventArgs e) { INRegister reg=(INRegister)e.Row; 如果(reg!=null) { 如果(e.TranStatus==PXTranStatus.Completed) { 如果(reg.Released==真) { //代码 } } } } }
是否有我遗漏的任何内容,或者该代码在某一天工作但在第二天不再工作的任何原因?

我认为您的问题是需要将代码移动到INDocumentRelease,因为这是处理所有库存事务并在完成后将“已发布”字段设置为true的图形

将您的代码添加到INRegister RowUpdated或Released字段Updated中的INReleasePRocess图形扩展中,这样您的代码也应该包装在处理批处理的事务中。别忘了只检查收据,因为此图处理所有库存交易


如果查看INReleasePRocess.ReleaseDocProc结尾处的源文件,则已设置“已发布”字段,文档已更新,然后事务就完成了。

我认为您的问题是需要将代码移动到INDocumentRelease,因为这是处理所有库存事务并在完成后将Release字段设置为true的图形

将您的代码添加到INRegister RowUpdated或Released字段Updated中的INReleasePRocess图形扩展中,这样您的代码也应该包装在处理批处理的事务中。别忘了只检查收据,因为此图处理所有库存交易


如果查看INReleasePRocess.ReleaseDocProc结尾处的源代码,将设置“已发布”字段,更新文档,然后完成事务处理。

您包含的代码位于哪个图形中?INDocumentRelease、INReleaseProcess或INReceiptEntry?释放的数据集可能出现在其中一个处理图中,而不是数据输入图中。包括哪些图形将有助于找到解决方案。ReceiptEntry_Extension中的公共类:PXGraphExtension这就是您所要求的吗?包含的代码位于哪个图形中?INDocumentRelease、INReleaseProcess或INReceiptEntry?释放的数据集可能出现在其中一个处理图中,而不是数据输入图中。包括哪个图形将有助于找到解析。ReceiptEntry_Extension中的公共类:PXGraphExtension这就是您所要求的吗?我不明白上面的代码以前是如何工作的,现在也不明白。我对它进行了编程,以确保事务完成,然后获取该视图的更新数据库条目,该条目应设置为.release=true。你知道为什么它能工作几天,但现在不行了吗?同样,屏幕或代码没有任何更改。如果在发布页面中的发布完成后刷新数据,则可能会获得正确的值。。。但我不知道以前他是怎么工作的好吧,也许是侥幸。我知道我过去也有过几次这样的经历。你的解决方案对我来说很有意义。我将尝试实现它。我同意,虽然它以前可能工作过,但该代码将为INReleaseProcess提供更好的支持。希望它能成功。我以前不明白上面的代码是如何工作的,现在也不明白了。我对它进行了编程,以确保事务完成,然后获取该视图的更新数据库条目,该条目应设置为.release=true。你知道为什么它能工作几天,但现在不行了吗?同样,屏幕或代码没有任何更改。如果在发布页面中的发布完成后刷新数据,则可能会获得正确的值。。。但我不知道以前他是怎么工作的好吧,也许是侥幸。我知道我过去也有过几次这样的经历。你的解决方案对我来说很有意义。我将尝试实现它。我同意,虽然它以前可能工作过,但该代码将为INReleaseProcess提供更好的支持。希望能成功。