【问题标题】:Filtering based off @me基于@me 过滤
【发布时间】:2018-11-07 01:35:26
【问题描述】:

我创建了一个自定义屏幕,其中记录了链接回销售人员记录的“销售人员”ID。

其中一个要求是创建一个查询屏幕(不是通用查询),其中包含当前销售人员的过滤器(基于登录的用户)。过滤器应该是“所有记录”/“我的项目”,第二个是默认显示(基于记录的“销售人员”)

为此,PXSelect 语句链接 {customtable} -> {employee}(其中 salesperson record = employee.salesperson

我什至将其扩展为链接 employee.userId -> users.pKid。

实际的select语句如下:

    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 正常工作?

任何帮助将不胜感激。

【问题讨论】:

    标签: acumatica


    【解决方案1】:

    没有使用过@me,我不确定这是指什么,但是我们根据当前用户 ID 使用如下访问信息做了类似的限制记录:

    Where<EPEmployee.userID, Equal<Current<AccessInfo.userID>>
    

    希望有帮助

    【讨论】:

      【解决方案2】:

      只需使用表 AccessInfo 然后将过滤器的默认值等于 AccessInfo.UserID 用于您需要的任何表字段,例如 CreatedByID 或 ModifiedByID

      【讨论】:

        猜你喜欢
        • 2014-11-17
        • 1970-01-01
        • 1970-01-01
        • 2020-05-20
        • 1970-01-01
        • 2018-08-21
        • 1970-01-01
        • 1970-01-01
        • 2019-10-05
        相关资源
        最近更新 更多