acumatica - 为什么我无法在我的交叉引用 (INItemXRef) 表中获得“当前”记录?
问题描述
所以我在我的销售订单屏幕中添加了一个新选项卡,用于显示 INItemXRef 记录 - 交叉引用数据。我添加了一个动作来显示当前记录。图形定制如下:
public class SOOrderEntry_Extension : PXGraphExtension<SOOrderEntry>
{
public PXSelect<INItemXRef> substituteProducts;
public PXAction<SOOrder> showAlt;
[PXUIField(DisplayName = "Show Alt")]
[PXButton]
public virtual void ShowAlt()
{
substituteProducts.Ask($"Current AltID : {substituteProducts.Current.AlternateID}",MessageButtons.OK);
}
}
我的ASP:
<px:PXTabItem Text="Subs">
<Template>
<px:PXGrid runat="server" ID="gridSubs" Width="100%" SkinID="Inquire" SyncPosition="True" MatrixMode="True" DataSourceID="ds">
<Levels>
<px:PXGridLevel DataMember="substituteProducts">
<Columns>
<px:PXGridColumn DataField="AlternateID" Width="180" />
</Columns>
</px:PXGridLevel>
</Levels>
<AutoSize Enabled="True" MinHeight="400" />
<ActionBar>
<CustomItems>
<px:PXToolBarButton DependOnGrid="gridSubs" CommandSourceID="ds" CommandName="ShowAlt" />
</CustomItems>
</ActionBar>
</px:PXGrid>
</Template>
</px:PXTabItem>
当我尝试访问我的视图的“当前”记录时。由于某种原因,它总是指向最高记录。我看不出与它工作的其他屏幕有任何区别。
所以我试图改变表格和列,其余的保持不变。
//public PXSelect<INItemXRef> substituteProducts;
public PXSelect<BAccount> substituteProducts;
public PXAction<SOOrder> showAlt;
[PXUIField(DisplayName = "Show Alt")]
[PXButton]
public virtual void ShowAlt()
{
substituteProducts.Ask($"Current AltID : {substituteProducts.Current.AcctCD}",MessageButtons.OK);
//substituteProducts.Ask($"Current AltID : {substituteProducts.Current.AlternateID}",MessageButtons.OK);
}
令人惊讶的是,它按预期工作。证明我的网格配置正确。
那么这里发生了什么?INItemXRef 的问题是唯一的吗?
TIA
解决方案
当网格的Current记录没有正确更新时,我发现是以下原因之一:
- SyncPosition 未在网格中设置
- DAC 未正确设置 IsKey 属性
- DAC 在同一页面的多个数据视图中重复使用
在您的情况下,我可以看到 SyncPosition 已设置。此外,DAC 还应设置其 IsKey 属性。因此,您能否检查一下 INItemXRef 是否在图表的另一个数据视图中使用?Acumatica 缓存层的工作原理不可能在多个视图中重复使用相同的 DAC 并具有不同的数据/当前属性。
作为一种解决方法,您可以创建一个新的 DAC,可能通过使用基于 INItemXRef 的 PXProjection。
推荐阅读
- python - 在 Tensorflow 2.0 中的简单 LSTM 层之上添加注意力
- flutter - (颤振)自定义 CupertinoDatePicker 显示星期几并更改位置?
- java - 您可以选择使用 BufferedWriter 写入哪一行吗?
- matlab-figure - 如何在matlab的箱线图中设置沿X轴的刻度数?
- python-3.x - Cygwin - tcsh - 无法运行 Python 脚本 - 找不到命令
- binary-search-tree - 在二叉搜索树中搜索 - 说明
- api - 如何使用放心自动执行 excel 格式的 API 响应?
- node.js - NextJS - 意外的令牌导入
- git - 使用 clone_url 和 user:token 格式化 curl 以克隆 git repos
- harmon.ie - 我已将 Harmon.ie 从版本 7 升级到版本 8。Office 365 组不再更新