gpt4 book ai didi

axapta - 如何创建依赖于其他两种显示方法的显示方法?

转载 作者:行者123 更新时间:2023-12-01 23:41:54 25 4
gpt4 key购买 nike

我有一个标题/行类型的对象(想想 SalesTable/PurchTable),在标题上我有两种计算显示方法,“总数量”和“总发票”。

我想添加一个简单的显示“Fully Invoiced”,这是一个返回的显示方法:

return this.TotalQty() == this.TotalInvoiced();

问题是再次调用两个显示方法计算,这可能会影响 ListPages 的性能。

有没有办法制作一个使用缓存值的表单方法,这样我就不必调用额外的计算,也不必创建表列?

最佳答案

据我所知,无法在代码中访问为显示方法缓存的值。

您可以在表格上定义显示方法并使用 existing caching mechanism .您还必须在表格上定义其他两种显示方法 totalQtytotalInvoiced。请注意,这仍然会导致对 totalQtytotalInvoiced 进行一些不必要的调用。

另一种方法是在表单中实现您自己的缓存机制,例如使用包含 RecId 和缓存值的映射(有关示例/教程,请参见 Caching display methods on a form datasource)。但如果性能更多是理论问题而不是实际问题,我不会推荐这种方法。

第三种选择是将 totalQtytotalInvoiced 中的查询合并为一个查询,然后由 fullyInvoiced 显示方法使用。这将在您的代码中引入一些冗余,您仍然必须在表上定义 fullyInvoiced 以利用缓存。但根据查询,它可以提高性能。

关于axapta - 如何创建依赖于其他两种显示方法的显示方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36560063/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com