首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

如何在acumatica中获取已创建表单的缓存

在Acumatica中获取已创建表单的缓存,可以通过以下步骤实现:

  1. 首先,确保已经创建了目标表单,并且已经启用了缓存功能。在Acumatica中,可以通过在表单的Graph类中使用PXCacheNameAttribute来启用缓存。例如,如果目标表单是"ARInvoice",可以在对应的Graph类中添加以下代码:
代码语言:txt
复制
[PXCacheName("AR Invoice")]
public class ARInvoiceEntry : PXGraph<ARInvoiceEntry, ARInvoice>
{
    // ...
}
  1. 接下来,可以使用PXSelect或PXSelectJoin等查询方法来获取缓存中的数据。例如,如果要获取AR Invoice表单的缓存数据,可以使用以下代码:
代码语言:txt
复制
ARInvoice invoice = PXSelect<ARInvoice,
                    Where<ARInvoice.docType, Equal<Required<ARInvoice.docType>>,
                        And<ARInvoice.refNbr, Equal<Required<ARInvoice.refNbr>>>>>
                    .Select(Base, docType, refNbr);

其中,"Base"是当前Graph类的实例,"docType"和"refNbr"是要查询的AR Invoice的类型和参考号。

  1. 获取到缓存数据后,可以通过访问缓存对象的属性来获取具体的字段值。例如,要获取AR Invoice的发票日期,可以使用以下代码:
代码语言:txt
复制
DateTime? invoiceDate = invoice?.InvoiceDate;
  1. 如果需要获取缓存中的相关记录,可以使用PXParent和PXChildren等属性来获取。例如,如果要获取AR Invoice的所有发票行项目,可以使用以下代码:
代码语言:txt
复制
public PXSelect<ARTran,
            Where<ARTran.tranType, Equal<Current<ARInvoice.docType>>,
                And<ARTran.refNbr, Equal<Current<ARInvoice.refNbr>>>>> Transactions;

其中,"ARTran"是AR Invoice的子表,"Transactions"是一个PXSelect对象,可以通过该对象获取所有相关的发票行项目。

总结: 在Acumatica中获取已创建表单的缓存,需要确保已经启用了缓存功能,并使用PXSelect或PXSelectJoin等查询方法来获取缓存数据。通过访问缓存对象的属性,可以获取具体的字段值。如果需要获取相关记录,可以使用PXParent和PXChildren等属性来获取。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

没有搜到相关的视频

领券