【发布时间】:2017-11-11 01:49:08
【问题描述】:
有没有办法改变选择器中列的顺序?我在货件编号选择器中添加了一列,但它始终显示为最后一列。我使用 PXCustomizeSelectionColumns 重新排序了列,但它似乎没有被使用。
[PXDBString(15, IsKey = true, IsUnicode = true, InputMask = ">CCCCCCCCCCCCCCC")]
[PXDefault()]
[PXUIField(DisplayName = SOShipment.shipmentNbr.DisplayName, Visibility = PXUIVisibility.SelectorVisible)]
[AutoNumber(typeof(SOSetup.shipmentNumberingID), typeof(SOShipment.shipDate))]
[PXSelector(typeof(Search2<SOShipment.shipmentNbr,
InnerJoin<INSite, On<INSite.siteID, Equal<SOShipment.siteID>>, LeftJoinSingleTable<PX.Objects.AR.Customer, On<SOShipment.customerID, Equal<PX.Objects.AR.Customer.bAccountID>>,
LeftJoinSingleTable<PX.Objects.CR.BAccount, On<PX.Objects.AR.Customer.bAccountID, Equal<PX.Objects.CR.BAccount.bAccountID>>>>>,
Where2<Match<INSite, Current<AccessInfo.userName>>,
And<Where<PX.Objects.AR.Customer.bAccountID, IsNull, Or<Match<PX.Objects.AR.Customer, Current<AccessInfo.userName>>>>>>,
OrderBy<Desc<SOShipment.shipmentNbr>>>))]
[PX.Data.EP.PXFieldDescription]
[PXCustomizeSelectorColumns(
typeof(PX.Objects.SO.SOShipment.shipmentNbr),
typeof(PX.Objects.SO.SOShipment.shipDate),
typeof(PX.Objects.CR.BAccount.acctName),
typeof(PX.Objects.SO.SOShipment.customerID),
typeof(PX.Objects.SO.SOShipment.customerLocationID),
typeof(PX.Objects.SO.SOShipment.siteID),
typeof(PX.Objects.SO.SOShipment.curyID),
typeof(PX.Objects.SO.SOShipment.status),
typeof(PX.Objects.SO.SOShipment.shipmentQty),
typeof(PX.Objects.SO.SOShipment.ownerID))
]
新信息:
不幸的是,这个问题还没有解决。我删除了我认为是的评论。
所以我做了以下事情:
- 将 PX.Objects.CR.BAccount.acctName 替换为 PX.Objects.AR.Customer.acctName
- 结果:列顺序正确,但字段为空
- 执行 SQL 跟踪,然后在 SSMS 中运行生成的查询
- 结果:返回正确的数据,包括来自 BAccount 的帐户名称
【问题讨论】:
-
你能发布你的代码吗?即使它没有达到预期的结果。
-
在列配置中尝试“重置为默认值”
-
我在哪里/怎么做?
-
认为这与使用 BAccount 与客户有关(因为客户继承了 BAccount)。如果您使用 PX.Objects.AR.Customer.acctName,该字段会显示,但对于所有记录都是空的。如果您添加 SOSshipment 的其他字段,它们会按预期(正确的顺序)显示值。 PXCustomizeSelectorColumns 可能不是问题,因为它可能是 BAccount.acctName 有一些冲突
-
所以您是说选择器导致了问题,对吗?如果是这样,鉴于 Customer.acctName 显示一个空字段,我如何获取帐户名称。
标签: acumatica