我创建了一个显示属于客户的文件的选择器。我将此选择器放在Stock Items Cross-Reference表中。此选择器的目标是在“交叉引用”表中显示与该行的客户关联的所有文件。
我的选择器DAC字段的代码如下:
using PX.SM;
[PXDBString(50, IsUnicode = true)]
[PXUIField(DisplayName = "Default Specification")]
[PXSelector(typeof(Search5<UploadFileRevision.comment,
InnerJoin<UploadFile, On<UploadFile.fileID, Equal<UploadFileRevision.fileID>>,
InnerJoin<NoteDoc, On<NoteDoc.fileID, Equal<UploadFile.fileID>>,
InnerJoin<BAccount, On<BAccount.noteID, Equal<NoteDoc.noteID>>,
InnerJoin<INItemXRef, On<INItemXRef.bAccountID, Equal<BAccount.bAccountID>>,
InnerJoin<InventoryItem, On<InventoryItem.inventoryID, Equal<INItemXRef.inventoryID>>
>>>>>, Where<InventoryItem.inventoryCD, Equal<Current<InventoryItem.inventoryCD>>
//, And<BAccount.bAccountID, Equal<Current<BAccount.bAccountID>>>
>, Aggregate<GroupBy<UploadFileRevision.comment>>>),
typeof(UploadFileRevision.comment), typeof(UploadFile.name),
typeof(UploadFile.fileID))]
这会通过交叉引用表过滤正确属于与项目关联的所有客户的所有文件,但它不会过滤表格中每行的每个选择器。如果我取消注释注释行,添加逻辑以按当前BAccountID进行过滤,则选择器结果不返回任何内容。
是否有其他方法可以从行中获取值并在属于该行中该行的选择器中使用该值来过滤其结果?
答案 0 :(得分:1)
将BAccount.bAccountID的Where子句组合为...And<BAccount.bAccountID, Equal<Current<INItemXRef.bAccountID>>...
会导致正确的行为吗?