Acumatica 获取图形外部的当前缓存
我创建了一个自定义选择器,其逻辑取决于屏幕标题部分中字段的值。由于逻辑不在保存视图的图形中,我如何获取此标头部分的缓存的当前值?我在页眉中将引用的字段设置为commitchanges=true,甚至在页面的页眉部分设置了SyncPosition=true。以下逻辑没有给出缓存中(我假设)的当前值:Acumatica 获取图形外部的当前缓存,acumatica,Acumatica,我创建了一个自定义选择器,其逻辑取决于屏幕标题部分中字段的值。由于逻辑不在保存视图的图形中,我如何获取此标头部分的缓存的当前值?我在页眉中将引用的字段设置为commitchanges=true,甚至在页面的页眉部分设置了SyncPosition=true。以下逻辑没有给出缓存中(我假设)的当前值: mh = (xTACMappingHeader)PXSelect< xTACMappingHeader, Where< xTACMap
mh = (xTACMappingHeader)PXSelect< xTACMappingHeader,
Where< xTACMappingHeader.mappingName, Equal<Required<xTACMappingDetail.mappingName>>>>.Select(new PXGraph<FinancialTranslatorMaint>(), md.MappingName);
_Graph.Caches[typeof(YourDAC)].Current
mh=(xTACMappingHeader)PXSelect.Select(new PXGraph(),md.mappingName);
在图之外的图中检索缓存当前值的最佳方法是什么
谢谢…PXCache对象永远不存在于图形之外。您可以通过PXCustomSelectorAttribute的_graph字段访问当前图形:
protected PXGraph _Graph;
比如:
mh = (xTACMappingHeader)PXSelect<…>.Select(_Graph, md.MappingName);
在初始化缓存时,Acumatica框架为每个字段属性调用上的CacheAttached()方法。PXCustomSelectorAttribute根据当前正在初始化的PXCache对象的Graph属性为_Graph字段赋值:
public class PXCustomSelectorAttribute : PXSelectorAttribute
{
...
public override void CacheAttached(PXCache sender)
{
...
_Graph = sender.Graph;
...
}
...
}
PXCache对象永远不存在于图形之外。您可以通过PXCustomSelectorAttribute的_graph字段访问当前图形:
protected PXGraph _Graph;
比如:
mh = (xTACMappingHeader)PXSelect<…>.Select(_Graph, md.MappingName);
在初始化缓存时,Acumatica框架为每个字段属性调用上的CacheAttached()方法。PXCustomSelectorAttribute根据当前正在初始化的PXCache对象的Graph属性为_Graph字段赋值:
public class PXCustomSelectorAttribute : PXSelectorAttribute
{
...
public override void CacheAttached(PXCache sender)
{
...
_Graph = sender.Graph;
...
}
...
}
您可以使用CacheAttached事件获取图形。见下面的例子
public class YourAttribute : PXEventSubscriberAttribute
{
private PXGraph _Graph = null;
public override void CacheAttached(PXCache sender)
{
_Graph = sender.Graph;
base.CacheAttached(sender);
}
}
您可以使用CacheAttached事件获取图形。见下面的例子
public class YourAttribute : PXEventSubscriberAttribute
{
private PXGraph _Graph = null;
public override void CacheAttached(PXCache sender)
{
_Graph = sender.Graph;
base.CacheAttached(sender);
}
}
显然_Graph变量是自定义选择器属性的某种隐式部分。我不知道它是如何得到它的价值的,但它似乎按照您指定的方式工作。我仍然想知道它是如何得到它的价值的,但目前这并不重要。非常感谢_Graph变量是自定义选择器属性的某种隐式部分。我不知道它是如何得到它的价值的,但它似乎按照您指定的方式工作。我仍然想知道它是如何得到它的价值的,但目前这并不重要。多谢