0
votes

I have created a custom screen that records a "SalesPerson" ID that links back to the Salespersons records.

One of the requirements is to create an inquiry screen (not generic inquiry) that has a filter for the current sales person (based on logged in user). The Filters should be "All Records" / "My Items" with the second being the default displayed (based on the recorded "Sales Person)

For this, The PXSelect statement links {customtable} -> {employee} (where salesperson record = employee.salesperson

I even extended that to link employee.userId -> users.pKid.

The actual select statement is below:

    public PXSelectJoin<CWAItem,
    LeftJoin<EPEmployee,On<CWAItem.salesPersonID,Equal<EPEmployee.salesPersonID>>,
    LeftJoin<Users, On<Users.pKID,Equal<EPEmployee.userID>>>>> MobileOrders;

Both of these correctly display the user name in the grid however when i create a filter where EPEmployee__UserID = @me or Users.UserName = @me no records are returned.

Scanning through the system this appears to be used on the "WZ201500" screen that has a simular filter. The difference that I see is this is referencing "EPEmployee_UserId" based on the table definition.

Is there a limitation to using child DAC's and the @me or is there a different way to handle the joins so the @me works correctly?

Any assistance would be appreciated.

2

2 Answers

0
votes

Having not used @me I am not sure what this refers to, however we did something similar limiting records based on the current user ID using access info like such:

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

Hope that helps

0
votes

Just use the Table AccessInfo then Default Value of your Filter Equals to AccessInfo.UserID to any of the Table Field you need like CreatedByID or ModifiedByID