RefNbr PXSelector 在费用报销上的过滤

Filtering of RefNbr PXSelector on Expense Claim

我需要自定义费用报销屏幕 (EP301000) 以执行以下操作:

查看 RefNbr 的 DAC,我没有看到任何我习惯看到的正常 PXSelector 查找。

有办法吗?

您可以看到 DACField 正在使用属性 [EPExpenceClaimSelector]

其定义如下

public class EPExpenceClaimSelectorAttribute : PXSelectorAttribute
    {
        public EPExpenceClaimSelectorAttribute()
            : base(typeof(Search2<EPExpenseClaim.refNbr,
                    InnerJoin<EPEmployee, On<EPEmployee.bAccountID, Equal<EPExpenseClaim.employeeID>>>,
                    Where<EPExpenseClaim.createdByID, Equal<Current<AccessInfo.userID>>,
                         Or<EPEmployee.userID, Equal<Current<AccessInfo.userID>>, 
                         Or<EPEmployee.userID, OwnedUser<Current<AccessInfo.userID>>,
                         Or<EPExpenseClaim.noteID, Approver<Current<AccessInfo.userID>>,
                         Or<EPExpenseClaim.employeeID, WingmanUser<Current<AccessInfo.userID>>>>>>>, OrderBy<Desc<EPExpenseClaim.refNbr>>>)
                , typeof(EPExpenseClaim.docDate)
                , typeof(EPExpenseClaim.refNbr)
                , typeof(EPExpenseClaim.status)
                , typeof(EPExpenseClaim.docDesc)
                , typeof(EPExpenseClaim.curyDocBal)
                , typeof(EPExpenseClaim.curyID)
                , typeof(EPEmployee.acctName)
                , typeof(EPExpenseClaim.departmentID)
                )
        {
        }
    }

您可以使用相同的方法创建您自己的具有附加条件的属性,并在您的缓存附加方法中使用它来替换默认选择器。