如果可能的话,我想将字段的 PXSelector 更改为 Fluent BQL 语法,以便包含子查询。有没有什么方法可以实现您所知道的与 PXSelector 等效的 Fluent BQL?
PXSelector 的 FBQL 等效项是这样的:
SelectFrom<SOOrder>.SearchFor<SOOrder.OrderNbr>
或者这个:
SearchFor<SOOrder.OrderNbr>.SelectFrom<SOOrder>
您可以在这里找到更多详细信息:https://www.acumatica.com/media/2019/07/2019-Acumatica-DevCon-F-BQL.pdf
有人在另一个论坛上发布了 Acumatica 源代码的示例,它向我展示了如何做到这一点。这是:
[PXSelector(typeof(SearchFor<CSAttributeGroup.attributeID>.
Where<CSAttributeGroup.entityClassID.
IsEqual<PX.Data.BQL.RTrim<Use<itemClassID.FromCurrent>.AsString>>.
And<CSAttributeGroup.entityType.IsEqual<Common.Constants.DACName<InventoryItem>>>.
And<CSAttributeGroup.attributeCategory.
IsEqual<CSAttributeGroup.attributeCategory.variant>>.
And<CSAttributeGroup.attributeID.
IsNotEqual<defaultRowMatrixAttributeID.FromCurrent>.
Or<defaultRowMatrixAttributeID.FromCurrent.IsNull>>>),
typeof(CSAttributeGroup.attributeID),
DescriptionField = typeof(CSAttributeGroup.description))]