微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

PO行帐户选择器选择未显示在字段中

如何解决PO行帐户选择器选择未显示在字段中

我有一个自定义项,它将覆盖“采购订单”屏幕上的“采购订单行帐户”字段下拉查找选择器。它的填充方式与我想要的一样,但是从下拉列表中选择的帐户在选择后不会显示在网格字段中。在这里

[PXSelector(
    typeof(Search5<Account.accountID,InnerJoin<PMCostBudget,On<Account.accountGroupID,Equal<PMCostBudget.accountGroupID>>>,Where2<Where<PMCostBudget.projectID,Equal<Current<POLine.projectID>>,Or<Current<POLine.projectID>,IsNull>>,And2<Where<PMCostBudget.projectTaskID,Equal<Current<POLine.taskID>>,Or<Current<POLine.taskID>,And2<Where<PMCostBudget.costCodeID,Equal<Current<POLine.costCodeID>>,Or<Current<POLine.costCodeID>,And<Where<Current<POLine.lineType>,Equal<POLineType.nonStock>,Or<Current<POLine.lineType>,IsNull>>>>>>,Aggregate<GroupBy<Account.accountID>>,OrderBy<Asc<Account.accountCD>>>),DescriptionField = typeof(Account.description),Filterable = false,SelectorMode = PXSelectorMode.displayModeValue
        )]

基本上,它过滤在同一PO行上选择的行类型,项目,任务和成本代码。我要缺少什么或做错什么,以便显示所选的AccountCD值?

解决方法

假设其余的自定义操作正确处理了覆盖,并且选择器本身也起作用(我想这就是您的意思)...如果需要显示AccountCD,则应添加SubstituteKey = typeof(Account.accountCD)。否则,选择器将立即设置为显示AccountID。

[PXSelector(
    typeof(Search5<Account.accountID,InnerJoin<PMCostBudget,On<Account.accountGroupID,Equal<PMCostBudget.accountGroupID>>>,Where2<Where<PMCostBudget.projectID,Equal<Current<POLine.projectID>>,Or<Current<POLine.projectID>,IsNull>>,And2<Where<PMCostBudget.projectTaskID,Equal<Current<POLine.taskID>>,Or<Current<POLine.taskID>,And2<Where<PMCostBudget.costCodeID,Equal<Current<POLine.costCodeID>>,Or<Current<POLine.costCodeID>,And<Where<Current<POLine.lineType>,Equal<POLineType.nonStock>,Or<Current<POLine.lineType>,IsNull>>>>>>,Aggregate<GroupBy<Account.accountID>>,OrderBy<Asc<Account.accountCD>>>),SubstituteKey = typeof(Account.accountCD),DescriptionField = typeof(Account.description),Filterable = false,SelectorMode = PXSelectorMode.DisplayModeValue
        )]

在PXSelector上,第一个“ typeof”是要选择的值。如果要指定要在PXSelector中显示的字段(如果要显示实际的选择器),则可以添加后续的typeof()引用。

SubstituteKey = typeof(DAC Field)更改选择器的显示,以显示指定的字段而不是实际值。选择recordID字段并替换recordCD字段是很常见的。

DescriptionField显示在显示值之后指定的字段(特别选择的字段或SubstituteKey字段(如果指定))。我可能是错的,但是我不相信选择器显示在网格中时会显示出来。我相信它仅适用于表单字段,例如,如果您将网格行切换到表单视图。

Filterable是可选的,但是它允许您在选择器中设置过滤器,例如当您有很多记录要检索并且可能想要快速定位值时。我相信使用它会有一些开销,因此像您一样设置为false可能会带来很小的性能提升。

我以前从未使用过SelectorMode,所以您在这里教了我一些新知识!如果添加SubstituteKey无法解决您的问题,则可以尝试删除SelectorMode行以查看是否可以解决您的问题。顺便说一下,这可能会改变选择器的行为。

,

Acumatica支持人员的建议解决了我的问题。由于帐户ID是分段密钥,因此我需要在.ASPX中手动将PXSegmentedValue更改为PXSelector才能使其正常工作。通过在覆盖中使用PXDimensionSelector而不是普通的PXSelector,我也可以在不进行任何更改的情况下正常工作。

VLOOKUP

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。