我创建了一个自定义屏幕,记录了一个链接回Salespersons记录的“SalesPerson”ID。
其中一个要求是创建一个查询屏幕(非通用查询),该屏幕具有针对当前销售人员的过滤器(基于登录用户)。过滤器应为“所有记录”/“我的项目”,第二个是默认显示(基于记录的“销售人员”)
为此,PXSelect语句链接{customtable} - > {employee}(其中salesperson record = employee.salesperson
我甚至将其扩展为链接employee.userId - > users.pKid。
实际的选择语句如下:
public PXSelectJoin<CWAItem,
LeftJoin<EPEmployee,On<CWAItem.salesPersonID,Equal<EPEmployee.salesPersonID>>,
LeftJoin<Users, On<Users.pKID,Equal<EPEmployee.userID>>>>> MobileOrders;
这两个都正确显示网格中的用户名,但是当我创建一个过滤器,其中EPEmployee__UserID = @me或Users.UserName = @me时,不返回任何记录。
扫描系统时,这似乎用于具有模拟滤镜的“WZ201500”屏幕。我看到的区别是这是基于表定义引用“EPEmployee_UserId”。
使用子DAC和@me是否存在限制,或者是否有不同的方法来处理连接,以便@me正常工作?
任何帮助都将不胜感激。
答案 0 :(得分:0)
没有使用@me我不确定这是什么意思,但我们根据当前用户ID使用类似的访问信息做了类似的限制记录:
Where<EPEmployee.userID, Equal<Current<AccessInfo.userID>>
希望有所帮助
答案 1 :(得分:0)
只需使用表AccessInfo
,然后过滤器的默认值就等于AccessInfo.UserID到您需要的任何表字段,例如CreatedByID或ModifiedByID